StickPi – a Raspberry Pi Zero W with GPIO buttons and an e-paper display

UPDATE: HACKAYDAY featured StickPi! So honored!

I always wanted to have a sturdy and rigid Raspberry Pi that is mobile and as small as possible. Recently I designed a Raspberry Pi 3 plus 5 inch display, built-in keyboard and a battery / charging circuit. It’s nice as it’s about a DIN A5 paper sheet.

Then I came along these USB boards that you can pogo-pin to your Pi Zero which is similar in design to what the guy at NODE did.

Pi Zero and USB power board

When working with a Pi Zero, I wanted to connect via VNC so I can run Pixel desktop and Geany on the Pi to develop and run software. When doing so, you quickly want the Pi to display the Wifi and IP address it’s connected to. I chose an e-paper display from Waveshare (do yourself a favor an buy the balck/white display only, not the one with three colors as they don’t support partial update, i.e. they refresh very slowly!) and bought such a USB power board and attached the Zero to a battery:

Pi Zero plus epaper plus USB board and battery

Once you have this kind of display, you learn that the physical interaction with the machine is one way: consumption. And immediately, you think that it would be nice to have interaction methods to select a WIFI or shut down the machine or select operation modes, etc.

So I sat down and designed a PCB (not printed but wires on a protoboard with a pretty ideal size), to add some buttons for directions as well as two “shoulder buttons”:

three pieces 1

To keep the design compact and as the e-paper display would consume the full GPIO, I soldered the pins on the Pi to go through the PCB:

three pieces 2

I chose a wiring that can actually use buttons without additional resistors and so the whole system works with only input ports as well as GND:

button gpio wiring

This led to a compact design alltogether, see also the first version of a PETG designed case:

The case itself is designed in Tinkercad and I made the case available on Thingiverse:

StickPi TinkerCAD

Pi in case

There is still room for improvement for the case but right now I’m happy enough with it to actually keep it and write software. Querying the keys is really easy:


button read  code

Finally see a little interaction of the buttons and the screen here, the software is really simple to query the buttons continually and display values on the e-paper:

(On the top left, you see the Raspberry Pi 3 case with the keyboard integrated, still not happy with that design, that’s why I haven’t published it yet.)

I may venture into actually designing (EAGLE files) and ordering PCBs for the button to make the whole thing more “defined” and better fitting the case.

18 thoughts on “StickPi – a Raspberry Pi Zero W with GPIO buttons and an e-paper display

  1. Pingback: Pocket-size Pi Zero Desktop features e-paper Display – Matt Cole

  2. Pingback: StickPi : Un projet minimal avec un Raspberry PI Zero, un ecran e-paper et quelques boutons. - Semageek

  3. John

    Hello, thank you for the very interesting and well presented post. Seeing enough detail to reproduce a similar object is very refreshing; I commend you on the openness. Do you mind me asking what sort of content you hope to display? Weather station type readout of temp/hum/pressure/aqi/etc seems pretty ripe in my mind. Simply a delightful form factor for a compact linux based testbed for displaying slow changing data.

    1. ramin assadollahi Post author

      I actually display the current Wifi the StickPi is logged in, can display more stats about the computer and allow for shutting down the system gracefully by selecting a menu item.

    2. ramin assadollahi Post author

      Yeah, mostly I wanted to display IP address, fress space on SD card, etc. But yeah I’m also thinking about using it as a wheather station or calendar display.

    1. ramin assadollahi Post author

      I’m actually thinking about designing a real PCB for the keys and produce a couple of such boards. Would you be able to solder the buttons by yourself? Really nice project, btw.

  4. Nicolas

    Hello, can we get in touch ? i want to expose you a project i got with to have the pi zero w portable and ask you if you can design the case for me ! Thanks

  5. Marcus Murphy

    Cool project, very nice and simple design! What’s the overall dimensions of the unit after assembled?

  6. Tony

    Hi there, cool project! I would like first dibs on buying a StickPi PCB from ya when ya get em. I’d like to use it to design an interface for my PwnPi to select scripts and status and what not.

  7. Tony

    I use the same USB board, so if you can design case to fit that as well that would be really cool.

      1. Tony

        I want to sandwich the USB addon board with the StickPi pcb and waveshare. It’s all good man, I appreciate you open sourcing the design so I can edit it as needed to make it work. Will def make a big difference in the functionality… will be awesome to pick payloads and see feedback. Have some other ideas too… Thanks!


Leave a Reply

Your email address will not be published. Required fields are marked *

+ 3 = seven

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>