Hacking The Pocket Operator

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.

3 thoughts on “Hacking The Pocket Operator

  1. 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.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.