Never used these PiicoDev OLED displays before, where do I begin and how can I fit these into a small space?

So how do I run both of these display modules in a small environment application? To clarify, I intend to use these within a costume piece with a little display running. Previously I’ve worked with Arduino circuits in a minor capacity but never with OLED displays. Never had any experience working with Raspberry Pi yet. Do I need a microcontroller of some sort that I need to program and linked to a battery which is linked to the display modules to get it working?

Also stupid question :rofl:: Is there a way I could use these with Arduino modules?


Hi, and welcome aboard :slightly_smiling_face:

They communicate with I2C so it shoudl be possible, but I’ve never used Ardunio, so I’m not sure exactly.

That said, getting a Raspberry Pi Pico with headers (or solder them on yourself) and the PiicoDev LiPo Expansion Board for Raspberry Pi Pico | Core Electronics Australia will probably make things pretty easy. You’ll also need some piicodev cables and (if you’re running disconnected) a lipo battery.

The only think to check is that the address switch or jumper is set differently on each board, then you can run them off the same pico. There’s a good explanation here PiicoDev OLED Module SSD1306 - Raspberry Pi Pico Guide - Tutorial Australia.

That page also has a bunch of examples.

What are you planning on using them for?


Hi Thanura,

Welcome to the forum :slightly_smiling_face:

@Doug27394 has pretty well covered it. The easiest approach will be to use a Pi Pico microcontroller and a LiPo battery to keep things small and portable for your costume.
Starting off with the full-size adapters and keeping things solderless to start with is probably a good idea during the prototyping stage, you can weigh up later if you need to direct solder things to save space.

Provided both displays are set to use a different address (there is a switch on the back to toggle them) you can run them both from the same daisy-chained set of cables.

You technically could use them with Arduino, but you’d need to be writing the libraries to run them from scratch and logic level conversion hardware would also have to be added so it’s probably more trouble than it’s worth when you can just use a Pico instead which is likely smaller overall.

1 Like

Hi Thanura,

Welcome to the forum!!

If space is a concern I’d definitely check out @Liam120347 's topic where he cut down a Pico (a great microcontroller, though getting a battery added to that set up will depend on a few things):

Fitting Pico’s where they probably shouldnt be

While stumbling around the net wasting time I came across this article about how you could cut down a Pico since the bottom porttion didnt have any sensitive components or traces that fed any signals back towards the main processor.
Check out the Tweet that inspired that post:
Warning, you might cut yourself or ruin some Picos if you try this!
I got a Stanley knife and made some deep cuts on the PCB on both sides and snaped the bottom part off a couple.

Now they can fit in much smaller spaces (still the same full size IO, which can be a disadvantage. For $6 this isnt too bad. If you want to spend a bit more but have a PiicoDev/Qwiic/STEMMA port check out some of the QT Py boards Adafruit make

Yeah there are certainly libraries for the SSD1306 for Arduino(its worth having a look around the net for one that suits your project), just note that there arent any official PiicoDev libraries but the underlying hardware should still work!

Back on the topic of batteries, the Vsys pin along with a Schottky diode can accept an input between 5.5 to 1.8V at the pin (3 AA batteries would work well!)

PS: there are some neat things you can do with community contributions to the library such as circles and arcs! GitHub - CoreElectronics/CE-PiicoDev-SSD1306-MicroPython-Module: CE-PiicoDev-SSD1306-MicroPython-Module

Let us know if you have any other questions!


Hi Thanura
If you want something small in the Arduino range check out the Pro Mini 328.
Core stock them and come in 5V (SKU DEV11113) and 3.3V (SKU DEV11114) versions. At 18mm X 33mm it is quite small. Down side is you need a FTDI basic breakout board to program it. 5V (DEV09716) or 3.3V (DEV09833). I have a couple, one driving XMAS lights and takes up very little space.
Cheers Bob


Just want to run some arbitrary sci-fi display screens for a sci-fi gauntlet

1 Like

I think going with an rp2040 based device would probably be easiest as core provides libraries. You can see some of them here

Some options:

  1. RP2040-Zero, a Pico-like MCU Board Based on Raspberry Pi RP2040 | Waveshare | Core Electronics Australia cheap and small, but you’d have to wire up the I2C yourself
  2. Seeed XIAO RP2040 - Supports Arduino, MicroPython and CircuitPython | Seeed Studio SS102010428 | Core Electronics Australia basically the same, but a little more expensive
  3. Adafruit QT Py RP2040 | ADA4900 | Core Electronics Australia has the I2C plug built in
  4. Badger 2040 - Badger Only | Pimoroni PIM607 | Core Electronics Australia more expensive, but has the most features:
    • E-Ink display
    • buttons (you always need buttons)
    • I2C connector
    • battery connector
  5. Adafruit KB2040 - RP2040 Kee Boar Driver | ADA5302 | Core Electronics Australia a bit bigger, but built in i2c

Before you buy, I’d just double check with @Trent5487676 or @Liam that the boards with the built in connector will work with the piicoDev libraries (I couldn’t see it on the description, it’d be good if it did, or how to make it work, if it can) also with the other ones which pins you need to connect.

Given you’re talking gauntlets, to have them both independant I’d go with 2 of the first (cheapest), a couple of these PiicoDev Prototyping Cable (Female) 200mm | Core Electronics Australia and some header pins (either straight or right angled, to keep it flat) then a couple of cheap USB batteries to power them.

The python code to display images would be pretty simple, depending on what you want to display


Hi Doug and all,

A quick test was done on the Badger and unfortunately it was only able to run the scan functions but not re-assign the pins. Safe to say though that the defaults in PiicoDev work though!
I think this was an artifact of some interactions with Micropython itself and has been patched since (Open source is awesome sauce :smiley: )

The Zero with some soldering would be perfect, pins 8/9 are right on the corner

1 Like