Revision 1: first real PCB
Developing software on a development board, with several other boards haphazardly wired up to it is possible, but wires getting loose easily and the difficulty to move the setup gets old fast.
The next step after the initial tests, then, was to make a more solid prototype of the hardware, that would make testing things easier.
The board would include the DAC, the LM386 amplifier, and a couple of buttons to use as the input for the microcontroller. In order to remove the wires as much as possible, the board was set up to have headers that fit the CC3200 BoosterPack headers.
The board takes the required 5V for the DAC and the amplifier from the CC3200 board. This 5V supply was also used for the buttons.
We have 2 SPI type devices: the DAC, and the LCD screen. In principle, both could be controlled over the CC3200’s native SPI controller. However, there were two considerations for not running the LCD screen over native SPI:
the LCD screen requires a data/command line, to tell the screen whether the data this is sent represents a commond, or data to be displayed on the screen.
the DAC should run at 44KHz or 48KHz, and having the screen share the SPI lines might mess with the timing. At least the software to make sure that the DAC receives its samples on time would be much more complex.
The screen is instead controlled by bit-banging the SPI + data/command protocol on 4 GPIO pins. (We don’t need to implement the slave-to-master data line, since the screen doesn’t send any data back.)
Here are the Eagle schematic and board files. The board is set up mostly as a single-layer board. The few red traces on the board layout can be implemented using jumper wires, if desired.
The first board looks like this:
In the upper and lower leftmost board pictures, you can see the patches:
the buttons are shifted over the board edge, and each have a 1K resistor wired to the other button holes in the PCB.
on the underside, the 47pF capacitor is connected from GND to the SDI line of the SPI interface.
On this first hardware revision, the software was developed mostly without the screen, instead using the serial interface of the CC3200 to the computer.