Lowest Display Resolution? Wide 256x64 OLED Displays


Just wondering, apart from no touch, and teaching myself how to wire it, would the Zynthian GUI run on a small wide display like that? Or would it need to be more 3:4 ratio without a complete GUI redesign? I think it would be amazing if it were usable on such a small wide-ratio monochrome screen like some old sequencers.

Has anyone tried to go super small before? Maybe pointless because of the size of the internals. I think I’d just like the look of it.


It’s pretty well designed and will ru n in pretty much any xwindow you can get up on a device… Aspect ratio takes care of itself based on resolution in the webconf but you do get ellipsoid controls!


Oh! That is amazing, thank you! Now if I can just find a cheapy OLED of that size to give me more challenges… :slight_smile:


Your choiice of font(which is configurable) will be interesting.


Hi @rockwater!

I never tried a display of this size with zynthian. It’s really small, but if you can run an XServer on it, zynthian UI should work without problem :wink:

Good luck … and send some feedback & photos if you get it working!


Well I got a 128x128 OLED instead as they were significantly cheaper than a 256x64 that included a driver board (?) and actually that’s the same pixels! I figured wider ratio would be better for words but oh well. Anyways, turns out this is another Waveshare or Waveshare clone so there is actually a bit of a manual for running it on RPi. It’s only 7 connections via SPI but I can’t get Zynthian to do anything with it (hand wired and made sure I wasn’t transposing the two rows with a multimeter). On a few of the Waveshare selections in the webconfig Zynthian displays the solid cursor on my HDMI screen as if my working Waveshare 3.5A clone was connected. If there are any errors it zips by too quickly to catch them. Ah, I should say I’m using AudioInjector probably.

It looks like in the RaspberryPi section of the manual there are some OLED libraries (?) or .c code to add? Can I ssh into Zynthian and add these? I only barely know what I’m talking about but I’ve worked with bash n stuff on an amateur level before. Or is something that can only be done in this manner in “vanilla” Raspbian?

I suppose I could just install Raspbian and try to get it working. No fun, want Zynthian! Anything simple I’m missing? I didn’t exactly expect it to work but I hoped to at least get some garbage on the screen or something. Nada.

I just like the idea of a really minimal interface, and how OLEDs look, in Terminal Tedium they are just using Raspbian I believe with a normal desktop. Maybe I’m barking up the wrong tree - just thought it’d be awesome to have all that Zynthian power on a tiny efficient screen.


When I read the installation guide - make-compiling and a python library - it rather seems that this could be used as additional screen.
If zynthian-ui would use it.


Zynthian will work with any display that have a Xorg driver. AFAIK, some small OLED displays have it, although not all. I never try it with the right one :thinking:

Take a look to this:

I think that this driver is currently included in mainstream distributions, like Raspbian, the one used in the Zynthian SD image.

If you are capable of configuring a X server with your display, it should work with Zynthian for sure, and i will be very very interested in reading your feedback :wink:

Kind Regards,


Hmm… not sure if I know what to do next, but I can try with Raspbian would be the first step? There’s this too. In theory supports mine as it’s using SSD1327 driver. Perhaps is for more specific applications though.


Not there yet, but I did get the example code to run and actually see the OLED in action (as a clock with a grayscale image) in Raspbian. Looks like the Luma code isn’t immediately for using the console on the display?

In fbtft there is code for the SSD1325, mine is the 1327 but possibly the only difference is mine is 128x128 instead of 128x64. The code maybe indicates it is also grayscale (not just black and white). But I don’t know what to do with this code! There is also an old page regarding starting the console on the OLED but I don’t understand it. Thank you for linking fbtft, I dont think I would have ever found it - I wasn’t aware of the framebuffer use. Any obvious tips I’m missing? It is 2AM here so maybe I’m just tired.


(below looks like the same link but it goes to the boot to console page)

Maybe it’s too small to show the normal Zynthian GUI and would require a new one anyway, which is way beyond my experience. Was thinking of mocking one up with minimal encoder indicators, and probably scrolling names :confused: I have lots of ideas, no skills.


Note that:

The FBTFT drivers are now in the Linux kernel staging tree: https://git.kernel.org/cgit/linux/kernel/git/gregkh/staging.git/tree/drivers/staging/fbtft?h=staging-testing
Development in this github repo has ceased.

If you check the latest official kernel version, it’s there, in the staging folder:

I think the best option is using some SSD1306 OLED display. It’s really cheap and very common:


Kind Regards,


Yes I did see that it the fbtft repo wasn’t being developed, that was how I got to the link they give. I was looking here https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/tree/drivers/staging/fbtft?h=staging-testing

I don’t know the basics of adding something to the linux kernel, or where to look. It never occurred to me that itself would be on github! Seems very obvious now that’s where it would all be. I guess I would need to learn a lot more about the basics before getting SSD1327 working.

