OLED spectrum display on Volumio on Raspberry Pi Zero W

The 0.96 display is working with mod oled o 3
I have cracked the corner when put the screw. I will buy another one.
Many thanks Adrian

Hi Adrii,

have you ever think to port this library for other systems besides RPi?

I have other SBCs running Armbian-based Volumio thet will be a great match with mpd_oled

Hi Darmur

mpd_oled uses the bcm2835 C library, which ties it to the Raspberry Pi. I looked at creating a package of U8g2 for the Raspberry Pi to use with mpd_oled, and this contains linux calls to deal with the GPIO, which might be all that is required for portability with other boards running Linux

GitHub - antiprism/libu8g2arm_test: Package of U8g2 for Raspberry Pi

I have not had any opportunities in recent months to look at mpd_oled, but in the event that changes, the next step in development is to make a test version identical to the current version but using this library. I wasn’t going to share this test version, but if I can provide some build instruction I’ll put it in repository and let you know about it.


1 Like

great, many thanks!

Hello, I need some help with the Bassfly uhat OLED, I have reinstalled/clean installed about 5 times and I cannot get the display to work. I followed some of the instruction/suggestions here in this TOPIC but no success in getting any output to the panel. I start to think that the OLED is defect but how to test? I bout the bassfly from Volumio which asked 5 days ago for help but without success.
I am on the latest Version Volumio running on a Rasp 3b, cava seems to work, mpd_oled detects the panel at 3C, the command
volumio@blue:~/mpd_oled$ ps ax | grep “cava|mpd_oled” returns
5659 pts/0 S+ 0:00 grep cava|mpd_oled
sudo ./mpd_oled -o3 - 4 or 6 just sits without doing squat .
I have traced all connections and they seem to be OK

I am a bit stumped and not far from throwing this board in the trash as I cannot see that sending it back to Volumio will get any other response as the one when asking for help. Anyhow any help or suggestion would gratefully received.

Thanks Thomas

Hi Th0mas,

I am very sorry for your troubles, I can help to make your BassFly-uHAT working. I am sure the boards are fine, I personally tested all of them from the first batch produced.

I prepared an automated script that will install and configure all the required software packages and scripts for you, please start with a clean Volumio image.

You can find such a script here

I will add more tutorials in the coming days, for making use of the LEDs and the push-buttons.

Please let me know if you solved your issue, I hope you can enjoy your BassFly-uHAT soon!

By the way, I think your problem can be the missing i2c address on the mpd_oled command.

This command will work if you have mpd_oled already built

sudo ./mpd_oled -o 3 -a 3c -b 10 -g 1 -f 25 -P s


I tried with direct addressing, no luck - I will wipe the Rasp tomorrow one final time and try the new link you and Volumio send today. I have no idea why the oled does no come on, voltage is ok, PSU is powerful enough, all processes are running and working. I checked over and over, follow each step of the instruction now 6 times. Either I make same mistake over and over or something else is fishy …
I will be in touch tomorrow, anyhow thanks for your response and help. Ta very much Thomas

1 Like

Hi Thomas

When you are testing tomorrow. Could you say exactly what happens when you run

./mpd_oled -o3

Do you have to hit CTRL-C to get the command prompt back?

If this is the case then run the command again, and don’t press CTRL-C, and log into Volumio a second time while mpd_oled is running and run


And see if mpd_oled and cava are running and using some CPU, and using more when you are playing music.


Hello Darmur,
well I am amazed, clean install - your script and all is working without and issue.
I have no idea what I could have possibly done wrong, I followed the instruction over and over and did not get the OLED to do a thing. My pride is hurt now, I think I might have to go back and see where and what mistake I have been making otherwise I will not sleep tonight.
The supplied scribe works like charm …
Thank you very much for your help, if I had know this last week I could have saved myself a lot of time and agro. It might help to point people who buy the board direct to the support forum with all the instructions/script rather then just sending out a board and invoice. Plenty of space on the invoice to provide that information, it would help with customer satisfaction …
Darmur, thank your for your help much appreciated.

