Final log for this project! We managed to get several different light modes working (which you can switch between by double clicing any button), all accompanied by cool light fading effects upon a button press. In the end, we ended up using the following materials:
- 4 NeoTrellis boards soldered together
- Raspberry Pi Pico
- Waveform soundboard
- Compatible speaker system
- breadboard (for testing)
- 3D printer
- Several wires
- 4 works to hold everything together (don't ask, we didn't have screws)
Between last week and this week, we managed to also 3D print a case with a separate carrying tray for the NeoTrellis boards such that we could remove the top and the board without having to dismantle everything inside of the case assembly. Additionally, while we got the different light modes and button press effects working, we unfortunately could not get the speakers to work even though we were able to get output to a pair of headphones.
Here are the things that we managed to accomplish:
- Last week we were suffering from a litany of errors such as stack corruption, etc.
- We fixed all of these and managed to get all of the lights to work as we want, changing at the press of a button to whatever color we pleased (as seen in the attached photo above).
- The issue here was with MicroPython which didn't let us use any libraries so we were manually interfacing with I2C which was really frustrating.
- We switched to CircuitPython and manually imported the necessary AdaFruit libraries and got everything working flawlessly.
We also got audio working (including playing our own soundbites), although not on the speakers. Rather, we had to plug in a pair of headphones. Finally, we have a design for the outer casing that we're going to 3D print.
Thus, here's what we have left:
- Fix the speaker audio issue
- Print out the case
- Improve the wiring (it's a bit messy and unstable right now)
We managed to connect our four soldered NeoTrellis boards to our Raspberry Pi Pico and got the software all detected and running.
Our software so far is able to recognize each of the four individual boards and their addresses, as well as their inputs. Right now we're queueing up the inputs and then acting upon these queued inputs in our code. However, we are still running into some issues of a corrupt queue which means that oftentimes the button presses aren't being registered.
We're in the midst of debugging this so stay tuned!
First, thanks to the hard work of our TA Justin and Instructor Kevin, we managed to acquire the 4 Neotrellis boards that were soldered together. Additionally, we managed to get started on the software component and have a basic design of what we want to do/how we're going to do it.
Because we got the board a bit later than expected, we still have yet to actually test our own software on the board but that's for next week.
Through our supervisor Kevin Gauld, we managed to acquire 4 NeoTrellis soundboards that have been soldered together. While our plans initially called for coming up with a breadboard design and creating everything from scratch, we decided to go forward with using these prebuilt soundboards as it would let us focus more on the software and feature side.