Introduction: Steampunk Compass

Having built a few puzzle box games recently, and having some components left over I thought I would build a functional Steampunk Compass.
Based around a Arduino Duemilanove this is a really quick and simple build. Taking reading from a digital compass the Arduino controls a servo to position a clock hand.

Step 1: The Parts.

Here is a complete list of the required parts;

For the Electrics;

Box/Case
Small servo
Arduino Duemilanove
HMC6352 Compass Module http://www.sparkfun.com/products/7915
Mini breadboard
Female-female hookup wire
Male Headers
9V battery and connectors

For the StreamPunk;

4 clock cogs
1 hour hand
4 screws
Glue

Step 2: Connect the Electrics.

Couldnt be simpler.

The digital compass connects;
SCL to Arduino Analog pin 5
SDA to Arduino Analog pin 4
VCC to Arduino 5V
GND to Arduino GND

The servo connects;
Signal to Arduino Digital pin 10
VCC to Arduino 5V
GND to Arduino GND

Everything can then be just placed in a box. The only important thing is that the compass module must be 'fixed' so that it moves with the box.

Step 3: Connect the Cogs.

This was trial and error. I went to a local clock repair shop and got cogs that geared up from 1 to around 4. This gave me a 90 degree turn on the servo equal to roughly 360 turn on the final cog.

To test the positioning of the cogs before I started putting them into the final box I put nails through them and tried them out on some scrap wood.

To begin with I drilled a hole in the lid of the box big enough to fit the shaft of the servo and screwed the servo to the inside of the case. On the outside I then screwed and glued the main drive cog directly into/onto the shaft of the servo.

All other cog are free to rotate around simple screws.

The final cog has an hour hand from a clock glued to the top of it. This allows the cog and hand to move together freely around the final screw.

Step 4: The Source.


After playing with the gearing between the first and final cog it turned out that moving the servo from 80 to 145 give a full rotation on the compass cog.

The attached code should pretty much speak for itself.

Step 5: The Final Device

I didnt position the cogs close enough to each other so there is a little play between them. the hour hand can move about 10 degrees without the servo cog turning. So the acuracy isnt quite as good as it could have been.

This device can easily be extended and turned into a Steampunk Goecaching unit.

But that aside it looks pretty good on my coffee table at home.




Comments

author
TitusH5 made it!(author)2016-06-24

The HMC6352 Compass Module is no longer available at Sparkfun.

Arduino has also changed by several new releases since this was posted. Has anyone figured out how to upgrade the code to the new releases?

author
interestedturtle made it!(author)2013-11-03

Cost

author
Robotrix made it!(author)2011-01-23

But they had compasses in the steam era?

author
jpcwebb made it!(author)2011-01-23

My thoughts exactly - kinda misses the point of steampunk. Now, if it had been a steampunk GPS, then you're talking!

author
andrewbaker made it!(author)2012-01-17

gps you say? https://www.instructables.com/id/Steampunk-Geocaching/

author
hocfutue made it!(author)2011-01-23

Yes, the use of compasses goes back hundreds of years.

author
tilmen made it!(author)2011-07-18

Interesting..

author
tilmen made it!(author)2011-07-04

Now, I'm trying to make DIY gears at home

author
tilmen made it!(author)2011-07-04

cool. I did the same.working nice and fine to watch.

author
eXtremeSomething made it!(author)2011-06-20

Great idea ! But won't the metal cogs and nails alter the compass's heading?

author
jj.inc made it!(author)2011-03-18

If you attach the servo to the center one with the arrow thing it will be more accurate. The other gears would still turn but solely for looks

author
MurphyHarris made it!(author)2011-03-18

cool idea. on the gears, I would mount a circular glass. with a brass ring. flat screws, look better. trust me.

author
Jnolte07 made it!(author)2011-02-13

How did you go about the programing the Arduino? did you start with a sample code?

author
playmobilly made it!(author)2011-02-13

WTF???

author
GaryMeow made it!(author)2011-02-01

is it as accurate a regular compass?

author
r10n made it!(author)2011-02-01

