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.
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.
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!
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.
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.