mBed 1768 as controller
Used to control all the buttons and the joystick.
Furthermore, it handles the control button colors based on the emulator used.
It handles the main power. Power will switch on with start pulse (green arcade button).
And the relay board is started. It detects if the Raspberry Pi is shutdown (5V USB power gone) and will
therefore shutdown the lights and the main power.
24 channel 12bit PWM LED driver
Used to drive all RGB-LEDs for the control buttons and the white LEDs for the function buttons.
Two channel relay
Relay used to switch the main power with a small pulse.
It is also possible to switch the main power off by the mBed. (E.g. if Raspberry Pi is shutdown.)
Write USBKeyboard handler based on the USBKeyboard library from mBed, which will react on the button presses.
Write serial handler to receive the emulator started or stopped.
Write a real library for the 24 channel 12bit PWM LED driver with fast SPI (10MHz).
Write an animator class to handle the lighting based on the system status. E.g. Startup, shutdown,
screensaver, emulator:nes, snes, n64, amiga, etc.
Write a power handler to switch on the main power during initialization. Switch main power off (after 30 seconds)
if the Raspberry Pi looses USB power (on system halt).