That breakout board, assembled

I managed to assemble one of the breakout boards that came in the mail from OSH-park today. (I screwed up the other two … but 1/3 appears to be assembled and working correctly.)

Here you can see the board attached to an STLink_v2 programmer, with pin PB0 connected to an LED.


Thai Cave Rescue

I hear now that the Thai navy seals have rescued 8 of the children trapped in the cave. Here’s hoping that the remaining children and their coach can be rescued. Good luck.


Update on 11 July: They’re all out and safe! Hooray.

CNN’s story on the matter.

My First Circuitboard with KiCAD

I made a simple breakout board for the STM32F732 microcontroller. I wanted the pins to be arranged in something like an organized fashion. The pin groups are arranged by name and function (PA0-PA15, PB0-PB15, PC0-PC15, and various control pins.) The STLink programmer should be able to plug right into the top-right four pins to program the controller. The controller should be easily powered by supplying 3.3V and ground to the VCC and GND pins on the top right.

This resulted in a bit of complexity in the routing (which you have to do by hand in KiCAD – no autorouter). I figured out a technique to make it all fit on the board. OSH Park came back with a price of $38 for a minimum run of 3 of these circuitboards. In two or three weeks, I’ll see how well this breakout board works.

circuitboard STM_simplebreakout STM_simplebreakout2

This is part of a proof-of-work that I understand PCB technology, microcontrollers, and PCB CAD software. I’m not an electrical engineer by education, but I’ve picked up quite a bit of it in my work. The KiCAD project files can be downloaded from my site:

PS – yes, I know the ground plane is broken up, and held together by traces. This is my first attempt – I may be able to clean it up a bit in post.

Solder wick

How much solder would a solder wick wick if a solder wick could wick solder?

I still have no idea how to get these things to work …. 😛

LA County Airshow, 24 Mar 2018

Weekend Project: Raspberry Pi Cluster

This device will not self destruct in 10 seconds (fingers crossed). So what is it?

It’s a super-computer! Well, okay, not entirely. It *could* be a cluster supercomputer, if these raspberry pi’s came with more ram. Each board actually has enough processing power to make a decent cluster. However, each board only has 1GB worth of RAM, and there’s no easy way to upgrade this – the architecture of these single board computers isn’t very extendable in that respect.

If you could get a raspberry pi with expandable memory slots, or if each came with, say 8GB of RAM, you could chain them to form a very nice supercomputer cluster.

So why do I want it? (Because I’m a neeeerd.) It is set up like a supercomputer. Right now I have the one head node (hedgehog), and two computing nodes (hedgehog_n1 and hedgehog_n2). I intend to play around a bit with the high performance computing software libraries (MPI, petsc, and so on) at use at work on a “supercomputer” that I own and control. I also want to further self-educate on how to set up, administer, and write software for supercomputers.

Further evidence of my nerd credentials: Stare into the abyss that is my desktop. Yes – that is an image of several VNC sessions with the nodes of my device, running inside a linux virtual machine, running inside my main windows PC.

Computers all the way down!

Computers all the way down!

The total cost of this project, btw, is ~$150. If I want to start throwing together a real supercomputer, I imagine the software and architecture will be the same, I’d just need to upgrade the hardware. (There are nice higher power small-form-factor fanless computers available from IBM, but they’re more expensive.) I figure I’ll shake the software products out first, then scale up.

Electronics Lab Pics

Finally found where I had stashed these photos:
October 2017: I’m reassembling my electronics lab in the new house I’m renting.
Here is that 3d printed dowel-truss shelf that I made. I wrote some python scripts that create STL files for dowel-truss brackets. You specify the nodes, it gives you what to print, then you cut the dowell rods and assemble.

Electronics Lab

Electronics Lab

Here is the older, messier version: 2016


Petrified Forest: Sep 2017

These are some pictures taken at the petrified forest, as I traveled from Ohio to Palmdale CA for my new job. I actually zigzagged around the country a bit to visit some friends and family in Kentucky, Colorado Springs, and Los Alamos.

