Archives for category: Uncategorized

Slobberchops (possibly aka Moop Man) and I added the final touches to the Magic Mirror literally minutes before Biggus Dickus helped us box it in ridiculously heavy plywood and pack it on the truck for shipping to the playa. We weren’t sure it would work outside the lab. Would it break in shipping? Would a show-stopping bug emerge? It was all worth it, because it totally worked.

A couple of qualifications about the video: the shadow effects (constantly shifting shadows behind the diffuser added depth to the image) are only barely visible, but they were amazing when you stood in front of it. The camera couldn’t handle the colors well (it tends to blow out when the exposure shifts quickly), but in person, the colors were very smooth & creamy, with the dithering doing its job remarkably well.

Every night many people played with it. This was my first piece of big art on the playa, and I am still pretty amazed at how happy people were and how much love they gave us for it. Yay!

Note to self: 12v/100Ah batteries are Very, VERY Heavy to schlep, but solar is a wonderful way to get DC power. It Just Worked. We got ~400W/hour, and the batteries were charged every day by 10 or 11am. It definitely made me think about how much more blinky goodness we could wlre up.

I’ll write up the build details at some point; there are a lot of photos, and quite a few more videos with equally bad color. But meantime, let’s all dance with the lights.

The LEDs are really bright, which could be irritating. We need to see what the video feed looks like, but I’ve been thinking a bunch about how to spread the light from each pixel into a blurry blob. Or, even better, smear the light into a blob that somehow changes.

Earlier diffusers were either crappy looking or too heavy; I loved how the translucent rocks look, but they would be ridiculously heavy. Photo diffusion paper looks good, and so do sheets of HDPE cut out of shopping bags, but they’re flat and static.

What if we had HDPE bags crumpled on thin rods, like a trash skewer on a BBQ. With a diffuser on top, the bags would cast irregular and moving shadows on the top diffuser. Like this:

So my current idea is to drive say 10 rods, each with a stepper motor, with all the motors driven by a Pololu Maestro. We’ll probably control the Maestro with python (as in this example). An example of a full pytohn-on-Pi-Maestro-servo setup is here.

I don’t quite understand yet how to chain the motors to the rods. However, turning them slowly, and having them stop for long periods, might make the effect all the more interesting.

For the future: a python library to talk to the Pi’s GPIO pins is here.

My friend Wheat-Thin built a box for this version.

Wheat-Thin's box

I painted it white and taped six strands of 10 LEDs each to it.

Front of Mirror with LEDs

The signal and ground wires are soldered to the top of each strand, and 5v and ground to the bottom of each strip. The wiring is pretty simple.

Mirror wiringThe signal and ground wires from each strip go to the Fadecandy (FC, the board in the upper right on the white pad). I made a 6×2 wiring harness with female headers, and put an 8×2 male header on the FC for the connection. Power is supplied by the 8.4v NiCd batter on the bottom. All the grounds go to the ground bus on the black pad on the right.

Ground busThe bus is a piece of 1/2″ copper pipe smooshed flat with wires soldered to it. The pipe is secured to the box with 10 lbs double-sided tape on top of electrical tape which is on top of duct tape (electrical tape sticks to duct tape but not to wood; the duct tape sticks to wood).

Power runs up the left to an on/off switch, then to a 7A voltage regulator (on the white pad, center left). A voltage monitor is attached to the regulator’s Vin headers to keep track of the battery’s power. 5v comes out of the regulator to the power bus (on the red pad). The 5v and ground wires from the LED strands are attached to the buses. It kind of works.

A couple of notes: the diffuser is just a sheet of grocery bag HDPE I’ve taped over the LEDs. I’ve set the LEDs to use a max of 50% of their power, and they’re still much too bright.

Lots remains to be done: the camera needs to be attached, configured, and understood; the Raspberry Pi needs to be mounted and powered from the battery (not simple, needs another board); the software needs to do something comprehensible (maybe I can figure out the python stuff?); and we need to come up with a better diffuser than this piece of plastic.

