High Level Design
Breaking down the project
The entire project can be broken down into three major subsystems. For more information, take a look at our Final High Level Design document under the Documentation tab.
Data acquisition
The first subsystem required that we read game information as an SPI slave through DMA, calculate statistics, and then send them to ESP as a SPI master. The hardware included the breakout pins and the PIC32 micro controller, and the software was written in C.
WiFi transmission
Reads buffer as a SPI Slave and publishes to appropriate MQTT topics. The hardware involved with this subsystem was an ESP ThingDev, and the software was written in C++.
Data visualization
Receives data in MQTT server and exports to SQL tables on a web application. The hardware involved was a Raspberry Pi. The software was written in Python.