Pictures were taken 26 Sep 2017. It’s been about a year: I really need to buckle down, sort these things and post them, like I told myself I would. 😛

Brief stream of consciousness on driver-less cars

Every so often I’ll see an article extolling the future of driverless cars and threatening the obsolescence of people owning and controlling their own vehicles. The fact that all of these articles are playing on fear is telling: They aren’t enticing customers, they are threatening them. Nevermind the technical issues surrounding attempts at autonomously navigating a chaotic and complex world: My problem with the way “driverless cars” are being pushed is that they’re being *pushed*. They aren’t being sold to customers the way any of industry’s great success stories are being sold. Think about the personal computer. Think about the internal combustion engine.

Think about the way Windows 7 was sold to customers as a personal operating system, vs. the way Windows 10 was pushed on them (breaking computers and wrecking data in a process that I’m amazed Microsoft got away with legally). The way users are constantly being threatened with “dumb info-appliance terminals that you can rent as a service”, aka “you don’t need that much computer.”


With any successful product which actually changes the world, people have an incentive to buy it because it is a tool they can use to solve their problem. It is *their* tool which *they* can use to solve *their* problems. If someone comes up with a driverless system that lives in the dashboard of a car the user owns, (and therefore *controls*) that the user can turn on and off at will – a sort of advanced cruise control (and given the limitations of computers understanding the world, that will be *necessary*): That would be a way to sell automated cars to customers. Pushing for a utopian (almost all utopias are dystopias because they are fundamentally disempowering) future where “you don’t need a car, you can rent from some fuedal overlord who owns all the cars” is exactly as attractive to me as the people pushing dumb terminals “you don’t need a whole personal computer – what are you going to do with it? Just rent applications from the cloud.”

In one presentation by a grad student working on an avionics problem, a business jet crash was outlined: A pilot was trying to land a business jet but couldn’t deploy the landing gear. The jet continued circling the tower while the pilot fought with his computer. Apparently the avionics were programmed so that the pilot couldn’t deploy the landing gear if the flight computer thought it was above a certain altitude. The alitmeter wasn’t working because the pitot probe got clogged with something while flying. Eventually the pilot ran out of gas and had to make the attempt: He belly slid across the runway and spun out into a hangar.

The lesson the person doing the presentation *wanted* us to take from this was “we obviously need *smarter* avionics that can combine two or more pieces of info!” A professor from the combustion lab stood up and asked the obvious: “Why didn’t the pilot have an override?!” The grad student stared at him like he had grown two heads: “Why would you even *want* that?!”

There seem to be two deep philosophies at war in how products and systems are being designed in the modern world. In one, technology is supposed to empower the user to do something, in the other technology is supposed to control the user and funnel him into some pattern of working or living that the designer wants. One is something people will actually buy of their own free will. The other is something they’ll have to be forced into somehow. (Or perhaps, one is something the operator would buy, the other is something someone who thinks they ‘own’ the operators might buy if they are sufficiently arrogant about “replacing them”.)

There seems to be a fundamental lack of respect for the customer, owner, operator, pilot, what have you.

Flying bathtub! :D

Take a look at this! This is all kinds of awesome.

One thing bugs me about these multi-rotor vehicles though, and it’s been bugging me the whole time various inventors have been showing off their stuff: The designers are always running things off of batteries! That vehicle couldn’t have had much more range than what was depicted on batteries.

That’s fine for an awesome demo that flies around the block. But there is absolutely nothing, in terms of engineering or technology, preventing these from being practical vehicles: Except the designers’ strange refusal to put a combustion-driven generator (microturbine, lawnmower engine, whatever!) on it. With it, you have payload capacity, endurance, and range. Without it, it’ll just be the *suggestion* of a flying car.

(I realize that if you took any of these in the direction of a practical vehicle, the full fury of $bureacracy would descend upon the hapless inventor: But that’s the real problem, isn’t it?)