Pololu Blog (Page 2)
Welcome to the Pololu Blog, where we provide updates about what we and our customers are doing and thinking about. This blog used to be Pololu president Jan Malášek’s Engage Your Brain blog; you can view just those posts here.
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.
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
nominal battery voltage:
current per channel:
|Motoron motor controllers
Arduino and Raspberry Pi form factor versions
nominal battery voltage:
current per channel:
for Raspberry Pi:
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:
- U3V16F3: Fixed 3.3V output
- U3V16F5: Fixed 5V output
- U3V16F6: Fixed 6V output
- U3V16F7: Fixed 7.5V output
- U3V16F9: Fixed 9V output
- U3V16F12: Fixed 12V output
- U3V16F15: Fixed 15V output
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.
Some parts on order since 2020 still have not shipped
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.
Some parts arrived in 2021 and early 2022, but we are out again
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.
Shifting demand clears out stock of alternative components
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.
New “supply outlook” feature
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.
Supply chain issues impact other aspects of business
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.
- Waiting more than 9 months for commercial air conditioners - One literal example is the air conditioners in our building. We have over fifty of them, and dozens of them are over twenty years old, meaning they are inefficient and reaching the end of their useful lives. We have had several on order since the beginning of the year, and at this point we are hoping that maybe they will arrive by the end of this year. Fortunately, we made it through the summer, but several units did die recently, and it’s not clear that we can even have them replaced by next summer.
Old ACs on Pololu building roof, waiting for replacement. Las Vegas Strip in the background.
- Waiting more than 6 months for window film - We started applying special solar-blocking films to our windows to help reduce the energy use by the ACs. That project started in late spring, and although part of it got done over the summer, most of it has been delayed by at least six months waiting for more of the film to get manufactured.
Pololu window tinting, July 2022.
- 6-12 month lead time on compressors and nitrogen generators - We ordered a nitrogen-generation system earlier this year, and lead times on that are in the ballpark of a year as well. There are several components to the system and we get billed for them as they arrive, so I don’t think the manufacturer is holding back on any of them while waiting for the others. One component is a fairly standard (though nice) air compressor that I am expecting to use for the rest of manufacturing as our existing ones are getting kind of old. It’s scary to think some of our production or equipment could be out of commission for a year waiting for machines or components that normally are available within a few weeks.
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:
Max. Current Limit)
(2A Max. Current
|STEP and DIR pins
|STEP and DIR pins or SPI
setting (0–2 A)
for max. (0–2 A),
scaled with SPI
|2 A fixed max.,
scaled with SPI
|Decay modes available:
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.