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.
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!
If you missed our Black Friday sale or realize you didn’t quite get everything you wanted, don’t fret: now through December 24, we have all active Pololu-brand and PCX products on sale for 12% off, and we are offering 15% off twenty broad categories of our products. Save on some Christmas shopping, or stock up now on robot parts for the new year. Merry Christmas!
We have expanded our selection of JST SH-style cables and connectors! These cables and connectors are ideal for use with our magnetic encoders for Micro Metal Gearmotors as seen in the photo on the right above.
In addition to the 6-pin single-ended female JST SH-style cables we’ve offered for a while, we now offer 6-pin female-female JST SH-style cables in five different lengths. Here’s the full list of currently available options:
- 6-Pin Female-Female JST SH-Style Cable 10 cm
- 6-Pin Female-Female JST SH-Style Cable 16 cm
- 6-Pin Female-Female JST SH-Style Cable 25 cm
- 6-Pin Female-Female JST SH-Style Cable 40 cm
- 6-Pin Female-Female JST SH-Style Cable 63 cm
- 6-Pin Single-Ended Female JST SH-Style Cable 12 cm
- 6-Pin Single-Ended Female JST SH-Style Cable 30 cm
- 6-Pin Single-Ended Female JST SH-Style Cable 75 cm
To go along with the new female-female cables, we also have breakout boards available for both the side-entry and top-entry versions of the JST SH-style connector. When used with our encoders and JST cables, these breakout boards offer a convenient way to access the encoder signal and power pins through a breadboard, and the pins are labeled on the board’s bottom silkscreen with this application in mind. Alternatively, these boards can serve as general-purpose breakouts for other applications that do not involve encoders. For example, a pair of connector breakouts with a female-female cable could be used as a removable general-purpose interconnect between different parts of a modular system.
We are trying something new with how we package and sell these connector boards. At Pololu, all our electronics undergo functional testing, where each product is placed on a custom testing apparatus and checked for functionality. This is a labor intensive step in our production process, and for a product as simple as these connector boards, testing and packaging represent a significant amount of the cost to produce it. As such, we are offering two options for purchasing these connector boards: either fully tested and individually packaged, or an untested pack of three.
Even though we do not functionally test the discounted 3-packs, each one undergoes automated optical inspection (AOI) to visually check the placement of the connector and the quality of the solder joints. Additionally, each printed circuit board (PCB) is electrically tested by our PCB manufacturer, so we know the PCB itself is free from electrical defects. This makes it very unlikely for any of the breakout boards to be bad.
The additional functional testing we perform on the fully tested units just confirms the solder connections between the connector and the board. If you purchase the untested units but would still like this additional confirmation, you can easily check it yourself with a multimeter. (Just use it to check for continuity between corresponding pins on the actual JST connector and through-holes on the board, and verify that there is no continuity between adjacent pins.) In the unlikely event you receive a unit with a poor or shorted connection, you should be able to touch it up yourself with a soldering iron. So for common applications that require two boards, such as use with a pair of encoders, you have the option of two individually packaged units we have confirmed functional or, for the same price, three units that have passed visual inspection and are very likely to leave you with two functional units plus a spare.
All units automatically optically inspected.
Here are all of our 6-pin JST SH-style connector options:
- Breakout for JST SH-Style Connector, 6-Pin Male Top-Entry (Individually Packaged)
- Breakout for JST SH-Style Connector, 6-Pin Male Top-Entry (3-Pack Untested)
- Breakout for JST SH-Style Connector, 6-Pin Male Side-Entry (Individually Packaged)
- Breakout for JST SH-Style Connector, 6-Pin Male Side-Entry (3-Pack Untested)
What do you think about this kind of approach where we test something less thoroughly in order to offer it at a lower price? Would you prefer it over the fully tested option? Do you think one option will be more popular than the other? We’d love to hear your thoughts!
Our Black Friday / Cyber Monday sale is going strong, and we have been working hard to make and ship the products that people are getting great deals on. 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 our same-day shipping guarantee has been suspended since we started operating with a reduced staff in March due to the COVID-19 pandemic (see Jan’s latest post here), though we will do our best to get your order shipped as fast as we can. Additionally, we are closed Thursday, November 26 (tomorrow) for Thanksgiving. Happy Thanksgiving!
I am thrilled to announce the release of our newest robot, the 3pi+! This new platform is a major upgrade from the original 3pi robot we introduced twelve years ago. At 97 mm, the diameter is just 1mm larger than the original, and the general concept of a tiny, fast robot powered by four AAA batteries and two micro metal gearmotors remains the same. However, just about everything has been redesigned from the ground up to add the extra features everyone has been asking for.
First off, the 3pi+ is now a platform that encompasses a range of products, not just one particular robot. This is enabled primarily by the chassis now being an independent structure rather than being a specific circuit board with motors strapped on:
3pi+ Chassis Kit (No Motors or Electronics).
The chassis incorporates the battery holders, motor mounts, and ball caster. An outer bumper skirt is removable and the motors can instead be held in by separate clips (also included in the kit). The left-most picture shows the chassis with motors installed but without the bumper skirt or motor clips, and the next two pictures show the motor clips installed:
Making the chassis separate from any electronics means that you can use it with your own electronics and that we can make various versions with different capabilities and microcontrollers.
The first full 3pi+ robot we are launching is the 3pi+ 32U4, which is based on an Arduino-compatible ATmega32U4 microcontroller from Microchip (formerly from Atmel). Like the original 3pi, the 3pi+ 32U4 has five integrated downward-looking reflectance sensors, making the robot a great starting point for line following and line-maze events.
The 3pi+ 32U4 offers many major improvements over the original 3pi, including:
- ATmega32U4 microcontroller with Arduino-compatible bootloader can be programmed directly through a USB connection
- Quadrature encoders on both motors for closed-loop position and speed control
- Full 9-axis IMU (three-axis gyro, accelerometer, and compass)
- Bottom-loading battery holders keep batteries accessible even if additional levels are added
- Full wrap-around bumper to protect electronics from collisions
- Two bump sensors on the front
3pi+ 32U4 Robot features, top view.
3pi+ 32U4 Robot features, bottom view.
The 3pi+ 32U4 is also available with three motor options for different usage scenarios:
|3pi+ 32U4 Version||Products||Micro Metal Gearmotor||Top Speed||Comments|
|Standard Edition||assembled or kit||30:1 MP 6V||1.5 m/s||great all-around balance between controllability and speed, with top theoretical speed above that of the original 3pi|
|Turtle Edition||assembled or kit||75:1 LP 6V||0.4 m/s||longest battery life, easiest to control, appropriate for swarm robot projects or classrooms where you might not want robots flying around the floor (or desktop) too quickly|
|Hyper Edition||assembled or kit||15:1 HPCB 6V||~4 m/s||ridiculous speed, which can definitely be fun. But, controlling that speed can be difficult, which can make the robot more prone to self-destruction (or at least self-inflicted damage), so we recommend this only for advanced users|
These three 3pi+ 32U4 motor options are available in assembled or kit form, and for those who want to do your own thing, the parts are available separately so that you can pick some other motor or gear ratio.
Normally we would have an introductory special for this big of a new product release, but since we are about to launch our annual Black Friday and Cyber Monday sale, you can get a great discount on the new 3pi+ there!