Waveshare 2.23" 128x32 pix OLED HAT RPi

128x32 Oled for Volumio (Raspberry Pi) ver 1.0 beta


This display (SSD1305 controller) is not supported by default by Volumio.
This program displays the main data of h ttp://volumio.local/api/v1/getState (status, duration/seek, volume, artist, title).
The “oled.c” program code I wrote is free to use based on the ht tp://www.waveshare.com/w/upload/c/c5/2.23inch-OLED-HAT-Code.7z demo.

Display type: Waveshare 2.23" OLED HAT, 128 x 32 pixel
h ttps://www.waveshare.com/wiki/2.23inch_OLED_HAT

C program code using the following libraries:
h ttp://www.airspayce.com/mikem/bcm2835/

=> Downloadable program and C source code: oled.zip
h ttp://users.atw.hu/oled/oled.zip

Brief information:

  • 1.0 beta, works but not perfect!
  • SPI must be enabled (sudo raspi-config)
  • the program is in C language (not C ++!)
  • bcm2835-1.69.tar.gz must be installed
  • libcurl must be installed
  • Install GCC for C compilation
  • always run with sudo: sudo ./oled
  • must be loaded into systemd for automatic startup:
Description=oled service


ExecStart=/usr/bin/sudo /home/volumio/oled


1 Like

Ver 1.1 beta:

  • some bug fixes
  • display volume: MUTE status
  • centered Artist and Title if the text is sort

Ver 1.22 beta:

  • some bug fixes
  • smaller status line on top
  • playtime progress line
  • text paging (if artist or title more than 21 letter)
  • display track technical data for short time - after play

(Picture from finished, boxed project.)


Ver 1.24 beta:

  • some bug fixes
  • display track position
  • character redesigner util available (for ssd1305.h)

Latest version available: oled.atw.hu

Ver 1.26 beta:

  • some bug fixes
  • display repeat/shuffle status (with track position)
  • display Volumio local IP at starting