Larson Scanner, Servo Edition

A while back I did a post – and a video – about the Fade animation system that I had built. It runs on an ESP32 and support both PWM and WS2812 LEDs.

One of my commenters asked me whether it would be possible to use that system to drive servos for an art project – 40 servos if I recall correctly.

My response was twofold…

First, servos support should be easy

Second, the ESP32 only has 16 PWM channels, so supporting 16 channels would be easy but it would be harder to go farther.

So the answer was no. But it got me thinking…

Adding servo support was a bit of a pain – see Servos Suck for why I was wrong – but I got it working, at least working well enough. And I added support to the Fade Simulator for servos, so you can graphically see where the servos are pointed.

More channels was a bit more fun. Basically, what I needed was a way for the system to have both local – on chip – device support (ie PWM or WS2812) and remote (to another system) device support. Nicely, the same architecture that lets the system support both PWM and addressable LEDs can let the system support a network device. So I added an Udp led device that takes a number of channels of animation and sends them out over the network. Then there’s a network reader that runs on the second device to pull the animation data off the network and use it to drive the local devices.

This worked pretty well, and I ended up with a new feature for WinFade; you can run the Fade code on your windows machine and use it to drive your actual hardware over the network. This makes development quicker; I don’t even need to download the changes to the ESP32 to test them out.

So that all was great, but I needed a demo.

And I came up with a bit of a stupid idea.

I grew up in the 1970s and 1980s, and since there wasn’t a ton to do we would watch bad TV at time, including Knight Rider.

In that period, anything that used LEDs was by definition cool, and KITT – the car in Knight rider – had a bunch of them, including a Larson Scanner on the front that bounced back and forth.

In the 1970s we were easily impressed. As Douglass Adams wrote in Hitchhiker’s:

“Far out in the uncharted backwaters of the unfashionable end of the western spiral arm of the Galaxy lies a small unregarded yellow sun. Orbiting this at a distance of roughly ninety-two million miles is an utterly insignificant little blue green planet whose ape-descended life forms are so amazingly primitive that they still think digital watches are a pretty neat idea.”

Building your own Larson Scanner was a cool accomplishment in the 1980s, so of course I had built one before. Fade supports them with just a few lines of code. But I did some searching and found out – based on a very cursory search – that nobody had build a physical Larson Scanner, presumably because it was a dumb idea without much utility.

That sort of thing is right in my wheelhouse – see “the worst 50 watt speaker in the world

image

A bit of time in Fusion 360, and I had a design. The box is made of laser-cut 3mm plywood, and the balls are ping-pong balls. Not surprisingly, the first version wasn’t quite right, but the second version was fine. I painted one side of the balls red and the other side black.

Larson Scanner

Hiding in back is the ESP32 board that connects to the 16-channel servo breakout board that I built.

In addition to the 16 servo connections, the rest of what I think are the useful pins are also brought out to headers.

If you are interested in this board, ping me and I’ll put it on my Tindie store.






So, what do you think ?