Pololu Blog (Page 3)
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.
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.
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!
We are approaching a year since governments in the US started shutting down businesses in response to the pandemic, and by this time last year, the then-novel coronavirus was already causing what we naively considered to be severe disruption to our operations because of the restrictions that were implemented in China. (We have an office in Shenzhen, and many parts we use, such as bare printed circuit boards, come from China even when our China office is not involved).
The past year has been so filled with ups and downs that it’s difficult to recall how things were when. In my last update in mid-November, I almost wrote something about no one at Pololu having tested positive for COVID yet. That same week, we had several employees test positive as we were caught up in Nevada’s surge in cases. Nevada, like many other states, newly tightened restrictions on businesses and public gatherings, and we scaled back in-person staff to only those necessary on premises for basic operations. Over the holiday period, we had an additional 10-15 people who had been back return to being off-site, leaving around 30 on-site. Fortunately, we seem to have prevented any coronavirus transmission here, and those who did get sick have recovered without serious complications.
Nevada’s government-mandated “pause” was extended twice, and some of the restrictions finally began easing in mid-February. We did have some additional isolated COVID cases among our employees this year, but we have been able to maintain production and shipping throughout this time. It looks like new infection rates are coming down and vaccination rates are going up, which makes it easy to be optimistic that the worst is finally behind us. Like everyone else in the world, we don’t know what changes are still ahead and how close we are to full (or at least substantial) resumption of activities, but it was a big relief at least to make it through 2020, and now the first two months of 2021.
Looking back, we were fortunate to be where we were when the pandemic hit us. One major example is that we did some fairly substantial renovations from 2018-2019, and we spent most of 2019 with big holes in our floors and many areas of the building impassable. I had this hole outside my office starting in February 2019, and the stairs weren’t even usable until July (and they were finally finished even later)!
And our production area looks much better today than it did for most of 2019:
And while it’s still sad to see how empty and underutilized our breakroom has been for the past year, it still beats the piles of dirt we had inside less than a year before.
2020 was stressful enough as it was, and I am very grateful we wrapped up the remodeling by the time the pandemic hit. I feel so sorry for all the businesses who made similar recent investments before the pandemic and then had their businesses completely shut down. At least we are still able to use the space, and I hope it will eventually see more use as it gets safer to have more people in the building.
So, where does that leave us going forward? I’m reminded of a false “proof” by induction, that I can carry infinite weight because I know I can carry some weight and for any weight I can carry, I can carry one gram more. It’s easy to take it for granted and get lulled into complacency that since we’ve made it this far, we’ll make it forever. (That keeps being true until it’s not.) However, I do want to recognize that while in some sense we lost a year, in many ways, we are in a better place than we were a year ago. One way we are acknowledging this is to update our donation requests to be less about our survival. I am hesitant to completely remove those requests and declare victory since that would be an unwarranted arrogance, so I would rather reframe the donation requests as an invitation to support us if you like what we do, similar to how you might donate to content creators on YouTube or Patreon.
Our operations are still stretched fairly thin since we have about 30% fewer people doing almost the same amount of work as we did a year ago. Some things are more difficult to do now than before, but we also have a more experienced core team and we keep working on our processes to do things better. Our emphasis is on normal production and order fulfillment, which I hope has gone well enough that most customers will not have noticed any changes. New challenges, including component shortages and other supply chain disruptions, keep cropping up, but that was also true of just normal life before the pandemic, too. Some of our extra support and special services like product customizations have been affected, but we will work on improving those and on more effective ways to address the very broad range of challenges our customers face.
Thank you to everyone who has supported us and helped us get through this past year. We hope the worst is behind us, and we will keep working hard to contribute to a better future for all of us.
In many applications ranging from robotics to industrial automation, it is useful to quickly detect the presence of objects within a certain distance. Our carrier boards for the Sharp/Socle GP2Y0D8x digital distance sensors have been popular in this role, but those sensors are unfortunately no longer being produced and are becoming hard to find. So we are excited to announce the release of our next-generation lidar-based Pololu Digital Distance Sensors, which can replace the discontinued Sharp sensors and more!
These new sensors use an on-board rangefinder module to determine distance by measuring the time of flight (ToF) of invisible, eye-safe infrared laser light. They are available in three different digital output versions with the same range thresholds as the GP2Y0D8x series:
- Pololu Digital Distance Sensor 5cm
- Pololu Digital Distance Sensor 10cm
- Pololu Digital Distance Sensor 15cm
We also have one additional option for more advanced applications:
(More on that version below.)
A camera with no IR filter shows the infrared light emitted by a Pololu Digital Distance Sensor.
The Pololu Digital Distance Sensors work like the Sharp sensors: they operate with either a 3.3 V or 5 V supply and output a simple digital signal, which is low if an object is detected within the specified range, high otherwise. They have the same indicator LED, pinout, and form factor as our GP2Y0D8x carrier boards (but are much thinner than the Sharp sensors), allowing them to be drop-in replacements in most applications.
The pulse width output version looks almost identical to its digital output counterparts, but instead of simply indicating the presence or absence of an object, it outputs a pulsed signal (similar to a hobby servo control signal) that encodes the distance it is measuring in the length of each high pulse. By timing these pulses, you can get quantitative range readings for targets up to half a meter away (depending on reflectance and environmental conditions).
The four numbered surface-mount jumpers on these sensors’ printed circuit boards, near the mounting hole on the front side, determine the sensor’s operating mode. You can change the jumper connections yourself to customize its behavior and even effectively convert the sensor into a different version (more information on the jumper settings will be available soon). And since we assemble and program these boards here in our Las Vegas facility, we can produce a custom-configured batch of sensors for you. If you are interested in manufacturing customization, please contact us for more information.
We are back to offering an introductory special discount on new products, to help share in our celebration of releasing these Pololu distance sensors. The first hundred customers to use coupon code DISTSENSORS can get up to three units of each type for just $7.87 each!
We are excited to release our first video related to our new 3pi+ robot! This assembly 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!
Customer and forum user Brian Gormanly (known as bg305 on our forum) just released the first video in his new Arduino Lab Series: Introduction to Robotics: Building an Autonomous Mobile Robot. Brian writes, “Throughout this series we will be introducing topics on building and programming an autonomous mobile robot! You can follow along with each lab adding amazing new behaviors to your robot projects and learning the algorithms and tuning techniques that produce incredible robots!”
Brian is using our new 3pi+ 32U4 Robot in his videos and from the first video, it looks like the series will be a great introduction to robotics and the 3pi+! Subscribe to Brian’s channel Coding Coach so you can make sure to catch each video as it is released.
As I wrote a few years ago, we used to use Travis CI and PlatformIO to confirm our Arduino libraries and examples compile after every code change. This helps us maintain confidence in the quality of our code and makes it easier to release changes. Of course that’s not as good as the extensive testing with actual hardware that we also do, but it’s really great as a quick check that we haven’t completely broken anything.
Unfortunately, Travis CI doesn’t work for code in development that has not yet been put up on GitHub. That, combined with Travis CI limiting how many testing minutes you get each month for free and GitHub Actions existing as a free replacement for it, pushed me to make a new solution that works for us.
So, we made arduino-ci: a simple Ruby script that is super easy to use with the continuous testing solutions provided by GitHub and GitLab. It uses arduino-cli to install cores (bundles of code for specific Arduino board architectures), install library dependencies, and compile all the examples. By default, it compiles all examples for the following boards:
You can use the configuration file to edit these defaults and add any additional library dependencies.
This isn’t the only Arduino continous testing program around. There’s also:
- arduino_ci (underscore not dash) – a much bigger Ruby project with features like C++ unit testing and mocks
- ci-arduino (are you seeing the pattern of confusing names yet?) – Adafruit’s testing program written in Python with features like Doxygen integration and code formatting
Sorry about the names, really! In contrast with these, arduino-ci is a very small program that focuses on compiling Arduino libraries and examples.
We are using arduino-ci for all of our libraries, and it should work for any Arduino Library, so if you have one, please try it out and tell us what you think! For more information, please read the arduino-ci readme.
We have one last sale for you before 2020 comes to an end! Get discounts on products we released in 2020, on all active Pololu-brand items, and on some select products that we’d like to reduce our inventory of. The sale runs through the end of Friday, January 1. Visit the sale page for details. Happy New Year!
Seven years ago, we released a CP2104 USB-to-Serial Adapter Carrier, our first product with a USB Micro-B connector (we had only used Mini-B up to that point). A few months later I wrote a blog post discussing our decision to switch connector types, and since then, we have exclusively used the Micro-B connector in all of our USB products.
Well, it’s now 2020 and we recently released a CP2102N USB-to-Serial Adapter Carrier to replace the CP2104 board, along with a breakout for a different type of USB connector: our USB 2.0 Type-C Connector Breakout Board (usb07b). These products do not seem to have much in common at first glance (other than both being related to USB), but I think they create a good opportunity to talk about USB connectors again.
First, a bit about these new boards:
The CP2102N is Silicon Labs’ replacement for several of their older USB-to-UART bridge ICs that are going out of production, including the CP2104. (It is not to be confused with the even older CP2102 without the “N”, featured on our first USB-to-serial adapter and also being phased out.) Compared to the CP2104, the CP2102N has similar functionality but includes a few small improvements, such as a higher maximum baud rate and a re-programmable configuration ROM. Our CP2102N carrier can be used as a drop-in replacement for our CP2104 board in most applications. For more information, see the product page for the CP2102N USB-to-Serial Adapter Carrier.
Our usb07b connector breakout board is very similar to the first Type-C breakout (usb07a) that we released last year. The two boards use different styles of connectors, and the newer one is priced a bit lower, but they both provide access to all of the USB-C connections required for USB 2.0 operation (power, USB 2.0 data, configuration, and sideband pins) and feature integrated CC pull-down resistors that make it easy to use the port as a power sink. For more information, see the product page for the USB 2.0 Type-C Connector Breakout Board (usb07b).
So now, the obvious question is: Why doesn’t this new serial adapter have a USB Type-C connector?
When we designed and released the CP2104 board in 2013, the USB Type-C connector did not even exist yet. (Its development was probably well under way, but the specification was not finalized until August 2014.) Since then, USB-C connectors have started appearing in all kinds of devices and are becoming increasingly widespread. They offer the promise of a single type of connector that can be used everywhere, supporting faster data transfer, higher power, and alternate modes. On top of all that, the connector is reversible, so you don’t have to worry about getting the orientation of the plug right.
With those advantages in mind, it’s reasonable to wonder why we haven’t started using the Type-C connector in more products. I touched on some of the challenges introduced by USB Type-C when I announced for our first USB-C breakout board, and that increased complexity accounts for part of the explanation here. A full-featured Type-C connector like the one on usb07a has 24 separate pins, way more than the five on a Micro-B connector, which means it’s significantly harder both to design a printed circuit board for it and to ensure good quality and yields when manufacturing that board (especially since half of the contacts on the usb07a connector are small, tightly-packed through-hole pins). Because it is more mechanically complex, the Type-C receptacle usually also costs quite a bit more than a Micro-B connector.
The connector on our new usb07b board improves the situation a bit. It does not expose the eight USB 3 SuperSpeed signals (which we did not make available on our usb07a breakout anyway), and some of the power and ground pins are paired up more conveniently. So this connector effectively has just 12 pins, and they are all surface-mount, which helps lessen some of the design and manufacturing challenges I mentioned. The connector’s simpler construction makes it slightly less expensive as well.
Bottom view comparison of the USB Type-C connectors used on our usb07a (left) and usb07b (right) breakout boards.
This means it’s now a little bit more practical for us to consider a Type-C connector for more applications. However, there is still some question of what is to be gained by switching to it. While the enhanced power delivery capabilities of USB 3 and Type-C might open up some interesting possibilities for new kinds of devices, it’s not clear that our existing products would benefit much from a change to USB-C, and there are some features like SuperSpeed communication that we are not likely to take advantage of anytime soon with the types of electronics we make.
So we want to ask you: what products, revised or new, would you like to see us make with USB Type-C? Would a device have to be uniquely enabled by Type-C in order to be compelling (maybe something like a USB bus-powered motor controller), or is just having a reversible connector alone worth it, and would you be willing to pay a couple extra dollars to get something with a Type-C connector instead of Micro-B? What else about USB-C appeals to you? Please let us know in the comments!