-
Notifications
You must be signed in to change notification settings - Fork 4
Hardware
This page provides the necessary information to build a simple working prototype.
The following diagram gives an overview of the device components and their interactions.
The bzzzbz prototype (v1.0) uses a Raspberry Pi 3B+ as core of the system to exploit the capabilities of a Linux system with direct access to hardware. Custom electronics circuits are connected to the Pi's GPIOs in order to interface the Pi with the external analogue inputs: audio input and control surface. The following sections will outline each subsystem in detail.
The audio interface uses the WM8731 audio CODEC to perform analogue to digital conversion to the incoming audio signal (line input). The chip also provides headphones/line outputs that allow our prototype to have an audio output together with the generated visuals. Furthermore, the Linux kernel (v4.19) in the Raspbian OS comes with an integrated driver for the WM8731 so that the chip can be configured and used directly from the Raspberry Pi.
The chip is mounted on a breakout board in order to be connected to the Raspberry Pi header pins. The schematic for the breakout board is shown in the figure below:
The board uses decoupling capacitors to protect the analogue inputs and the power lines as advised in the codec datasheet. A 12MHz crystal was connected to the XTO/MCLK inputs of the chip enabling it as a master clocking source (with the raspberry Pi consequently acting as a slave). These inputs can be also left disconnected for the chip to receive the clock from the Raspberry Pi, the two configurations are interchangeable. Standard PCB 2.54mm headers are used for power and wired connection to the Raspberry Pi. The line and headphones connections use stereo 3.5mm jack sockets. The final breakout board is shown below.
picture here
The schematic and PCB files can be found in the hardware folder in the main repository under wm8731-breakout.
The control interface consists of 3 potentiometers connected to the MCP3008 multi-channel ADC converter. The chip is then connected to the Raspberry Pi via jumper cables, where the values of the incoming potentiometers are read through SPI communication. A schematic of the control breakout board is shown below.
Due to the current emergency lockdown, the breakout board could not be completed before the release date. The PCB files are therefore missing. However, the same result can be achieved with a breadboard! The picture below shows a reproduction of the schematic on breadboard.
picture here
The schematic can be found in the hardware folder in the main repository under mcp3008-breakout.
The current prototype can be used for demonstration and testing purposes due to t. It is however very fragile and introduces several latencies and faults in the system (such as SPI/I2S long cables). Our objective is to develop a finished prototyped box and compact surface-mount pi-hat for the next release. You can start playing and experimenting with