RoboSketch - the robotic Etch-a-Sketch

August 3rd, 2011

I used to love Etch-a-Sketch when I was a kid.  I thought it was the coolest thing ever that those little knobs made something mechanical draw stuff.  Now I’m older and I’m into computers and electronics, but I still dig the real world.  These days I’m building 6 foot CNC machines to cut stuff out of wood, plastic, and metal.

I looked at my latest CNC router a little while ago and it struck me that’s it’s basically a giant Etch-a-Sketch for grown ups.  The thought progressed into an idea, and, well…  Here we are.

I know this has been done before, but it was an excuse to use my new CNC machine, take a shot at cutting gears to make sure they’d mesh well, and make something pretty cool in the process.  The gears and faceplate were cut from a single piece of 12″ x 10″ acrylic.  The programming is from scratch.

You can see more pics and download the source code from the Parallax forums, here:

Check out the videos below, and note that the lines are quite thin, so hi-res will show them better:

Hack-a-Day logo:

Test pattern:

Propeller DCM IMU

April 13th, 2011

This is a Parallax Propeller chip running a partial implementation of Premerlani and Bizard’s work on Direction Cosine Matrix computation for orientation sensing. (Check out their paper on DIYDrones) I’m hoping to use this in a quad-rotor without a GPS or magnetometer - I wanted to see how good the algorithm was at stabilizing pitch and roll. So far it looks very promising.

All the work is done on the Propeller itself. It reads the gyro and accelerometer values on one core, and computes the DCM from those readings on another core. At this point the code is still written in the high-level language, Spin. Since all the math is fixed point, there’s a strong chance I won’t actually have to write an assembly version - I’ve timed it, and even though it’s written in high-level Spin code it’s capable of 400 updates per second.

Check out the original post (including the source code for the Propeller and an implementation on the PC) on the Parallax Forums:

Remote controlled, dimmable LED Lamp

March 29th, 2011

My most recent project: A remote controlled living room lamp.

I wanted something to replace the 300 watt halogen I use in my living room, and thought it would be awesome to make it dimmable, efficient, and remote controlled.  This is the result.

It was done using a Parallax Propeller chip to control a TLC5940 LED driver, and is one of my first “fully complete” projects.

The circuit was designed in DipTrace.  The PCB was cut with my CNC machine using isolation routing paths output from DipTrace.  As coded, it can be controlled using the volume and channel buttons on any universal remote set to emit Sony TV codes.

The LED driver was written in assembly by me.  The Sony IR receiver was written by Jon McPhalen.

For physical construction, the shade is made of a 4′ x 2′ sheet of thin HDPE, the ends are garbage cans from Target, the central column is 1″ PVC from Home Depot, and the “caps” are custom routed 1/2″ UHMW plastic.

It’s brighter than a 100 watt light bulb (probably closer to 150), but only uses 24 watts at full brightness.

Original project post at the Parallax Forums (includes source & schematics):



Spyder Prototype #3

July 12th, 2010

I’ve started working on the flying thing again, and I almost have the flight software to the point where I’m happy with it.  It still needs a little tweaking, but in general it’s much more stable than it’s ever been, and it’s still very agile.

I ditched the Kalman filter and went back to basics, using simple integer math and a single 3-axis gyro.  It won’t auto-level itself, but it’ll stay where I put it remarkably well, and that’s all I really wanted.  Check out the video of my first crash:

The slow march of progress

June 29th, 2009

I haven’t posted anything for a while, but that doesn’t mean I haven’t done anything.  I’ve been fairly busy, actually.  I built myself a computer controlled router and have started modeling the body of the flying thing I’m trying to build .

Learning to use the machine has been entertaining - there’s quite a lot to it, and a decent learning curve to the software and just producing something in general.  Having a machine to cut stuff doesn’t automatically give you the ability to make things.  It helps make them a little faster and more accurately, but you still have to work out how to build the things in the first place.

The reason for building the machine was so it could cut out parts while I’m going through the physical prototyping phase the Wolf Spyder.  Hopefully I’ll have more to post soon.

Spyder Prototype #2 update

October 25th, 2008

I’ve done a few more iterations on the software for the quad rotor thing I’m working on.  I also switched to very light 3-bladed props to allow the motors to respond a little faster.  It doesn’t fly itself yet, but it’s much more stable.

Flight video #2 here (WMV, 56mb) or on YouTube

Wolf Spyder Prototype, take 2

October 12th, 2008

It’s been a really long time since I’ve done any work on my quad-rotor flying thing.  I got re-inspired after playing around with a new-ish PIC chip called a Propeller, made by Parallax.  It runs 8 hardware threads at 20 MIPS each, meaning you can do really sensitive timing code without interrupts, but do lots of other useful things at the same time.

This is a perfect chip for a project that needs to listen to a remote control, take gyro readings, and move servos all at the same time.  It does lots of other cool stuff too, like generate video, which is incredibly useful when debugging.  :)

So I got a 3-axis accelerometer, a dual-axis gyro, a 12-bit ADC, and stuck them together with a Kalman filter and some PIDs.  Mix gently and let simmer for a month or so, and voila!

I present flying object #2 (WMV, 48mb), or on YouTube

The software is currently keeping it (somewhat) stable, but within a few more iterations on the software I hope to have it self-levelling.

Bert sings the greats

January 19th, 2008

My wife and I have a parrot, and he’s nuts, which is to say that he’s a perfect fit for us.  I had friends with birds when I was a kid, but they were skittish around strangers, so I never really understood how cool they are.  My wife got a new macro lens for Christmas and has been testing the resilience of bird’s eyes to camera flashes ever since.  This isn’t one of the super-close-up shots, but it is one of my favorites.

Click for a larger image

He’s also been learning to sing lately (if you can call it that).  I wander around the house with him on my shoulder humming random bits of whatever pops into my head, and half the time I don’t remember the words, so I just ‘doop doop be-doop’ to the tune.  Bert seems to have caught on.  Check out the video.  I don’t have a clue what he’s singing, but I doubt he does either.

Motor control for CNC

January 19th, 2008

Lately I’ve been addicted to the idea of having a computer make things for me, and I’m not alone.  Google ‘DIY CNC’ and a lot of stuff comes up.  There are whole companies now devoted to it.  Rather than just buy something that works, I like to learn about things the painful, er, fun way.  I bought some stepper motors and small controllers, rigged up some Lego and a breadboard, and voila!

Click for a larger imageClick for a larger imageClick for a larger image

Here’s a video of it moving.  (WMV)

It’s not overly exciting yet, but I’m making sure I have some basics down before I try to build anything larger.

CD ROM Clock, Part 3

January 12th, 2008

I have a working clock.  It’s not all feature laden, like some clocks (you have to reprogram it to set the time) but it works.  It’s still dim, but I have a batch of LEDs on the way to fix that, and all the hard stuff is out of the way.


Click for a larger imageClick for a larger image

The first image is a long exposure to show the hands (it’s 10:17 pm).  The second shows the main board, the motor control, and the 18 miles of wire I used to connect the LEDs.  In the lower left of the 2nd image you can see the (slightly bluish) infra-red LED used to determine RPM and disc position.

Next up, the ability to -set- the clock.