Posts by Paul (Page 5)
You are currently viewing a selection of posts from the Pololu Blog. You can also view all the posts.
Tomorrow is Tau Day! To celebrate, I thought I should write something about how we use math on our website.
Mathematics is essential to engineering, so we often need to use math when presenting a product or discussing some point about robotics and electronics. In the past, we have struggled to come up with our own ways of getting math online, such as using HTML code (e.g. a 1×2 table with an internal border can look like a fraction) or finding some engineer here who knows how to type up equations in LaTeX and export images.
Over the past month, we have quietly switched to MathJax, which is the technology used on the very popular site MathOverflow. We are using MathJax, for example, to explain current and voltage settings for our new TPS2113A carrier and to show how to compute the exact gear ratios of some of our Micro Metal Gearmotors – the 1000:1 Micro Metal Gearmotor being a particularly good example since it has so many gears.
MathJax allows us to type math directly into web pages using simple text codes, and it uses modern features of your web browser to format the math for you as the page is loaded. If you reload this page and watch the equation below carefully, you will briefly see the raw code before MathJax redraws it:
``int_0^oo e^(-x^2) dx = sqrt pi / 2``
(The integral of a Gaussian has long been one of my favorite mathematical exercises.)
Try it yourself
Instead of using the LaTeX syntax used on MathOverflow, we chose a simpler input format called ASCIIMath. You can read documentation on the ASCIIMathML page. The way it works is that you type ASCIIMath code within double back-quotes, like this:
``int_0^oo e^(-x^2) dx = sqrt pi / 2``
We have enabled MathJax throughout the site, including blog comments, so that you can participate fully in discussions here, starting with this little Tau Day celebration. So, what is your favorite equation? Try out MathJax and share it with us in the comment section below!
Our distributor list continues to grow, with two new Pololu distributors in Europe:
Complubot is an educational robotics organization in Madrid, Spain, that you might have heard of through their work on the Arduino Robot. In May, Complubot opened a robotics store, and they are carrying everything from LEGO Mindstorms kits to our 3pi and Zumo. We are also happy to see that they continue to host educational robotics workshops and post lots of updates and pictures on their Twitter feed.
RLX Components is a distributor of electronic components, development tools, test equipment, and software in Bratislava, Slovakia. Founded in 1994, they carry products from numerous brands familiar to the maker community, and we are proud to see our products (such as the 3pi Robot) listed there, now, too.
See our list of almost 200 distributors to find one in your area.
We are happy to announce two new Pololu distributors:
Sun Light Electronics Pte Ltd is an electronics supplier in Singapore that was founded in 1992. They specialize in “ICs and transistors”, but as you can see from their website, they now carry far more than that, including a large selection of hobby, robotics, and prototyping products.
Virtuabotix, in Colorado Springs, CO, is an electronics hardware manufacturer and distributor. They specialize in open-source hardware and have their own family of Arduino-compatible boards called Versalino. Virtuabotix also sells products through storefronts at Amazon, Newegg, and eBay.
See our growing list of almost 200 distributors to find one in your area.
We now have a second distributor in China: TinySine, an electronics manufacturer and retailer located in Hefei, Anhui province. They are initially carrying several of our products including the Maestro, Wixel, and A-Star.
TinySine, also known as Tinyos Electronics, ships worldwide with several express services as well as the low-cost Hongkong Post, so they are worth considering for your next project, wherever you are located. Please let them know if there is a Pololu part that you would like to see in their shop!
Level shifting is a common issue when interfacing multiple microcontrollers or other digital logic devices. For example, you cannot directly connect an Arduino running at 5 V to the Wixel, which runs at 3.3 V. Our Wixel Shield for Arduino contains several level-shifting circuits to help you do this.
In some cases, such as connecting a digital sensor output to your microcontroller, a simple voltage divider or transistor inverter might be good enough. However, in many cases a better solution is necessary. I²C, for example, is a common protocol that makes use of a bidirectional communication line. Luckily, a relatively simple circuit consisting of a MOSFET and two pull-up resistors can be used for general-purpose bidirectional level shifting:
Schematic of a single bidirectional logical level shifter.
We have used this level shifter circuit on many of our breakout boards operating at a lower voltage, such as the MinIMU-9. It works like this:
- When Lx, the lower-voltage input, is driven low, the MOSFET turns on and the zero passes through to Hx.
- When Hx, the higher-voltage input, is driven low, Lx is also driven low through the MOSFET’s body diode, at which point the MOSFET turns on.
- In all other cases, both Lx and Hx are pulled high to their respective logic supply voltages.
The circuit works for any pair of voltages (within the limitations of the MOSFET) and can be used with most common bidirectional and unidirectional digital interfaces, including I²C, SPI, and asynchronous TTL serial. You can read more about it in NXP’s application note on I²C bus level-shifting techniques.
Today we released a logic level shifter board featuring four of these bidirectional channels:
Our board can convert signals as low as 1.5 V to as high as 18 V and vice versa, so you can use it for almost any logic-level signals that you might encounter in your project. It is also, as far as we know, the smallest bidirectional logic level conversion board out there:
Note the use of a more internationally-appropriate size reference than our traditional U.S. quarter. After we put together this image, nobody believed that the board was actually that small, but we verified it several different ways to make sure.
Anyway, with this board’s small size, low cost, and versatility, we think it is something that everyone should have in their toolbox. For more information or to order, see the product page.
We are happy to welcome GarageLab as a Pololu distributor! GarageLab, located in Doral, FL, is the US branch of our Brazilian distributor Laboratório de Garagem. They carry a wide range of Arduino, microcontroller, and robotics-related products, including their very own Arduino-compatible Garagino.
For distributors in your area, you can check out our complete list of almost 200 distributors.
We recently released the A-Star 32U4 Micro, an Arduino-compatible ATmega32U4 breakout board intended to be cheap enough to go into (and stay in) almost any project. To help our customers put A-Stars in everything, we are announcing a new, limited-time offer: on any order over $100, you can get a free A-Star 32U4 Micro with coupon code FREEASTAR.
Taking advantage of this deal? What are you planning to use your A-Star for? Please tell us about your project in the comment section.
LVBots is a robotics club that has been meeting at the Pololu office in Las Vegas, Nevada for almost ten years. Our meetings are open to all ages and skill levels, and everyone is encouraged to bring their projects to share – even projects that are not capable of flying hundreds of feet into the air. Do you live in the area, or are you passing through? Check out our schedule and join us!
Today we released a general-purpose AVR microcontroller breakout board, the A-Star 32U4 Micro. But before I get to the A-Star (A* for short), I would like to mention some of our history with AVR boards.
Some of our history with AVR boards
Original Orangutan Robot Controller (back view) from 2004.
It has been almost ten years since we introduced our Orangutan Robot Controller, which featured an AVR microcontroller, dual motor drivers, and user-friendly features like a display and buzzer. Over the years we expanded the line, making larger, more complicated Orangutans like the Orangutan SVP as well as the miniature Baby Orangutan.
I have used the Baby Orangutan in many of my own projects, because I like its simplicity and small size. Ironically, the built-in motor driver gets in the way when I want to use a newer motor driver such as the DRV8835 in a project, since valuable PWM pins are unavailable. So I have built my more recent robots using minimal microcontroller breakout boards without motor drivers, such as Arduinos and the Wixel. (I posted about my latest such project last week.)
Our focus has been on boards that include motor drivers, and we have not had a really simple microcontroller board for people who don’t want the motor driver. Even though there are far more powerful controllers available, 8-bit AVR microcontrollers continue to be popular in the community, and the basic AVR breakout board is something we have wanted to make for a long time.
Original ATmega168-based Baby Orangutan robot controller from 2005 (left) next to A-Star 32U4 Micro boards.
Introducing the A-Star 32U4 Micro
That is why I am excited today to announce the A-Star 32U4 Micro, a Pololu breakout board for Atmel’s ATmega32U4 AVR microcontroller:
A-Star 32U4 Micro pinout diagram.
Compared to the popular ATmega328P microcontroller that we used on several Orangutan models, the ATmega32U4 is a newer processor with features like more analog inputs, more PWM outputs, and, most importantly, USB support. The USB connection, which we have broken out to a Micro-B connector, makes programming easy and enables interesting projects involving connections to a PC.
Also, since the ATmega32U4 is used on the Arduino Leonardo, Arduino Micro, and many other breakout boards, there is a large community with experience using the microcontroller. To support this community, we are shipping the A* with an Arduino-compatible bootloader and have followed Arduino conventions including pin numbering and LED connections.
Since we wanted to make a minimal breakout board, we decided to make it as small as we could, hoping that it would be small and cheap enough to go into (and stay in) almost any project. The result is that the A-Star 32U4 Micro is, as far as we know, the smallest ATmega32U4 breakout board available. It is even smaller than some AVR boards with less powerful microcontrollers that implement USB support in software and have only a few general-purpose I/O lines available.
The Pololu A-Star 32U4 Micro is about half the size of an Arduino Micro.
Now that we have reached a reasonable extreme on the minimal end, we intend to expand back toward more integrated features, eventually replacing our older Orangutan robot controllers with versions offering more modern power handling and perhaps other features like inertial measurement sensors. What would you like to see in an integrated robotics or automation controller? Did we leave out too much on the A-Star 32U4 Micro? Please let us know in the comment section.
For more information, see the A-Star 32U4 Micro product page.