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.
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. Continued…
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:
- soldered with stackable headers and terminal blocks
- as a kit with connectors included but not soldered
- as a board only with no connectors included
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:
- 1A Step-Up/Step-Down Voltage Regulator S13V10F5
- 1.5A Step-Up/Step-Down Voltage Regulator S13V15F5
- 2A Step-Up/Step-Down Voltage Regulator S13V20F5
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.
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.
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!
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.
What inventory do we do have?
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.
Other cost increases
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.
Broader problems and delays
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.
When will it get better?
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.
Thank you for your continued business and support
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: