Skip to content

isoniks/pianoui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Attention - WIP

Key functions already working:

  • Start-up intro
  • Play / Pause / Stop events properly handled
  • Font changed to Cyrillic
  • Screen offeset (30 px) and scrolling work properly

Interim measures:

  • Pushbuttons (Shutdown / Play-Pause / Prev / Next) working via Volumio GPIO Plugin

To-do:

  • Screen blanking for standby longer than 2 min
  • Handling of Shutdown event on screen
  • Clean-up code
  • Remove unused files (fonts, modules)
  • Does anybody know how to erase symbols from aluminium faceplate without damaging the lacquered surface :-) ?

It works!

Description

Volumio UI for retrofit attempt of Yamaha PianoCraft DVD-E600 with RPi, Volumio 2, DAC, buttons and PSU.

Hardware

  • Yamaha PianoCraft DVD-E600, stripped of internals
  • PSU Meanwell RS-15-5 5V 3A 15W
  • Raspberry Pi 2B/3B with Volumio2 image
  • RPi DAC Burr-Brown PCM 5122 with GPIO pins
  • 2.8" 256x64 Pixels 4-wire SPI OLED Display with SSD1322 controller IC
  • 6 pushbuttons, pull-up resistors, breadboard, wires, pins, glue, dremel, crimping tool, soldering iron

Critical Success Factors

  • coffee
  • cat
  • use 3.3V power for OLED
  • check TWO TIMES wiring (at least the power line) for OLED screen

Constraints

  • make use of 6 push-buttons on front panel.
  • the visible area of OLED screen is wider than window in a front glass. First 30 pixels will remain concealed.
  • ttf font must support Cyrillic script

Approach

  • Develop screen UI
  • Hook-up functions on push-buttons:
    • Play / Pause
    • Stop
    • Prev
    • Next
    • Clear playlist (Eject button)
    • Power off
  • Play Yello

Dependencies

Install

get ssh access to Volumio, login and enable SPI bus by adding

dtparam=spi=on

to /boot/userconfig.txt via

sudo nano /boot/userconfig.txt

and reconfigute timezone

sudo dpkg-reconfigure tzdata

installation steps

sudo apt-get update
sudo apt-get install -y python-dev python-pip libfreetype6-dev libjpeg-dev build-essential python-rpi.gpio
sudo pip install --upgrade pip wheel
sudo pip install --upgrade setuptools
sudo pip install --upgrade socketIO-client luma.core==1.8.3 luma.oled==3.1.0
git clone https://github.com/isoniks/pianoui.git
chmod +x ~/pianoui/piui.py

test run

python pianoui/piui.py

run as daemon

sudo cp ~/pianoui/piui.service /lib/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable piui.service
reboot

how to check the logs

sudo journalctl -fu piui.service

Credits & Kudos

Thanks to following folks for their great projects:

About

Volumio UI for retrofit attempt of Yamaha PianoCraft DVD-E600 with RPi, Volumio 2, DAC, buttons and PSU.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages