Blog

Introducing swddude

I love the ARM Cortex-M series of microcontrollers. The sheer computational power they pack into a teensy, low-power package is almost embarrassing.

But, many Cortex-M parts are small — 4x4 millimeters small — and don’t have the pins left over for JTAG. For these parts, ARM introduced a new debug interface, called SWD.

Unfortunately, SWD isn’t well-supported by open-source tools. Support is in progress in most of them — including my personal favorite, OpenOCD — but I’ve had bad luck so far.

Anton Staaf was having the same issue, and decided to do something about it. He tricked the cheap, commonly-available FTDI FT232H chip into speaking the line-level SWD protocol. We’ve teamed up and, a week or so later, have something to show for it.

Being a Social Hacker

I may spend a lot of my time working on robots, but I like people. I’ve noticed this in my professional life: I’m happier and more productive working on a small team, rather than solo.

My day job has me working alone a lot of the time, so at the beginning of March, I decided to take matters into my own hands and “find the others.” I knew about Noisebridge in San Francisco, but they didn’t quite seem like my people — when I joined their IRC channel they suggested I jump in front of a train, in fact.

So I was delighted to discover a hackerspace right down the street from me: Ace Monster Toys in Oakland.

Making Thingiverse Faster

Thingiverse has deployed my modifications to Thingiviewer, which were first seen on this very site powering the 3D Thing Previews. The internet is now just a little bit better. Woot!

Fixing the Heated Build Platform's Bolts

I love my heated build platform. It’s the best upgrade my MakerBot has seen. No other change has improved my print quality and confidence to this degree.

But if you look at the pictures on that page, you’ll notice my least favorite feature: the bolts, or as I call them, the MakerBot Industries Amazing Nozzle Destroyers. Fortunately, there’s an easy fix.

Implementing the Luhn Algorithm

In my previous professional life, I processed a lot of credit card numbers. When reading credit card numbers from an unknown source, it helps to have a fast way of checking basic validity — to filter out bogus input. Such a method exists: the Luhn algorithm. I developed a very fast implementation of the algorithm a few years ago, and I keep seeing it pop up other places.