[PLUGIN] MPD OLED - installation & configuration plugin

You’re right. They come as SPI default. You have to desolder a resistor and move it somewhere else :nerd_face:

:joy:… I actually meant software side… my bad i didn’t mention…

On a positive note, i tried the MPD OLED plugin on an entirely new setup and it worked.

I used a new pi, new sd card, different DAC, bust same OLED and it worked… Thanks to all you guys, ive managed to learn a lot. But now im interested in using a larger display as the one i have is a 0.96 inch one.

One question i do have is Will SPI work fine or is I2C better? Which is preferred in what circumstances?

Hello Duncan,

Nice that it’s working now…

So I set my Oled to I2C and it ran out of the box as far as the plugin is concerned. I was able to adopt all of the plugin’s defaults and…

I don’t know which is better now.

this is a question for…@supercrab,@Adrii

Stick with I2c if you’re using a 2.4 inch SSD1309 display :smiling_face::sunglasses:

Congrats on getting it working :partying_face::tada:

1 Like

Seems the userconfg.txt line:

Breaks i2c on the rPi5. Removing it from the userconfg.txt , seems to do the trick

@Wheaten yes I also noticed that, I forgot to mention.

It does work if you declare at 400kHz max, with higher values it does not work

1 Like

Heya! I’m running Volumio on a Pi3 with the Hifiberry MIni-Amp. Playback never starts while the OLED plugin is active. When I disable it, everything works fine - and when I enable the plugin while the songs are playing, it works perfectly fine.

I tried: Changing the I2C address, goign to a different I2C bus, tried all the different display settings.

Any idea what the problem might be?

@oradke Not sure to be honest. Ditch the plugin and try the standalone version to rule out any issues with the plugin :smiley:

try to disable the startup sound

I’ll update the instal.sh to check for Pi5 to fix this :+1:t4:

if ! grep -q "i2c_arm_baudrate" "/boot/config.txt"; then
  if ! grep -q "i2c_arm_baudrate" "/boot/userconfig.txt"; then
    echo "Setting I2C baudrate"
    if [ "$(cat /proc/device-tree/model)" == "Raspberry Pi 5" ]; then
      echo "Running on a Raspberry Pi 5."
      echo "dtparam=i2c_arm_baudrate=400000" >> /boot/userconfig.txt
      echo "Running on a Raspberry Pi, but not version 5."
      echo "dtparam=i2c_arm_baudrate=800000" >> /boot/userconfig.txt
1 Like

Hi @supercrab
its been a while since we last spoke and I hope you are well.

i had to rebuild my volumio box recently and while I am thrilled that I was able to get everything installed via the plugins page this time, I am wondering if you would be so kind to pull over the driver for the SSD1322 controller, from the dev repo into the main, GitHub - antiprism/mpd_oled_dev: mpd_oled development version (unstable)

for reference, I had it all working with this guy

@ashrond Can you clarify what you mean by “pull over the drive”? I wrote the plugin which is in javascript but theres no drivers in there. :thinking:

I occasionally forget that you’re the developer behind the Volumio MPD OLED plugin, rather than the original MPD OLED software.

To give you a brief overview, I previously collaborated with the creator of MPD OLED for several months to achieve support for my specific screen controller. At that stage, we managed to get it functioning, albeit only utilizing half the screen.

This enhancement was added to the development branch of MPD OLED. However, at that time, antiprism mentioned he was unable to dedicate further time to its development. I’ve reached out to him to inquire about the possibility of merging these developments from the dev branch into the main branch. which i then hope can be pulled over into the main of this plugin.

I understand now. What you could do is download the development branch of mpd_oled, compile it and copy the compiled file into the /usr/local/bin/ folder. That will allow you to use the development version of mpd_oled and still be able to control it using the plugin. Hope this helps :slight_smile:

that helps immensely, because I still have the SD card with the working screen config on it, so I could theoretically pull it over from that, and if it works, can I provide it back to you?

Ill grab it after I run some errands today, any specific files I need or just the one for the SSD1322?

1 Like

I think it’s just the mpd_oled binary that you need. It should work, I’m not sure if there any other configuration required :thinking:

If it works just let me know. The binary can easily be created by compiling the dev branch…

Hello .could you install a screensaver function? I now have to “stop” during a break and am worried that some things may burn in?!

so… i reached out to the developer of MPD_OLED asking if he could pull in the changes that support this screen, i will paste his response below.

my question is, does this re-write make it fundimentally incompatible with your existing plugin or could i, in theory, change the main branch files out to the dev branch files and do a manual install of your plugin to try and get the best of both worlds?

his response, follows;

mpd_oled_dev is a rewrite of mpd_oled which uses a much more complete
graphics and driver library. mpd_oled_dev is in a development state,
with development still on hold, and there is no easy way to incorporate
its SSD1322 support into the current mpd_oled release. mpd_oled_dev also
has different configuration options to mpd_oled, and so it is not a
drop-in replacement for mpd_oled in the Volumio plugin.

What might work for you to use the Volumio plugin is if you create a
wrapper program/script called mpd_oled that ignores all command line
options and simply runs the “mpd_oled” binary from mpd_oled_dev with the
options you want for your display.

1 Like

I’ve documented a way to do this.

Burn in will occur. I didn’t write the mpd_oled. I only wrote the plugin that allows easily installation with Volumio. Check here for more info about mpd_oled https://github.com/antiprism/mpd_oled[mpd_oled](https://github.com/antiprism/mpd_oled)

1 Like