Oled 128x64 Adafruit circuit python support

Hi Pimoroni

Pimoroni say there is no support yet for Circuit Python but on the Adafruit website I believe it says there is. Who is correct?

Pimoroni website
I am a new user so I can only add 1 picture. Please take my word for it.

Adafruit website



There likely wasn’t any Circuit Python support when the Pimoroni shop product page was created. And Adafruit has since added that support. It’s an Adafruit product so I’d say it now has Circuit Python support. Pimoroni are just a reseller.

Thank you alphanumeric. I presume they will be both the same product without a revision that enables Circuit Python support. I am sure it is just Adafruit that have created the support for Circuit Python. Just wanted to be sure.

I think i going to bag me one…ya booty (pirate speak) ha ha.

It’s my understanding that its just the software that wasn’t ready yet. I don’t “think” there was anything that needed to be done on the hardware side?
You could ask on the Adafruit forum to get confirmation, just to be sure.
I’m a member of that forum, same username I use here.
Adafruit customer service forums • Index page

Thank you Alphanumeric. You have given me the confidence I was after to buy one. I feel the Pimoroni website is just out of date. Adafruit seem to move rapidly on things.
If your interested :-
I am building a terrarium. It is controlled by an Adafruit qtpy. I have a Humidity/temperature sensor. Strip lights, fan, a heater (240v controlled by a relay) and a fogger unit. A boost circuit for the fogger, 12v to 24v. Controlled on/off by a relay. Just cycling the various units in test mode before adding plants. The display will show temp and humidity and the buttons will provide input for 30second humidity override etc. Currently controlling it from the ‘mu’ serial interface on my Raspberry Pi 4. The display will replace the serial.
ALL from a little, but powerful, adafruit QTPY.

Sounds very interesting. I haven’t done a whole lot on the Microcontroller side of things. I have a couple of MicroBits and some Arduino’s. I’ve only just done some simple stuff to verify they work etc. I have no coding skills in c. And learned as I went along python.

1 Like

This is mainly help perhaps for anybody else trying to add an oled to an Adafruit qtpy. It is work in progress and not guaranteed to work.

The qtpy has memory but that memory can be added to with a ‘GD25Q16 - 2MB SPI Flash in 8-Pin SOIC package’ it has to be soldered on. This allows you to load a different circuit python package to the qtpy. Quote " ‘haxpress’ version of the runtime will need to be installed ". This extended package has the ‘displayio’ module built-in module that is required for the oled. I have bought some off ebay being as careful as I can be for the correct memory. Est 21st Jan delivery. Couldn’t find it on Pimoroni website.

This is the website that tells you what ‘modules’ are included in the circuit python package for your particular board, it’s very interesting showing the board capabilities.


Regard Richard

This is unfortunately one of the problems with trying to run Python on microcontrollers: they’re generally designed for very compact C code, and often don’t have an ideal amount of memory for Python. This is one of the reasons Python simply can’t run on the Arduino-style processors, runs with some limitations on chips with moderate amounts of memory like the SAMD21 chip in the QtPy, and runs better on chips with lots of memory like the SAMD51 chips.

If you’re trying to load the whole CircuitPython Library it’ll probably complain that there isn’t enough space on the board for that, but you can actually pick specific modules from the library to load onto the board: you don’t have to load everything.

Hi Shoe.
Thank you.
I have looked into only downloading the ‘displayio’ library on its own but can’t find how to. It looks like it is only contained in the circuitpython resource for the adafruit board in question. For the qtpy there are 2 resources. 1 for without the expanded memory that does not contain displayio and 1 for the expanded memory option that does contain displayio (haxpress) .
If displayio can be downloaded as an individual library and added to the qtpy library on its own I would like to know how.

I’m not sure how much memory the displayio library needs. It maybe the memory that comes with the qtpy isn’t enough anyway and you actually need the expanded memory option for the displayio library.

I have looked at just buying an Adafruit Feather M0 Express but this seems like a nice challenge to get the oled working on a qtpy.


Thanks for the heads-up - Circuit Python support was indeed added after we’d added the shop description, our shop page should agree with Adafruit now :)

1 Like