Posts Tagged ‘Art Shiz’

Rainbow Poo, NTSC Synths, and Maker Faire

Monday, September 23rd, 2013

This last weekend, analog man-about-town Paul Rako asked me to show off some nerd stuff I built at the Atmel booth at Maker Faire New York.

To be totally hashtag-real-talk about it: I was skeptical. I have a lot of complicated feelings about Maker Faire, many of which come out when I’ve been drinking, and which I shall save to share with you, dear reader, until we have a beer together. But. I think Paul rules, and I also owe him big time for letting my unwashed self crash the Analog Aficionados parties AND I also use a ton of Atmel parts for both work and fun AND it seemed like the sort of “networkey personal brand-ey” thing that, while it makes me want to slice myself, is usually a good idea in these troubled and humanistic times.

Here’s the thing I showed off:

Color Me Baddly Analog Video Synth Mark 6

It’s an analog video synthesizer — the sixth prototype I’ve made of one in fact, and this one is finally starting to get OK (you can see some earlier ones if you dig back on the site). It generates NTSC video natively and can spit out either composite or S-Video, most of which looks like so much rainbow flavored wee. But I’m fond of it. The “synthesis” part is basically a processor (an Atmel AVR Atmega, programmed in C and a bit of assembly, at least for now) which generates sync, blanking, and colorburst and a bunch of op amps and transistors which encode control voltages into various video parameters. The majority of the board is taken up by oscillators and signal processors which make or shape incoming waveforms in such a way that they look cool when translated into video.

The synth itself stood up to tons of small children beating on it (some of whom were impressively bright and discovered amazing patches I never would have, and some of whom just wiped peanut butter on the board), I met a bunch of amazing people, and I ended up having a great time despite my initial hey-you-kids-get-that-3d-printer-off-my-lawn attitude. So. THANKS ATMEL and THANKS PAUL you were totally right. And to the grinning hellion with the jelly-hands: I’ve got your number.

The following photos pretty much describe how it went.

This kid was a genius who made at least two amazing patches that I unceremoniously snatched later. His mom also cracked a joke about chirality.

This is the face I make when I steal intellectual property from children. G-UNIT!

Close up of your standard-issue unicorn vomit.

Also, this happened.

Big Ups to Adam and Lexie for taking such great photos and providing stellar moral support.

Vectors, or “My Man Inf Left A VEC and a 9 At My Crib”

Thursday, August 8th, 2013

So awhile back my man Andrew Reitano dragged home a vector monitor from an old Asteroids arcade cabinet.
Here’s what we’ve done with it so far:

It was a long road to get there!
For those of you born after the cold war, Asteroids was a hugely popular game by Atari which used a now-obsolete style of monitor. If you haven’t played one in an arcade you owe it to yourself to do it, because they look like nothing else. The phosphor artifacts are trippy and beautiful.

Anyway, the trick with these things is that they get driven more like an oscilloscope than like a normal TV or raster monitor. Meaning, you send them voltages and deflect an electron gun to a certain spot on the screen, rather than drawing an image out line by line like an NTSC or RGB display. This presents all kinds of problems.

First, you have to move this electron gun at an even rate, and you need to do it on a halfway stable and reasonably fast way. I think Asteroids drew at 4MHz, meaning you needed to be pushing the gun that often AND slewing a beam that fast. After blowing up a handful of output transistors in the monitor, we came up with these:


That’s a Xilinx Spartan-3E FPGA on a Nexys2 dev board which Andrew programmed to be our vector generator, and a DAC/Amplifier board I designed to sling the beam around at 20 MHz and 12-bit resolution. First thing we did (this was with some gnarly R2R dac) was get a cube to display on the scope (I think the monitor was still fried from earlier “tests”). It kinda sucked:


Encouraged, we got drunk, fixed the monitor, Andrew wrote a rasterizer and we put the patron saint of Bed Stuy on the screen. It sucked less:


