Data Logging; Everyone’s Doing It, Why Aren’t You?

Between Tesla Motors’ automobiles and SpaceX’s rockets, Elon Musk’s engineers just have to be getting something right. In part, SpaceX’s success in landing their first stage rockets is due to analysis of telemetry data. You can see some of the data from their launch vehicles on the live videos and there is surely a lot more not shown.

An article in MIT Technology Review provides similar insights in how Tesla came from behind in autonomous vehicle operation by analyzing telemetry from their cars. Since 2014 their Model S received an increasing number of sensors that all report their data over the vehicle’s always-on cellular channel. Sterling Anderson of Tesla reported they get a million miles of data every 10 hours.

Image Credit Tesla
Image Credit Tesla

The same approach can help us to improve our systems but many believe creating a log of key data is costly in time and resources. If your system is perfect (HA HA!) that would be a valid assessment. All too often such data becomes priceless if analysis explains why your drone or robot wanted to go left into a building instead of right into the open field.

Continue reading “Data Logging; Everyone’s Doing It, Why Aren’t You?” →

High Voltage Please, But Don’t Forget The Current

In high voltage applications involving tens of thousands of volts, too often people think about the high voltage needed but don’t consider the current. This is especially so when part of the circuit that the charge travels through is an air gap, and the charge is in the form of ions. That’s a far cry from electrons flowing in copper wire or moving through resistors.

Consider the lifter. The lifter is a fun, lightweight flying machine. It consists of a thin wire and an aluminum foil skirt separated by an air gap. Apply 25kV volts across that air gap and it lifts into the air.

So you’d think that the small handheld Van de Graaff generator pictured below, that’s capable of 80kV, could power the lifter. However, like many high voltage applications, the lifter works by ionizing air, in this case ionizing air surrounding the thin wire resulting in a bluish corona. That sets off a chain of events that produces a downward flowing jet of air, commonly called ion wind, lifting the lifter upward.

Continue reading “High Voltage Please, But Don’t Forget The Current” →

Stay Scrappy, Hackers! Hardware Startups Versus Goliath

A toast to all the hackers out there who like to do it scrappy, who fight hard to get your products to work, who make your own tools and testing jigs and assembly lines in your basement, and who pound the pavement (and the keyboards) to get your product out there. Here’s to you (*clink*).

I had the fortune of a job interview recently in a big faceless company that you may have never heard of but probably use their stuff all the time. They make billions. And it was surreal. This article is about what it’s like for a scrappy start-up engineer to walk into the belly of the beast of an organization that counts its engineers in the tens of thousands. For obvious reasons, I can’t go into specific details, but let me paint for you in broad strokes what you, the hacker and entrepreneur, are up against.

When you have a company that’s been around for decades and whose yearly sales volume has more digits than some countries, everything is a few orders of magnitude bigger in scale. People, resources, volumes, everything.

Continue reading “Stay Scrappy, Hackers! Hardware Startups Versus Goliath” →

Learn To Program With Literate Programming

My heyday in programming was about five years ago, and I’ve really let my skills fade. I started finding myself making excuses for my lack of ability. I’d tackle harder ways to work around problems just so I wouldn’t have to code. Worst of all, I’d find myself shelving projects because I no longer enjoyed coding enough to do that portion. So I decided to put in the time and get back up to speed.

Normally, I’d get back into programming out of necessity. I’d go on a coding binge, read a lot of documentation, and cut and paste a lot of code. It works, but I’d end up with a really mixed understanding of what I did to get the working code. This time I wanted to structure my learning so I’d end up with a more, well, structured understanding.

