Pico Inky Pack - some thoughts

The “Pico Inky Pack” is a small 2.9" monochrome e-paper that you
can plug into your Pico/Pico-W. Technically it is the same as
the display used in the Badger2040. So it is natural to do a
comparison between the Inky-Pack (+Pico) and the Badger2040.


  • thicker package (z-dimension)
  • only three buttons
  • no Stemma/Qt connector
  • no power-management
  • no mounting holes
  • no standard-driver for CircuitPython
  • price


  • slimmer (y-dimension)
  • access to all pins (but read on)
  • no power-management (yes!)
  • “builtin” wifi with the Pico-W

Looking at the cons, the missing Stemma/Qt connector and mounting holes
hurt the most. But at least there is enough space to glue on some threads
in the corners.

Since the Badger2040 supports CircuitPython, it only took some time
to port the initialization-code for the display from the board-definition
file (board.c) to pure Python. I will publish the driver soon.

As you might have noticed “no power-management” is listed as con and
as pro. The power-management of the Badger2040 is very efficient, but
has the drawback that it needs manual intervention to start the device
again. It is not possible without hacks to start on a timer-event, and
external events aren’t supported either.

The Inky-Pack has no power-management and therefore you can use every
available option together with your Pico. Adafruit for example has a
nice timer-enable button, connected to the enable-pin of the Pico will
turn on the mcu in predefined intervals.

One of the big drawbacks of the Badger2040 is the missing access to important
GPIOs. No general purpose GPIOs are available (unless you can do without
UART), and you have no ADC-pins. Here is where the Inky-Pack shines.

But the Inky-Pack has one big design flaw: it uses GP26/A0 for the busy
pin of the Inky-Pack instead of GP22. GP26 is not only an ADC pin, but
it is also used for I2C, more specifically, the only I2C next to 3V3.
So using GP26 instead of GP22 the Inky-Pack blocks the simplest
option to plug in I2C-components without having wires all over the Pico.
Maybe there is a reason not to use GP22, but I don’t understand it. It is a pure
IO-pin without special functions and it sits right next to the other pins routed
to the display.

@Hel: maybe you can pass this on to your engineers for a better V2-version
of the Inky-Pack.

So when should you choose the Inky-Pack compared to Badger2040? One reason
is that you want to use the builtin wifi of the Pico-W. But adding an
ESP-01S to a Badger2040 is simple and Badger2040+ESP-01S is still cheaper
than Inky-Pack+Pico-W.

A second reason is you want a device that wakes up in intervals or from
external events. The Badger2040 needs hardware-hacks to support this.

And finally, the Inky-Pack gives you access to more pins.

Thanks for the thorough feedback! I’ve passed it on.