Welcome back for another Design Challenge Project Summary. For those of you who are new to my content, in this series I pick a single project from the past week’s Design Challenge Project updates, and write a short summary of the project to date. Over the course of each challenge, I try to revisit each project at least once, and I am sure that some project summaries will get more than one update if they themselves are updated frequently. Some project creators like to keep their own project summary going, and this series is not meant to overshadow those post, but to highlight each project from an outsider's perspective.
The subject of this week’s installment is project Kazumi by Luis Zayas Garin (email@example.com). Kazumi is somewhat unique to the Design Challenges here at Element14 in that it is a pre-existing project. Luis says that “Kazumi is an accessible instrument for aspiring musicians and makers. It is self-contained and is designed as an open-source DIY kit so that users can adapt it easily. Each of the seven surfaces is a touch-pad that either triggers or modulates sounds, which are tuned differently depending on how the structure is rotated on its base. Playing music on Kazumi is a tactile, sensual experience, hands exploring and caressing to draw different notes from the integrated speaker.”
As you can see, Kazumi is a nice looking piece of hardware, but anything can be beautiful right? The big question that us engineers are asking is what is powering it. Luis built Kazumi around a , four , a Raspberry Pi soft-shutdown module, a 6000mAh power bank, and a speaker. The device’s structure is comprised of a mixture of laser cut foam, ABS, acrylic, and polypropylene.
The ones and zeros begin flowing thanks to a custom Python script that initializes the MPR121’s which report back and allow the Pi to determine the baseline and filtered data streams. This data is then processed and sent to Pure Data which then organises that data into number boxes. These number boxes directly correspond to each pad / musical note.
The Open Source Music Tech Design Challenge is centered around the platform though, and this means that it will have to be adapted to work with the Beaglebone Black. Luis plans on getting the system up and running using Heavy Audio Tools on the Bela Platform (https://code.soundsoftware.ac.uk/projects/beaglert). This will allow the project to easily port over to run on the Beaglebone Black.
At the time of writing, project Kazumi is only two post old. In his second post, Luis laid out some objectives for the project, along with a list of shortcoming of the project in its current form. Instead of rewriting them in paragraph form, I felt it better to just copy and paste them below.
“The current set-up has a few problems, such as:
- I have been unable to get less than 35ms latency
- There is no velocity data, as capacitive sensing is not an ideal way of getting this
- There are ghost triggers and some electrodes stay 'touched' due to capacitance noise
- A portable speaker is used as the sound from Raspberry Pi is not amplified. This means having another battery to charge amongst other problems.
Objectives for the next version:
- Increase responsiveness by using the Bela platform to get rid of latency (this hardware allows for less than 1ms!)
- Add piezo transducers to each pad and use that analog signal to control the velocity
- Adapt Pure Data patches to be compatible with Heavy Audio Tools
- Test different speakers and implement a way of controlling the volume of the integrated speaker and aux output separately
- Use analog outputs to add LED feedback for each pad
- Redesign and rebuild the structure to accommodate the new hardware.”
Update: March 4, 2016
Kazumi’s third update detailed Luis’ trip to the Accessible Music Hackathon which was organized by Drake Music and held at the Centre for Digital Music at Queen Mary University of London. The hackathon centered around Bela, the platform that Luis has began leveraging to get the Beaglebone Black working with Kazumi. The original plan was to work on data acquisition from the MPR121 capacitive touch breakout boards using I2C and PureData, but this plan was shelved. Instead, Luis chose to focus on the Analog inputs since there was examples of how to address them using Bela at the hackathon. Kazumi’s Raspberry Pi was also replaced with a Beaglebone black during the hackathon, but I will not spoil all of the surprises in this summary. Head over to the link above to see exactly what was accomplished at the hackathon.
Click to watch Video
A few days later, Luis got to work on implementing the breakout boards, and this turned out to be easier than expected. Some Existing examples Luis had on how the MPR121s work was not exactly what was needed for Kazumi as they output a sine wave of different frequencies plays every time a different electrode is touched. Luis needed the raw data from the sensors, and lucked out when he spied a few lines of debugging code that were commented out in one of the examples. This code was exactly what he needed as it allowed him to easily access the raw data feed.
Click to watch video.
Update number five was yet another deep dive into the MPR121 capacitive touch boards, Bela, and C code. This time the focus was on getting multiple touch boards working together in harmony. Luis has been working closely with the Bela platform team, and that has allowed him to get multiple capacitive touch boards working, but the end result was unfortunately not what he had hoped to achieve. Not one to be defeated though, Luis set out to find the issues with the code he was using. After some time, he modified the code, added some new objects to represent each MPR121 module, and then things sort of worked. Unfortunately when more than three pads are touched, a Segmentation fault occurs. He ended this post with the video posted above showing the code working.
Update: March 31, 2016
In the weeks that have passed since my last update to this project summary, Kazumi has taken some major steps forward. Luis has began redesigning the project’s enclosure to better fit its new hardware, and has been forced to overcome a few speed bumps along the way. In his sixth update, Luis unveiled a new housing design that was set to be 3D printed with a traditional filament-based 3D Printer, but he had to change plans after realizing that it would simply not fit on the build area of the printer he planned to use.
The design on the left was the original redesigned housing, but this had to be changed up after Luis realized that 3D printing it as a single, manifold unit was simply not possible with conventional 3D printers. Instead, he opted to redesign the whole unit into something more modular that would later assemble using a clever pin design. You can see this assembled design on the right above. This would allow the housing to be printed in as small of a space as possible on a plastic powder based SLS printer. Unlike a traditional filament-based 3D printer, a SLS printer uses lasers and fine plastic powder to build the object in layers. This method saves plastic, creates its own support material that simply brushes away, and is inherently stronger.
All of the parts will press-fit together thanks to a unique peg and socket design that Luis learned about in an article from Make Magazine. With the addition of a little CA glue during assembly the housing will become a rock-solid part that is ready for use. Unfortunately, Luis did not share any of the .STL files at the time of this posting, but maybe he will in the future.
Update number seven featured more 3D modeling with the focus on the touch pads that will be used on Kazumi. Luis indicated that the instrument will now feature six electrodes per pad thanks to seven pins on the MPR121 boards becoming available due to the removal of the rotation and magnetic features. This posting also defined how the copper pads will be laid out. Instead of his original idea of milled copper clad FR4, Luis has opted for laser etched acrylic panels that will be covered in adhesive copper foil sheets. This allows for the copper foil to be wrapped around the edges of the acrylic to hide the solder connections. As a bonus feature, the use of laser etched acrylic will allow LEDs to be placed from behind that will shine through the etchings to produce a cool light show effect.
Touch panel design continued over to Kazumi’s eighth update, with Luis laying out the final design for the touch panels. The two images above illustrate how the copper foil will wrap around the edge of the acrylic panels as well as the pattern that will be cut out of the copper foil. A Roland GX-24 plotter will be used to precisely cut out the foil triangles using the image on the right. Note the extra traces that Luis left on each the right side of each triangle. These will be the solder tabs that will wrap around the edges and act as solder points. If you are curious about the “zig zag” pattern, it was chosen to enhance the resolution of the pads as pressing the area between the pads is said to give an “intermediate” step between pads. This effectively ups the number of steps that Kazumi has from six per pad to eleven. If you are interested in more information on how this works, Luis has placed a link to some application notes in this post.
Update: April 27, 2016
In update number nine covered the construction of Kazumi’s touch pads. Interestingly enough, Luis discovered that the 1mm acrylic sheet he needed for this project was much more expensive than the standard 3mm acrylic sheet. Nevertheless, the project moved forward with the copper tape being cut using a common vinyl cutter. Luis shared a .DXF file of the pads on his Github, and offered some advice on how to find the correct settings to use on the vinyl cutter. Head over to the link above to read the full post.
A few days later, Kazumi's 3D printed parts arrived, and their quality simply blew Luis away. He notes that “The parts feel very robust, even where there are thin walls.” which is good news for anyone considering outsourcing the 3D printing duties in future Design Challenge projects. Opting for a black-dyed plastic, the parts came out looking perfect, and they even boasted a slight sheen as if they had been polished. Everything went together as designed, but there was a small issue with a laser-cut acrylic part breaking. Luis has modified that part’s design to prevent this accident in the future.
With the 3D printed housing complete, it was now time to finish Kazumi’s mechanical assembly. Luis ran into a few issues here, with the most notable being a problem with the magnetic tape that was ordered to hold on the touch panels. The tape that was ordered turned out to not have any adhesive attached to it, as well as having striped polarity. This prevented the panels from snapping together as cleanly as Luis had hopped. There were also issues with some of the thin solder tracks breaking from the board, but luis said that he is working on a solution. In my experience, this is where a liberal application of hot glue is justified.
Update number twelve showcases the final result of this version of Kazumi. Luis also defends is use of detachable side panels saying: “The idea for having detachable side panels is to allow for every user to customise the amount of control and the type of control they have over the sound of the instrument. One panel could have 4 knobs to control the envelope, another panel could have a soft potentiometer to control effects, maybe even more exotic controls like an LSR or an ultrasound proximity sensor.” Much like Project Vintage Toy Synthesizer, Kazumi is one of the most refined, and well built projects I have seen in the Design Challenge series here at Element14. This is definitely one of my all-time favorites, and I would love to build one of these myself one day!
Click to watch
With the build complete, it was time to show off what Kazumi was capable of. In update number thirteen, Luis detailed the saga of basically rebuilding all of the project’s electronics after some catastrophic failures that had occurred since his last update. Fortunately, everything that broke was easy to either fix or replace, and Luis was able to create the demo video seen above. While last minute failures may seem like major losses, they often allow you to refine the design more, and to select more robust components. Kudos to Luis for not giving up, and going the extra mile to rebuild everything so quickly.
Click to watch
Luis’ last two updates, number fourteen and fifteen, wrapped up project Kazumi. In update number fourteen, Luis demoed how Kazumi could play drum machine sounds. This is the direct result of using the Bella platform thanks to it’s ultra-low latency. While the other demo was nice, this one takes the cake in my opinion. I have a friend who is huge into weird / oddball drum instruments, and was blown away when I showed this video to him. In update fifteen, Luis reflected back on the project, and detailed what he learned over the course of the Music Tech challenge. Overall he considers this iteration of Kazumi a success, but does list several improvements that he would like to implement on the next version.
Well that is going to wrap up my coverage of project Kazumi . The current iteration of the project is definitely one of the most polished I have seen posted in a design challenge. I attribute this to having a Makerspace at his disposal, as well as having completed a lot of the initial R&D work on the first version of Kazumi. With that said, this project turned out to be one of the best of the entire challenge, and I would not be surprised if it made the top two once the judges have spoken. Thanks for joining me in this recap of project: Kazumi. I will be back next week with another Design Challenge Project Summary. Until then, remember to Hack The World, and Make Awesome!