Extensions for Moode, including OLED display, IR control and CD playback. For now, it is running in a RPi4B with Moode 6.4.0. With this extension, you can use Apple Remote to control Moode in RPi4B and roon in Windows.
NOTICE: Use this extension at your own risk, some have not been fully tested!
I use this system under these scenarios.
- NAS -> PRi4B(Moode) -> DAC
- CD Drive -> PRi4B(Moode) -> DAC
- ROON in Windows -> PRi4B(Roon Bridge) -> DAC
- ROON in Windows(Surface Go) -> HQPlayer(PC) -> PRi4B(NAA) -> DAC
The OLED display has 3 screens, including Date Screen, Play Screen, and Renderer Screen.
- Date Screen: Display date and IP.
- Play Screen: Display song info, only activate if Moode is playing.
- Renderer Screen: Only activate if Moode is not playing but DAC is occupied.
The OLED display will go out after 10 seconds to prevent OLED burn-in and any key pressed on the Apple Remote will light it for 10 seconds.
- Raspberry Pi 4B
- Argon One Case for RPi4B
- 1.5inch RGB OLED Module, made by WAVESHARE
- VS1838B Infrared Receiver Module
- Flirc usb ir receiver
- Apple Remote A1294
- USB CD Drive
The Argon One Case reserved a place for VS1838B, just connect it. Insert Flirc USB IR receiver into a windows pc.
OLED Pin | GPIO Pin |
---|---|
VCC | 3V3 |
GND | GND |
DIN | MOSI |
CLK | SCK |
CS | CE0 |
DS | 24 |
RST | 25 |
- Install Roon Bridge and NAA (optional).
- Follow the instructions to ensure that the OLED module works properly.
- Follow the instructions to ensure that the IR receiver module works properly. If you use the default position for IR in Argon One, the gpio pin shoule be set as 23.
- Use
sudo apt-get install eject cdparanoia cdde
to install packages required by CD playback.
sudo pip3 install luma.oled
cd /home/pi
git clone https://github.com/TongboZhang/Moode_Extension.git
cd Moode_Extension
sudo chmod 755 src/OLEDDisplay/main.py
sudo cp src/OLEDDisplay/oledd.service /etc/systemd/system/
# Test OLED display
sudo systemctl start oledd
# Wait 10 seconds to start the service
sudo systemctl status oledd
# Make OLED service automatically start on boot
sudo systemctl enable oledd
sudo su
echo "deb http://archive.raspbian.org/raspbian stretch main" >> /etc/apt/sources.list
exit
sudo apt update
sudo apt install -y multiarch-support libavformat57 git libportaudio2* libflac++6v5* libavahi-common3 libavahi-client3 alsa-utils
curl -k -O -L http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u12_armhf.deb
sudo apt install -y ./libssl1.0.0_1.0.1t-1+deb8u12_armhf.deb
curl -k -O -L http://security.debian.org/debian-security/pool/updates/main/c/curl/libcurl3_7.38.0-4+deb8u16_armhf.deb
sudo apt install -y ./libcurl3_7.38.0-4+deb8u16_armhf.deb
sudo chmod 755 src/TidalConnect/tidal_connect_application
sudo cp src/TidalConnect/tidal.service /etc/systemd/system/
# Test Tidal Connect service
sudo systemctl start tidal
sudo systemctl status tidal
# Make Tidal Connect service automatically start on boot
sudo systemctl enable tidal
sudo cp src/RemoteControl/apple-silver-A1294-lircd.conf /etc/lirc/lircd.conf.d/
sudo cp src/RemoteControl/irexec.lircrc /etc/lirc
# Test LIRC service
sudo systemctl start lircd
sudo systemctl status lircd
# Test IREXEC service
sudo systemctl start irexec
sudo systemctl status irexec
# Make LIRC and IREXEC service automatically start on boot
sudo systemctl enable lircd
sudo systemctl enable irexec
sudo chmod 755 src/CDPlayback/geneCD.sh
sudo cp src/CDPlayback/99-srX_change.rules /etc/udev/rules.d/
When you insert a CD, it will generate a playlist named CDPlayer automatically.
After installation, you can use Apple Remote to control Moode in RPi4B and roon in Windows. Here is the key mapping.
Apple Remote Key | Description |
---|---|
UP | Moode: Previous Track |
DOWN | Moode: Next Track |
Enter | Moode: Play/Pause |
LEFT | Roon in windows: Previous Track |
Right | Roon in windows: Next Track |
Play | Roon in windows: Play/Pause |
Menu | None |
Thanks to the following posts.