Pro Micro vs. Teensy 2.0 review
This post covers the differences between two popular microcontroller development boards used in custom keyboard projects: the Pro Micro and the Teensy 2.0.
This review includes:
- Price comparison with links to vendors
- Specifications (dimensions, features, pin numbers)
- Real life examples and measurements
- Lots more
If you want to choose the best controller for your electronics project, e.g. a custom keyboard, this post is for you.
Let’s get started.
Quick historical background
Teensy is available from Asian manufacturers too, I’m not sure if that’s legal though.
The Pro Micro is an Arduino-compatible board. Like the Pro Mini but with an Atmega32U4 microcontroller.
Arduino is like LEGO for electronics. An ecosystem of development boards, solderless parts, an easy to use IDE and a helpful community.
Furthermore, some Arduino boards like the Pro Micro are open source: anyone can manufacture it, which makes it widely available and relatively cheap.
One of the greatest things about the Pro Micro is its low price which makes this board affordable for most people all over the world.
When this article was first published, in early 2020, Pro Micro was offered on Aliexpress for less than $3. (The best offer was $2.80 with free shipping!) In 2021 it's rather $4. I'm not sure this is a temporary increase because of the pandemic and general chip scarcity or because of the weaker US dollar.
|Teensy 2.0||PJRC||16||Not included|
|Pro Micro||Sparkfun||18||Not included|
The original Teensy costs $16 in the PJRC store. It is also available from Aliexpress for about $7 (best offer is $6.65 at the moment). This one comes with a short USB cable and a small plastic case most of the time.
The takeaway: You can buy at least 2 Pro Micros for the price of a Teensy 2.0.
I’ve checked the number of items sold on Aliexpress out of sheer curiosity.
Would you have thought the difference is that dramatic? Comments over at r/mk may suggest these numbers were more balanced.
The sum of orders (from shops with more than 10 orders):
- 12825 Pro Micro
- 794 Teensy
That’s a difference of more than one order of magnitude!
Order volume shouldn’t be a factor in your decision but it is still a good indicator for availability and buyers’ sentiment.
The verdict: The Pro Micro is more popular with selling volumes 15 times larger.
This is an overview of the most important characteristics of the two development boards:
|Spec||Pro Micro||Teensy 2.0|
|Dimensions||18x33mm (0.7”x1.3”)||18x31mm (0.7”x1.2”)|
|Connector||USB micro||USB mini|
Now let’s dig into these parameters without too much technical details.
If you have to fit your controller into a tiny case or e.g. a low profile keyboard, the form factor is crucial. Bulky boards like an Arduino Uno or Mega are out of the question.
What about the physical dimensions of the smaller controller boards?
The classic Pro Micro dimensions of 18x33 mm (0.7”x1.3”) make it one of the tiniest member of the Arduino-compatible family. (The Pro Micro has some mutations though: double pin rows or slightly wider PCB. But these are quite rare.)
The Teensy PCB's 18x31 mm size (0.7”x1.2”) is just a bit shorter.
They are exchangeable if you handwire a board, but due to the positioning of the pins you won’t be able to replace a Pro Micro with a Teensy on a PCB designed with a Pro Micro in mind.
Keyboard PCBs for Pro Micro(s) exclusively
Lots of split keyboards like the Corne, Lily58, Helix, Kyria etc. need two Pro Micros.
PCBs of the Reviung39, Keebio’s Laplace, Tragicforce 68, Dilly etc. need one Pro Micro.
Conclusion: Despite the similar dimensions, PCBs designed for Pro Micros won’t accept a Teensy.
Both development boards are driven by the Atmega32U4 microcontroller. There is no difference between the Pro Micro and Teensy 2.0 in this regard.
According to its datasheet, this chip offers on-board HID support, making both the Pro Micro and Teensy ideal to drive custom keyboards or other USB devices. No need for a bulky external USB interface or the arduous work of making a custom bootloader any more.
Checking the Atmega schematics or pinouts reveals 26 GPIO pins. However, development boards may waste some of these pins, e.g. for onboard LEDs.
While the Atmega32U4 is not the most powerful microcontroller, the 16MHz clock and 32K flash memory is more than enough for most purposes. Anything faster or featuring more memory would be an overkill for custom keyboards.
Both boards use the same Atmega32U4 microcontroller.
Number of pins
The number of (easily accessible) GPIO pins is one of the most important factors when deciding on the appropriate controller board for a specific project.
The Teensy with 25 pins is the clear winner in this regard. It makes ALL but one GPIO pins on the Atmega32U4 available for easy soldering.
The Pro Micro’s 18 pins are undoubtedly its greatest weakness. There's a way to increase this number though.
How to access more pins on a Pro Micro?
With an easy hack of the Pro Micro, by desoldering the TX/RX LEDs’ resistors, you can gain access to two additional pins.
Number of pins and keyboard matrices
18 GPIO pins are theoretically enough for a 9x9 keyboard matrix or 81 keys.
Usually, there are more columns than rows in a matrix and you may need some creativity to achieve anything close to this ideal number in real life situations (check duplex matrices).
While 18 pins should be sufficient for most 40-60% boards, your options are limited if you need pins for LED backlighting, rotary encoders or an OLED display.
The upgraded 20-pin Pro Micro can handle up to 100 keys (in an optimal 10x10 keyboard matrix). This should be enough for a 75% keyboard even with some shortcuts to make the wiring easier.
What about the Teensy's 25 pins?
It's enough to build an impressive 156-key custom keyboard (12x13 matrix).
Verdict: The winner is the Teensy by far. However, your keyboard layout determines the exact number of pins needed.
Arduinos have their own weird naming of pins which is annoying if you need the proper port names (e.g. in QMK config files).
Use this Pro Micro pinout with both numberings as the Rosetta stone of Pro Micro-based projects.
The Teensy shows the proper port names on its silk screen.
USB connectors and durability
The Teensy features a surface mount USB mini connector with 4 soldering pads.
The classic Pro Micros's connector is not that sturdy. It comes in various forms, the most common being featured with an USB micro connector with 2 soldering pads.
However, there are models with reinforced micro, USB mini or even a USB-C connector.
A lot of people claim the USB micro connectors of the Pro Micro are prone to break off.
I’ve never ruined my controllers this way, but I may handle my stuff more carefully than the average person.
How can you reinforce an USB micro connector?
If you are concerned about the durability, there’s the Sparkfun version with reinforced connector or you can even find some Pro Micros with through hole USB-C connectors on Aliexpress.
The ShiroMicro, another Pro Micro clone, features a mid-mount USB Type-C connector.
To avoid damage to the vulnerable connector of a classic Pro Micro you may:
- put some hot glue on the socket's solder joints,
- use a short extension cable,
- use detachable magnetic cables or
- custom keyboard cables with detachable/aviator connectors.
The Teensy's USB connector is sturdier, but there are Pro Micro variants with stronger connector as well as options to reinforce a classic one.
How do you program the microcontrollers?
The Pro Micro is fully Arduino compatible. For general projects or troubleshooting there is the Arduino IDE to program it.
The Teensy features the HalfKay bootloader and has the Teensy Loader to upload your software.
Uploading the keyboard firmware
However, to go fully custom I ended up using the local development environment with Msys2, QMK and Avrdude/Avrdudess.
You should be able to program both boards effortlessly.
Pro Micro vs. Teensy: And The Winner Is
In recent years I’ve been using these development boards in several custom mechanical keyboards as well as in other projects. Depending on the requirements of the specific project I’m happy to use any of these boards.
In many ways, they are quite similar or even identical. Choosing the best for your project comes down mainly to the following factors:
- Number of pins needed
If I had to pick one favorite, for most of my projects I would choose the cheapest alternative, which is the Pro Micro.
Do you need more than 20 pins? You can’t go wrong with the Teensy.
Pro Micro buying tips
By now you should know exactly which microcontroller development board you need.
If you decide to purchase a Pro Micro, the cheapest option is probably Aliexpress. (You have to wait up to several weeks for the parcel to arrive though.)
Usually, only the bare board is on offer (no USB cable or case), which is totally fine. You just have to keep this in mind when comparing prices.
If you live in the US, don’t want to wait and don’t mind spending much more money, Sparkfun is an option. While I admire SparkFun’s great resources, their Pro Micro is only for the most ardent patriots. The price tag of $17.95 is astounding compared to the Aliexpress ones even if it’s slightly improved (comes with stronger USB connector with two added pads, onboard fuse etc.).
Pro Micro variants
Be careful! There are 3.3V Pro Micros out there, as well as Pro Minis dubbed as Micros. (You can use the 3.3V ones too, but they can run in 8MHz only, which requires a firmware made with this option.)
Some offers use the “Arduino Leonardo” name in their title, which is fine. Check these search results too.
And always check the voltage and controller type before placing an order: you need an Atmega32U4.
Anything featuring an Atmega168 or Atmega328 is not a Pro Micro: they won’t have the onboard HID support. While through hole boards featuring Atmega328 or Atmega32 became popular lately, the workflow of breathing life in them is really not for beginners.
Teensy 2.0 buying tips
The original Teensy is available from PJRC.
If you buy the much cheaper knock-off from Aliexpress, one thing to watch for is you choose the 2.0 one (not the 2.0++). There are many more types in this development board family with totally different dimensions and specs.
Always check the controller type, which should be Atmega32U4.
Sure. There are a lot of controllers out there: the Elite C with USB C connector, the nice!nano for wireless projects, the powerful Raspberry Pi Pico for CircuitPython, and many more. In this list of controllers I've collected common breakout boards for comparison. Feel free to check them before deciding.