Listing my projects on tatjna’s blog reminded me that I have a Project 0 – keeping the Mitochondrion working. Currently, the reset port needs replacing. It’s a two quid part, but an hour job to tear down the end and replace the old one.
This is forcing me into choosing between fixing the latest problem with the v3.5.4 and making a newer, shinier one. The current one has been banged around enough that I’ve fixed most of the fixable flaws, and it’s reliable enough to work through Kiwiburn and then Foocamp without surgery, and that’s not bad, considering what it does.
Still, there’s some fundamental limits and problems with the current one:
- Unreliable hardware.
- Unreliable software. Naked pointers in BASIC and only 26 bytes of variables?
- Last generation driver chips. Slow PWM means no smooth colour fades, limited colour choice per LED, and no good way of resetting driver crashes.
- Slow microcontroller, to the point where generating patterns based off sound isn’t going to happen. Hell, displaying any patterns that aren’t preo-processed isn’t going to happen. It’s running interpreted BASIC, ffs.
Thus there’s going to be a new one (after I’ve finished the house, Fannies, My Dick, and possibly a few other things). The question is, should I go for the v3.6 or the v4.0. V3.6 would just be an incremental improvement on the existing model. The new LED driver chips (PCA9635‘s) are much the same, just with faster PWM, better colour control on each LED, and an external reset line. Light board designs won’t have to change much. I could use the new model of Picaxe (Picaxe 40X2, the microcontroller than runs it all), twice the speed and more memory, same development environment and will drop in to the existing board designs. New ends and circuit boards can be made by others (Ponoko & Olimex), using stronger materials and better precision than I can manage in my kitchen, which will help the reliability. And that would be nice.
But there’s a nagging in my brain. The LED spacing is set by the need to fit the driver chips in between them, and the new chips are only 10 mm long, so the LED spacing can come down and I could squeeze a over hundred LEDs in there, not forty. Enough of the new drivers can fit on the internal network (I2C) that the microcontroller could control all those LEDs. But then, the Picaxe would need to feed out fifty times as much info when it’s only twice the speed of the old one. So I really should put an Arduino in there, which means new development environment, new language, all new code. And if I’m going to do that, then I might as well implement the better status display and better battery management too.
So it all leads naturally to the version 4.0, which will be a major step up, and not the minimal evolution that I wanted to build. Ah well, I can only console myself that it’s not the version 5, which may require metal-cored circuit boards for heat-sinking, active cooling, and possibly a welding visor for the user.
In the meantime, can anyone tell me why no-one sells a red-green-blue-amber LED that’s not phuge*? I just want a 20 milliAmp LED. RGB is nice, but RGBA just looks so much better.
* – Yes, there’s this monster 40 Watt RGBA in a 9×9 mm package. That one LED kicks out more light than the whole of the current Mitochondrion. It also requires major heatsinking to stop it melting and four constant current drivers per LED to feed it exactly the right kind of electricity. Thus lots of hassle. I’ll save that for version 5.