Hobbyist electronics without hypocrisy -------------------------------------- So, in my previous entry I talked about how I was excited to finally have a multimeter and soldering iron again, so I could get back into hobbyist electronics. I wrote this immediately *after* a series of long and rambling posts in which I sanctimoniously decried, well, just about everything, but in particular claimed that I wanted to gradually stter my life my life in the direction of spending less money, consuming less electricity and physical resoures, and producing less physical resources. I also railed against non-reparable, self-obsoleting consumer electronics which are literally designed to end up as landfil a few years after they are sold. I'm not unaware of the tension here, so how do I keep my favourite hobby but also a straight face? It's going to have to be a matter of placing constraints on myself. So, here's a list of rules, or at least guidelines, I hope to stick to. 1. Build as few things as possible. What this basically translates into is focussing on building things that I can get a lot of use out of (i.e. are open ended) and am not likely to get bored of. A LOT of hobbyist electronic projects are basically novelties or gimmicks, which are fun to design and build, and fun to play around with for a few weeks, but don't really give you much more than that. Anything based on cool/interesting light displays or weird sounds falls into that category, at least for me (and I've built those kind of things). The hard part here will be being honest with myself about whether I really will keep using something for years and years. 2. Build very small things. This, on average, minimises the cost of components, reduces the amount of space in my house/luggage taken up by the things I build that I can't bear to part with, and reduces the amount of waste the I end up producing if, worst case scenario, I have to scrap something. 3. Build things which consume very little power. This fits in with my general desire to decrease electricity consumption to the point that I can one day hope to generate everything I need myself. And, of course, if I build something battery powered, I will use standard batteries. 4. Build things to be repaired, and to be disassembled. Use through hole parts wherever possible, and put DIP chips in sockets. This will let me replace dead chips quickly and easily, and it also means that if I stuff up with the "build things you'll use for years" part of rule 1., I can quickly and easily scavenge chips from the abandoned project to reduce waste. Permanently commiting parts to potentially transient devices is a huge cause of waste. 4. Build things which will enable me to live the life I want to live. Part of the ascetic, ultra frugal "hybrid timeline" life I envisaged in my epic series of phlog posts was getting off-grid or close to it, so I could live at lower cost, with lower environmental impact, and be more resilient. This involves generating and storing my own power, and, ideally, having some kind or infrastructure-free connectivity with the outside world (or at least other strange people like me). I'm thinking some kind of mesh networking here. There are plenty of technologies and skills around this kind of stuff that I don't know as much about as I could, so focus on projects that build those skills so I can use them in the future to make my dreams reality. 5. Build things unrelated to rule 4 only if I really consider them "worthy". As I've mentioned, a lot of electronics projects are novelties. There's nothing wrong with distracting yourself with novelties for a while, but it's easy enough to do this in cheaper ways which don't accumulate physical posessions. A lot of other projects are basically designed to facilitate laziness. Now that hobbyist-grade IoT tech (tiny wireless sensors etc.) are affordable, plenty of people are working hard to make sure they can turn off their lights with their phone without getting off the couch, or that they get some notification when the washing machine finishes. These kinds of projects irk me. It's not that I'm above laziness, as such, there are plenty of times when I'd rather not get off the couch too. But when you think about everything that goes into building, say, a microcontroller, all the way from mining the rare Earth minerals to flashing arcane patterns of light at highly polished wafers to turn them into magical univerals machines, there's so much environmental impact there *and* so much triumph of human ingenuity that taking the end result and using it to shave mere *minutes* of extremely low effort work off an average week just seems kind of...profane? Yeah, this is a bit preachy, but these are my rules for myself, so I don't mind it. I will feel much better building things that I feel help me (and hopefully others, as I intend to share all my stuff as Open Hardware) exercise the more "worthy" parts of my abilities as a human: creative and artistic expression, scientific curiosity, wonder at the natural world, etc. If you're going to deviate from your principles, do it for something that *means* something. 6. Don't use technology that offends my values. A lot of stuff in the electronics world is incredibly proprietary. If you want to use a company's microcontrollers, or FPGAs, you have to buy a devboard or a programmer from them, and shitty closed-source Windows-only development software from them in order to talk to that programmer using some proprietary and often poorly documented protocol in order to upload the binary image, which in the case of FPGAs is again a totally proprietary thing. You don't *really* understand any of what you're doing, it's impossible or at least very difficult to build third party tools. Once the manufacturer stops supporting a product, they basically become junk. Of course, real engineers have to pinch their nose and make do with this, because their job is to make their company money by getting to market ASAP with a device which is as small and light and powerful as possible, and that means using whichever parts will make that happen, even if they are disgusting commercial junk. As a hobbyist, I have the privelege of choosing whatever parts I want become I have a production run of one unit and no need to turn a profit. I don't intend to squander this privelege, so this means no FPGAs for me (although I think an open source toolchain is slowly coalescing around some of Latice's "Ice" FPGAs, so perhaps one day). Hell, it's damn hard to find GALs/PLCDs that it's easy to work with. I am a big fan of Atmel's AVR microcontrollers for this reason. Commercial support could disappear entirely tomorrow and I wouldn't blink because there's good open source software and plenty of DIYable third party programmers. This is depressingly rare. 7. Use old parts, not the latest gizmos, where feasible (partially implied by 6). China is full of warehouses loaded with either unused old stock or salvaged parts from the 70s and 80s, and plenty of those warehouses have eBay stores (presumably targetting people repairing old stuff). Using these parts saves them from eventually being thrown out, and means that all the resources and energy put into making them in the first place is not for naught. A lot of old tech is perfectly good for hobbyist use, and actually if one of your goals is to learn and understand things deeply, older tech is usually *better*, because it's simpler. Old CPUs (Z80, 6502, 6809, 8086, etc) almost always come in through hole packages, and are fantastically non-proprietary. The instructions sets are all well-documented, and simple enough that you can remember most of them after a bit of experience. There are usually good open source tools (compilers, assemblers, debuggers, etc.), and programming them just means burning your code to an (E)EPROM. There's no secret sauce with (E)EPROMs, they are totally generic and transparent, plenty of companies made and make 'em, and you can easily build your own programmer and write your own software to talk to it (I've done both). If you salvage the parts from some old equipment, you can even *read* the ROM back and disassemble it, perhaps you'll learn something intersting. By contrast a lot of modern microcontrollers are designed so that you *can't* read the code back out with a password, to prevent industrial espionage. That's all I can come up with for now. Time will tell how well I can stick to these goals, but at least I have a plan.