Appendices
Appendix A: Permissions
The group approves this report for inclusion on the course website.
The group approves the video for inclusion on the course YouTube channel.
Appendix B: Source Files
An up-to-date listing of our source files can always be found on the group’s public repository. The most recent commit of the repository is additionally included as a ZIP file below for completeness:
Appendix C: Hardware Designs
The group used KiCad for their PCB design,
with external component symbols/footprints included as necessary from
Digikey’s CAD Models (included on the part’s page). All of
the design files can be found in the pcb
directory of the source code,
with the schematics of the 3 PCB designs included as PDFs below:
In addition, a CSV of our Bill of Materials (BOM) can be found here, with Digikey part numbers and designators on the boards (noting that the quantities provided are for one face board, but the system uses four)
Appendix D: References
Adafruit’s wiring guide for their RGBW LED strip (visually very similar to ours) was used for additional confirmation that our understanding of the strips was correct (along with our own testing).
While all part datasheets were used, the CAN transceiver datasheet in particular proved invaluable by providing different considerations for CAN bus implementations, as well as an optimized example layout which was followed for all boards.
Appendix E: Member Responsibilities
Aidan:
CMake build system setup
Complete hardware/PCB design, bringup, and debugging
Small help with utility class implementations
Qingmiao:
Implement CAN bus working on one Pico and one CAN transceiver
Small help with utility class implementations
Edmund:
Implement software interfaces to the various hardware peripherals, including LEDs, potentiometers, and LED-driving MOSFETs
Implement the top-level programs for all boards
Implement the CAN packet protocol to communicate across boards, as well as debug CAN issues