Back to summer 2017 I noticed a circular device in a box of development boards in our office. As this was quite uncommon, I wanted to know more about it and found out it was literally a Raspberry Pi hat from Matrix offering almost everything you can wish in terms of sensors and communications -- from NFC to zigbee, IR emitter and receptor, 8-microphone array, 35 led array, and more -- an exciting find!
While my work here at Chirp continued, I kept thinking about projects I could complete with this board. Finally, a few months later, I had the chance to execute my ideas during one of our internal hackathons.
My hackathon project was to showcase the Wi-Fi onboarding of an embedded device by provisioning it via sound with Chirp’s software. For this project, I could have used a simple USB microphone and our python SDK, but being an adept of C and wanting to use the Matrix Creator I found earlier in the year, I did the demo with it using the C++ HAL.
After this hackathon I wanted to build a project which would fully take advantage of the LED array as well as the microphone array. I got myself a Matrix Creator at the beginning of the year and started to build a mood light.
Using the Chirp C SDK for ARM and the Matrix C++ HAL I slowly worked on it on my free time and got a nice result a year later, which I’m still improving. For this project, I used the C++ abstraction functionality with classes to easily add new patterns that implement the missing function of the abstract class. Doing this, you can add new patterns to the light without modifying too much the existing code. The whole list of patterns is controlled by a simple JSON file. The same JSON is used in an iOS app to add a better user experience and serve as a remote for the light (see the figure below).
At Chirp, we’ve really enjoyed the capabilities the Matrix Creator has to offer. We recently had a chance to have our CEO and CTO sit down with Martix and chat about Chirp’s work with data-over-sound. If you missed the interview, check it out here. And, if you’d like to make a mood light of your own with a Matrix Creator, watch this space for my more in-depth tutorial on this project.