Geoff’s Reflection
From this project, I learned a lot about digital systems and primarily memory systems, even though I was not able implement it in the end. The proposed SD card was the source of a lot of headaches. There are many small intricacies with interfacing the SD card with the PIC32, including the SD card needing to be reinitialized after 20 milliseconds of no use, the PIC not being able to read multiple bytes from the SPI channel, and finding the correct start address for our specific SD card. The biggest problem, however, was dealing with formatting the SD card. On multiple occasions, I would reformat the SD card, erasing everything on it, but when I put new songs on it, it would play songs previously on the card.
From this, I learned a lot about debugging. I had to try and figure out a way to isolate each problem, which was very difficult for something as low level and clusters and sectors of SD card systems. On multiple occasions I was able to get the system to play the song stored on the card, but in the end, I was unable to get the card to loop a note stored in memory.
In the end, I was not able to figure out how to use SD card as I wanted, so we ended up using direct digital synthesis to produce sound. I learned that it is always good to have a backup plan, just in case the things do not work out. I the future, when trying to implement systems with new features, having a fallback is a good idea.
Connor’s Reflection
Overall I learned how to solve problems on my own. I also learned about the importance of a backup plan. The SD card reader was the biggest problem I faced. On a technical level it was difficult to understand and fix. Beyond that though it presented a challenge that I could not solve. This project showed me that the initial plan might not work and that it is important to have a backup plan. I think I realized this a bit too late into the project and as a result I had to work a lot more towards the end of the project. I also learned that things are never ideal. The flex sensors used in our project had resistances of 25k +/- 30%. I thought that the +/-30% would be boundary cases that we wouldn’t have to account for but in reality that mattered a great deal. In the future I will have a more developed secondary plan in case my initial designs do not go as expected.