However, lots has been accomplished. I’ve figured out to make buses out of copper (and that will handle the load) for the production version. I’m starting to get a better sense of what the diffusion needs to do. I understand a little more about the Fadecandy server configuration (the explanation at Adafruit is the best).

This year’s theme at Burning Man is “Carnival of Mirrors.” I thought: I can build a mirror. These are my first steps.

I was inspired first by the combination of two projects. First is Adafruit’s 1500 pixel blinky curtain. This massive number of pixels are made manageable by the Fadecandy board. From the inventor’s page (linked left): “The Fadecandy Controller hardware drives up to 512 LEDs, arranged as 8 logical strips of up to 64 LEDs each. It connects to a laptop, Raspberry Pi, or other embedded computer over USB.”

Image by Micah Elizabeth Scott

Image by Micah Elizabeth Scott

The next inspiration is a piece I’ve seen online (and lost) of a camera + Raspberry Pi + LED array mirror. Apparently there’s also one at the Exploratorium but I haven’t seen it.

The idea is to feed a video camera’s image to a big LED array (perhaps 50×30 pixels) so that the participant’s image is reflected in a highly pixelated, mediated version. Lots of diffusion, no visible pixels; this is the post-pixel era. The Fadecandy drives new-style Adafruit LED strips.

First, a brief review of blinky tech evolution. Once upon a time, LED strips had two leads, one for clock and one for data. The new style strips have only one lead for data. This is better, but that means that the first prototype is Arduino-based, not Fadecandy-based. I had a bunch of the old style strips around, so I cut them into 6-pixel lengths, and made this.


All the usual pieces are there: a voltage regulator, a power bus (on the breadboard), an Arduino Mega, and lots of poxy soldering. On top I added a diffuser made of translucent rocks.

Ok, that’s the basic idea. I have a lot more work to do on the diffuser. Diffusion paper? Rag vellum? HDPE? Not solved yet.

The next step is to test the Fadecandy. This was way, way easier than I expected:

The Adafruit tutorial on Fadecandy, the Fadecandy server, and the Processing language make this essentially trivial. Next up: a 10×6 array connected to the Fadecandy, in a proper frame, integrating the camera and Pi, and better diffusers.

I’ve been to the playa in RVs many times, and it always sucks. The RV cabinets break, the bathroom smells horrible (even if you don’t use it, which you shouldn’t), the grey water is always overflowing, it uses a zillion gallons of gas, and it always costs way more than it should.

So last year we built hexayurts, and they rocked. We started with a little model.


The idea is that the six-sided building is created entirely (or nearly so) from 4’x8′ fiberglas panels. It folds flat for shipping, then it folds out on the playa. I’ll just narrate our building process briefly here because this is all very well documented all over the net. In particular, we recommend Camp Danger’s howto videos.

First, prepare yourself for a lot of taping. You spend hours, even days, cutting panels and covering the exposed fiberglas with massive sheets of giant packing tape.


Then the pieces get taped together. There are two kinds of taping: the permanent hinge taping, and the installation-specific taping. I’ll leave all the explanation to Camp Danger, but suffice to say here that you have to pay close attention.


We added a plywood cover to the door side, and that turned out to be a big win. The plywood attaches to the door by bolts and big washers which can be seen in the picture below.


Then we cut windows into two sides. One of the many advantages of hexayurts is that they pack flat. This helps SO MUCH.


We were only on the playa for 5 nights, and it wasn’t all that dusty in 2014, so we didn’t test the yurt as intensely as possible (I don’t have any on-playa photos). However, it was spacious, cool, and easy to setup. I can’t imagine a better way to habitate. Highly recommended!

Like many, I freaked out this week when I read that Verizon admitted to throttling connections from Netflix.  But then Verizon denied the rumor. Maybe the best answer is to keep a close eye on download speeds from different points on the net.

I’ve just switched home ISPs from to Astound. I loved Sonic’s politics, and their customer service was great. However, the fastest I ever got from them was 18Mb/s down, and about 2Mb/s up. For the same price, Astound gets me much better speeds, and as far as I can tell, Astound’s politics aren’t horrible. They’re not AT&T, anyway.