Cheers Thomas

1 Like

Hi Th0mas,

I am very glad that your problem is solved now, I hope you will enjoy the BassOwl-uHAT as I do every day.

You are 100% right, the lack of documentation and support script was something to have fixed before putting the board on sale, I apologize for that.

You request of support made me working on the script and tutorial page, I’d like to thank you for that.
It was something I had in the “to-do” list for long time, I also had some material prepared already, but never found the time to finalize the first draft and release it.

BassOwl-uHAT is a project born and living within the Volumio community, feedbacks like yours are very helpful to make things right. In the coming days I will add more tutorials to make use of the other parts (LEDs and push-buttons), you should be able to finalize the complete setup with all the intended functionalities.

It would be nice if you could post some pictures of your setup, and post some impressions about the design, besides those troubles given by the lack of documentation.

Hello Adrian,
I came across a strange issue.
During web radio playback after a song is finished and a new one is started on display I see the watch. The spectrum is shown after a few seconds even if the music is played. I did not see this before. Volumio version 2.853

Hi Florin

Thanks for reporting this. The following command should print the Volumio status (I don’t have a copy of Volumio running at the moment)

curl http://localhost:3000/api/v1/getstate

The first field is the “staus”, and should say “play” while music is playing. If you run the command repeately when a song finishes then perhaps you will be able to see what Volumio is reporting as the “status” when mpd_oled is showing the stop screen.


Hello Adrian,
I will try and let you know. Sounds like volumio mpd does not pass correct the status.

Hi Adrian

When webradio starts the next song the spectrum is shown but after 2 seconds it is stopped and watch is displayed. The spectrum is started after 10 seconds .
The code gives me a return only when spectrum is shown . When the music is playing and watch is shown no results for the code. The behaviour is reprodicible on every song switch

{“status”:“play”,“position”:0,“title”:“ARTHUR BAKER - THE MESSAGE IS LOVE”,“artist”:“Absolut Radio Relax”,“album”:null,“albumart”:“https://radio-directory.firebaseapp.com/volumio/src/images/radio-thumbnails/Absolut Relax.jpg”,“uri”:“http://stream.absolutradio.de/relax/mp3-160/radioplayer/",“trackType”:“webradio”,“seek”:3613533,“duration”:0,“samplerate”:"",“bitdepth”:"",“channels”:2,“bitrate”:"192 Kbps”,“random”:null,“repeat”:null,“repeatSingle”:false,“consume”:true,“volume”:"",“mute”:false,“disableVolumeControl”:false,“stream”:true,“updatedb”:false,“volatile”:false,“service”:“webradio”}volumio

When I stop the music the status when running curl command is stop :


Hi Florin

Thanks for the extra details. That is the problem then. If mpd_oled can’t get the status values from Volumio then it doesn’t have any values to show, and so it displays the stop screen,


Hi Adrian,
Thanks. I can live with that but until now and on other version it was OK. Maybe volumio will improve… I will switch to buster in nearly future.

Hi Adrian,

some time I ago you reported in the changelog that the bug of the screen divided in two part, shown with wrong order, was solved.

From time to time I still have it, using your latest version. Unfortunately I did not find a way to reproduce it, and also not a way to get rid of it without rebooting.

Hi Darmur

Thanks for reporting this.

It was previously reported as an issue (assuming this is the same problem), but I never fixed it as it did not seem to be affecting anyone else. Now that it is, I have reopened the issue and will see if I can fix it. I will post followups on the issue tracker.


1 Like

many thanks!

I can add some more information:

  • Issue pops up mostly on Raspberry Pi Zero
  • I2C Bus speed 1MHz
  • Display with SSD1306 controller

I am available for testing eventual fixes, one of the systems I have shows this issue quite often