I’m excited to announce the release of our new VL53L8CX Time-of-Flight 8×8-Zone Distance Sensor Carrier, a multi-zone rangefinder based on ST’s latest VL53L8CX FightSense distance sensor. It uses time-of-flight (TOF) readings of infrared laser light to precisely measure distances of multiple targets across a grid of multiple zones, allowing you to generate a depth map with up to 8×8 resolution and 4 m range. Relative to older similar sensors, such as the VL53L5CX, the VL53L8CX also offers improved performance in ambient light and adds an SPI interface that can significantly speed up initialization and data acquisition. Since it has the same FOV and multi-zone capability, you can think of the VL53L8CX as basically an upgraded version of the VL53L5CX.
Visualization of VL53L8CX and VL53L5CX sensing a person standing against a wall about 2.7 m away. The VL53L8CX gives more accurate measurements with higher confidence (indicated with green). |
---|
Compared to sensors that only give a 1D measurement, the VL53L8CX does demand more from a microcontroller to support its operation as a 3D lidar. Initializing the sensor through I²C or SPI and processing its data requires a lot of RAM and program memory, so it is not practical to use the VL53L8CX with most 8-bit MCUs like the Arduino Uno. We found that the Raspberry Pi Pico’s RP2040 microcontroller worked well for interfacing with the VL53L8CX, and other similarly powerful 32-bit controllers like an ESP32 should also work.
With the release of this module, we now have seven pin-compatible carriers for ST’s various FlightSense time-of-flight sensors:
VL6180X carrier |
VL53L0X carrier |
VL53L1X carrier |
VL53L3CX carrier |
VL53L5CX carrier |
VL53L7CX carrier |
VL53L8CX carrier |
|
---|---|---|---|---|---|---|---|
Maximum range:(1) | 60 cm | 200 cm | 400 cm | 500 cm | 400 cm | 350 cm | 400 cm |
Minimum range: | ~1 cm | ~3 cm | 4 cm | 1 cm | 2 cm | 2 cm | 2 cm |
Field of view: | 25° | 25° | 15° to 27° diagonal, programmable |
25° | 65° diagonal, up to 8×8 zones |
90° diagonal, up to 8×8 zones |
65° diagonal, up to 8×8 zones |
Other features: | ambient light sensing, low memory footprint(2) |
low memory footprint(2) | low memory footprint(2) | multi-target detection | multi-target detection | multi-target detection | multi-target detection, improved performance in ambient light |
Maximum update rate:(1) | ~150 Hz | 50 Hz | 100 Hz | 125 Hz | 60 Hz | 60 Hz | 60 Hz |
Operating voltage range: | 2.6 V to 5.5 V | 2.5 V to 5.5 V | 3.2 V to 5.5 V | ||||
Regulator voltage: | 2.8 V | 3.3 V | 1.8 V and 3.3 V | ||||
Typical active-ranging supply current: |
25 mA | 20 mA | 20 mA | 20 mA | 100 mA | 100 mA | 100 mA |
Peak supply current: | 40 mA | 40 mA | 40 mA | 40 mA | 150 mA | 150 mA | 150 mA |
Interface: | I²C | I²C, SPI | |||||
Dimensions: | 0.5″ × 0.7″ | 0.5″ × 0.9″ | |||||
1-piece price: | $13.49 | $14.95 | $18.95 | $16.95 | $19.95 | $19.95 | $24.95 |
1 Effective range and update rate depend on configuration, target, and environment. 2 Suitable for use with typical 8-bit MCUs. |
I’m excited to share some exciting improvements to our Custom Laser Cutting Service: a greatly expanded range of metal cutting capabilities and UV printing!
The last time we made a blog post about our laser cutting capabilities (over six years ago now), our most powerful machine was a 400 W CO2 laser cutter that could cut materials including plastics and woods up to 1″ (25.4 mm) thick, as well as steel up to 0.060″ (1.5 mm) thick. But we still weren’t satisfied with our metal cutting capabilities, so in the time since then, we have added an IPG Photonics LaserCube with a 3000 W fiber laser. The LaserCube is specifically designed to cut metals, enabling us to work with a wider variety of metals in thicknesses up to 1/4″ (6.35 mm).
Jan briefly mentioned the LaserCube in a blog post back in March 2020 just after we finished installing it—and right as the world was locking down in response to the COVID-19 pandemic. With the disruptions first from pandemic and then from the subsequent global parts shortages, almost all of our efforts went into keeping daily operations going, and developing new processes for fundamentally new equipment like the LaserCube got put on the back burner. Fortunately, things have been gradually getting back to normal and we are now ready to officially announce the new metal cutting capabilities the LaserCube enables!
We can now cut:
Correspondingly, we have added 5052 and 6061 aluminum to our regularly-stocked metals, joining 304 stainless steel and 1018 mild steel. We typically have sheets up to 24″ × 48″ (61 cm × 122 cm), but we can also order different metals/alloys or cut materials provided by customers up to 48″ × 48″. Additionally, since getting the LaserCube set up, we have started regularly using nitrogen (N2) as an assist gas, which helps cut parts with less discoloration and cleaner edges.
|
|
|
Our newest equipment is a Mimaki UJF-6042 MkII e UV printer, which lets us add vibrant and colorful labels, logos, photos, and artwork to your laser-cut parts. It can print with 1200 DPI resolution to an area up to 24″ × 16.5″ (61 cm × 42 cm), and the UV-cured ink adheres to many of the materials we laser cut, including plastics, wood, and yes, metal!
Our printer has inks for CMYK colors, plus a few special inks:
These different types of ink can be layered in various combinations for different effects.
We especially like printing on transparent materials, like clear acrylic, since there are so many ways you can print different layers of ink to create unique parts. For example, we can make opaque images visible from either side of the part by printing a layer of white sandwiched by two color layers like we did for these personalized Christmas tree ornaments.
Laser-cut and UV-printed acrylic Christmas tree ornaments with two color layers for double-sided appearance. |
---|
Alternatively, by strategically skipping the white layer in some areas of the print we can make transparent colorful parts that resemble stained glass.
Laser-cut and UV-printed acrylic part with stained glass appearance. |
---|
You can submit a quote request for laser-cut metal parts, laser-cut parts with UV-printed artwork, or other types of laser-cut and engraved parts through our Custom Laser Cutting Service page. To get started, we recommend downloading one of our templates below, which already have the different layers set up.
CorelDRAW (340k cdr) | Adobe Illustrator (7MB ai) | Inkscape (457k svg) |
---|
Then, all you will need to do is add your artwork to the appropriate layer, save it, and submit a quote request!
For more detailed information about all of our capabilities and how to set up your files to make the process as smooth as possible, check out our Custom Laser Cutting Guide.
We are excited to see what parts you design and how they get used in your projects! When you get your parts, consider posting some pictures in the Share Your Projects category of our forum. If you are still brainstorming ideas for your next project, our forum and blog posts tagged laser cutting
are a great places to find inspiration.
We’re happy to announce the release of the Zumo 2040, our newest RP2040-based robot built on our Zumo tracked chassis!
The Zumo started out as just that chassis: a simple mechanical base designed to be the foundation of a small tracked robot (and the right size for Mini-Sumo competitions). Later, we made the Zumo Robot Kit for Arduino that lets you build a complete robot with just the addition of an Arduino board, and a while after that, we released the Zumo 32U4 featuring a main board with an integrated AVR microcontroller.
|
|
|
This new Zumo 2040 is the next big step in the evolution of the Zumo family, swapping out the Zumo 32U4’s 8-bit processor for a Raspberry Pi RP2040, a 32-bit dual-core Arm Cortex-M0+ microcontroller running at 125 MHz, along with 16 MB (128 Mbit) of flash memory. The more powerful processor (the same as on the Raspberry Pi Pico) enhances both what the Zumo can do and how you can work with it.
Assembled Zumo 2040 robot. |
---|
We particularly like how easy it is to get started programming the Zumo 2040 with MicroPython: just like with our 3pi+ 2040 Robot, you can simply connect the Zumo to a computer with a USB-C cable and start editing the included example Python programs with a text editor.
|
|
There are lots of pre-loaded examples that demonstrate how to use the various features on the Zumo 2040. Here’s one that uses the Zumo’s proximity sensors to locate and turn to face an opponent or other object (in this case, a 3pi+):
Although I summed up the history of the Zumo platform in a few major milestones above, that doesn’t really tell the whole story; there have been other smaller changes along the way (both accompanying and between the big releases) that have made it more of a continual process of improvement. For example, although the Zumo originally came with the white sprockets that you see in some of those pictures, we now ship the chassis and all of the robots and kits with black spoked sprockets that make assembly and disassembly easier (and look cooler). And a couple years ago, we revised the Zumo 32U4 with a better display (in the form of the Zumo 32U4 OLED), an upgrade that has carried over to this new Zumo.
The Zumo 2040’s new I2C0 connector is one such smaller improvement, but it’s something that I hope will make a difference when it comes to expanding the robot with additional electronics. This is a 4-pin JST SH-compatible connector that provides access to the RP2040’s I2C0 bus, and it has a pinout compatible with Sparkfun’s Qwiic and Adafruit’s STEMMA QT connection systems, so that should make it easier to add I²C sensors and other devices to the Zumo.
|
|
The Zumo 2040 robot is available as a kit (with motors not included so you can select your own to customize performance) or as a fully assembled robot with your choice of 50:1, 75:1, or 100:1 motor options.
Our Black Friday / Cyber Monday sale is back! Visit the sale page to see all the available deals and add the necessary coupons to your cart. The sale runs through Monday, November 27,and most of the sale coupons can be used on backorders if we happen to run out of stock, but you should still get your orders in early since lead times on some popular products can get long.
Please note that during the sale, our order fulfillment times might be longer than usual, but we will do our best to get your order shipped as fast as we can. Additionally, we are closed Thursday, November 23 for Thanksgiving. Happy Thanksgiving!
We are having a Labor Day sale starting now through Tuesday, September 5! Check out the sale page for more information. Please note that we will be closed Monday, so orders placed after 2 PM Pacific Time Friday, September 1 will be shipped on Tuesday, September 5.
We are having an Independence Day sale starting now through Wednesday, July 5! Check out the sale page for more information. Please note that we will be closed Tuesday, so orders placed after 2 PM Pacific Time Monday, July 3 will be shipped on Wednesday, July 5.
We recently added six new low-power variants to our Motoron line of basic serial motor controllers: four Mxx550 1- and 2-channel versions, as well as 3-channel versions for Arduino (M3S550) and Raspberry Pi (M3H550).
The new M1T550, M1U550, M2T550, and M2U550 are single- and dual-channel serial motor controllers in a micro footprint. With a maximum motor supply voltage of 22 V, the Mxx550 versions are a great way to control small motors powered by power supplies up to 12 V and battery packs up to 12 cells in series for alkaline, NiCd, and NiMH, or up to 4 cells in series for LiPo. These are lower-voltage, pin-compatible versions of the Mxx256 models we released earlier this year, which have a maximum motor voltage of 48 V and can deliver slightly more current but are otherwise almost identical.
Here is the full array of tiny Motoron options, including I²C and UART serial interface versions:
Motoron motor controllers micro versions |
||||
M1T550 M1U550 |
M2T550 M2U550 |
M1T256 M1U256 |
M2T256 M2U256 |
|
---|---|---|---|---|
Control interface: | I²C or UART serial | |||
Motor channels: | 1 (single) | 2 (dual) | 1 (single) | 2 (dual) |
Minimum motor supply voltage: |
1.8 V | 4.5 V | ||
Absolute max motor supply voltage: |
22 V | 48 V | ||
Recommended max nominal battery voltage: |
16 V | 36 V | ||
Max continuous current per channel: |
1.8 A | 1.6 A | 2.2 A | 1.8 A |
Available versions with I²C: |
||||
Available verions with UART serial: |
||||
Price: | $12.49 – $14.49 | $15.95 – $17.95 | $16.95 – $18.95 | $23.95 – $25.95 |
We also released larger (but still small!), 3-channel versions in Arduino (M3S550) and Raspberry Pi (M3H550) compatible form factors. These again have a maximum motor supply voltage of 22 V and correspond to the 48 V max M3S256 and M3H256 versions we released in 2022. Here is the full line of larger Motoron serial motor controllers, including the even higher-power, dual-channel Motorons in full-size Arduino Shield or Raspberry Pi Hat form factors:
Motoron motor controllers Arduino and Raspberry Pi form factor versions |
||||||
M3S550 M3H550 |
M3S256 M3H256 |
M2S24v14 M2H24v14 |
M2S24v16 M2H24v16 |
M2S18v18 M2H18v18 |
M2S18v20 M2H18v20 |
|
---|---|---|---|---|---|---|
Control interface: | I²C | |||||
Motor channels: | 3 (triple) | 2 (dual) | ||||
Minimum motor supply voltage: |
1.8 V | 4.5 V | 6.5 V | |||
Absolute max motor supply voltage: |
22 V | 48 V | 40 V | 30 V | ||
Recommended max nominal battery voltage: |
16 V | 36 V | 28 V | 18 V | ||
Max continuous current per channel: |
1.7 A | 2 A | 14 A | 16 A | 18 A | 20 A |
Available versions for Arduino: |
M3S550 | M3S256 | M2S24v14 | M2S24v16 | M2S18v18 | M2S18v20 |
Available versions for Raspberry Pi: |
M3H550 | M3H256 | M2H24v14 | M2H24v16 | M2H18v18 | M2H18v20 |
Price: | $20.95 – $30.95 | $34.95 – $44.95 | $59.95 – $69.95 | $115.95 – $124.95 | $59.95 – $69.96 | $95.95 – $104.95 |
The great thing about the Motorons is that you can easily string together or stack multiple controllers, mixing and matching sizes to fit your application. For example, you could use one high-power dual motor version for drive motors on a mobile robot and then add a smaller 3-channel motor controller for additional actuators. This arrangement with three stacked Motorons on an Arduino Uno allows simple control of up to 9 motors:
The common protocol between versions also makes it easy to change motor sizes and to reuse your code between projects. Want to make a bigger version of your first prototype? Just use a higher-power Motoron! Want to make a tiny robot next time? Use a tiny Motoron! Want to… you get the idea.
While the 3-channel boards are designed to stack on Arduinos or Raspberry Pis, they are also easy to use on breadboards:
It may be easy to view the six new Mxx550 Motorons as just lower-voltage versions of the previously available Mxx256 Motorons, but I am especially excited about them because we are able to offer them at a very low price, extending the legacy of the Dual Serial Motor controllers that were among our first products over 20 years ago. We are launching the 2-channel M2T550 and M2U550 at just $15.95, a lower price than the original Dual Serial Motor controller from 2001 (without even adjusting for inflation!).
The chip shortages of the past several years have made it especially difficult to introduce new products and to keep their prices down, but things are finally seeming to get better on that front. You can see in the tables above that the higher-power 2-channel Motorons are much more expensive; those prices are still elevated because we are limited on some critical components we use there and in our other products. We should be able to manufacture plenty of the new Motorons without being constrained in a similar way.
We have expanded our S13VxFx family of step-up/step-down voltage regulators to include options with a variety of output voltages from 3.3 V to 15 V. Like the original 5 V members of the family, these new S13V25Fx units take an input voltage from 2.8 V to 22 V and efficiently increase it or decrease it as necessary to produce the regulated output voltage. Even with their compact 0.9″ × 0.9″ size, they can deliver typical continuous output currents between 1 A and 3 A, making them our most powerful buck-boost converters. (That’s almost half the size of our previously highest-power step-up/step-down units, the S18V20Fx family, which are still being impacted by the global semiconductor shortages.) The graphs below show a more complete picture of the kinds of currents you can expect for different combinations of input and output voltages:
These new S13V25Fx versions do not include a 5V option because we already have that in the S13V30F5. They are pin-compatible with that 5V module and have the same overall board dimensions, but please note that the tall components (i.e. electrolytic capacitors and inductor) are in different locations. Here is a comparison of the new S13V25Fx regulators (left) next to the S13V30F5 (right):
|
|
This table shows what the full family looks like now:
Regulator | Output voltage | Typical max continuous output current | Input voltage range | Typical efficiency | Size | Price |
---|---|---|---|---|---|---|
#4083: S13V10F5 | 5 V | 1 A | 2.8 V – 22 V | 85% – 95% | 0.35″ × 0.475″ | $6.95 |
#4084: S13V15F5 | 5 V | 1.5 A | $8.95 | |||
#4085: S13V20F5 | 5 V | 2 A | $12.95 | |||
#4082: S13V30F5 | 5 V | 3 A | 0.9″ × 0.9″ | $12.95 | ||
#4980: S13V25F3 New! | 3.3 V | 2.5 A | $13.95 | |||
#4981: S13V25F6 New! | 6 V | 2.5 A | $13.95 | |||
#4982: S13V25F7 New! | 7.5 V | 2.5 A | $13.95 | |||
#4983: S13V25F9 New! | 9 V | 2.5 A | $13.95 | |||
#4984: S13V25F12 New! | 12 V | 2.5 A | $13.95 | |||
#4985: S13V25F15 New! | 15 V | 2.5 A | $13.95 |
As a reminder, we manufacture these boards in-house at our Las Vegas facility, so we have the flexibility to make these regulators with custom fixed output voltages. If the voltage you need is not one of our standard options and you are interested in customization, please contact us.
We have transitioned from our initial early-adopter release to a full release of the 3pi+ 2040 Robot family! With the full release, we also have some additional motor options. Here’s the full lineup:
3pi+ 2040 Version | Products | Micro Metal Gearmotor | Top Speed | Comments |
---|---|---|---|---|
Standard Edition | assembled or kit | 30:1 MP 6V | 1.5 m/s | good combination of speed and controllability |
Turtle Edition | assembled or kit | 75:1 LP 6V | 0.4 m/s | longest battery life, easiest to control, good for swarm robots or introductory robotics courses |
Hyper Edition | assembled or kit | 15:1 HPCB 6V | ~4 m/s | very fast and difficult to control, easy to damage; only recommended for advanced users |
The Turtle Edition is a great choice for educational environments or anyplace else where slow, controlled speed is important. On the flip side, the Hyper Edition uses high-power motors with a low-gear-ratio gearbox to offer a LOT of speed, but this also means reduced control and a higher risk of the robot damaging itself, so we only recommend it for advanced users who want to push the limits of what this robot platform can do. We also make the 3pi+ 2040 control board and 3pi+ chassis available separately for those who would like to do something custom with one of our many other Micro Metal Gearmotor options.
To recap from our early adopter release announcement, this robot combines our 3pi+ chassis with the power of the Raspberry Pi RP2040 microcontroller, and it’s full of cool features:
We have a comprehensive set of example Python programs to help get you started using all of these features, and we expect to continue adding more over time. Let us know if there’s something in particular you would want to see that is not already covered!
|
|
This hypnotic video from customer Alain Haerri shows Kinetic Little Rain, a moving sculpture that was inspired by the sculpture Kinetic Rain in the Changi Airport in Singapore. Alain’s sculpture features 100 blown glass drops that are moved by stepper motors. Each motor is driven by its own Tic T500 Stepper Motor Controller and the whole setup is controlled by an Arduino Mega 2560.
If you have followed the electronics industry or even general news, you’ll know that for the past several years we’ve been dealing with parts shortages, rationing, and associated price increases. We are relieved to finally be getting net increases in parts on hand! In the past few months we have taken hundreds of products off rationing, and we are celebrating and highlighting them in our Memorial Day Sale. Use coupon code MEMORIALDAY23 to save 23% on all non-rationed Pololu-brand products with an “Active” or “Active and Preferred” status, limit 5 units per item, now through Tuesday, May 30.
Check out the sale page for more information. Please note that we will be closed Monday, so orders placed after 2 PM Pacific Time Friday, May 26 will be shipped on Tuesday, May 30.
50:1 scale model of the James Web Space Telescope model with laser-cut and etched gold-mirror acrylic and gold-mirror styrene parts. |
---|
Retired aerospace engineer Robert Maier shared with us this awesome 50:1 scale model of the James Webb Space Telescope (JWST) he made with his brother Mark and a little help from our custom laser cutting service. We cut the JWST’s main mirrors for him out of 1.5 mm gold mirrored styrene sheets from Midwest Products, and the hexagon patterns were laser etched onto the surface. He also had us laser cut various silicone bands to hold the moving pieces of the structure as the model folds/unfolds.
|
|
We more commonly work with 3 mm mirrored acrylic, but the model’s mirror required something thinner, and the more expensive styrene was perfect for the job. For comparison, the spiral label sitting beneath the figurine’s feet was cut from gold mirror acrylic.
|
|
Mark uses the model in the Astronomy 101 classes he teaches at San Jacinto College in Southern California. He recently wrote an article about the model, which is published in the April 2023 issue of Sky and Telescope magazine (it’s on page six). Additional photos of the model are included below, and even if you’re not a subscriber to the magazine, you can preview the article online.
|
|
|
Do you have a fun idea in mind that can benefit from laser-cut parts? Submit a quote request or contact us to discuss how we can help.
We’re now selling the LC20031-V2 GNSS receiver module from LOCOSYS. This module integrates a global navigation satellite system (GNSS) receiver with an on-board antenna, making it a complete solution for providing satellite-based position data (a “smart antenna”).
The LC20031-V2 outputs data at up to 10 Hz as NMEA sentences on a TTL-level serial port, or UART, and the module ships with a cable assembly that you can use to connect it to your project (either with a matching receptacle or by cutting off the connector to access the individual wire leads). A built-in rechargeable battery preserves system data while the module is inactive for rapid satellite acquisition on the next start-up.
Unlike GPS-only receivers such as the LS20031, the LC20031-V2 works with many different satellite systems. GPS, GLONASS, BeiDou, Galileo, and QZSS satellite signals are all supported, and the module can receive both L1 and L5 frequency band signals on up to 135 channels. This lets it achieve a typical position accuracy of 1.5 m CEP (circular error probable).
The GNSS Firebird software provided by LOCOSYS can be used to configure the LC20031-V2 and view its output. In this screenshot, you can easily see the different satellite systems that the receiver is tracking, represented by the different colors in the displays (GPS is blue, GLONASS is orange, Galileo is green, and BeiDou is red).
GNSS Firebird application showing data from an LC20031-V2 module inside Pololu’s offices. |
---|
I am super excited to introduce our newest robot, the 3pi+ 2040. This robot combines the 3pi+ chassis, which we initially released in late 2020, with the power of the Raspberry Pi RP2040 microcontroller. Here is a quick overview of its features:
This summer will mark 15 years since we released our original 3pi robot, which was designed to be fast enough to be competitive in line following and maze solving events. The high speed offers interesting programming challenges not present in typical robot kits of that era; here is a video from back then in which Ben demonstrates his 3pi learning a maze and then going extra fast on longer straightaways:
Although we developed our first injection-molded parts (wheels, ball caster, and motor mounting brackets) for that design, it was still largely a “PCB on wheels” kind of robot. The next-generation 3pi+, with a chassis mechanically independent of any circuit board, had been in development for several years when the coronavirus pandemic hit in early 2020. We kept working on it throughout that year, culminating with the November release of the 3pi+ 32U4.
|
|
The 3pi+ delivered the most-requested feature missing from the 3pi, wheel encoders, along with many other improvements including a full IMU, bumpers, and programmability over USB (the 3pi required an external AVR programmer). With its support in the Arduino environment, the ATmega32U4 continues to offer a good entry point for working with microcontrollers, but the 8-bit architecture and 32 KB of program memory feel increasingly outdated and constraining, especially with the new sensors available on the 3pi+.
That brings us to the new 3pi+ 2040, powered by the Raspberry Pi RP2040 microcontroller (32-bit dual-core Arm Cortex-M0+) with 16 MB (128 Mbit) of flash memory. The robot ships preloaded with a MicroPython interpreter, so you can get started right away by plugging into its USB C port and editing the included example Python programs with your favorite text editor. No special programmers or programming software are required, and you can write MicroPython code from practically any desktop or mobile operating system as long as it has a text editor and the ability to copy files to a USB drive. For a basic Python IDE that lets you run code interactively, we are recommending the Mu editor. (See the User’s Guide for instructions on setting it up.)
|
|
There are many other programming environments and languages that you can use with the 3pi+. Since it shares the same RP2040 processor as the Raspberry Pi Pico, anything that works for the Pico should be usable on the 3pi+, including C, C++, and the Arduino environment. We already include some basic C examples in our example code repository, and we plan to write more examples and expand the software support for this robot. Do you have a favorite IDE that works with the Pico? Is there some language or system you’d like to run on the 3pi+?
The menu of pre-installed demo programs on the 3pi+ 2040 Robot. |
---|
Early adopter special: We are initially offering the 3pi+ 2040 Robot as a limited release intended for advanced customers who have had some experience with robotics or Raspberry Pi RP2040 programming (e.g. with a Raspberry Pi Pico). The initial release is available with 30:1 MP motors (the “Standard Edition”), either assembled for 38% off or in kit form for 50% off. Early adopter robots will generally need to be backordered as they are built to order; we expect to ship within a business day of ordering. The robot hardware is finalized so the only changes we expect for the full product release are in the initial firmware configuration and pre-installed example programs. Documentation will also continue to be developed as we release the robot to a wider customer base. Early adopters who publicly share their 3pi+ 2040 experiences will be eligible for an additional robot with an extra $25 discount.
The Motoron family keeps growing! We’re happy to announce the release of the Motoron M2T256 Dual I²C Motor Controller and the Motoron M2U256 Dual Serial Motor Controller. Unlike previous Motoron controllers, these boards are “micro” versions that fit the ability to drive two motors (at up to 48 V and 1.8 A) into a minimal, compact form factor. They have the same ability to be individually addressed as the other Motorons, allowing many of them to be controlled independently while connected to the same bus.
A Raspberry Pi Pico on a breadboard using a Motoron M2T256/M2U256 Dual Motor Controller to control two motors. |
---|
The M2T256 is controlled via I²C like all of our previous Motorons, but unlike all the others, the M2U256 offers logic-level serial (UART) communication to provide an alternative option for applications where an asynchronous serial interface is preferred. The M2U256 supports the Pololu serial protocol, letting it share a serial line with our other compatible serial controllers (including brushed motor controllers, stepper motor controllers, and servo controllers). Its firmware also includes some options that can help you use it on an RS-485 network (requires addition of external transceivers).
The M2T256 and M2U256 both measure only 0.6″ × 0.8″ and have nearly the same pinout; in fact, both of these Motoron versions use the same printed circuit board with only minor differences in components. (For example, a resonator is only present on the M2U256 because it needs more accurate timing for asynchronous serial communication.) Both versions are available either with header pins soldered in or with headers included but not soldered.
|
|
The Motoron M2U256 is the latest in a succession of compact motor controllers we’ve produced over the years that use an asynchronous serial (UART) protocol, beginning with one of our very first products, the Pololu Dual Serial Motor Controller. Using this interface made a lot of sense in the past because it was one of the most straightforward ways to communicate with devices using higher-level commands. However, some of the most popular embedded platforms today make it difficult: many Arduino boards use the UART for serial programming, which can conflict with other connected devices, and a Raspberry Pi can output bootloader messages over serial or unexpectedly scale its UART frequency along with its CPU speed.
Meanwhile, I²C has become more popular and easier to use on microcontrollers over time, and it has features like open-drain lines and built-in support for addressing that simplify working with several devices on a single bus. This was the reason for the Motoron family’s initial focus on I²C, which was a departure from our tradition of making serial motor controllers, but the M2U256 reflects our thinking that there are still some reasons to use asynchronous serial. For example, it’s still easier to connect a PC to a serial device (with a USB or RS-232 adapter) than to an I²C device. We expect to make more UART Motorons in the future, too.
|
|
|
Here is our full lineup of Motoron controllers to date, encompassing both the new “micro” boards and the previously-released expansion boards for Arduino and Raspberry Pi:
Motoron motor controllers micro versions |
||
M2T256 |
M2U256 |
|
---|---|---|
Control interface: | I²C | UART serial |
Motor channels: | 2 (dual) | |
Absolute max input voltage: |
48 V | |
Recommended max nominal battery voltage: |
36 V | |
Max continuous current per channel: |
1.8 A | |
Available versions: |
Motoron motor controllers Arduino and Raspberry Pi form factor versions |
|||||
M3S256 M3H256 |
M2S24v14 M2H24v14 |
M2S24v16 M2H24v16 |
M2S18v18 M2H18v18 |
M2S18v20 M2H18v20 |
|
---|---|---|---|---|---|
Control interface: | I²C | ||||
Motor channels: | 3 (triple) | 2 (dual) | |||
Absolute max input voltage: |
48 V | 40 V | 30 V | ||
Recommended max nominal battery voltage: |
36 V | 28 V | 18 V | ||
Max continuous current per channel: |
2 A | 14 A | 16 A | 18 A | 20 A |
Available versions for Arduino: |
M3S256 | M2S24v14 | M2S24v16 | M2S18v18 | M2S18v20 |
Available versions for Raspberry Pi: |
M3H256 | M2H24v14 | M2H24v16 | M2H18v18 | M2H18v20 |
We are excited to introduce our new compact and efficient U3V16Fx family of boost voltage regulators, which can generate higher voltages from input voltages as low as 1.3 V (the minimum startup voltage is 2.7 V, but they will operate down to 1.3 V after that). It’s awesome how much power these deliver in such a tiny package! It’s a little difficult to quickly convey the power or current capabilities of boost converters, since the output power is limited by the input current (which can be up to 2 A with this new family), but we usually care about the output current, which is inversely proportional to the ratio by which you are boosting the voltage. For instance, if you are tripling your voltage from 3 V to 9 V, the maximum possible output current would be one third of that 2 A maximum input (assuming 100% efficiency). Continuous currents will be a little lower than peaks, and once you factor in real world efficiency (typically 80-95%), you can expect these kinds of maximum currents:
Efficiency is also a bit hard to capture without a ton of graphs, but here’s an example from the 12 V version:
Typical efficiency of 12V Step-Up Voltage Regulator U3V16F12. |
---|
The U3V16x family includes seven versions with fixed output voltages ranging from 3.3 V to 15 V:
These new regulators are the same size as the popular U3V12Fx boost regulators, which we had to discontinue due to key components becoming obsolete, and they offer superior performance, so they should work as drop-in replacements for those older regulators in most applications.
Our Black Friday / Cyber Monday sale is back! Visit the sale page to see all the available deals and add the necessary coupons to your cart. The sale runs through Monday, November 28, and most of the sale coupons can be used on backorders if we happen to run out of stock, but you should still get your orders as soon as possible since production of many items is limited by the global parts shortages, and lead times to make more can be long.
Please note that during the sale, our order fulfillment times might be longer than usual, but we will do our best to get your order shipped as fast as we can. Additionally, we are closed Thursday, November 24 for Thanksgiving. Happy Thanksgiving!
Wow, it’s been almost a year since my last update about how Pololu has been impacted by the global supply chain disruptions and chip shortages. And unfortunately, not much has improved. In today’s post, I will cover a few representative component stock histories and then go over other areas of our business that have been impacted and what we are doing to get through this situation.
In the case of one important part I mentioned last year, we are still waiting for an order placed in late 2020 without having received anything since a partial shipment in March 2021! Here is what our internal stock chart looks like for that component:
When I wrote about this component in November of 2021, we still had 461 units in stock, and the manufacturer was giving me specific updates about where we were in line and how I could expect parts by Q1 2022 or maybe even by the end of 2021. Well, we are now getting close to the end of 2022, and they are not even giving me updates anymore on when I can expect these parts that I ordered in 2020! We have gone almost a year without being able to make or sell the products that use that chip.
That first example of still waiting for an order from 2020 is not typical. Unfortunately, we are seeing more and more of this pattern:
This is a component we ran out of over the summer of 2021, but we received some shipments in August of that year, and then more in early February of this year. But since then, nothing, and we are about to run out again despite our attempts to carefully ration the parts. It’s been over 14 months since I placed my oldest unfilled order for these parts, and the current expected ship date is February 2023.
Another pattern we are seeing more of looks like this:
Here, we were in a pretty good stock situation at the beginning of the year on a component we didn’t use that many of. However, as we raised prices on other products or ran out of stock completely, our customers moved to some of our recommended alternatives and cleared us out of those, and hence the sudden dropoff of those parts in April of this year. The additional problem with components like these is that we did not have as many on order because our historical usage was not that high, so it might take an extra long time to get that back to decent stock levels.
We commonly use the same components in several different products. One of the main ways we are dealing with the shortages is to substantially reduce our inventory of completed products so that we can be sure the components we do have are going toward products that are getting sold immediately.
One big downside of reduced ready-to-sell inventory is that it’s difficult for customers to tell what is really, really unavailable because we’ve been out of parts for a year and what is actually available as soon as we make some more. To give you some automated guidance, we introduced a “supply outlook” feature to our website. Here is how that looks at the moment:
The calculations of what we can make are quite complicated given that we have thousands of different components going into thousands of different products, and the products (and the associated inventory) can be in various stages of production. Components stop being available once they are soldered onto a board, but that board might still go through many more processing steps before being ready and available for sale. The in stock and “in final production stages” quantities should be spot on, but we variously round down the “enough components” estimate to keep it conservative. The numbers can be outdated quickly since we are selling and making products all the time, but we regenerate those numbers several times a day to be as up-to-date as possible.
The supply outlook feature does not factor in components we have on order, though this year has proven that would be almost useless anyway (I’m not sure if I prefer the suppliers who give me no estimate of a ship date or those who have been saying “next week” for months). On our to-do list is to get more manual/human notes so that we can have updates like, “we are estimated to receive components in March 2024”.
I wish that last line was exaggeration. Unfortunately, I am getting more and more order confirmations with lead times of well over a year and estimated ship dates in late 2024. For parts I ordered early this year, we are approaching three-year lead time estimates for components.
Although the chip shortages are the most nerve-wracking aspect of the current environment, other aspects of our business are also affected by the supply chain problems, and it’s getting more and more uncomfortable.
Old ACs on Pololu building roof, waiting for replacement. Las Vegas Strip in the background. |
---|
Pololu window tinting, July 2022. |
---|
We have been very fortunate at Pololu because we have a broad range of products and do our own design and production, so we have been able to adjust what we make based on what components are available. I don’t understand how more small manufacturers are not going out of business, though I am anecdotally starting to hear more about companies facing financial difficulties. Contract manufacturers in particular have it tough when they have to pay for the components they can get while waiting forever for the last few components and not getting paid until they can complete the final product.
My main hope is that just as we could not see how bad the shortages would be, we cannot see how close we are to the end. If it took two years to get a part that shipped today, it might be reasonable to estimate it will take two years to get a part we order now, or even to tack on an extra year for good measure, but eventually things will be better. I expect inventories everywhere are building up (ours are, just not of the last few critical parts!), and the coming global recession that seems to be forecasted from all sides (e.g. by the IPC) could accelerate chip manufacturers finally catching up to the extra demand from the last few years.
Since we are a small business, broader economic downturns can sometimes work in our favor. Our customer base is such a tiny portion of the world, and some of them could do well even if on average the global economy does not. If the slowdown leads to parts we need becoming available sooner, that might overall be better for us. Some of our best supplier relationships came out of the 2008 downturn, when companies started caring about our business after losing some of their bigger customers. We also got a good deal on renting part of the building we are in after it sat vacant for a couple of years, and that served us especially well as we gradually expanded to the whole building over the past ten years.
It’s unsettling that after two years of parts shortages, it does not seem to be getting any better. The situation might even be worse than it was a year ago, but we won’t really know until we are out of it and things are actually good again. I know it has been difficult for our customers, especially those who built our products into their own products or curricula and are counting on us to keep their operations moving. Please know that we are working very hard to keep our stock and production levels up with the minimal possible disruptions, and thank you very much for your continued business and support.
Our selection of compact stepper motor driver carriers is expanding with the addition of three new boards based on the DRV8434A and DRV8434S from Texas Instruments. They feature stall detection, adjustable current limiting, over-current and over-temperature protection, and 11 microstep resolutions (down to 1/256-step). They operate from 4.5 V to 48 V and can deliver approximately 1.2 A continuous per phase without a heat sink (up to 2 A peak). The DRV8434A version uses a standard GPIO interface for configuring microstepping and stall detection and a potentiometer for setting the current limit, while the DRV8434S versions use SPI to configure microstepping, stall detection, decay modes, and the effective current limit.
Two DRV8434S carrier versions are available, one with a potentiometer for adjusting the maximum current limit and one with the maximum current limit fixed at 2 A; on both of these, the actual current limit can be scaled down to some percentage of the set maximum through SPI. There are 16 evenly spaced scale settings available, which corresponds to increments of 125 mA on the version with the fixed 2 A maximum. For lower-current applications that would benefit from finer current limit resolution, we recommend the version with the potentiometer. For example, if you set the maximum to 500 mA with the pot, you can then use SPI to scale the current limit down from there in increments of 31 mA.
All carriers are available with and without header pins soldered. The following table compares the key differences among the three versions:
DRV8434A |
DRV8434S (Potentiometer for Max. Current Limit) |
DRV8434S (2A Max. Current Limit) |
|
---|---|---|---|
Configuration: | I/O pins | SPI | |
Control interface: | STEP and DIR pins | STEP and DIR pins or SPI | |
Stall detection: | through GPIO | through SPI | |
Current limit: | Potentiometer setting (0–2 A) |
Potentiometer setting for max. (0–2 A), scaled with SPI setting (%) |
2 A fixed max., scaled with SPI setting (%) |
Decay modes available: | 1 | 8 | |
Available versions: |
One of the most exciting features of these new chips is their integrated stall detection. We make carriers for a few other stepper motor drivers that provide back EMF outputs, such as the AMIS-30543 and High-Power Stepper Motor Driver 36v4, but processing those signals for stall detection is complex. On the DRV8434A and DRV8434S, the back EMF processing is integrated into the chip and a learning mode is provided to make stall detection simpler and more accessible. Even so, these drivers’ stall detection functionality might not work well in every application, and we have some notes on the product pages with tips on getting it to work (such as using hardware PWM to generate a steady step signal).
|
|
The DRV8434A carrier was designed to be as similar to our popular A4988 and DRV8825 stepper motor driver carriers as possible, and it can be used as a drop-in replacement for these in many applications because it shares the same size, pinout, and general control interface. The DRV8434A always operates with a decay mode that TI calls “smart tune ripple control”, which tries to minimize the ripple current through the motor coils for smoother stepping and reduced audible noise in many cases. If additional flexibility is required, the DRV8434S offers a choice of eight decay modes, configurable through SPI; these include slow, mixed, and fast decay as well as the more advanced smart tune dynamic decay and smart tune ripple control modes.
TI also makes a DRV8434 (with no letter A or S at the end) in the same family of drivers. This version doesn’t have the stall detection feature or SPI, but it gives you the same choice of eight decay modes that the DRV8434S does. Why don’t we have a carrier board for the DRV8434 then? Well, we do have the boards, but with the extra long lead times right now, it could still be a while before we have the chips. (These are parts we ordered in June 2021, so more than 16 months ago now!)
DRV8434/DRV8434A Stepper Motor Driver Carrier, bottom view with dimensions. |
---|
Our DRV8434A carrier’s printed circuit board is designed to work with the DRV8434 too, and that’s why some of the pins are labeled with two names on the silkscreen. So, for those of you interested in a DRV8434 carrier, those will be coming some day!
We’ve just released a new LSM6DSO 3D Accelerometer and Gyro Carrier! ST’s LSM6DSO is a combination of a 3-axis accelerometer and 3-axis gyroscope into a single chip, offering acceleration and rotation rate readings in the ranges of ±2 g to ±16 g and ±125°/s to ±2000°/s through I²C or SPI. This board is mostly an update of our older LSM6DS33 carrier that had most of the same capabilities, although the LSM6DSO features a number of improvements over its predecessor, like lower noise, a higher maximum output data rate for the gyro, and the option to use MIPI I3C (a communication standard intended as an advanced, but backward-compatible, replacement for I²C).
The LSM6DSO additionally supports operation in specialized modes with a secondary interface, allowing it to act as a master (sensor hub) on a second I²C bus or provide an auxiliary SPI slave interface that is useful for image stabilization applications. We’ve increased the width of the carrier board to 0.5″ to bring out those secondary interface pins and let it plug into a breadboard nicely:
|
|
LSM6DSO 3D Accelerometer and Gyro Carrier with Voltage Regulator in a breadboard. |
---|
Other than the extra pins and the different mounting holes, our LSM6DSO board is pretty much a drop-in replacement for the LSM6DS33 board. We’ve updated our LSM6 Arduino library to support the new chip too, so any code that was written for the LSM6DS33 can probably be modified to work with an LSM6DSO without too much trouble.
We’ve expanded our Motoron series of motor controllers with some dual high-power motor controllers: the Motoron M2S family for Arduino and Motoron M2H family for Raspberry Pi! These new Motorons have the same I²C interface as the M3S256 and M3H256, and though they only have two channels instead of the three on their smaller counterparts, they can drive much more powerful motors with up to 20 A of current at 30 V or 16 A at 40 V. There are four combinations of voltage and current ranges, available in versions designed to work as Arduino shields and as Raspberry Pi expansions.
|
|
These eight additions bring the Motoron family up to a total of ten members overall:
Motoron Motor Controllers | |||||
---|---|---|---|---|---|
M3S256 M3H256 |
M2S24v14 M2H24v14 |
M2S24v16 M2H24v16 |
M2S18v18 M2H18v18 |
M2S18v20 M2H18v20 |
|
Motor channels: | triple (3) | dual (2) | |||
Max input voltage: |
48 V | 40 V1 | 30 V1 | ||
Max nominal battery voltage: |
36 V | 28 V | 18 V | ||
Max continuous current per channel: |
2 A | 14 A | 16 A | 18 A | 20 A |
Available versions for Arduino: |
M3S256 | M2S24v14 | M2S24v16 | M2S18v18 | M2S18v20 |
Available versions for Raspberry Pi: |
M3H256 | M2H24v14 | M2H24v16 | M2H18v18 | M2H18v20 |
1 Absolute maximum. |
As with the smaller Motorons, the high-power versions can also be stacked and their addresses configured to allow many motors to be controlled with only one I²C bus. For a stack of M2S boards on an Arduino, we recommend soldering thick wires to the kit or board-only version because 5mm terminal blocks are tall enough that they would cause short circuits within the stack. However, the M2H boards can be set up to stack safely by trimming the terminal block leads and adding extra nuts to the standoffs for additional spacing.
|
|
It’s also possible to stack different kinds of Motoron controllers so you can control different kinds of motors:
A Motoron M2H and a Motoron M3H256 being controlled by a Raspberry Pi, allowing for independent control of five motors. |
---|
Unfortunately, the current state of the electronics supply chain is affecting how we’re making and selling these Motorons. In the past, when we released boards in multiple versions that have different MOSFET footprints, it was primarily to get us different power levels. Typically, we would make a less expensive one with smaller, lower-power MOSFETs and a more expensive one with bigger, higher-power MOSFETs. While we’re still doing this kind of thing with the M2S and M2H Motorons (the 24v14 and 18v18 use smaller MOSFETs and the 24v16 and 18v20 use bigger ones), in this case, it’s largely about maximizing parts options.
When we don’t know how many months (or years!) it will take for us to get more of a MOSFET, it’s hard to offer a product line where each model is totally dependent on one specific part. So we’ve chosen to make the different Motoron versions less distinct; the specified performance and prices are not as different between the small- and big-MOSFET versions since we want them to be viewed more interchangeably. Their performance specifications are also a little on the conservative side to give us more room to use different MOSFETs.
Even with those considerations, we still haven’t been able to get the parts to make as many of these new high-power Motorons as we want to. That’s why they are listed with a “Rationed” status in our store, with lower stock and higher pricing than we’d like. But we hope that as parts availability improves, we will eventually be able to ease up on those restrictions.
In fact, that just happened with the smaller M3S256 and M3H256: we received some long-awaited critical components that will let us make a lot more of those, so you should see more in stock soon, and we’ve already removed their Rationed status and lowered their prices!
Our Motoron M3H256 Triple Motor Controller for Raspberry Pi is now available! The M3H256 is a stackable I²C motor controller that can drive up to three brushed DC motors bidirectionally at voltages between 4.5 V and 48 V and continuous currents up to 2 A per channel. Unlike its M3S256 sibling, which is designed as a shield for an Arduino, the Motoron M3H256 is intended to stack on top of a Raspberry Pi (Model B+ or newer), similar to a HAT (Hardware Attached on Top). With an I²C address that can be configured uniquely for each board, a stack of Motorons let you control many motors at once without taking up lots of GPIO pins and PWM outputs from the Pi.
A robot with three omni wheels and motors controlled by a Raspberry Pi with a Motoron M3H256 Triple Motor Controller. A D24V22F5 regulator powers the Raspberry Pi. |
---|
If you decide not to plug it into a Raspberry Pi, the Motoron M3H256 can also be used in a breadboard or another custom setup with your own wiring:
|
|
The Motoron M3H256 is available in three different configurations similar to its Arduino shield counterpart: you can get one fully assembled with stackable headers and terminal blocks already soldered, a kit that lets you pick which of the included connectors to solder in yourself, or the board alone if you already have or don’t need connectors and standoffs.
And to help you get started using the Motoron with a Raspberry Pi, we have a Python library you can use to configure the M3H256 and send it commands:
import motoron mc1 = motoron.MotoronI2C(address=17) mc2 = motoron.MotoronI2C(address=18) # Clear reset flags to allow Motorons to run mc1.clear_reset_flag() mc2.clear_reset_flag() # Set up acceleration limits for Motoron #1 mc1.set_max_acceleration(1, 200) mc1.set_max_acceleration(2, 200) # Set up acceleration and deceleration limits for Motoron #2 mc2.set_max_acceleration(1, 75) mc2.set_max_deceleration(1, 250) mc2.set_max_acceleration(2, 80) mc2.set_max_deceleration(2, 300) mc2.set_max_acceleration(3, 75) mc2.set_max_deceleration(3, 250) # Drive the motors mc1.set_speed(1, -100) mc1.set_speed(2, 100) mc2.set_speed(1, 300) mc2.set_speed(2, 200) mc2.set_speed(3, 50)
We’re sure there are plenty of applications where the convenience and scalability of Motorons will be useful. What kind of projects can you think of that would make good use of one (or several)?
For more information about the Motoron M3H256, see the product pages and the comprehensive user’s guide.
I’m excited to announce the release of our new VL53L5CX Time-of-Flight 8×8-Zone Distance Sensor Carrier! Over the past several years, STMicroelectronics has introduced a number of FlightSense distance sensors, starting with the VL6180X, that use time-of-flight (TOF) measurements of infrared laser light to measure distances. Each new sensor has been more capable than the last (usually offering an increased range), but the VL53L5CX is more than just another incremental upgrade. What makes the VL53L5CX really special is its ability to take readings of multiple targets across a grid of multiple zones, allowing you to generate a depth map with up to 8×8 resolution and 4 m range.
A plot of a coffee cup as detected by a VL53L5CX time-of-flight 8×8-zone distance sensor. |
---|
Compared to sensors that only give a 1D measurement, the VL53L5CX does demand more from a microcontroller to support its operation as a 3D lidar. Initializing the sensor through I²C and processing its data requires a lot of RAM and program memory, so it is not practical to use the VL53L5CX with most 8-bit MCUs like the Arduino Uno. (The same was true for the VL53L3CX, which shares the VL53L5CX’s multi-target capability but does not have multi-zone capability.) We found that the Raspberry Pi Pico’s RP2040 microcontroller worked well for interfacing with the VL53L5CX, and other similarly powerful 32-bit controllers like an ESP32 should also work.
It’s fun to compare our VL53L5CX carrier with our other ST time-of-flight sensor boards because even though the boards are the same size (and pin-compatible), the VL53L5CX component itself is significantly bigger than its predecessors. We also switched from using 0603-size surface-mount resistors (0.06″ × 0.03″, or 1.5 mm × 0.8 mm) to 0402-size parts (1 mm × 0.5 mm) to help everything fit in the same form factor, and that makes for even more contrast with the large IC. As we refine our manufacturing abilities to let us work with more challenging parts like these, it’s nice to have more options for making things even more compact. (When can we try some 0201 parts?)
We’ve expanded our selection of motor drivers again with the release of some compact carrier boards for TI’s DRV8874 and DRV8876 motor drivers, which feature current sense feedback and adjustable current limiting. These three ICs and their boards are all very similar, differing mainly by the amount of current they can handle: in a TSSOP chip package, the DRV8874 delivers up to 2.1 A continuous on our carrier board and the DRV8876 does 1.3 A. The DRV8876 chip is also available in a smaller QFN package, so for a lower-current and lower-cost option, our DRV8876 (QFN) carrier can deliver 1.1 A continuously. All three versions can drive a single brushed DC motor at voltages from 4.5 V to 37 V.
|
|
|
The DRV8874 and DRV8876 drivers offer a choice of control modes that includes phase/enable (PH/EN) and direct PWM (IN/IN) as well as independent half-bridge control, which lets you drive two motors unidirectionally. With their wide operating voltage range and current sense/current limiting added in, this combination of capabilities results in some unusually versatile motor driver boards, especially considering their small size. (But if you need something that works with even higher voltages, consider our similar DRV8256E and DRV8256P carrier boards too, though those don’t provide current sense feedback.)
Comparison of the DRV8874, DRV8876, and DRV8256 motor driver carriers | ||||
---|---|---|---|---|
DRV8876 (QFN) |
DRV8876 |
DRV8874 |
DRV8256E DRV8256P |
|
Motor channels: | one | |||
Min. operating voltage: | 4.5 V | |||
Max. operating voltage: | 37 V | 48 V | ||
Max. continuous current(1): | 1.1 A | 1.3 A | 2.1 A | 1.9 A |
Peak current: | 3.5 A | 6 A | 6.4 A | |
Current sense feedback? | 2500 mV/A | 1100 mV/A | none | |
Active current limiting: | adjustable | |||
Size: | 0.6″ × 0.7″ | 0.6″ × 0.6″ | ||
1-piece price: | $5.95 | $6.95 | $9.95 | $12.95 (E) $12.95 (P) |
1 On Pololu carrier board, at room temperature and without additional cooling. |
Have you ever mistyped our website as “polulu.com”? (It’s a common mistake.) Until recently, you would have ended up on the page shown above, full of ads and offers to buy the domain. Even worse, emails misaddressed to polulu.com would disappear without any notification, and the domain owner could easily have used it in phishing scams against our customers. We have been working on tightening up our domain security to fight this kind of abuse, and polulu.com was an obvious problem we needed to solve.
This post describes how we obtained polulu.com under the Uniform Domain-Name Dispute-Resolution Policy (UDRP). While the UDRP is supposed to be an efficient and accessible process, I could not find any clear step-by-step guides online, so I’m posting our experience both to help others and get feedback about what we could have done better.
The Internet Corporation for Assigned Names and Numbers (ICANN) is a non-profit organization that controls the domain name system (DNS) of the Internet. Rather than manage DNS directly, they delegate the job to thousands of contracted registrars around the world. To get a domain, you pick an appropriate registrar, sign a contract, and arrange payment. Then they take care of the administrative details and provide you with some kind of control panel for configuring your domain. Normally there’s not much to it, so the registrar’s job seems pretty simple.
It gets complicated when there are disputes about domain ownership, particularly over trademark rights. To address this, since 1999, the registrar’s contracts have incorporated terms called the Uniform Domain-Name Dispute-Resolution Policy (UDRP). The idea of UDRP is that people have a right to their trademarked names over someone who has no trademark rights and registered a domain “in bad faith”. Evidence of what ICANN considers bad faith includes trying to resell the name, advertising confusingly similar services, or “typosquatting” – registering a domain that takes advantage of a common typo or which looks visually similar to an existing domain.
With UDRP, instead of suing under some particular country’s laws, trademark owners file a complaint in a special independent arbitration court. ICANN has designated several courts around the world, which are listed here. Currently there are six, and you can choose any of them for a UDRP dispute.
By the way, there is a specific alternative in the USA; we could have sued the owner of polulu.com in federal court under the Anticybersquatting Consumer Protection Act (ACPA). The ACPA could be more powerful than UDRP, for example allowing us to recover damages and costs. But it would probably have required spending thousands of dollars on a lawyer, and who knows if a US law would have any effect on an anonymous domain owner in a foreign country? So we didn’t consider this as a serious option, and we decide to move forward with a UDRP case.
So, we needed to pick a court for our UDRP case. When I first started looking into this, WIPO came up first in my searches, and since that is a big international organization, I mistakenly thought they were just in charge of UDRP. Looking into it a bit more, I found the complete list and started considering each option. The National Arbitration Forum (NAF), based in the USA, seems to be the second-most-popular provider, and all the other courts are much smaller.
The Czech Arbitration Court (CAC) is much less commonly used, but it seemed like an interesting option. While the other two have flashy websites, CAC’s low-budget layout that looks like it’s from the 90s was actually a lot easier to use, with the important information very readily available. For example, when submitting a complaint, WIPO and NAF have you download a Word file and fill in blanks, while CAC presents a web-based form that made me more confident that I wasn’t going to mess something up. The fees were lower, too. A UDRP case with WIPO costs $1,500; I couldn’t easily find the NAF fees on their website, but various sites quote it at $1,300 to $1,700. The basic CAC price is just 800 EUR, with a possible “additional” fee of 300 EUR, for a total of at most about $1,300.
Paying the CAC seemed relatively complicated, involving setting up an international wire transfer to Czechia with unknown fees and an unknown exchange rate from dollars to euros. From what I read in a few places, the CAC will also subtract their own bank’s fee of about $18 from your payment. If you overpay, they won’t refund you or even tell you by how much, and if you don’t get them enough money in time, you could lose the whole case by default. But I reasoned that this could also work in our favor: if the owner of polulu.com wanted to respond to our complaint in certain ways, they might also have to send in a payment with a strict time limit, and if they failed, it would be easier for us to prevail.
So, we decided to file a UDRP complaint with the CAC. Here’s what the top of their form looks like:
After the basic contact information, there’s this question about “preliminary control”:
I think that this is to help you avoid problems with a deficient filing; we decided to gamble that we would be able to get it right the first time.
Next I needed to enter the contact information for the “Respondent”, the current domain owner. A “Whois” lookup for polulu.com returned only anonymized information, so I didn’t actually know who the owner was, and it was not obvious to me what to enter in that section:
Domain Name: POLULU.COM Registry Domain ID: 260530185_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.above.com Registrar URL: http://www.above.com Updated Date: 2019-09-20 16:39:38.847175+10 Creation Date: 2005-11-18 21:57:43+11 Registrar Registration Expiration Date: 2022-11-18 21:57:43+11 Registrar: ABOVE.COM PTY LTD. Registrar IANA ID: 940 Registrar Abuse Contact Email: abuse@above.com Registrar Abuse Contact Phone: +61.390164107 Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited Registry Registrant ID: above_privacy Registrant State/Province: Hong Kong Registrant Country: HK Registrant Email: polulu.com@privacy.above.com Registry Admin ID: above_privacy Admin State/Province: Hong Kong Admin Country: HK Admin Email: polulu.com@privacy.above.com Registry Tech ID: above_privacy Tech State/Province: Hong Kong Tech Country: HK Tech Email: polulu.com@privacy.above.com Name Server: ns1.lionns.com Name Server: ns2.lionns.com DNSSEC: unsigned URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/ >>> Last update of WHOIS database: 2019-09-20 16:39:38.847175+10 <<<
I decided to enter them as an organization called “Above.com Domain Privacy”, using the email address and phone as listed in the Whois information, and entering “Hong Kong” for City, State, and Country.
After entering information about the registrar (Above.com) I had to decide between a single-member panel and a three-member panel to decide the case. A three-member panel has some advantages, but of course it’s a lot more expensive, so we were fine sticking with the single-member option.
Next, I had to choose the “mutual jurisdiction”, which is where any follow-up legal actions have to be filed if someone wants to fight a UDRP decision in a government court. There are two choices: the location of the Respondent (apparently Hong Kong) and that of the Registrar (Australia). Of course I wanted to make it as difficult as possible for the Respondent to contest the decision, so I selected Australia. Note that if you own domains, this is a good reason to pick a registrar in a friendly jurisdiction!
A few questions later I got to “Indicate the remedies sought for each disputed domain name”. There are two choices: to have the registrar revoke the domain or have it transferred to you. I can’t imagine who would ever choose revocation; if you do that, someone else is just going to grab the domain right away and put up another advertising page, and you’ll have to start the UDRP process all over again.
Next follows a long list of checkboxes in outline format, suggesting different possible justifications for the UDRP case. Here’s what I selected:
The first part is about Pololu’s rights to our trademark, while the second “Legal Grounds” explains why we think polulu.com violates these rights. Note that the three sections of “Legal Grounds” correspond to points 4.a.i, 4.a.ii, and 4.a.iii in the ICANN UDRP Policy. All of these parts are essential for a UDRP case to go forward, so even though the checkboxes are optional, they were really helpful in making sure that I had everything covered before writing up the details in the next section.
The argument text is where you get to explain the justification for your UDRP complaint in detail. After looking at some examples online, I started with an introductory paragraph identifying the parties and the subject of our complaint, then elaborated on all the points I had selected in the checkboxes:
Some points about the argument:
Next is a section for attaching files with evidence supporting the complaint. I included screenshots of polulu.com, our trademark registration at USPTO, and the email we had sent to the domain owner.
With the complaint form mostly filled out, we were confident and ready to proceed with the case, so we had to pay the fees charged by the CAC: 800 EUR, or $907 at the time. Like I said, it’s difficult to know how to make sure all the exchange rate conversions and bank fees are covered without overpaying a lot. Our bank charges a particularly exorbitant amount for payments in EUR, but the CAC lists an account we could use for USD payments, so sending a USD transfer seemed most likely to minimize our cost. Overall, I estimated that 1% for the currency exchange plus a $20 fee was likely, which brought the amount we would need to send up to $936. We decided to round it up to $950, just in case.
So, we sent $950 to their USD bank account, uploaded a copy of the payment receipt to the complaint form, checked everything carefully, and submitted it on December 10, 2021. The system acknowledged our submission right away, then we didn’t hear anything until December 13, when they acknowledged receiving our payment:
So, we’ll never know how much we overpaid by.
Remember how I had named the domain holder as “Above.com Domain Privacy”? The next communication from the CAC was December 21, a “notification of deficiencies” for not properly identifying the actual domain owner, which we had five days to correct. The CAC also sent us on the same day (probably not coincidentally!) an email from Above.com providing more specific contact information for the Registrant, including an email, phone number, and physical address in Hong Kong. Their name was given as “Domain Administrator”, which made me a little uncertain, but since that’s all I had, I entered all of that information, with “Domain Administrator” as the name, into an amended complaint form.
The next day, December 22, the CAC notified us that the case had begun, and the Respondent had 20 days to respond.
On January 4, 2022, the CAC sent a warning to the Respondent (copying us) that they had until January 11 to respond, which seemed like a good sign.
Sure enough, on January 12, the CAC said that they had received no response and were going to proceed without one:
At the same time, they appointed a lawyer as the “panelist” who would decide our case. We heard nothing from him until January 27, and then got this:
While the case had seemed so clear-cut to us, it was apparently not to him. Maybe the fact that polulu.com had been in use since 2005, long before our trademark registration, gave him some doubt about our claims? To be sure, he wanted to see evidence that we had been using the name “Pololu” all the way back to the 2001 date we claimed. The “Additional UDRP Fees” (300 EUR) we now had to pay made it seem like a bait-and-switch scheme, even though we had half-expected something like this to happen. With just five business days to get the money to their bank account, we immediately sent a $375 wire transfer and started working on assembling a response.
I wasn’t sure whether they wanted hard, verifiable evidence, which there isn’t much of, or something more like a clear explanation of our history, so I did my best to include both. On the verifiable side, the Massachusetts and Nevada state websites showed when we had first registered Pololu in those states (2001 and 2002), and I included a copy of the Whois information for pololu.com, showing that we had registered it in the year 2000. On the softer side, I linked to Jan’s blog post about our first 20 years, an MIT page from 2001 that mentions our IR beacon being used in their robotics contest, and a 2001 screenshot from the Wayback Machine. I also included a copy of an ancient PayPal email to us, to help establish that we were actually using the pololu.com domain name to conduct our business. We submitted all of this additional evidence the day after their notice.
On January 31, the CAC confirmed receipt of the additional payment. (We still have no idea how much we overpaid.)
There was no communication for the next two weeks (I was not trusting my email and checking the website constantly!), until finally, on February 15, we got this:
Hooray! The decision to transfer the domain to us was published online, and everything seemed nicely wrapped up.
But what was supposed to happen next? The court doesn’t get involved in the technical details of actually transferring the domain; that’s up to the registrar. I think they were supposed to do it within 10 business days, but nothing happened.
On March 2, I went on a chat with Above.com, and they suggested emailing their abuse email address.
Not having received any response, the next day we looked into our options. Since ICANN is the agency that ultimately controls everything, they have a mechanism for enforcement, described on this page, which links to a simple complaint form that I filled out. It seemed like it could take a few weeks for that to do anything, since according to their FAQ they send out three notices, waiting 5 business days after each one.
Still, we kept not hearing anything from anyone. I went onto a support chat with Above.com a second and third time, was directed to email their support address, and on March 28 finally something happened:
Finally we got the domain! The way they transferred it to us was by giving us a temporary Above.com account and assigning the domain to us. I was able then able to log into the website and manage the domain. There were a few minor hiccups using their system, but within a day I had it moved over to our normal registrar, and https://www.polulu.com/ was redirecting to us. ICANN also finally responded to our complaint, more than a month after I filed it, closing it since everything was resolved. (Maybe that complaint is what motivated Above.com to do the transfer.)
Overall, I was happy with the CAC system for filing UDRP, and now that I’m familiar with it, I would use them again. With the “additional UDRP fees” and all the uncertainty in the transfers, we ended up paying a total of $1325, higher than I had hoped but still less than the fees I expect at other providers. Next time I would try to avoid additional fees by submitting more evidence about our trademark ownership in the initial complaint.
I would be happy to hear from others with related experiences or suggestions; please leave a comment below!
We’re excited to announce the launch of our new Motoron M3S256 Triple Motor Controller Shield! This I²C motor controller is designed to plug into an Arduino or Arduino-compatible board and control up to three bidirectional brushed DC motors at voltages from 4.5 V to 48 V with continuous currents of up to 2 A per channel. However, what really sets the Motoron apart from our other motor shields is that you can easily stack multiple boards to control even more motors at once!
Unlike basic motor driver shields that are best for driving just a few channels using the Arduino’s hardware PWM outputs, the Motoron M3S256 has its own on-board microcontroller with an I²C interface, letting you communicate with a stack of many controllers using only two I/O lines. Each Motoron can be configured to have a unique I²C target address, ensuring that every shield can be addressed individually and every motor can be controlled independently. For synchronized motion, you can even signal all the motors on several controllers to change speed at the same time with a single I²C command.
We provide an Arduino library for the Motoron that makes it easy to send it commands and configure its many settings, including motion parameters and error handling options. Working with multiple Motoron controllers is as simple as calling a few functions once you have set up their I²C addresses:
// Set up acceleration and deceleration limits for Motoron #1 mc1.setMaxAcceleration(1, 80); mc1.setMaxDeceleration(1, 300); mc1.setMaxAcceleration(3, 50); // Set up acceleration and deceleration limits for Motoron #2 mc2.setMaxAcceleration(2, 50); mc2.setMaxDeceleration(2, 200); // Drive the motors mc1.setSpeed(1, -800); mc1.setSpeed(2, 100); mc1.setSpeed(3, -100); mc2.setSpeed(1, -400); mc2.setSpeed(2, 50); mc2.setSpeed(3, 300);
Alternatively, if you are not using a microcontroller board with the standard Arduino form factor, it is almost as easy to use the Motoron on a breadboard.
A Raspberry Pi Pico on a breadboard using a Motoron M3S256 shield to control three motors. |
---|
The Motoron M3S256 is available in three versions with different connector options:
|
|
|
You might wonder why the assembled version comes with 3.5mm-pitch terminal blocks soldered in when the through-holes are spaced 5 mm apart. The answer is that the smaller 3.5 mm terminal blocks allow for more clearance when the shields are stacked, reducing the risk of shorting them to each other, but we still designed the board with bigger holes and wider spacing for maximum flexibility.
For more information about the Motoron M3S256, see the product pages and the comprehensive user’s guide. We have plans to expand the Motoron family with more versions including Raspberry Pi-compatible form factors and higher-power models, so expect more announcements soon!
We have released three new members of the S13VxF5 regulator family:
These lower-current variations are much smaller than the existing 3A Step-Up/Step-Down Voltage Regulator S13V30F5, but they can handle continuous output currents of 1 A, 1.5 A, and 2 A, respectively, with efficiencies from 85% to 95%. Like the S13V30F5, these smaller units accept input voltages from 2.8V to 22V and feature under-voltage lockout, output over-voltage protection, and over-current protection as well as thermal shutdown and soft-start, but they do not have reverse voltage protection or a disable input.
Each member of the S13VxF5 family has a fixed 5V output, and the components are optimized for different current capabilities. With the S13V20F5 in particular, we are offering a variant with a much more expensive inductor to squeeze out the most power we can in the smallest package.
This video steps through the demo program on our new 3pi+ 32U4 OLED Robot. The Pololu 3pi+ 32U4 OLED robot is a complete, high-performance mobile platform based on the Arduino-compatible ATmega32U4 MCU. The demo program shown in this video highlights many features of the 3pi+ including bump and line sensors, full 9-axis IMU (three-axis gyro, accelerometer, and compass), micro metal gearmotors and encoders, three user LEDs, and a 128×64 graphical OLED display.
This program ships on all 3pi+ OLED robots, both the assembled and kit versions. It is also included in the example sketches in the Pololu 3pi+ 32U4 Arduino library. More information about the 3pi+ demo program can be found in the user’s guide here.
Artist Tammy Carmona recently used our laser cutting service to help create her 3D mixed-media artwork, “Serenade”, pictured above. Carmona writes about the piece:
This mixed-media composition takes classical elements of music, and combines them with art in a decadent, delicious “feast for the eyes”.
The piano-glossy notes, the authentic violin bows and an actual violin, the laser-cut butterflies, the preserved roses – each element brings a different sensation and a different meaning.
Themes of rebirth and remembrance permeate this piece. The old violin is reborn with bursts of flowers, the old bows have found a new life supporting musical notes, the flowers are real preserved roses.
The music notes were laser cut out of black cast acrylic, which we stock regularly. The title sign for the piece, pictured below, was cut from the same material and raster engraved. A nice feature of the cast acrylic used in this piece is that it turns frosty white when engraved, which provides high contrast engravings.
For a more detailed description of Carmona’s piece and additional pictures, visit her website here. More information about our laser cutting service can be found here.
|
|
Our Black Friday / Cyber Monday sale is back! Visit the sale page to see all the available deals and add the necessary coupons to your cart, including special discounts on the new Zumo 32U4 OLED robots we released earlier today. The sale runs through Monday, November 29, and most of the sale coupons can be used on backorders if we happen to run out of stock, but you should still get your orders as soon as possible since production of many items is limited by the global parts shortages, and lead times to make more can be long.
Please note that during the sale, our order fulfillment times might be longer than usual, but we will do our best to get your order shipped as fast as we can. Additionally, we are closed Thursday, November 25 for Thanksgiving. Happy Thanksgiving!
Our 3pi+ 32U4 robot got an upgraded OLED display earlier this year, and now it’s the Zumo’s turn with the release of our new Zumo 32U4 OLED Robot!
In many ways, this new version is just like the original Zumo 32U4: it’s a versatile tracked robot designed to be a capable Mini-Sumo competitor, but with enough sensors and extra features to enable lots of other applications. The Zumo 32U4 OLED adds to that versatility by replacing the original LCD (liquid crystal display) with a high-contrast graphical OLED display. With this monochrome 128×64 screen, you can present high-density data displays to help you analyze the Zumo’s status and sensor readings, or you can add some flair to your Zumo by showing eye-catching graphics.
We’ve updated our Arduino library for the Zumo 32U4 to add OLED display support as well as an LCD compatibility layer (the same way we did for the 3pi+), letting you easily convert existing programs to run on the OLED version or write new programs that will work on both old and new robots.
As with the LCD version, the new Zumo 32U4 OLED robot is available as a kit (with motors not included so you can select your own to customize performance) or as a fully assembled robot with your choice of 50:1, 75:1, or 100:1 motor options
|
|
Nearly two years of operations under the COVID-19 pandemic are behind us. Like many other businesses around the world, our biggest challenges have moved from direct health and safety concerns to secondary disruptions, most notably the supply chain issues and the global chip shortage that has been making news and shutting down factories since last year. Initially, we were relatively isolated from the shortages because we had maintained a high inventory, often stocking a year or more of critical components. However, as the disruptions dragged on, our reserves were depleted, and we have had to resort to increasingly drastic measures to keep operating at all.
I apologize to our customers who are frustrated by our worsening response times, price increases, and unavailability of products. I hope showing you some of what we are dealing with will make it easier to understand.
Here is a screenshot from our internal system showing the inventory history of a relatively unremarkable component (a small MOSFET) that we have been using for almost ten years now:
Inventory history for a component with shortages in 2021. |
---|
The stock history is representative for a typical component that we gradually put into more product designs so that the rate of usage keeps increasing and the amount of stock we keep on hand gradually increases, too. Usage of this part ramped up in 2018, to around 35 thousand pieces per year. We last received some shipments in mid-2020 that put us in a seemingly-secure place, but the situation became less comfortable as we got into 2021, and the past several months have been downright alarming since we might only have enough parts for two more months, while the estimated shipment dates for my orders are well into 2022. And this is with us putting the brakes on parts usage!
Slowing down component consumption is really not fun since our main options are just not making any of a product at all (sometimes we are forced into that option anyway once we run out of parts) or raising prices. Higher prices can make it confusing for customers to select among alternatives since we expect the more expensive product to generally be the better one. To help communicate that some products’ prices and availability are temporarily distorted, we added several rationing-related entries to our list of product status designations. You can see the status of each product along with stock and pricing information:
We initially focused on reducing volume discounts, and building the rationing designations into our system let us automatically exclude rationed items from sales and other special promotions. It has been almost six months since we started officially designating products as rationed, and unfortunately, what we expected to be a temporary measure for a few select items has gradually affected more and more products as component shipments keep getting delayed.
Here is the inventory history for another component, a more expensive and specialized part than the previous one:
10-year inventory history for a component being rationed in 2021. |
---|
There were already some supply issues with the part in 2017 that led us to keep slightly higher inventory of that component, and you can see the change in the pattern as we ramped up our rationing efforts. We buy the part on reels of 1,000 pieces, so the upward jumps in the graph are multiples of a thousand, and we used to use up fairly high quantities in each manufacturing run, so the downward jumps were fairly sizable, too. For instance, we might make five hundred of a product at a time and just put it all in stock on the website and not make more for a couple of months. Starting in the second quarter of this year, you can see how the inventory graph is a lot smoother as we made much smaller production runs to preserve flexibility in which products to use the components.
This strategy does help us maximize the usage of the parts we have on hand, but it comes with many costs. Production is less efficient since the machine setup is the same whether we are making twenty units of a product or a thousand units. We also have much more internal scrutinizing, planning, and checking of which products to make since accidentally making the wrong product is a much bigger problem than it used to be—it could now mean prolonged inability to make a different, otherwise unrelated product. It’s also more difficult on customers who do want to buy in bigger volumes since we used to have more stock available on our website, and customers could just order. Now, when we show 29 of a motor controller in stock and a customer needs 50, they have to talk to us about how soon we can make the additional 21. This also strains our support staff resources and reduces the service quality for all customers. And the sad thing is that we are doing a lot more work to produce and sell fewer products.
You might be surprised to hear that our total inventory is actually at an all-time high. And apparently, that is fairly common, even among the biggest companies, including the main electronics distributors. When I was talking to my Arrow Electronics rep last month, he said his warehouse is full. I asked of what, and he said he didn’t know, but apparently not the parts he needs.
I spend a lot of time trying to understand what we do have. We have thousands of unique components, and on average we have thousands of each one, so we have many millions of components to keep track of. Most products use many different components, and most components get used in many different products. If we are missing one part out of fifty to make a product, we can’t make the product. And usage rates for the same component are different in different products; what are we supposed to do when we have five thousand left of a component that we use in a $5 product that used to sell thousands of units a month and in a $100 product that sells hundreds of units a month, and the earliest estimated delivery of more components is eight months out? So far, we have mostly raised the prices on the $5 product, sometimes very substantially, while not changing the price on the $100 product, and that lets us keep some finished products available to offer.
There are more and more components that have been on order for over a year now, and meanwhile estimated ship dates for new orders are well into 2023 (not 2022!). It’s a scary time to be an electronics manufacturer.
As I mentioned, we are going through a lot more effort to make fewer completed products, and that contributes to increased costs and higher prices independent of what we are doing with rationing. On top of that, prices for most of the components we have been using for a long time have risen substantially, even as our order volumes increase. Most increases have been in the 10% to 20% range, but several are 50% or more.
Then there are parts that we now buy in smaller quantities from catalog distributors like Digi-Key and Mouser (when we find stock there), and those prices can be several times higher. Some parts I bought a year ago for twelve cents each in quantities of fifty thousand are now costing 25 cents each in those bigger volumes, and if I order just a few hundred or a few thousand, they can cost a dollar each. If we just need one of those on a product we sell for $100, it’s not that big of a deal, but if there are three of those components on a product that used to cost $5, the price is going to have to go up, sometimes dramatically.
Non-electronics component and material costs are also going up, though those have generally been in the more modest 5% to 20% range, but shipping costs are up a lot, so that disproportionately affects heavier and bulkier items. We have had to reprice some of our stepper motors primarily because of the shipping costs to get them here, while we have thus far been able to avoid raising costs on our micro metal gearmotors (though volume discounts are smaller than they used to be). Most of our products involve at least some processing in the US, but we are able to ship some items directly from our China warehouse to other countries to reduce the impact of shipping costs and the tariffs on many products coming into the US from China.
The broader supply chain issues are a problem, too, even though it’s not as bad as with the chip shortages. Most of our mechanical parts, from injection molded plastic parts to motors and servos, come from China, and we are more directly involved in getting them shipped here (unlike the electronics parts, which are also mostly made overseas but which we buy from American distributors who deal with getting the parts into the US). Fortunately, most of our components are small and light so we ship a lot by air anyway, but we do ship heavier and bulkier items by boat and have had our share of days looking at all the ships waiting off the coast of California and wondering when ours would finally get to dock. It seems like regular delays by various carriers like FedEx and UPS are also getting worse, and we have now had at least a couple of instances where really important parts we were waiting months for made it to the US or even to Nevada and then got lost.
I have been writing mostly about components and how it affects electronics we manufacture, which is most of our business, but the other small manufacturers whose products we resell are in the same environment, and so we are seeing price increases and extended unavailability of products from them, too.
Delivery delays and other problems are affecting our shipments to our customers, too. Unfortunately, we are again mostly at the mercy of the large shipping companies and the general situation that has led to reduced service levels around the world. Many of the providers have suspended guarantees of delivery times or extended the times they say delivery will take. We have recently added UPS to our standard shipping offerings during checkout, so our customers at least have some more options in case one service is particularly bad in their area.
As I wrote a few years ago, we buy our electronics components through major authorized distributors, and we have so far not had to resort to going to secondary sellers and brokers (with the associated risks of ending up with counterfeit parts). From my talking to manufacturers’ representatives, my impression is that the semiconductor companies are just genuinely facing a combination of increased demand and reduced capacity as the pandemic interfered with their operations that are spread throughout the world. For example, ST was telling me about one motor driver that gets the silicon processed in Italy, then tested (still in silicon wafer form) in Singapore, and then chopped up and packaged in Malaysia. In this one instance, the silicon is done, and as operations resume in Malaysia, they should be able to get me some of the parts by the end of the year. But for other parts from the same company, such as microcontrollers, they don’t even have enough allocated to my general western North America region to meaningfully talk about where in the queue we are.
When I first heard predictions in early 2021 that the chip shortages would drag on through the end of the year, I didn’t really believe it. It’s increasingly clear that those predictions were right, but at least 2022 is not that far away anymore! And while we do have many orders with expected ship dates two years out (late 2023), we also have several with expected ship dates in early 2022 (and some parts have been trickling in, so it’s not as if we were completely choked off on all supply).
As we approach the holiday season when we traditionally have our biggest sale, we are assessing which products we can make and possibly discount. We have a few new releases this year that we are very excited about, but new products are especially difficult to ramp up, especially if they use new components we didn’t already have on order a year ago.
Despite the various challenges presented by the evolving pandemic and associated disruptions, we have generally been able to keep operating relatively smoothly this year. I know there are many small businesses of all types struggling or even having to shut down completely, and I am very grateful that we have avoided such extreme scenarios. Thank you to all of the employees at Pololu for so reliably keeping everything running, and thank you to all of our customers for your continued business. I wish everyone a safe and happy conclusion to the year and look forward to things improving on all fronts in 2022.
We’re pleased to announce our inaugural products based on the DRV8256E and DRV8256P motor drivers from Texas Instruments, which we are especially excited about. These little carrier boards can deliver a continuous 1.9 A to a single brushed DC motor at voltages from 4.5 V to 48 V, so they have some of the broadest operating ranges of any of our drivers, and they can handle short bursts of considerably higher current (up to 6.4 A for less than a second). They also feature configurable active current limiting, which can help make them good choices for a motor that might only draw around an amp when running but much more when starting.
The DRV8256E and DRV8256P are very similar, and we use the same printed circuit board for both chips, but their control interfaces are different. The E version provides a phase/enable interface that lets you control a motor with a single PWM speed signal along with a simple digital direction signal, while the P version provides an IN/IN interface that gives you direct control over the motor outputs but requires two PWM signals for bidirectional speed control.
However, there is also a tradeoff with these two ICs. The DRV8256P uses drive/brake operation, shorting the motor outputs together and electrically braking the motor during the off portion. Many other TI drivers with phase/enable interfaces (like the DRV8838) also use drive/brake, but the DRV8256E does not: it operates in drive/coast mode, where the motor outputs are high impedance during the off portion of the PWM cycle, allowing the motors to coast. We don’t know why TI made a different decision for the DRV8256E, but it seems likely they have some high-volume customers who prefer it this way.
In our experience, drive/brake mode provides a much more linear relationship between PWM duty cycle and motor speed, so for an application where that is important, you might choose to accept the need for an additional PWM signal to get that improved linearity. These graphs show the difference in one specific scenario (powering a high-power micro metal gearmotor with no load):
However, graphing the relationship between duty cycle and the current drawn by the motor driver from the supply reveals some more interesting differences. Specifically, at lower PWM frequencies, drive/brake operation uses much more current at intermediate duty cycles as the motor current ramps up and down for each PWM cycle:
Finally, graphing current draw against motor speed shows that drive/coast can be more efficient for a given speed compared to drive/brake. So for an application with closed-loop speed control where it’s not as important for duty cycle to correspond linearly with speed, using drive/coast might be preferable if the PWM frequency is low.
If you have any thoughts about drive/brake vs. drive/coast and their use in different applications, we would be interested in hearing about it.
For more information about these drivers, see their product pages:
Our Polo-BOO! Halloween Sale is back! Get 10% off active Pololu-brand products using coupon code PoloBOO2021 (limit 10 per item) from now until Friday, October 22. See the sale page for restrictions and links to suggested products and projects to make your Halloween spookier than ever!
SpringRC SM-S4303R Continuous Rotation Servo Pair. |
---|
We are now offering a two-pack of Surplus SpringRC SM-S4303R Continuous Rotation Servos. These servos are functionally identical to our stock SM-S4303R servos except for the direction of rotation, which is reversed. We are selling them in pairs to help differentiate them. See the product page for more details and specs.
In case you missed it, the 3pi+ now comes with a graphical OLED display! Accordingly, we have released an updated version of the 3pi+ assembly video. This video walks you through the steps found in the assembly section of the 3pi+ 32U4 User’s Guide. While our user’s guides aim to be as thorough as possible, some things are a lot easier to understand when you actually see someone doing it (like soldering the leads to the motor tabs!), so we hope you find this video a useful addition to our 3pi+ documentation.
Is there something you would like to see in a future 3pi+ video? Let us know in the comments below!
We have published performance graphs (2MB pdf) for our 25D Metal Gearmotors! Each chart is based on hundreds of individual measurements that reveal how the speed, current, power, and efficiency of that particular gearmotor version depend on the applied load (i.e. torque). Our test methodology is the same as the one we used to make our Micro Metal Gearmotor performance graphs, so you can see our blog post about that for more information.
25D mm metal gearmotor undergoing dynamic performance testing. |
---|
These characterizations are yet another way we set our gearmotors apart from the many similar-looking alternatives out there. When you get your gearmotors from us, you know what kind of performance to expect, and you can count on consistency from batch to batch.
If you have any questions or feedback about these graphs or if there is additional information you would like to see available for our motors, please feel free to contact us (or just leave a comment below).
Performance summary table from 25D mm Metal Geamotor datasheet. |
---|
We are having a Labor Day sale starting now through Tuesday, September 7! Check out the sale page for more information. Please note that we will be closed Monday, so orders placed after 2 PM Pacific Time Friday, September 3 will be shipped on Tuesday, September 7.
Hello, I’m Curtis, an engineering intern at Pololu. I’m studying mechanical engineering at University of California, Irvine. I’ve been playing a lot of Tekken during the pandemic. In fighting games like Tekken a lot of people use arcade sticks to play. So, I wanted to build my own.
I built an arcade joystick case using acrylic parts (3mm and 6mm thickness) that I made with our Custom Laser Cutting Service as well as various M-F standoffs, F-F standoffs and screws and nuts.
I designed the case myself in Solidworks. I decided on a length and width of 8" × 14" because that makes it large enough to be comfortable, while being small enough to fit in a backpack and carry around. The positioning of the buttons and joystick is based on Hori arcade sticks, with some modification to fit my hands. The difficult part was figuring out how to mount all the components. I ended up layering the acrylic pieces to form the top and bottom plates. This let me mount components in between the layers, which hid screws and made the case look better. I was also able to cut holes to position vertical supports, like the front and back walls, to increase the case’s rigidity.
It’s designed to fit:
PCBs from Brook are popular for arcade sticks. They have low latency and are compatible with PC and consoles. Button and joystick choices are based on personal preference, similar to mechanical keyboard switches. Sanwa buttons are popular as well, and pretty standard in a lot of arcade cabinets, so I picked them because I’m used to them. I chose the IST joystick because the joystick tension is stiffer, which I prefer because it makes quick movements easier.
It can be a little tricky to put together. I didn’t realize that the joystick switches had tabs that extended beyond the sides of the joystick, so it couldn’t slide into the case. To get around this, the joystick just has to be taken apart and put back together inside the case.
Overall the case works really well. I was worried that the acrylic wouldn’t be stiff enough, but the case is rigid, and all the components fit.
You can download my CAD files (.DXF and .CDR) for the laser cut parts here (97k zip) to cut out the same case I designed, or as a starting point to design your own.
We are very excited to announce that the 3pi+ 32U4 OLED Robot is now available! This is an updated version of the original 3pi+ 32U4 Robot that replaces the old LCD with a monochrome 128×64 OLED display, giving it the ability to display fancy high-contrast graphics while following a line course, navigating a maze, or doing whatever it is that you want this compact but versatile mobile platform to do.
|
|
For more than 16 years, starting with some of our oldest products (from well before I joined Pololu), we have used HD44780-compatible alphanumeric liquid crystal displays on our robots and robot controllers. These LCDs have been around forever and are limited to displaying simple text on a fixed grid, but they are also ubiquitous: there are plenty of manufacturers still making displays that use the standard HD44780 interface.
Pololu Orangutan Robot Controller connected to an AVR ISP (serial version). |
---|
It’s unlikely that we would have much difficulty sourcing this kind of display any time soon (as long as the pandemic doesn’t mess things up too badly), so using them in our products has always been a safe option despite their graphical limitations. The original 3pi+ 32U4 that we released late last year was our most recent design to include LCD support.
Meanwhile, monochrome organic light-emitting diode (OLED) displays have become increasingly popular in electronics over the last decade or so, and it’s not hard to see why: you can draw graphics on them, they can fit more information on the screen, they’re easier to read in the dark, and they just plain look cooler. But even though you might be able to go to eBay or Amazon and order a cheap OLED display for your project when you want one, it’s critical that we find a dependable supplier for a component like this before we can start to design it into our products.
That is why the availability of the 1.3″ OLED module we announced recently was actually a pretty big deal for us: it means that we finally have a source that we can rely on for larger quantities of these displays. The 3pi+ 32U4 OLED is the first of what we hope will be many robots and control boards that make use of the graphical capabilities offered by an OLED screen.
Like the original 3pi+ 32U4, the newer OLED version is available with three different motor options, either fully assembled or as a kit:
3pi+ 32U4 OLED Version | Products | Micro Metal Gearmotor | Top Speed | Comments |
---|---|---|---|---|
Standard Edition | assembled or kit | 30:1 MP 6V | 1.5 m/s | good combination of speed and controllability |
Turtle Edition | assembled or kit | 75:1 LP 6V | 0.4 m/s | longest battery life, easiest to control, good for swarm robots or introductory robotics courses |
Hyper Edition | assembled or kit | 15:1 HPCB 6V | ~4 m/s | very fast and difficult to control, easy to damage; only recommended for advanced users |
For anyone who wants to use different motors than the options above, the 3pi+ 32U4 OLED control board is likewise available separately and can be combined with a 3pi+ chassis and a pair of motors to build a custom robot.
We will be phasing out the original 3pi+ 32U4 robots and kits (they will remain available by special order), but that does not mean the old versions are suddenly obsolete or that you will have to learn an entirely new platform to use the new OLED version. Aside from the display interface, the hardware on the LCD and OLED versions is exactly the same, with features including encoders, line sensors, front bump sensors, and a full IMU (inertial measurement unit).
From a software perspective, it can actually be pretty challenging to work with graphics, especially on a small processor like the ATmega32U4. The simplicity of a text LCD can be an advantage in that you can essentially just ask it to do something like printing the letter “A” on the first column of the second row. On a graphical display, even if you just want to show some text, you have to define the shape of the letter in pixels; optionally composite that shape into a memory buffer; and then send the complete pixel data to the display. That means you have a lot more control over how that letter “A” is shown, but it takes a lot more work to do it.
To help get you started, we’ve developed an LCD compatibility layer as part of our Arduino library for the 3pi+ 32U4. This makes it easier to use the OLED screen for common display tasks, and it’s straightforward to write programs that will work on either version of the robot with minimal changes, since you can update an existing program to run on the OLED version by changing just a single line of code.
A 3pi+ 32U4 OLED and an original 3pi+ 32U4 running nearly identical programs and displaying the same text. |
---|
Additionally, the same library makes it trivial to get the benefit of a higher-density text area: you can easily “upgrade” from an 8×2 character grid to an 11×4 or 21×8 layout.
Higher-density text layouts on the displays of some 3pi+32U4 OLED robots. |
---|
We plan to continue improving our libraries to give you more options for efficiently working with both text and graphics on an OLED display; stay tuned for updates!
|
|
|
Belgian distributor MCHobby has released an adapter that allows a MicroPython Pyboard to control a Zumo Robot for Arduino. Using their MicroPython port of our Zumo Shield library, you can run programs like this on the Zumo:
from zumoshield import ZumoShield zumo = ZumoShield() zumo.motors.setSpeeds( 100, 100 ) # -400..0..400 zumo.motors.stop()
Even cooler, the on-board REPL allows live programming/debugging over USB. Here’s an example from their library documentation that shows a test of the Zumo’s accelerometer:
MicroPython v1.16-92-g98c570302-dirty on 2021-07-16; PYBv1.1 with STM32F405RG Type "help()" for more information. >>> >>> import test_acc x -241 y -23 x -236 y -16 x -233 y -68 x -223 y -81 x 1110 y -7073 <--- Knocked on the right side x -309 y -35 x -242 y -69
MicroPython is a minimal Python interpreter designed to run on microcontrollers such as the the Espressif ESP8266 and ESP32, the Raspberry Pi RP2040, and a variety of Arm processors. The Pyboard we are talking about here is the official reference board for MicroPython, based on a powerful Arm Cortex-M4 processor by ST. As you can see in the pinout diagrams below, most of the pins of the Pyboard are also broken out on the Zumo adapter, and the two Pyboard buttons are duplicated in more convenient locations:
An included Pololu voltage regulator and power diode allow the robot to be fully powered with batteries and also to safely connect to USB for programming. The MCHobby libraries demonstrate how to access all of the Zumo features from the Pyboard, in particular including example MicroPython code for line following and maze solving. There are many more possibilities with MicroPython on the Zumo, and we’re excited to see what the community will do with it!
For more information or to buy a board, see the Adaptateur Pyboard pour ZUMO Robot product page.
We’re now selling an OLED display module that you can use to add some fancy graphics to your project! This monochrome OLED screen measures 1.3 inches diagonally and uses a common SH1106 driver that can be controlled via SPI communication. (For more information, see its product page.)
Graphical OLED Display: 128×64, 1.3", White Pixels, SPI, Blue PCB, controlled by an A-Star 328PB Micro running at 3.3V. |
---|
With a 128×64 grid of individually-controllable, high-contrast pixels, this OLED display can show a lot more information (and looks a lot cooler) than simple text-only LCD screens. We’re working on something that can take advantage of these enhanced graphical capabilities, so keep an eye out for updates!
We are having an Independence Day sale starting now through Monday, July 5! Check out the sale page for more information. Please note that we will be closed Monday, so orders placed after 2 PM Pacific Time Friday, July 2 will be shipped on Tuesday, July 6.
I started routing the PCB for the S13V30F5 5V step-up/step-down voltage regulator in January of 2020, and we were in the middle of testing the assembled prototypes when the pandemic shutdowns hit. Like lots of other things in 2020, the project got put on hold because appropriate testing requires a decent amount of equipment and is not the easiest thing to do remotely. That only makes it more exciting to announce that the S13V30F5, our most powerful step-up/step-down regulator, is now available! It operates from 2.8 V to 22 V and steps that voltage up or down as necessary to produce a fixed 5V output with typical efficiencies of 85% to 95%. As shown in the graph below, it can deliver around 3A continuously when the input is near 5V.
This new regulator measures just 0.9″ × 0.9″. That is almost half the size of our previously highest-power step-up/step-down units, the S18V20Fx family, which we have recently started rationing due to impacts from the global semiconductor shortages.
5V Step-Up/Step-Down Voltage Regulator S13V30F5, bottom view with dimensions. |
---|
To help celebrate finally releasing the S13V30F5, we are offering an extra introductory special discount. The first hundred customers to use coupon code S13V30F5INTRO can get up to five units for just $9.95 each!
We are excited to announce the addition of new GF23-series high-speed linear actuators to our already extensive linear actuator selection. This brand new Glideforce series from Concentric International is specifically designed for high-speed, light-duty applications, offering almost twice the speed of our previously fastest options while still supporting almost the same dynamic loads. This video demonstrates the speeds of the four types of light-duty actuators we carry:
They are available in 2″, 4″, 6″, 8″, 10″, and 12″ lengths with or without a feedback potentiometer. The table below shows how these new units compare to our other light-duty options, which are slower but stronger:
Actuator Type |
Max Dynamic Load |
No-Load Speed @ 12 V |
Max-Load Speed @ 12 V |
Current Draw @ 12 V |
Nominal Stroke Length |
With Feedback |
Without Feedback |
---|---|---|---|---|---|---|---|
High-Speed Light-Duty (LD) 5:1 |
12 kgf [27 lbs] |
8.4 cm/s [3.3″/s] |
7.5 cm/s [2.9″/s] |
1.1 A – 3.4 A |
2″ | GF23-120502-3-65 | GF23-120502-1-65 |
4″ | GF23-120504-3-65 | GF23-120504-1-65 | |||||
6″ | GF23-120506-3-65 | GF23-120506-1-65 | |||||
8″ | GF23-120508-3-65 | GF23-120508-1-65 | |||||
10″ | GF23-120510-3-65 | GF23-120510-1-65 | |||||
12″ | GF23-120512-3-65 | GF23-120512-1-65 | |||||
Light-Duty (LD) 5:1 |
15 kgf [34 lbs] |
4.4 cm/s [1.7″/s] |
3.6 cm/s [1.4″/s] |
1.2 A – 3.2 A |
2″ | LACT2P-12V-05 | LACT2-12V-05 |
4″ | LACT4P-12V-05 | LACT4-12V-05 | |||||
6″ | LACT6P-12V-05 | LACT6-12V-05 | |||||
8″ | LACT8P-12V-05 | LACT8-12V-05 | |||||
10″ | LACT10P-12V-05 | LACT10-12V-05 | |||||
12″ | LACT12P-12V-05 | LACT12-12V-05 | |||||
Light-Duty (LD) 10:1 |
25 kgf [55 lbs] |
2.8 cm/s [1.1″/s] |
2.3 cm/s [0.9″/s] |
1.2 A – 3.2 A |
2″ | LACT2P-12V-10 | LACT2-12V-10 |
4″ | LACT4P-12V-10 | LACT4-12V-10 | |||||
6″ | LACT6P-12V-10 | LACT6-12V-10 | |||||
8″ | LACT8P-12V-10 | LACT8-12V-10 | |||||
10″ | LACT10P-12V-10 | LACT10-12V-10 | |||||
12″ | LACT12P-12V-10 | LACT12-12V-10 | |||||
Light-Duty (LD) 20:1 |
50 kgf [110 lbs] |
1.5 cm/s [0.57″/s] |
1.2 cm/s [0.48″/s] |
1.2 A – 3.2 A |
2″ | LACT2P-12V-20 | LACT2-12V-20 |
4″ | LACT4P-12V-20 | LACT4-12V-20 | |||||
6″ | LACT6P-12V-20 | LACT6-12V-20 | |||||
8″ | LACT8P-12V-20 | LACT8-12V-20 | |||||
10″ | LACT10P-12V-20 | LACT10-12V-20 | |||||
12″ | LACT12P-12V-20 | LACT12-12V-20 |
This brings our total selection of light-duty actuators to 48 options, and our total overall selection of linear actuators to 82 options, all stocked and available to ship the day you order.
We released the first of our new Pololu distance sensors a few months ago, and now we’re releasing additional Pololu Digital Distance Sensors with longer ranges! These boards have the same form factor and pinout as both our old Sharp/Socle GP2Y0D8x carrier boards and the short-range Pololu distance sensors designed to replace those, but the new versions offer greatly increased detection and measurement ranges, opening up new possibilities in applications where longer-distance sensing capabilities are desired.
Comparison of a Pololu Carrier with Sharp GP2Y0D8x Digital Distance Sensor and two Pololu Digital Distance Sensors (irs16a and irs17a). |
---|
Like their shorter-range counterparts, these new Pololu distance sensors determine distance by using an integrated lidar module to measure the time of flight (ToF) of invisible, eye-safe infrared laser light. The new versions include four digital output versions, which simply indicate whether they detect an object within their respective range thresholds:
There are also two new versions with pulse width outputs, which encode a distance measurement in a pulsed signal:
(For more detail on how the different output types work, see the earlier announcement or the sensors’ product pages.)
This brings us up to ten different Pololu distance sensor options, as shown in these tables:
Digital output (does not provide distance measurement) |
|||||
Sensor | Maximum range1 |
Minimum range |
Minimum update rate |
Jumper settings (4321) |
PCB ID |
---|---|---|---|---|---|
#4050: Digital output, 5cm | 5 cm | < 5 mm | 145 Hz | 0000 | irs16a |
#4052: Digital output, 10cm | 10 cm | < 5 mm | 115 Hz | 0010 | |
#4054: Digital output, 15cm | 15 cm | < 5 mm | 95 Hz | 0100 | |
#4066: Digital output, 25cm | 25 cm | < 1 mm | 100 Hz | 0000 | irs17a |
#4067: Digital output, 50cm | 50 cm | < 1 mm | 100 Hz | 0001 | |
#4069: Digital output, 100cm | 100 cm | < 1 mm | 100 Hz | 0011 | |
#4077: Digital output, 200cm | 200 cm | < 1 mm | 30 Hz | 1011 |
Pulse width output (provides distance measurement) |
||||||
Sensor | Maximum range1 |
Minimum range2 |
Resolution | Minimum update rate |
Jumper settings (4321) |
PCB ID |
---|---|---|---|---|---|---|
#4064: Pulse width output, 50cm max | ~50 cm | 1 cm | 3 mm | 50 Hz | 1110 | irs16a |
#4071: Pulse width output, 130cm max | ~130 cm | 4 cm | 1 mm | 100 Hz | 0101 | irs17a |
#4079: Pulse width output, 300cm max | ~300 cm | 4 cm | 2 mm | 30 Hz | 1101 |
1 Effective range depends on object reflectivity and ambient lighting conditions.
2 Objects closer than the minimum distance can still be detected, but the measured distance might be inaccurate. The minimum detection range is < 5 mm for irs16a boards and < 1 mm for irs17a boards.
We’ve also just published comprehensive information about all the possible jumper settings for these sensor boards on their respective product pages. By changing the jumper connections, you can make a sensor act like a different version or even select another configuration that isn’t available as a standard product. (And if you have a special volume requirement, we can manufacture a custom batch of sensors for you; please contact us for more information.)
Once again, we are offering an extra introductory special discount on these sensors, to help share in our celebration of releasing new products. The first hundred customers to use coupon code DISTSENSORS can get up to three units of each type (including the shorter-ranged versions released earlier) for just $9.95 each!
We are having a Memorial Day sale all weekend long with site-wide discounts of up to 25%! Check out the sale page for more information. Please note that we will be closed Monday, so orders placed after 2 PM Pacific Time Friday, May 28 will be shipped on Tuesday, June 1.
Content creator Curio Res recently released a tutorial and accompanying video explaining how to control a DC motor with an encoder. The video and post cover how to set up a motor with encoder, a controller, and a motor driver and how to read encoder signals. They also address common questions we get from customers who want to add closed-loop feedback to their projects such as how to implement a PID algorithm to control the position of the motor shaft based on the encoder readings. The content is well explained, and the diagrams and motion graphics make everything easy to follow and understand.
The tutorial uses one of our 37D Metal Gearmotors and our TB67H420FTG Motor Driver Carrier. The tutorial also uses an Arduino Uno, but one of our A-Star 32U4 Primes could be used instead.
If you like Curio Res’s content, be sure to subscribe to their YouTube channel so you don’t miss their latest videos. We look forward to seeing more great tutorials from Curio Res!
We are having a sale to celebrate our 20th anniversary! Get 20% off 20 big categories of products! The sale runs until the end of April. Visit the sale page for details!
Today marks 20 years since we first shipped a Pololu product, on April 9, 2001! Join me for some reminiscing on where we were twenty years ago and for an update on how we are doing now, more than a year into the coronavirus pandemic.
I think I started Pololu in 2000. Probably in the fall, though I know for sure I was working on firmware for a servo controller (this one) over the summer of 2000. I had worked on other product ideas before that, too, but by November 2000 I had made the first board layout that had the name “Pololu” on it:
IR Beacon PCB showing “Pololu” name and copyright 2000; picture date 12 November 2000. |
---|
Here are a couple more pictures of the first prototypes, apparently taken on November 12, 2000. That “v1.2” was the version that became Pololu’s first product. I have seen the picture on that product page over the years, but I had forgotten that we still had to do microcontroller development with special windowed ceramic packages back then, with a separate UV eraser device you stuck the chip in for about ten minutes to erase it. (Production parts would then get made with microcontrollers in cheaper plastic packages that were only programmable once.)
The picture on the right shows Paul’s and my initials on the back side of that PCB design, and Paul registered the pololu.com domain on November 18, 2000. Here is a reconstruction, based on the Internet Archive, of how the Pololu web site probably looked in February 2001:
Reconstruction of how pololu.com looked in February 2001. |
---|
Candice, Paul, and I formally incorporated Pololu in early 2001, while Paul and I were still undergraduates living in dorm rooms (Candice had graduated a year earlier and was working at The MathWorks). Here are some pictures in the dorm in that time frame (how do we not have any better pictures?):
And then we get to April 9, 2001, for which we have the first recorded order. This is what pops up when we open System 2, our system for running most of the company:
All-time sales chart showing first order on 9 April 2001. |
---|
When we started making that system in 2007, we imported the old data, including the fifteen orders we processed in 2001. Order number one was actually just a free sample to Mr. Hughes, my high school science teacher; we would get our first real sale to a paying customer on May 2.
Most of our time was devoted to school, though we did keep working on products we thought we would eventually release, especially when we could incorporate it into our classwork. This first prototype of our Orangutan robot controller (flash programmable microcontroller with a serial bootloader, plus integrated motor drivers) was also part of our final project for our 6.836: Embodied Intelligence class:
Original Orangutan robot controller prototypes, 21 April 2001. |
---|
Paul and I were class of 2001, so we were close to done with our undergraduate degrees, and I was effectively a grad student that last semester of my fourth year. I skipped the graduation ceremony, but the lab I was working at was right next to the site anyway, and Paul spotted me one of his diplomas so I could feel a little more festive.
MIT class of 2001 graduation, 8 June 2001. |
---|
This was all still before the 9/11 terrorist attacks, which we experienced quite intensely because of the two flights originating from Boston. Paul had moved out of Massachusetts by then, and I had moved out of the dorms to an apartment in Watertown. Paul visited Candice and me there in February 2002, where we at least remembered to take a picture of our board of directors meeting:
Pololu directors meeting in Watertown, Massachusetts, 3 February 2002. |
---|
I ended up skipping my second chance to be in the graduation ceremony and moved out of Massachusetts after wrapping up my master’s degree requirements by the end of May. You can see pictures from the next ten years of Pololu in my Ten years in Las Vegas update almost nine years ago.
Besides just focusing on Candice, Paul, and myself, I think it would be fun to look at where some of our other key people were twenty years ago, in 2001. There are fifteen of us still at Pololu who have been here at least ten years, which also means we have been working together since before we were at our current building. Unfortunately, not everyone has ready access to good pictures from 2001!
Ben had these two physical pictures that he scanned for me:
That second one is actually four years older, probably from May 1997, close to our high school graduation. I seem to be holding an RC transmitter and part of a robot arm.
Fang, meanwhile, was in college in China, and it would still be many years before she would even meet Paul:
|
|
David was also there for Paul’s graduation, so that must be when I first met him.
He would still go through most of high school and four years of college before moving out to join us in 2008. If you have used any of our USB products, you have benefited from his great work.
David’s college friend RyanTM also moved here from Illinois to join us later that year. These pictures from late 2000 were the closest he could find to 20 years ago:
Ryan gradually became involved in almost all aspects of Pololu, including our facilities and production; since the pandemic started, he has been working mostly remotely and has been able to focus more on our IT needs.
David’s and RyanTM’s college friend Kevin worked at Intel for two years before coming out to join us in 2010.
Kevin and RyanTM were in the same grade at the same high school, but they wouldn’t meet until their sophomore year in the fall of 2001.
Linnea has been with Pololu the longest out of people who were not my friends from school. She also finished college in 2001, at the University of Wisconsin, and moved to Las Vegas that year. She would join us six years later after responding to an ad for an office assistant/shipping clerk.
We had already filled the position she applied for, but we hired her as a laser cutting quoter; she then moved through various roles at Pololu and has now been our HR manager for many years.
Arthur, our operations manager, has also been with us since 2007. Here is his school picture from 20 years ago, when he was a seventh grader in California!
He recalls, “I moved to Vegas without any reason or real plan other than to get away, and when I got here I was totally NOT looking for a job right away. I really only applied here because ‘laser operator’ sounded so cool.”
You might recognize Emily from our videos; she has also had many roles in Pololu, from pick and place machine operator to product designer. She grew up in Vegas and was starting high school in 2000/2001. Here is one of her videos!
That last picture on the right is at the same climbing gym where Ben, Candice, Fang, Paul, and I eventually met her in 2008 when she was finishing up her physics degree at UNLV; she joined us in 2009.
Jennifer joined us in 2008 and effectively was the shipping department. She became the shipping manager as we grew, but she also became more and more involved in the non-technical customer service side. She has been dominating our Halloween costume contests for years, so it’s fitting that the only pictures she could find from 2001 were from Halloween.
|
|
We were already moving toward her working exclusively in customer service, and once the pandemic hit, that accelerated the transition; she has been working mostly remotely for the past year, with occasional visits in person just to make sure she can still help out in shipping if we need it.
RyanB is our current shipping manager, and he has been with us since early 2010. Here he is back in Minnesota in the summer of 2001:
You might recognize him on the forklift from some of my new equipment arrival posts like this one.
Damian is the youngest among those who have been at Pololu over ten years; here he is back in late 2001, “probably in fourth grade”:
He joined us in 2010 a year after finishing high school and is now in charge of our electronics production equipment and processes.
Rocky is the fifteenth person who has been with us since 2010 or earlier, and he started on the same day as Damian.
Rocky’s “picture from 2001 I hope”. |
---|
Rocky was working on his mechanical engineering degree at UNLV for his first many years at Pololu, and there were stretches where he was here part time, but he’s been here full time since he graduated in 2018, working on things like quality control and characterization of our gearmotors.
Pololu Valley – As I was looking through old pictures, I was hoping to find one of Candice and me at Pololu Valley in Hawaii. We were there in 2001, and it turns out that’s the last time Candice was in Hawaii (and I only went back once after that, due to a family emergency in 2008). Apparently I took all the pictures and selfies were not so much a thing yet.
The extra data in the picture files indicates this was the day after Christmas in 2001. I don’t remember if we were already thinking of moving to Las Vegas at that point, but I am sure I was not thinking that would be the last time we were there for the next twenty years; otherwise, I definitely would have taken better pictures!
We hit this twenty-year milestone soon after we passed the one-year anniversary of Nevada businesses getting shut down in response to the coronavirus, which happened on March 18. That makes reflecting on the past 20 years especially strange, with the world as it was just thirteen months ago seeming so foreign now. Life has its ups and downs, and we are not where I perhaps naively dreamed we would be by now, but I am also extremely grateful that we are still functioning at all. When I wrote that first blog post the weekend after the shutdowns started, I really thought we might not make it. I was telling everyone, even these long-term employees I just wrote about above, to go file for unemployment insurance because we wouldn’t be able to pay them.
It took me about five years to get over Dez dying, in the sense that it wasn’t on my mind all the time and that I could feel joyful and think about celebrating successes without flinching at the thought of some disaster blindsiding me. This feeling last March was not as bad, but it still really sucked. I mention these things because I do not want to seem indifferent to the pain and suffering for the millions around the world for whom this pandemic has been that life-shattering event. I also want to write down, before I forget it, how awful and terrifying my situation felt in March 2020, and to help convey the depth of the gratitude I feel toward those who helped Pololu make it this far.
I was already cautiously optimistic in my last update from late February, and since then there has been a very unexpectedly positive development: we started getting vaccinated at the beginning of March! Literally the day after I wrote in my internal company blog that it might still be a few months before we get our vaccines, Nevada opened up eligibility to manufacturing and other sectors applicable to Pololu. On March 3, I got my first shot!
Jan and Paul got their first COVID vaccines on 3 March 2021 at the Las Vegas Convention Center. |
---|
And, two weeks ago, I got my second one! We have also been informally tracking how many of us have gotten the vaccines, and watching these counts go up has been a huge morale boost.
The chart is a lower bound since it only includes people who have shared more specific details for the purposes of generating the chart; I think the actual count of people who have gotten at least one shot is already past 40. There are just over fifty of us now, so that’s around 80%! And over half of us already have the second shot or a single dose of the Johnson & Johnson vaccine.
With the vaccination numbers similarly going up around the country and around the world, and with growing evidence that they work, it’s easy to be optimistic that the worst really is behind us this time. There’s a lot of work to be done, but we have a great team to do it. Thank you so very much to all the customers, suppliers, collaborators, and Pololu employees, past and present, who have kept us in business for 20 years, including this last very difficult year.
And thank you Ben, Fang, Paul, and Candice for doing this with me. I’ve gotten to work with my best friends for two decades, and practically speaking, for my whole life. Thank you for making it awesome!