Posts Tagged ‘Design Goals’

WTPA2 Initial Hardware Release Announced! With a Pretty Case, too.

Monday, May 31st, 2010

First beta WTPA 2 release date got announced on the Narrat1ve Forum today. I promise to have pictures of a more-or-less-working printed circuit board HERE by July 1st. I’ve already got a rep at Future who I think can save me some dough in parts sourcing, which is good, and I’ve got initial hardware specs (RAM, rotary encoders, new MCU etc) done. The board is starting to come together too. Once all that happens the firmware will start to get changed and I’ll make sure the pretty case fits and looks nice.

WTPA v1.0 Up and Running, And Hosed (a little). Also Dorkbot.

Thursday, April 9th, 2009

Oh Snap! There’s the goofy silkscreen I promised last time. But don’t worry, it gets better :-)

So I’ve done my best with the above Still-Life-With-Nerd collage to try and convey, in a meaningful visual way, all the cool stuff that’s happened with WTPA since last week. One really perceptually-difficult-to-convey-yet-great thing is that I’ve put my proper rent-paying clients on hold for the time being to make room for this project full time. It’s scary, but it feels really good! And as rebellion goes I suppose it beats buying a Camaro.

Outside of that, the BOARDS ARE HERE! Sort of.

The bad news is, I found a copper bug (my fault) pretty much right away. With as many hardware revisions as I’ve done this was really embarrassing. It led to a natural dilemma — it was a small bug that could be easily fixed with an exacto knife and some jumper wires, so should I you pass that fix off to you, the kit builder, or should I pony up for an ENTIRE NEW SET of boards so that they’d be perfect?

I debated, then reordered them. This also allowed me to fix a half a dozen little cosmetic and noise-floor / routing things that I wasn’t happy with anyway. I wasn’t nuts about dropping another grand on boards, but I’d be less happy knowing that the final kits were going out half-assed. You can’t pay too much for pride :-)

Silver Lining: This now allows me to sell bare boards, which a ton of people have asked for. Originally I hadn’t planned to do this, but now I can sell the flawed boards (for cheap) with an errata sheet to those among you who are exceptional broke asses and not mess up the math and parts counts for the complete kits. It’s a small consolation, but it’s better than making them drink coasters.
Cosmetically, the boards are flawless! I got a not-quite-perfect board from PCBCart before this (for another job) and let them hear about it, and they bent over backwards to make this one dead-on.

Taiwan Alpha also came through — the pots (all 2000 of them) showed up from China early and perfect.

Then there was Dorkbot which was a blast. Above you can see me in front of a page of C code (looks like the ISR) apparently casting some kind of spell.

People geeked out, I gave away some free PCBs, I laughed, I cried, it was better than Cats.

Finally, social business done, it was back to the Fortress of Solitude with some espresso and a dream. Two great things have come out of this so far:


WTPA now has a banked sample system! This means that instead of holding a loop, WTPA can hold an arbitrary number of loops (theoretically, anyway) and can do anything it is able to do to any or all of those loops independently and all at the same time.
Practically speaking, I’ve pinned that “arbitrary” number at 2 :-). There was a lot that went into this! A huge portion of the code had to be re-written — basically all the audio and memory handling parts. The audio system now grabs data from the ADC and passes it to however many “virtual samplers” for recording, and then sums together whatever output they have before putting it back onto the DAC. Better still, the different banks can use different clock sources! Meaning that you can be triggering events with midi and controlling pitch arbitrarily one one bank, and twiddling knobs and generally being a caveman on the other, with a totally independent samples.
By far the hardest part though was having to wrap my head around implementing a memory manager (ever think you’d have to write malloc? Me neither) which was quite challenging. To be honest, I copped out a little, and it is because of this that WTPA uses only two banks for now.

All this cool functionality also has a totally new (and much more intuitive, I think) menu system. Finally, I’m in the midst of getting rid of “modality” in WTPA so that there’s no such thing as “MIDI mode” and “Manual Mode”. Anything you can do with WTPA you can always just do, without mucking around in a menu.


I crunched the money numbers! As of today, I know exactly how much all this crap has cost me, and therefore how much these magic beans will cost YOU, dear reader. I’m not spoiling the surprise, but I will say that although I have definitely screwed up some estimates in my time, I was pleasantly surprised with how this one came out. And you should be too.

I’ll keep you all posted on the nerdy revelations better for this last week. Don’t expect total coherence or an Infinite Jest command of grammar, but I got you. Oh, and I think I’m going to LA to talk about WTPA at the end of the month, so if you’re on the West Coast come say hi! More details on that to come.



