PO debugger/reprogrammer for open source firmware

Hi everybody,

I mentioned a few months ago in the PO Hacks channel that I’m developing this daughterboard for the Pocket Operator, to let you play it like a drum!

I’m about to Kickstart this, so I’ll probably mention it here again … hopefully not in an annoying way. =)

My board, the Pocket Integrator, has a couple other tricks built into it. One of them is an interface to the PO’s flashing/debugging pins. With this board, you can in theory reprogram the firmware of your Pocket Operator!

If that sounds like fun to you, then you’re probably the same kind of freak I am. Please read on!

The thing is: right now there isn’t any new firmware for the Pocket Operator. Developing that would be a rad open-source project. I want to help make it happen. It could give a second life to all the POs out there that didn’t work out for their owners for whatever reason. And it’d just allow a bunch of new possibilities. I have a bunch of ideas for alternate Pocket Operators, and I’ve heard a lot of other good ideas too.

But because this Kickstarter project will keep me busy with development/completion of my board and its firmware, I can’t really promise to spend much time on developing an open-source Pocket Operator firmware, at least not until the boards are manufactured and sent out to backers.

Because of that, I’m actually puzzled by how to talk about this feature on the Kickstarter. I definitely don’t want to promise people a cool open-source firmware that doesn’t exist yet.

But what I can do is: start connecting with any other people who would be into an open source PO firmware. Then if the Kickstarter succeeds, I can set up an early-access program to get beta boards in the hands of everybody who wants to hack on PO firmware.

Is anybody here interested in being part of that? If so, please leave a comment. Thanks!

12 Likes

very cool!

I’m absolutely interested in writing custom open source firmware for pocket operators, and putting it on github. Going to buy a second PO-33 this week so I can wipe it and use it as a test bed for uploading firmware.

1 Like

Hey man,

I’d be really interested in joining a kick-starter for this, have you got one set up yet?

1 Like

Woah this is so cool! Can’t wait to see what creative things people will make with access to the firmware :thinking:

1 Like

Yes, finally! Thanks for waiting. The prelaunch page for the crowdfunding campaign is now live!

2 Likes

Aaaaaand now we’ve launched!

2 Likes

This is a bit of a noob question, but what skills would I need to contribute to PO firmware programming? My coding skills are limited to C# scripts for Unity games at this point :wink:

1 Like

Hey you gotta start somewhere! Microcontroller programming is fun and awesome!

The PO runs on an ARM Cortex-M0+ microcontroller. Usually it’s done in C or C++. The Arduino platform is a great place to start, it’s got excellent libraries and documentation, it’s all open-source and there’s a ton of compatible hardware you can program with it. (Arduinos are programmed with a language called Processing, but it’s really just a flavor of C++ .)

An open-source firmware for the PO would likely need some realtime operating system (RTOS) features, in order to balance the timing/scheduling needs of the sound system, the sequencer, the blinking lights and the buttons. Arduino doesn’t have a lot of RTOS by default, but there’s various ways to add them. OTOH I have heard that Teenage Engineering themselves use an open-source RTOS called Zephyr for the PO, so I’m interested in exploring that.

1 Like

Hey! This thing looks awesome. I also have noob question tho. Would it be possible to write custom firmware that can also send note on / note off messages … to make pocket sized midi sequencer?

2 Likes

Once there’s an open-source firmware for the Pocket Operator, all sorts of things like that are possible.

I should emphasize that the open-source firmware project is just beginning. Right now (mid November 2023) the first Pocket Integrator units are on their way to backers. So for the next month or 2 I’m standing by to support new users and fix bugs. Once that post-launch phase settles down, I hope to get back to working on a demonstration of how to use the PI to reprogram a PO.