The number of easily usable and programmable microcontrollers is small, so when selecting one for a project there are only a handful of very popular, well documented chips that most of us reach for. The same can be said for most small companies selling electronics as well, so if you reach for a consumer device that is powered by a microcontroller it’s likely to have one of these few in it. As a result, a lot of these off-the-shelf devices are easy to hack, reprogram, or otherwise improve, such as the Robot Pocket Operator.
The Pocket Operator is a handheld, fully-featured synthesizer complete with internal speaker. It runs on a Cortex M3, a very popular ARM processor which has been widely used for many different applications, and features everything you would need for a synthesizer in one tiny package, including a built-in speaker. It also supports a robust 24-bit DAC/ADC and all the knobs and buttons you would need. And now, thanks to [Frank Buss] there is a detailed teardown on exactly how this device operates.
Some of the highlights from the teardown include detailed drawings of how the display operates, all of the commands for controlling the device, and even an interesting note about how the system clock operates even when the device has been powered off for a substantial amount of time. For a pocket synthesizer this has a lot to offer, even if you plan on using it as something else entirely thanks to the versatility of the Cortex M3.
How many people would even notice the difference between programming a Cortex M3 vs. a Cortex M0+ vs. an AVR vs. an MSP430? You’ll notice differences in code size and execution speed, sure. But unless you’re writing Assembly, all the difficulty in programming a microcontroller lies in manipulating the peripherals, and those aren’t determined by the core architecture.
I’ve written code for Cortex M3s before, but it would have zero portability to an EFM32 because it was written for a PSoC 5LP. The same goes for experience with writing for that processor — my C code isn’t designed around an instruction set; it’s designed around sleep modes and timers and UARTs and DMA controllers and ADCs. This crap just sounds like straight advertising copy from ARM.
The interesting article will be when someone actually gets some code running on a real Pocket Operator.
Please correct the article, I don’t know who created the website http://hackingthepo.weebly.com , I didn’t create it, I just linked it from the EEVblog article to compare it to my photo and pointed out the slightly different microcontroller.