It seems like hardly a day goes by that doesn’t see some news story splashed across our feeds that has something to do with Elon Musk and one or another of his myriad companies. The news is often spectacular and the coverage deservedly laudatory, as when Space X nails another double landing of its boosters after a successful trip to space. But all too often, it’s Elon’s baby Tesla that makes headlines, and usually of the kind that gives media relations people ulcers.
The PR team on the automotive side of Tesla can take a bit of a breather now, though. This time it’s Elon’s solar power venture, Tesla Energy Operations, that’s taking the heat. Literally — they’ve been sued by Walmart for rooftop solar installations that have burst into flames atop several of the retail giant’s stores. While thankfully no lives have been lost and no major injuries were reported, Walmart is understandably miffed at the turn of events, leading to the litigation.
Walmart isn’t alone in their exposure to potential Tesla solar problems, so it’s worth a look to see what exactly happened with these installations, why they failed, and what we as hackers can learn from the situation. As we’ll see, it all boils down to taking electrical work very seriously and adhering to standards designed to keep everyone safe, even when they just seem like a nuisance.










While this promise might seem abstract, consider the movements made by a 3D printer. Many styles of this machine rely on motor-driven movement along three orthogonal axes: X, Y, and Z. We usually restrict individual motor movement to a single axis by constraining it using a precision part, like a linear rod or rail. However, the details of how we physically constrain the motor’s movements using these parts is a non-trivial task. Overconstrain the axis, and it will either bind or wiggle. Underconstrain it, and it may translate or twist in unwanted directions. Properly constraining a machine’s degrees of freedom is a fundamental aspect of building a solid machine. This is the core subject of the book: how to join these precision parts together in a way that leads to precision movement only in the directions that we want them.