By then we were pretty sure we had a new arcade game in the works and the heavy lifting started. Andrew tuned the hell out of the VHDL and got the FPGA tweaking all kinds of gun parameters. I fixed the amp a couple times to get it running that gun right, and both of us spent a lot of time coding in C. I’ve wanted to make video games ever since I was a kid, but somehow this was my first foray into coding 3d rotations, particles, dynamic memory, and a lot of other generally non-embedded stuff. It ruled. We got to the point where we could rudely waste 3d polygons:


We wrote a storyboard about the Soviet Union blowing up Chicago, threw in a bangin track by Nicholas “Windbreaker” Read and coded a chaingun. Lastly, one awesome thing is that since we’d basically made a vector “video card”, it was not too hard to generate a commlink / stores display / HUD using a monochrome VGA display, running as a secondary monitor. It looks amazing!

We’re pretty sure we’re on our way to a totally kickass arcade cabinet once we get the real game coded. If you know what we should do with this hot mess once we’re done, hit us up!
TB, August 2013

Whitney Dancing Stand Development, Part 3

Tuesday, April 26th, 2011

What a marathon.
So, in the last week or so we solidified the designs and there is a horde of 20-somethings with cool haircuts in my apartment running power drills.
— Nixed the PID loop in favor of a stepper specific approach. We now calculate error in steps once a turn and adjust for it.
— Added vibration dampening grommets to the motor mounts to keep noise down.
— Added covers for the AC lines (so you can’t climb under the new media art and lick mains current)

Here’s one underway. That vented thing is an enclosed switcher to run the stepper and electronics.

Building it...

And here’s good old Lucky Number 13, all set to go:


Lastly, before kicking these things out the door I made some videos of them correcting for errors. By which I mean “beating them up”. If you get a chance to do this at the Whitney and the guard isn’t looking, you should do it. More videos on the youtube channel.

Beer o’clock,

Whitney Dancing Stand Development, Part 2

Tuesday, April 19th, 2011

Sorry for the short posts. These are long days.
The real dancing stand controller boards are here!

Legit Stand Boards

The real magnetic position sensing encoders, too:

Legit Encoders

The other side of those encoders is a magnet (read the datasheet if you’re curious — these parts are expensive and awesome and totally worth it), and that magnet has to be centered very precisely over the IC. Any eccentricity or slop or variation in Z height will make for bad accuracy. You wouldn’t guess from the datasheet but these parts are actually pretty forgiving. Nonetheless, I had a buddy of mine (Joe, over at BreadBox Studio) turn me some ABS magnet holders which keep the magnet aligned with the shaft of the stand. They also space the magnet off the shaft itself (the shaft is steel and screws with the magnetic field as the encoder wants to see it) and provide some registration holes. The magnets are press fit into the ABS turnings. Like so:

Magnet Holders

Thanks, Joe! Now I gotta crank out 17 and make sure they all do what they should. Wish me luck….

Whitney Dancing Stand Development, Part 1

Sunday, April 10th, 2011

So Cory has a bigass show coming up at the Whitney this summer, and I’ve got SEVENTEEN!! dancing stands to build. They’re different from the last batch in that they have to run synchronously. The idea is to use a PID control loop and sync them via RF. They run on steppers, mostly because it was easy to find steppers that were torquey enough for the application and still fit under the dancing stand easily. The MCU is an Atmel, the RF link is by LINX, and the stepper driver is a TI DRV8xxx part.

Here’s the protos:

Stand Controller Proto

The system has a lot of slop, and I decided to do positional feedback using an absolute position sensing magnetic rotary encoder. This one is by Austria Microsystems. The specs on these are INCREDIBLE, but mounting them takes serious care to get that accuracy. I made a bunch of jigs, you can see this one all strung up under the stand’s driven leg. We’ll see how well they work…

Encoder Jig

Oh, yeah. And we made more bowling controllers. Or mostly my assistant Daniel did. These guys are really getting pretty cookie-cutter:

Moar Bowling

I feel pretty good about the protos of those stands, but my crystal ball predicts something will be screwy. We’ll see.