After having successfully tested the display, the multiplexed buttons and the buzzer on a breadboard, we made a prototype PCB. This will allow [Jean-André] to work on the software while I work on the next PCB.
As our display uses most of the inputs, we used a trick to connect the 12 buttons using only 4 GPIOs. Usually, Charlieplexing uses N GPIOs with N/2 inputs and N/2 outputs to read
buttons. By adding diodes and using the N GPIOs as both outputs and inputs, we can read
The PWM audio output is smoothed out by an RC filter and the left and right channels are mixed to mono in ALSA. We use a simple NMOS transistor to drive the buzzer but we will replace that with a 1.5W-3W amplifier and a proper speaker in the next version.