A hackable, programmable badge with E Ink® display, powered by Raspberry Pi RP2040.
In honour of Raspberry Pi's 10th birthday, we've fused a RP2040 microcontroller with an EPD display to make a stylishly monochrome, maker friendly, e-paper badge(r) to attach to your person, your office door or to prop up on your desk. With the support of the fun guys (and gals and non-binary pals) at Ineltek and Raspberry Pi we've been able to keep it as low cost as possible, hoorah!
We've equipped Badger 2040 with plenty of buttons so you can easily change what's displayed on the screen, a slot so you can clip it onto a lanyard and a battery connector so you can keep things portable and refresh the screen whilst on the go. On the back, you'll find some funky badgerpunk stylings plus our RP2040 accoutrements of choice: boot and reset buttons and a Qw/ST connector so it's super easy to plug in Qwiic or STEMMA QT breakouts
Here are some things you could do with it!
We're big fans of electronic paper at Elmwood - it makes for a lovely, crisp, high contrast display that's readable even in bright sunlight and it doesn't squirt unnecessary blue light into your environs like LCDs do. It's also ultra low power (EPD displays only consume power while they're refreshing), and the images on the display stick around for a really long time whilst the display is unpowered.
Using a RP2040 chip means we can drive the hardware in fun, experimental, low level ways. We've written custom drivers for the EPD display that prioritise low power consumption whilst enabling lightning fast refresh rates.
Because it's a RP2040 board, Badger 2040 is firmware agnostic! You can program it with C/C++, MicroPython or CircuitPython.
Our C++/MicroPython libraries contain some nifty software tweaks to let you get the most out of your Badger. You'll get best performance using C++, but if you're a beginner we'd recommend using our batteries included MicroPython build for ease of getting started.
You can also use CircuitPython on your Badger 2040. CircuitPython drivers are designed to work on a bunch of different microcontrollers so you won't get the fancy RP2040-architecture specific tweaks that you'll find in our library, but you will get access to all the nice conveniences of Adafruit's ecosystem.
If your breakout has a QW/ST connector on board, you can plug it straight in with a JST-SH to JST-SH cable, or you can easily connect any of our I2C Breakout Garden breakouts with a JST-SH to JST-SH cable coupled with a Qw/ST to Breakout Garden adaptor.
Want to protect Badger from knocks and scrapes? Check out these nifty 3D printable cases and enclosures!
Raspberry Pi's RP2040 microcontroller is a dual core ARM Cortex M0+ running at up to 133Mhz. It bundles in 264kB of SRAM, 30 multifunction GPIO pins (including a four channel 12-bit ADC), a heap of standard peripherals (I2C, SPI, UART, PWM, clocks, etc), and USB support.
One very exciting feature of RP2040 is the programmable IOs which allow you to execute custom programs that can manipulate GPIO pins and transfer data between peripherals - they can offload tasks that require high data transfer rates or precise timing that traditionally would have required a lot of heavy lifting from the CPU.