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.