However, there’s a problem. Programming books are universally boring. I own a really big pile of them, and that’s after I gave a bunch away. It’s not really the fault of the writer; it’s an awkward subject to teach. It usually starts off by torturing the reader with a chapter or two of painfully basic concepts with just enough arcana sprinkled in to massage a migraine into existence. Typically they also like to mention that the arcana will be demystified in another chapter. The next step is to make you play typist and transcribe a big block of code with new and interesting bits into an editor and run it. Presumably, the act of typing along leaves the reader with such a burning curiosity that the next seventeen pages of dry monologue about the thirteen lines of code are transformed into riveting prose within the reader’s mind. Maybe a structured understanding just isn’t worth it.

I wanted to find a new way to study programming. One where I could interact with the example code as I typed it. I wanted to end up with a full understanding before I pressed that run button for the first time, not after.

When I first read about literate programming, my very first instinct said: “nope, not doing that.” Donald Knuth, who is no small name in computing, proposes a new way of doing things in his Literate Programming. Rather than writing the code in the order the compiler likes to see it, write the code in the order you’d like to think about it along with a constant narrative about your thoughts while you’re developing it. The method by which he’d like people to achieve this feat is with the extensive use of macros. So, for example, a literate program would start with a section like this:

Continue reading “Learn To Program With Literate Programming” →

Artificial Muscles To Bring Relief To Robotic Tenseness

Custom, robotic prosthesis are on the rise. In numerous projects, hackers and makers have taken on the challenge. From Enabling The Future, Open Hand Project, OpenBionics to the myriad prosthesis projects on Hackaday.io. Yet, the mechatronics that power most of them are still from the last century. At the end of the day, you can only fit so many miniature motors and gears into a plastic hand, and only so many hydraulics fit onto an arm or leg before it becomes a slow, heavy brick – more hindering than helpful. If only we had a few extra of these light, fast and powerful actuators that help us make it through the day. If only we had artificial muscles.

Continue reading “Artificial Muscles To Bring Relief To Robotic Tenseness” →

Designing Circuits With Switching Algebra

We return once again to the work of Dr. Claude E. Shannon, this time to his Masters thesis on relay switching circuit design. This thesis introduced switching algebra that allows the systematic design and optimization of logical circuits. While Shannon’s work applied to switches and relays, it is equally applicable to all the modern forms of digital circuits. His thesis received widespread notice when published as “A Symbolic Analysis of Relay and Switching Circuits” in 1938. This work built on the Boolean algebra developed by George Boole and an analysis of logic by Augustus De Morgan which these mathematicians published nearly simultaneously in 1847. To some extent, it was the beginning of the age of modern digital logic. Continue reading “Designing Circuits With Switching Algebra” →

Hands-On With The BBC Micro:Bit

It’s been a long wait, but our latest single board computer for review is finally here! The BBC micro:bit, given free to every seventh-grade British child, has landed at Hackaday courtesy of a friend in the world of education. It’s been a year of false starts and delays for the project, but schools started receiving shipments just before the Easter holidays, pupils should begin lessons with them any time now, and you might even be able to buy one for yourself by the time this article goes to press.

The micro:bit top view
The micro:bit top view

It’s a rather odd proposition, to give an ARM based single board computer to coder-newbie children in the hope that they might learn something about how computers work, after all if you are used to other similar boards you might expect the learning curve involved to be rather steep. But the aim has been to position it as more of a toy than the kind of development board we might be used to, so it bears some investigation to see how much of a success that has been.

Opening the package, the micro:bit kit is rather minimalist. The board itself, a short USB lead, a battery box and a pair of AAA cells, an instruction leaflet, and the board itself.  Everything is child-sized, the micro:bit is a curved-corner PCB about 50mm by 40mm. The top of the board has a 5 by 5 square LED matrix and a pair of tactile switches, while the bottom has the surface-mount processor and other components, the micro-USB and power connectors, and a reset button. Along the bottom edge of the board is a multi-way card-edge connector for the I/O lines with an ENIG finish. On the card edge connector several contacts are brought out to wide pads for crocodile clips with through-plated holes to take 4mm banana plugs, these are the ground and 3V power lines, and 3 of the I/O lines.

Continue reading “Hands-On With The BBC Micro:Bit” →