September 16, 2011
Beepcat: A Modest Proposal...
by Chris Randall
I've spoken to some of you in person about this idea, and received generally good feedback, but we're getting to the point in this project where we need to start committing real resources, and I wanted to open it up to the wider community for discussion and to gauge interest before taking it to the next step.
The Elevator Pitch?: Beepcat is an open hardware and software shield for the Beagleboard Linux-based SBC. The board has a 128 x 64 graphic LCD, eight pushbutton/knob encoders, and eight buttons, and has stereo balanced audio I/O with a high-quality A/D/A convertor and MIDI I/O.
Some background information: after (and indeed during, to a certain extent) our ill-fated and somewhat expensive foray in to the Euro-Rack world, we were looking in to projects that didn't involve a fairly expensive infrastructure and a... okay, I'm gonna go ahead and say "slightly crazy" userbase. There. It's out. After much consideration and discussion, we've hit upon this idea of a totally open and somewhat freeform platform called Beepcat.
The Beepcat could be purchased fully assembled, tested, loaded with software, in a nice case and ready to go. Or you could just buy the shield and an SD card containing the disk image from us and make your own case, or use our provided schematics and information from the Wiki and provided source code files to make your own or whatever. It would just plug right in to any existing Beagleboard; we have examined the idea of making a custom Beagleboard that doesn't have all their video and shitty audio and what-not (the Beepcat shield has its own audio codec, as the one on the Beagleboard is simply not suitable for pro audio) and this is something that we believe can occur.
The Beepcat software would consist of a custom Linux kernel that kicks a Beepcat Bootloader (BeepBoot) that allows you to choose one of the available programs on boot. The disk image we would provide as a stand-alone Beepcat environment would have programs that we made in-house (and which would necessarily not be open-source, for obvious reasons), along with a stereo effect framework with code and a monosynth with fully commented code to be used as starting points.
The shield itself would have, as I said, MIDI I/O and a much higher quality stereo balanced audio I/O rig, and the LCD display and controls, all of which are controlled by an ATmega; this wouldn't be written in Wiring, so you couldn't code for it just like for an Arduino, but it wouldn't be that dissimilar.
Coding for the Beepcat would not be that difficult. (With the caveat that "not that difficult" is a loaded statement when it comes to DSP.) With a full Beagleboard backplane, you can code directly in C++ or C on the Beagleboard itself, using the Geany IDE. That's how I wrote that synth above, right on the device. With the full monty provided, you could use the hardware plane for any number of things; it would make the Beagleboard in to a whole multi-media powerhouse.
So, in a nutshell, what Audio Damage would provide:
1. Two different packages to purchase (Full assembled tested ready to take on stage Beepcat, Shield + SD card only)
2. Beepcat Linux kernel and starter software as a downloadable image. This wouldn't include any of the AD-coded synths, but would enable you to use other people's Beepcat programs.
3. Full Wiki for coding for Beepcat, a repository for non-commercial programs, a method for selling commercial programs (e.g. if DMG Audio wanted to make and sell a high-quality compressor or EQ for Beepcat, we could handle the transaction.) The repository would also contain the Gerbers for the shield, a BOM, and firmware for the ATmega, should you want to just make your own from scratch.
Anyhow, that's the general idea. Eric and/or Adam will jump in and correct me if I make any technical mistakes, and can address any deep technical questions and comments. We are totally open to any and all ideas at this juncture. We're just getting to the prototype stage, and now's the time to open the floor for comments and to see what kind of interest there is in this concept. We've seen some rather spectacular failures of this idea (the Chameleon being the most notable example) but that was before the whole DIY / Maker scene really got traction, and I feel it's a different time. MeeBlip opened the door, and I think that we'd all benefit from something like this.