Here’s the scenario: you’ve got a microcontroller-based synthesizer. The synthesizer has a lot to do. It needs to check inputs like potentiometers, sliders, and keys. It needs to indicate its state to the user with LEDs and displays. And most importantly, it needs to generate noise. The standard method of handling all these tasks is to order them in a loop and handle them one at a time ad infinitum. But, not all of these tasks are as important as the other tasks. How can they be sorted and how can the system ensure that the most important tasks are handled before tasks of lesser importance? Let’s dig in.Continue reading
A wise grizzled old engineer once told me that the most important rule of embedded engineering is, “Always use quality tools.” Without quality tools that you can 100% trust, you’ll never be certain of the source of a problem. You’ll constantly be asking yourself, “Is it me or is it the tools?” I’ve validated this engineer’s axiom multiple times, staring for glacial epochs staring at code which should work but doesn’t. I once spent a solid month tweaking and tweaking simple code only to find in the end that a manufacturer’s compiler was incapable of executing logical shifts correctly. I’ve vowed in the past never to suffer again and I reinforced my opinion during this microcontroller selection process. That’s a later part of this story. First, let’s look at how I started this selection process.
Rockit firmware 1.12 is available. The changes are mostly limited to MIDI. I’ve implemented a soft MIDI Thru. Messages not intended for Rockit, meaning on a different channel, are passed through to the MIDI Output. The MIDI channel can now be changed. To change the MIDI channel, hold down the Select button until the display starts flashing. Then, use the Save and Recall buttons to change the MIDI channel. Finally, hold down the select button until the display stops flashing and that’s it. Otherwise, I fixed a bug that caused the audio to stop when the arpeggiator was running and drone mode was entered. That’s about it. Some other transparent changes were made for an improvement in the number of clock cycles required to perform various tasks. Have some fun and let me know if you find any funny business going on. Download the hex file here.
Sprockit is now available in the HackMe Store. For now, it’s only available without the case, either as a kit or as a built synth. I’m hoping to get the case done soon, but I’m waiting on the graphic design from my better half, who has presently got her hands more than full. I will make the case design, sans graphics, available for those who will be making their own.
Arran over on buildmusicthings.com put a nice explanation of how to build Rockit’s source code and get it uploaded to Rockit on OS X. Check it out here.
I’ve been hard at work on Rockit’s firmware and am proud to put out Version 1.1. There are a number of improvements, bug fixes, and a new feature. I’ve also made a few adjustments/hacks to resistor values which greatly improve Rockit’s sound. Click through for a list of the software and hardware updates.Continue reading
The Rockit case is finally finished. I got the third and final prototype of the Rockit case in, put it together, and did the happy dance. I’m going to make some small adjustments for the production order, but nothing that will require another round of prototypes. I’m going to put up the case for pre-sale today. I need to hit a threshold of about 50 orders in order to buy it. The lead time from the laser cutter is three weeks, so these should ship in February. The cost will be $50. Click through for more pictures.Continue reading