256x64 Oled (ssd1322 SPI), 4 Buttons, Rotary - Interface

I’m building a Network Hifi Receiver from scratch.
An old Braun T2 Tuner serves as case for the player.

To keep as much as possible from the look of the device i needed an Interface for Volumio.
And especialy one that supports a 3,2" ssd1322 SPI Oled with 256x64Pixel.
After doing some research i found diehrdsk/Volumio-OledUI.
It fullfills many points on my “wishlist” but not nearly all.
As we all know, the way is the destination, i spent some time (much time…) in modifying the original code.
The project is not finished yet.
I’ll try to keep the github repository up-to-date.

planed features for the network receiver:

  • Raspberry Pi 4 with Volumio as OS
  • Hiffiberry DAC + ADC as DAC and Input
  • 4 Stereo Analog inputs digitaly switchable by Volumio (realised by seperate circuit)
  • 75W Trafo with two Lownoise PSU’s (parallel, each 5V 6A)
  • Standby Circuit, to fully cut of the Trafo
  • 2 VU-Meter
  • sd-card slot on front
  • usb on front
  • Near-Interface (Volumio-OledUI with 4Buttons + Rotary)
  • build in 5TB hdd
  • build in Wifi with external Antennas
  • build in Bluetooth 5.0 High-End Receiver wit external Antenna
  • “Master Control”-Interface (RS232 In/Out for Braun Atelier devices, to control them)

  • A wireless remote (pi zero, 18650cell, ssd1309 128x64 Oled) https://github.com/Maschine2501/OledUI-Remote/blob/master/README.md (remote project is just born, so please be patient…)





    .

Feautures of the Github Volumio-OledUI code:

  • 4 Button Interface (Button function depends on “State” of the screen, e.g. playback, menu…)
  • 1 Rotary with buttons (function also depends on “State”)
  • Playback Screen with Artist, Song, file-format, samplerate and bitdepth
  • Standby-Screen with Time, Date and IP-Adress
  • 3 Menu Screens (Media-Library, Playlists, Queue)
  • Button Layout-Icons on each Screen (depending on “State”)
  • Media-Library-Information Screen (Statistics about your Media-Library -> Artists, Albums, Songs, total Playtime)
  • Boot and Shutdown Logo
  • maybe more features will come… ^^
    Some bugs will (not often) happen. Will debug it soon.

Actual “Screenshots”




Video (in action)
https://youtu.be/1nwmKzCCoZE

Here’s the link to the repository:
https://github.com/Maschine2501/Volumio-OledUI

1 Like

Congratulations! I follow your project, I’m interested.

Me too

Inviato dal mio PRA-LX1 utilizzando Tapatalk

Updated project informations.

Congratulations! Great job, it looks amazing. I have in mind to do a project similar to yours with my Rpi 3b and my dac allo boss 1.2. I would like to install a display like yours, so that it shows exactly the same information. I love how it looks. It’s just what I need. I will not connect physical buttons. I am a newbie in electronics and I would be happy with being able to configure the display correctly. Could you tell me what exactly is the display you are using? It’s 4-pin, right?
Writing your github code, would it be fully configured to show the same information as in the video?
Thank you very much in advance. Cheers!!

1 Like

I found this display, would it work?

Thanks in advance!

Hi @cuchu !
Out of tthe box, my code is compatible to ssd1322 (256x64 Pixel greyscale) and ssd1306 (128x64 monnochrome) displays.
Like this:



The ssd1306 uses i2c bus (V+, Gnd, SDA, SCL)
The ssd1322 uses spi bus (V+, Gnd, SDin, SClk, RST, DC, CS)

Personaly I would recommend to use an ssd1322 display, it jus has a lot more possibilitys for layous :wink:

The code is fairly easy to mod, so thatt it should work witth other display types, butt you need to know what you are doing!
If you want to use another display, you can send it to me, i will adapt the code to it. The only benefit for me: Free Display :wink:

During the setup of the code you’ll be asked for your favors (Layout, displaytype etc…) I guess this should be easy to use even if you’re not so deep into electronics.

If you have further questions, or need more informations I would recommend you to join my discord chanel: https://discord.gg/GJ4ED3F

Anyway, i’m lucky that you like my work!
Have some nice Winter days!

PS: The video is pretty old, the code looks much bettter now (need to make some new videos…))

Hi! Thank you very much for your quick response and help offerings!
I would like to use an ssd1322 display, but I have several doubts about the pin connection.
My setup is a Rpi 3b + Allo Boss dac 1.2.
The gpio pins available on my allo boss are limited. I dont know if I have all of the spi bus (V+, Gnd, SDin, SClk, RST, DC, CS) pins to connect the display properly.
I will show you a few pictures



Maybe, I need a gpio expansion card like this to solve it.

€ 1,84 24%OFF | GPIO-Placa de extensión Raspberry Pi, módulo GPIO de 1 a 3 de 40 pines para Orange Pi PC Raspberry Pi 4B/3B +/3B Raspberry Pi Zero W/1,3

Thanks again for your help.

People like you make the community richer by creating and spreading knowledge.
Happy winter days!

Hi, I guess that an expansion board won’t do the trick. On tthe pinout, there’s only i2c aviable… So the DAC will probaply use SPI for itself.

I think with the ALLO BOSS only an ssd1306 will work.

I use a HifiBerry DAC Plus ADC…
Maybe this is an option for you?

great project, thanks for sharing!

I will try later on my BassFly-uHAT

1 Like

quick question before starting with testing it, is the rotary encoder mandatory?

1 Like

Hi! The Rotary is not a mandatory.
Only display is a mandatoty!
Cheers!

1 Like

many thanks!