I wanted to add another dimension to performing music on the OP-Z
synthesizer. As the device relies on colors and lights as a user interface
instead of a high resolution display. I wanted to carry this feature over to
a wearable device that would be familiar to users of the OP-Z.
synthesizer. As the device relies on colors and lights as a user interface
instead of a high resolution display. I wanted to carry this feature over to
a wearable device that would be familiar to users of the OP-Z.
![](https://cdn.myportfolio.com/8a5fa27b-57ae-4359-9793-f5ff86e18500/cf7bbca0-0f18-4a29-b7d8-e84d52008cad_rw_3840.jpg?h=a52c602df09e037d11412113993d6da4)
How did I do it?
First, I mapped out the functionality of the controller with a UML diagram to help me tackle the project piece-by-piece.
![](https://cdn.myportfolio.com/8a5fa27b-57ae-4359-9793-f5ff86e18500/20c2f721-87eb-4ffd-b314-bb4841ab93c4_rw_1200.jpg?h=48389cd42619edbb1bcd50745a80fe21)
I also ordered the parts that I would need to develop an MVP.
![](https://cdn.myportfolio.com/8a5fa27b-57ae-4359-9793-f5ff86e18500/c385eded-518a-49b8-831e-ddd892471d2f_rw_3840.jpg?h=53a0086169ebb76145a8db2b963ac447)
Build, test, learn, and repeat. This is how I was able to get all aspects of my controller working in smaller blocks of codes before I started with the main code with all the functionality integrated.
![](https://cdn.myportfolio.com/8a5fa27b-57ae-4359-9793-f5ff86e18500/c204a587-4f66-40d1-b591-0e6daf1957b5_rw_1200.jpg?h=df43735dfceb2a9f42bdbcf412349464)
![](https://cdn.myportfolio.com/8a5fa27b-57ae-4359-9793-f5ff86e18500/36c13645-c9df-476f-8b31-e4a8c01bdb21_rw_3840.jpg?h=e20ba9bef5dfacfe5068383be4968ce5)
A memory limitation on the CircuitPlayground Express prevented me from integrating the haptic feedback functionality along with the rest of the code. No worries! Since my code is modular, I can save the larger code for when I get a more powerful controller, and I can just do without for now.
![](https://cdn.myportfolio.com/8a5fa27b-57ae-4359-9793-f5ff86e18500/22558939-1797-49cd-9681-b3e794fd5d6a_rw_1920.jpg?h=da53fe2928bcaa6114bdf309647d10d9)
Final Assembly and Functionality
![](https://cdn.myportfolio.com/8a5fa27b-57ae-4359-9793-f5ff86e18500/058a3c80-bd86-408d-83a7-017c9f0b83e1_rw_1200.jpg?h=f1b2a54cd46ace54893f72e5fba3d443)