Static paper or plastic conference badges are so twentieth century. Today, enterprising makers can choose from a variety of microcontroller / screen combos that they can wear and program to display anything they want. Raspberry Pi’s RP2040 chip is becoming the processor of choice for these interactive badges. Pimoroni’s latest RP2040-powered board, the Tufty 2040, features a full-color, 2.4 inch IPS display, rather than the 2.9 inch e-paper screen we saw on the company’s Badger 2040.
The $28 (24-pound) Tufty 2040 is more than just a wearable display with the power of Pi silicon behind it. It can also serve as an iOT device, showing sensor output, photos and more from the comfort of your desk. One of the best RP2040 boards you can buy, the Tufty 2040’s only serious flaw is that it doesn’t have an official chassis, and this prompted us to design our own 3D printed case to keep it, and a LiPo battery safe for an entire day at a conference.
Tufty 2040 Specifications
|SoC||RP2040 (Dual Arm Cortex M0+ running at up to 133 Mhz with 264kB of SRAM)|
|Display||2.4 Inch ST7789v Color IPS LCD display (320 x 240 pixels)|
|Storage||8MB of QSPI flash supporting XiP|
|GPIO||Five user buttons|
|Phototransistor (light sensor)|
|Qw/ST (Qwiic / Stemma QT) connector|
|I2C, UART, SWD breakouts|
|Power||USB C (Data and power)|
|JST-PH connector (3-5.5V) via 3 x AAA or LiPo|
|Dimensions||65.20 x 52.70 mm|
Using Tufty 2040
Tufty 2040 behaves just like any other RP2040 based board. We can use C++ or Pimoroni’s custom MicroPython firmware to program it. Right now there isn’t a specific CircuitPython release, though we could install a version for the Raspberry Pi Pico, then add support for the ST7789 display.
For our review we stuck with Pimoroni’s MicroPython bundle and initially used the company’s pre-installed demos to explore how Tufty 2040 worked. If all you need is a cool conference badge, then you won’t need to stray from the provided examples. We took our badge to a maker event and using the Retro Badge and Wavy Message examples, we were able to quickly dazzle our fellow attendees.
The 2.4 inch IPS display is bright and clear, and is flanked by a series of buttons and phototransistor.
#LivMF22 pic.twitter.com/AVux5A67E1July 2, 2022
In use, the screen is quick to update as the wavy message function showed. . Our message scrolled smoothly and sharply across the screen as Pimoroni’s PicoGraphics MicroPython module makes short work of displaying images on the 2.4 inch IPS display. That’s much easier to program than the Badger 2040 which requires a conversion script.
The buttons are well spaced and clearly labeled, enabling us to control our conference badge. Around the back are two more buttons, Power and Boot / USR. The Boot button is used to set the board into bootloader mode, required for flashing new firmware to Tufty 2040. Power is used to turn the board on and off, obviously. There is no reset button, which is a shame but we can live with just Power.
We tested the onboard Qw/ST connector, a portmanteau of SparkFun’s Qwiic and Adafruit’s Stemma QT connector. Qw/ST is essentially just an I2C connection which works with compatible add-on boards.
We tested Tufty 2040 with a BME688 temperature sensor. We got the current temperature, air pressure and humidity data and then modified the Retro Badge example to display this data. It didn’t take long to make this work, and it elevates this from being a simple badge, into a small scale data collection and display device, all wrapped in a neat package with a great screen.
If a sensor is compatible with MicroPython and the Raspberry Pi Pico, then it can be used with Tufty 2040. Pimoroni has a selection of modules and MicroPython examples which can be easily used. If your sensor isn’t listed there, then you can use PyPi and the Python community to source an alternative module.
This leads us on to CircuitPython support. As it stands there is no bespoke CircuitPython release for Tufty 2040. You could install the Raspberry Pi Pico firmware, but right now support for the ST7789 screen is not available. Typically this screen uses SPI as an interface, but for Tufty 2040, it is connected via a parallel bus. So for now, CircuitPython support is not quite on par with MicroPython.
The onboard JST-PH connector is for use with 3 x AAA batteries, or a LiPo battery. Tufty 2040 has no inbuilt charging circuit for LiPo so you will need to use a battery charger such as a TP4056 or Pimoroni’s LiPo Amigo. We used a LiPo Amigo to charge a 1,000 mAh LiPo battery. This battery lasted for a full five hours of use at our maker event, and it even had a few more hours to give once we got home. Your mileage may vary, depending on how hard Tufty 2040 is worked.
Who is Tufty 2040 for?
The target market are the makers / creators who want to elevate their conference badge game from ePaper or LCD to IPS LCD. But this is not just a one trick pony. The Qw/ST connector opens up a world of sensors and add-ons that we can use to add extra functionality.
Our Tufty 2040 became an indoor sensor platform with relatively little work. Given a little more time and ingenuity a maker could really push Tufty 2040 to its limit, perhaps even a game of Doom?
Tufty 2040 is delightful. We do love Badger 2040, but Tufty 2040 ups the game with a full color IPS LCD in a svelte form factor. Tufty 2040 also has a great cyberpunk themed squirrel silkscreen print that rivals that of Badger 2040.
There’s always room for improvement and we’d love to see a version of Tufty 2040 with built-in Wi-Fi (like the new Raspberry Pi Pico W). Just imagine pumping live web content to the display on your neck? Theoretically speaking, you could attach another Wi-Fi enabled microcontroller such as an ESP8266 to the Tufty 2040’s UART pins and get wireless that way, but that adds a lot of complexity to the mix in terms of code, power and bulk.
If you want to impress folks at your next conference or party, the Tufty 2040 is a great choice. And if you just need an RP2040 board with a built-in screen, it’s also for you.