Unfortunatly not. There are two reasons for this, both relating to the cogs.
The digital compass module outputs to the nearest degree. The way the cogs are set up a 360% turn on the needle is produced by a 65% turn from the servo. So the smallest resolution of the final output is 360/65, so it can be accurate to 5.5 degrees. Seeing as the servo can do 180 degrees then with a better selection of cogs an accuracy of 2 degrees is possible.
The second reason is due to my poor positioning of the cogs mentioned in the final step. The screws they rotate around are not a snug fit so the cogs can move a little. Also, the cogs are not quite as close together as they should have been. The accumulative effect of this is that without the servo cog moving at all the needle can move about 10 degrees.

author
gibiault made it!(author)2011-02-07

Yea .. while the overall accuracy may only be 10deg.

Your explanation is less then accurate.

A servo is driven by PWM , the arduino do 255 steps of PWM.

Your theoretical input accuracy would be 255 / FULL_servo_range / used range.

You stated that this servo would do 180 deg ..

that's 255/ 180 / 33 ( 65deg is about 1/3rd of 180 ) or about .5 deg.

with a perfect magnetometer / perfect gears and perfect code , you could get .5 deg resolution.

author
r10n made it!(author)2011-02-08

Thanks for that. I hadnt considered controlling the servo to a finer acuracy than one degree. Using the writeMicroseconds function in the servo library directly should allow for better accuracy.

author
mastermayhem117 made it!(author)2011-01-31

What this needs, is NSEW indicators carved in and stained ornately, and a window in a corner or something with a minecraft like time of day indicator. No numbers, just a rotating picture that progresses through day, sunset, night, sunrise. That'd be cool, you'd have to find an easy way to set the date when the batteries die though. Also, I'd add a hinged cover, more gears, maybe some rotating old looking time indicators to make it less naked looking. Just some thoughts, Cheers!

author
Ghost+Wolf made it!(author)2011-01-30

HMMM wonderful!

Pro: gears work, eye catcher, and good looking wood
Con: little large, no north, south symbols

author
anfegori91 made it!(author)2011-01-23

a u$2 8-pin PIC can do this

author
snoopindaweb made it!(author)2011-01-23

=////=======> ~ ******* wOw to the power of 7..!

author
tstirler made it!(author)2011-01-23

I'm thinking it might have been better/easier to have the servo on nte center cob together with the arrow, and having the other cogs for show..

Anyway, awesome job, very cool. :D

author
r10n made it!(author)2011-01-23

Thanks,
most servos can not do 360 degrees rotation. The one I had did 180 max, so in my case the cogs were essential in gearing up to get a full 360 degrees required for a compass.

author
tstirler made it!(author)2011-01-23

Ah, that makes sense. :)

author
hogey74 made it!(author)2011-01-23

Arduino taking over the world!!!

author
Fizzxwizz made it!(author)2011-01-23

Is that skype that I hear in the video demonstration?

author
rocketsurgery made it!(author)2011-01-19

Love it... thanks for posting... now version II, add a wee gps module (and maybe some dials to set where you want to go) then you could have your box direct you home... thanks again... Nice job!

author
r10n made it!(author)2011-01-19


Cheers. Check this out; https://www.instructables.com/id/Steampunk-Geocaching/
Love the idea of programming the end location via dials though.

author
rocketsurgery made it!(author)2011-01-19

Very nice... I like the key rings your can get where you push a button to set the location and then an arrow will point to that location... I'm sure you could set the location with some simple dials... your steampunk GPS device is very cool!

author
GameV8 made it!(author)2011-01-18

This reminds me of the Magnetic Direction Divining Device my great great great great grand uncle Wilhelm VanStrap invented to find his toothbrush on saturdays.

author
bongodrummer made it!(author)2011-01-19

Haha, that's a nice idea, I always get stuck on Saturdays...
A bit more versatility would be nice though - I am sure I remember my granddad, saying the name of an item into a large brass funnel thing, and that sending some kind of message through the aether to a little device that looked like a rather nice time piece. That would point out the direction of the device, until you became very close, at which point it would start spinning round.

Nice instructable by the way r10n!

author
kelseymh made it!(author)2011-01-18

Sweet! And a lovely little box to put it in, as well. I wonder how compact someone could make the electronics? I'm picturing the same device, but this time inside a wooden box (with a false bottom) small enough to fit into a large pocket. Something the size of a paperback book, or so.

Rated and featured.

About This Instructable

34,417views

142favorites

License:

More by r10n:Steampunk GeocachingSteampunk Compass
Add instructable to: