Archive for October, 2008

WTPA v0.95 Boards Arrive

Friday, October 17th, 2008

There is some spiritual sense of wholeness, some cosmic teleology that makes me feel thoughtful about posting pictures of a circuit called “Where’s The Party At” when it’s Friday night.

Like if somehow all the drunk, attractive people on Milwaukee Avenue could see the current in these traces they wouldn’t go to a 4am bar, because they would already have been there. Or something. I can’t decide whether this parable is supposed to be more like the two young fish meeting the old fish in the river, or the young bull and the old bull seeing all the cows from the top of the mountain. Some kind of middling-stinky animals appreciating time-and-reality type business is what I suppose I’m going for here.

*Ahem* So:

The next revision of PCBs are in! You’re looking at the Version 0.95 WTPA “barebones” boards. One thing I really like about Advanced Circuits is those sharp (and handy) fluorescent notepads they give you when you order a board. It tickles my hope for nerd-success: I used to really have to hoard them — not so long ago it took Very Serious Consideration before ripping off one of those bright, rare leaves to write “Call Mom” or something. Now I can pretty much paper my walls with them. Feels good. Before you know it I’ll have a cummerbund!

I can already see it’s going to be one of those nights, so down to business: These boards are necessary because they’re the last rev before I order the hundreds of PCBs and many thou of parts I’ll need for the real production release. Hopefully these guys are pretty close to perfect. Parts are already on their way from Digikey and Mouser and should be here next week. I’ve got an OS to re-write in the meantime — I’ve been learning a lot about the GNU Linker for some other projects and as a result my MCU code is getting a lot more pretty looking, and a little more clear (to me anyway) w/r/t how GCC’s optimizer thinks about it. Practically speaking I doubt I’ll have the OS re-written in the next couple weeks: I’ve been nuts making a Playstation version of Beat The Champ (also #8 here) which needs to be done in short order and, and just got a fancy interior design related project which of course ought to be done like yesterday, too. Of course the X-Prize Lunar Lander Challenge is next weekend and I plan to get good and drunk and watch my friends at TrueZer0 put a whoopin’ on the guy that wrote Doom.
Finally, my crappy electronic music project is playing (using WTPA even) next Friday at the Hideout with my old buddies in Parts and Labor.

Rev 0.95 Gerbers Up, New Design Decisions

Wednesday, October 8th, 2008

Yo! A lot has happened since the last time I posted here. For one I’ve organized this site more logically, with the most recent *ish at the top. But the most important thing is this:

I’m done with the new WTPA boards! Done, at least with the schematics and layouts. I’m currently printing up (another) prototype run of bare PCBs to work out any (who’s placing bets?) hardware bugs before I make the *BIG ORDER*. There’s a lot to say about the new designs, but, like the Roc Boys: Speech: First Of All I’d Like To Thank My Connects–

After Bent in the spring, four brave souls bought beta versions of WTPAs and –Lordy– all four really built them! Their contributions and comments on the process were invaluable to this latest version. MAKE Magazine and its denizens have hooked me up with a lot over the last year and most recently the opportunity to talk about WTPA at American Maker at the Museum of Science and Industry here in Chicago. That in turn led to some writeups on Create Digital Music and Hackaday and the resulting diarrhea-esque inbox explosion did a lot towards cattle-prodding me into getting this project rolling along better. It also felt really good. So, big propers to all of them, and all y’all who wrote to me with suggestions, requests, and kind words. Special thanks to Richard How for sending me a properly compressed version of the demo video that I listed below.

Now, sincere acts of ass-licking aside, let’s talk electronics:

Those of you who are dorks can probably tell that there are some differences between the latest boards and the first run. In that poetic way that HTML lets us do so well, here is a Canonical List of changes and features:

  • The RAM chip is now surface mount. This was a hard call b/c so many kit builders are put off by SMT, but 4 out of 4 beta testers (and 1 out of 1 Todd Baileys) wished they had more recording time, and the old memory chip was the biggest SRAM I could find in through-hole. So there’s now 512k of RAM as opposed to 32k — 16x as long sampling time. I promise that with a little practice and anything but the crappiest iron you can solder it.
  • The latches are parallel rather than serial latches. This means that there are fewer clock signals buzzing around the board, and the data rates are generally higher.
  • Support for the onboard PWM-based synth was dropped. It was pretty lame, and besides, this is a sampler.
  • There’s another op amp. This helps some (hopefully) cool stuff happen:
    • There’s way better separation between the quiet analog sections, the noisy analog sections, and the REALLY noisy digital sections. An 8-bit sampler is supposed to be crusty, but there were some really annoying whines that were a function of crap getting into the high impedance amplifiers.
    • Better pre-amp design.
    • The sample-rate clock is now a VCO. Originally I did this so that I could route a quiet control voltage to the frequency control pot instead of a noisy audio frequency square wave, but I figured while I was at it I could include a CV input, too.
    • The gain mismatch between sampling and overdubbing should be fixed.
    • There’s an exciting new error source to tweak: CLOCK JITTER! In the spirit of exploring cool sounding sampling “flaws” (like low bit-depth, aliasing, low sample rate, etc) I included a circuit that lets the user optionally add an adjustable amount of jitter to the clock. We’ll see how that sounds, but I’m excited.
  • I decided to add a SECOND microcontroller (and lose a latch). This guy mostly handles the switches and LEDs, and generates a PSRB as a noise source for the jitter generator. This is a little bit of a splurge, but it frees up pins (and some cycles) on the main MCU for cooler things (like parallel interfaces and more RAM lines) and allows us to PWM the LEDs, which just looks cool. It also allows us a deicated SPI interface which we could conceivably interface to permanent memory, like an SD Card. That’s pretty low on the priority list for me, but it’d be a really cool feature to add later.
  • Another practical upshot of this is more switches in user interface. The menu system on the old one was a little byzantine to some people (and sometimes me).
  • MIDI is fully implemented. MAN, this was a huge improvement! I use my beta version with an MPK49 all the time and it’s SOOOO much better than fiddling with little knobs and tact switches. It’s a priority of mine to make sure this works with Ableton Live before I release the final revision.
  • Probably some other stuff I’ve forgotten.

As well as another heartrendingly beautiful, autumn-sunset-like list of FAQs, gathered from emails and the like:

  • When can I buy one?
    • Soon. Soon? Before the holidays, I think. Is that soon?
  • Why so long?
    • I’ve got an OS to re-write, and testing to do as well as a lot of logistical stuff like hounding Chinese factories to send me parts, which is about as much fun as mowing the lawn. Or HTML.
  • How much will they cost?
    • I’d rather not say on the site, mostly because I’m honestly not sure. There are still enough pending weird money chats with distributors and stuff that I can potentially put my foot in my mouth pretty seriously.
  • Where’s the source, you dingus? You said this was open source!
    • Yeah, yeah. It is. Sorry. But while I’m still tweaking everything it’s a pain in the ass to maintain a public version. The PCB isn’t final yet, the code has potential bugs and unimplemented, un-optimized stuff, and I’d rather spend my time knocking out features and fixes than answering email. This is a little selfish, perhaps, but rest assured that once I release the real thing you will likely have more gibberingly verbose C code and notes than you care to read. I promise :-)
  • How’d you learn this stuff?
    • A lot of twiddling with a scope. Read this, get an oscilloscope and a breadboard, pick an anlog project that you love, do it, then learn how assembly code works, do a project with it, and finally make friends with GCC. It really, really helps to love what you’re doing. I think about electronics when I’m on dates and stuff (although I didn’t always. Give it time. And don’t blame me for the obvious wet blanket this will toss on your pimp game).
  • Are you completely and utterly on the jock of Jim Williams?
    • As a matter of fact, I am :) I have a lot of other personal mentors to whom I owe volumes and who I won’t embarrass by mentioning on this site, like this guy who taught me pretty much everything I know about C programming.
  • Do you Twitter?
    • Embarrssingly, yes.