Server d/l speed, Mb/s
AWS, East 67
AWS, CA 100
AWS, OR 90
Linode, NJ 61
Linode, GA 52
Linode, TX 63
Linode, CA 80

Speed is very closely connected to geography, and that seems reasonable.

I think there’s room for a daemon app that runs a few times per week against a huge database of sites. Basically crowdsource speeds from all over the net. The app should fire at random times, and grab a site or two randomly from the database, then get a speed check. It would then report the speed , the ISP, the protocol, and the IP address of the checker with a timestamp to a central database. This would provide a crowdsourced monitor of what ISPs are doing with our packets.

Taking clean water to the desert is necessary, but then what do you do with the gray water from showers, dishwashing, etc? You can put it in tanks and bring it home, but that’s heavy and messy. There are pump-out services, but I consider that cheating.


Evaporate! P and I designed these towers in early August, and with some help, I assembled them on the playa. These towers are made of 7′ deer fencing and rebar, guyed to the truck with climbing webbing. They sit in kiddie pools, and a 12v bilge pump in each pool drives water through a hose to the tower’s top and over a snow saucer. Power for the pumps came from 110v AC provided by Camp Soft Landing and 12v adapters I got from ebay. The water runs down the sides of the tower, soaking the burlap. Sun and wind pull the water off the burlap. Excess water runs back into the kiddie pool to make another round.

evap-2013-trucktopNote the handsome blinkies (75 12mm WS2801’s from Adafruit) on the guy lines. I used Funkboxing’s LED effects with a bit of tweaking. They looked great!

These systems took care of gray water for the Full Circle Tea House and about 150 BM participants. The average was 20-22 gallons per day per tower, for a total of about 205 gallons. That’s over 1600 lbs.

evap-2013This year worked a lot better than last year. One key finding is that the kiddie pools are huge, and with them the reservoirs on the bottom, it takes a lot less attention to keep the reservoirs full compared to last year when we used a 5gal bucket as the reservoir. The combination of full-time pumping and the taller tower led to a 30% increase in daily evap rates. Good stuff.


This video is an example of my questions on this thread at the Adafruit forum.

The power and ground wires are getting set up in the blinky coat.

blinky-coat-power-bus-sewingHere the conductive thread is sewn through the coat, looping a pad from each NeoPixel to the appropriate power or ground wire. As noted in an earlier post, the power and ground wires have little cuts in the insulation so the conductive thread can make the contact. Here’s an overview of how things are as of yesterday:

More to come!

As in last year’s model, the LEDs draw 60mA (at 5V) per pixel. I’m now planning 76 pixels, so that’s about 4.5A — if they were all on bright white at the same time, which is rare. Nonetheless, that’s a lot of power.

I’ll bring the power from the battery to the pixels in buses, that is, relatively thicker wires (22AWG) that can handle the current. The positive (red) and ground (black) have little cuts in the insulation through which the conductive thread wraps each pixel to each bus. Here’s an image of the buses:

blinky-power-bus-markedAfter I marked them, I used a wire stripper to make a little break at each mark. Then I separated the sections of insulation just a tiny bit, lining them up, so the pixels can be wired into them.

The buses connect to the battery through voltage regulators that bring the power from whatever it is at the battery (7.2V in the batteries I’ll use in the coats, but 8.4V in the battery I’m using for testing) to stable 5V that the LEDs need. The FLORA can take whatever voltage we give it. The wiring from the battery looks like this.

blinky-power-harnessStarting on the far right, the molex plug connects to a battery. The negative (black) wire goes to the wire snap on the top; the wire snap connects all the wires in the snap: the battery ground, the ground wires for the input for the 3 regulators, and the ground for the JST that powers the FLORA. The red wire for the molex connects to the positive for the 3 regulators, and the positive for the FLORA.

The regulators each handle about 1.5A, so we use three of them. We’ll bring the positive from each regulator to a subset of the LEDs. The ground is common for all of them. The 4-pin JST on the bottom left will connect to wires that carry the current to the buses on the back of the coat.

Here’s an overview: