These are the microcontroller boards that will be running the WS2803 LED drivers. They’re built around the PIC18F4550. This chip has a USB transceiver, which means I can write an Artnet-USB stack then control the shopping cart lights from a computer running commercial lighting control software like Madrix.
For redundancy I want each board to be able to control it’s LEDs independent of any connection to external software. I want sound responsive visuals, so I’m adding a pair of MSGEQ7 chips. These are analog frequency response chips that will give the PIC18F4550 the amplitude of seven individual audio frequency ranges on both the right and left audio channels.
The WS2803 LED drivers can be used to form long shift register chains. However with a shift register chain one damaged connection means every proceeding shift register doesn’t get data. This project is going to be mobile (lots of shaking) so damaged connects are something I need to anticipate. Each board uses a 74HC4051 multiplexer chip to break up the PIC18F4550’s SPI clock into eight separate channels. With eight short shift register groups a single broken connection won’t take out very many LED control boards.
Shown here are two completed control boards. The project will use three of them. One for the front, right, and left sections of the cart. The processing power of these microcontrollers is somewhat limited, so I don’t want to make one responsible for generating and pushing data to every LED board. Three independent microcontrollers also adds much needed redundancy. Two thirds of the LEDs will still be running if one of them takes damage.