Thank you for the aliexpress link, I guess I was just being impatient ordering from Amazon in the states with free 2-day shipping. SSD1305 seems to max out at 128x64, which I think would be very hard to work with? Could be a fun experiment for $4 USD though.

BUT there is the SSD1351, in the linux/drivers/staging/fbtft/ tree which is 128x128 full color! Sadly this is getting to the point where I could have spent the money on the OzzMaker screen and supported the Zynthian project more.

Just personally, $18 Landzo 3.5" TFT + $17 Grayscale OLED + possible $16 Color OLED AliExpress = $51 USD (across 4 months)

Should have just bought the OzzMaker display, oh well, that’s the cost of trying to diy too many things and once cheaply. I like just like the look of tiny monochrome displays, like the black on gray Yamaha QY70 classic LCD or the Organelle OLED interface. Was trying to avoid color honestly! I love color, just like the small mono displays too.

Mostly just want a compact, stable case for Zynthian with audioInjector and 3.5" TFT to make music instead of creating more challenges.

Sorry this hasn’t really been a contribution to the project, I know everyone is very busy, and I mostly only have 25 years of MS-DOS experience and a little Linux every year or so. I understand coding concepts but never stuck with it. It’s pretty magical, like diy electronics, but maybe I’m too impatient. Anyways, sorry for the ramble, thanks guys.


Hi @rockwater!

Don’t worry! Spending time discussing this kind of things is not useless at all. And i also want to see a Zynthian Box working with a tiny OLED display. It’s a question of time that somebody (if not you or me) got it done :wink:

Kind Regards,


Thank you! :grin:

I found these as well, but it seems these interface very differently than TFT LCDs or OLEDs, not via SPI :confused: These “retro” monochrome LCDs would be a lot of fun though at 128x64 at least. But can’t find a simple solution for the KS0108 driver they use:


I’ve tried searching displays which use a few of the drivers listed at the linux kernel FBTFT tree but most seem to be for color TFTs (understandably). Gets tiresome searching for each driver but maybe that’s the best idea is to work from that list of supported drivers.

But anyway, actually the SSD1306 is so common there are cheap one’s on Amazon over here :slight_smile: !

BUT, this is the same resolution, but 1.3" instead of 0.96" - However, it uses the SH1106 driver which is ALSO listed in the FBTFT tree and is SPI. In theory :roll_eyes: would this be as likely to work as the SSD1306 displays? It also seems to be the display used in some eurorack/modular modules (maybe use for that in future if it doesn’t work).


It’s all interesting.
An Interface has been defined you are simply attempting to render it, but from the zynthian perspective this is all good. Even if the conclusion is it’s:

  1. Too hard (rarely)
  2. Too costly (like your time isn’t. . .?) ,
  3. Not cheap enough (Far too corporate…, )
  4. Not quite the right shade of Heliotrope . . . ( Now your just looking for excuses :smiley: )

Development and the knowledge base builds. You have now linked several interesting concepts and future searches will eventually get here. . .

Clever isn’t it :wink:

and keep up the good work and the excellent documenting.


I have some display alternatives for testing: a SPI oled 128x64 and a “vintage” nokia 5110 LCD module from Aliexpress. When my audioinjector card arrive, I’ll test it with my zynthian prototype and some python coding =)


Thanks very much! :slight_smile: haha heliotrope … there’s gotta be some synth related thing or software called that :rofl: Maybe my first bit of software I’ll never make. hehehe


Awesome! Yes I’ve seen the good old Nokia display, I’d LOVE to see if that’s usable! Maybe I should learn some python…


Well I have the SH1106/SSH1106 display 128x64 SPI but can’t get an x server running on it.

I found this:

and this:

The reddit thread refers to these displays already having “names” ? I can’t find where this is shown. All I know is my resolution and driver SH1106 which is included in FBTFT. I’ve tried a few things at the fbtft wiki as well. Always get “no display found” or similar, fail to start x server. Anyone have any advice?

Hopefully can try again tomorrow, 1AM here trying since 10:30PM, better get to bed. :roll_eyes:


Tried luma.oled again with the SH1106 display 128x64 Monochrome via SPI, as that was how they were able to access it on Terminal Tedium. But I was only able to run the python demos in Raspian (so at least I know it’s working and wired correctly, so that’s something). Someone else did get the Terminal to show up using luma.oled but I couldn’t make it work.

And of course, as it’s been pointed out before a few times, FBTFT is part of the kernel, and would be the preferred method for the Zynthian. Sent a message to the reddit link author but I don’t think they’re on reddit anymore.

I feel like this should be really simple. Can’t get it to work, spent probably 15/20 hours trying different methods. I think a very tiny but complete Zynthian would be really great. Oh well, I think I’ll give up on my end unless anyone has any tips. Sorry folks.