WTPA v0.98 Designed! Kit To Be Released At Bent 2009!

Thursday, March 12th, 2009

God, it’s been so long I hardly know what to say. But I believe the big banner above says the most important thing :-)

It is with excitement and not a little trepidation that I am announcing WTPA’s booting out of workbench land and into the hard, cold world.
That’s right: The wait is almost over — the real deal kits WILL BE out for the Bent Festival in New York this April! Not my usual, waffly “soon”. But on a real, fixed, finite date!
That’s exactly one year since the proto came out, and would be embarrassingly slow if the latest WTPA wasn’t head and shoulders better than its forefather. But. Lest you think I’ve been idle, know that since my last post I have done several things:

  • I have become a business. Not a sissy nonprofit either.
  • I have used my extensive pull in the “business” world to do some international commerce, and have a boat full of components on the way from Taiwan.
  • I’ve set up (and am continuing to set up) an “E-commerce solution”. Although I like these about as well as I like “blogs” and “hipster runoff” they are all totally unavoidable in 2009.
  • I’ve revised the dickens out of the boards.
  • And all of this is to sell you kits!

The first run of kits will number 0-199. This figure made the most sense considering all the number crunching I did, at least for now. The retail price will be announced on or around the release date, but for the curious it will be nestled snugly somewhere between Mssrs Grant and Benjamin.
There may, at some point, be another distributor besides Narrat1ve for this kit, but they will not likely be onboard by the release date. The kit will come BYO-enclosure, although I will probably sell some parts on the site to make it easier for those of you who want a little of the guesswork taken out. The website will (has to, basically) get beautified to accomodate info for the people building the kit, and not so much my gibbering. Finally, on (or right around) the release date, you’ll be able to get ahold of the source, schematics, instructional videos, manual, and theory of operation docs all from right here.

The hot mess you see above is the test pressing of the final WTPA boards (it’s a picture of the gerber files, complements of GEDA’s Gerbv, which (sadly) unlike most of GEDA, totally rules). The real thing gets here Monday for requisite twiddling.
This is the third and last (hopefully) major hardware revision WTPA will go through. The second WTPA totally slayed the first in audio quality, latency, functionality and pretty much everything else. This last rev cleans up the rough spots that were still left on the second rev, and adds a sprinkle of small new features.
Mostly, however, it is the physically smallest and most simplified of the WTPAs to come out yet and is geared to make the kit easier to build and cheaper to sell. There is very little fat left on this design in my opinion.

Technically, WTPA has returned to single-MCU design. Shortly after I made the two-MCU rev I learned about a device called an I/O expander, which is cheaper, simpler, and more robust than a goofy UART link with a second MCU. Shortly after beginning to do battle with the I/O expander I did some much needed forehead-smacking and figured out how to rearrange the databus and replace the whole nasty expander / MCU / mess / with another parallel latch. Which of course was the Right Answer. Pie-simple, cheap, effective.
This WTPA also has its two analog subsystems (the input/output amps and the VCO / CV section) isolated with separate ground planes and ground returns to the main regulator. The last WTPA was not noisy, but I expect this one to be even better. The goofy emitter follower in the front end has been removed. This should result in better audio response, more headroom, and fewer parts.
The jitter generator has been moved into the realm of software. This does a lot for us. Most importantly, it makes the jitter work right (and sound cooler). It also introduces less HF noise onto the board, and further reduces the parts count. Finally it allows the jitter to be controlled by MIDI! This is obviously good for playability reasons, but it’s “orthoganally good” as well because the jitter clock was the only effect left exclusively in the analog domain. Other than the gains, everything on WTPA is now controllable from both the knobs and switches AND the MIDI in.
Finally, all this hardware juggling allowed me to free up a few extra pins which I assigned to a spare UART / SPI module. I have no immediate plans to expand WTPA, but if I ever did, this would be a great way to do it (say, to talk to other instruments or to add an SD card interface or the like).

This all means that the hardware is basically done changing. It also means I’m getting down to the wire on software business, too. WTPA will not go gently into the aforementioned good night — expect to see LOTS of updates here for the next month while I pull all-nighters getting this monster ready for her catwalk. There will be some ugly fixes, a huge rush of features, sample banks, scope traces, the whole nine. Exciting stuff!

And hey, thanks so much for sticking around this long. Xoxoxo.

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.