Resurrecting a Jetpack Magnetometer
A while ago, I was browsing a national second-hand goods marketplace when I came across a liquidation sale for Martin Jetpack. Martin Jetpack was a NZ based company developing a 200 horsepower, petrol engine, ducted fan jetpack. Founded in 2008, they spent years developing these jetpacks before eventually winding up the company. The jetpacks were undeniably cool. The team were essentially strapping a motorbike engine to your back and pointing two huge fans at the ground, that’s some Wile E. Coyote shit. There are a few videos floating around with demos of the jetpacks, and they are completely nuts.
Anyway… I managed to get my hands on a very cheap HMR2300 magnetometer in the liquidation sale. I was pretty excited about it because these things go for $2900 NZD, and they are still available. It was likely used as an attitude sensor or compass for the jetpacks, as it can easily sense Earth’s magnetic field.
The sensor came unseen and untested, I had no idea if it was still functional. Luckily, the data sheet is a gold mine (you would expect so for $2900) and it contains some entertaining nuggets like:
The HMR2300 Smart Digital Magnetometer measures fields within 2 gauss in magnitude with better than 0.1 milli-gauss resolution. Computer floppy disks (diskettes) store data with field strengths of approximately 10 gauss. This means that the HMR2300 is many times more sensitive than common floppy disks. Please treat the magnetometer with at least the same caution as your diskettes by avoiding motors, CRT video monitors, and magnets. Even though the loss of performance is recoverable, these magnetic sources will interfere with measurements.
I grabbed one of these bad boys to convert the 232/485 signal to serial so i could communicate with the sensor. I wired up the DB9 connector with a breakout plug, powered the unit from my adjustable bench top power supply, and plugged in my serial converter. Unsatisfyingly, it just wanted to vomit garbage, but i took that as a sign that it was at least somewhat alive.
After a bit of messing around with terminal config, opening the lid to verify that this sensor is actually RS485, and desperately spamming escape to stop the vomit, i started to make some progress. Not long after that i got my first data point!
426 - 2,335 9,257
Interpreting this based on the data-sheet, the sensor was reporting:
0.0284 G in x
-0.1557 G in y
0.6171 G in Z
After a quick search, I found that based on my location (NZ), I should expect something roughly like:
North ~0.22 to 0.25 G
East ~-0.01 to 0.02 G
Down ~0.45 to 0.50 G
Considering that the sensor wasn’t oriented purposefully at all, and there was lots of magnetically noisy stuff nearby, this reading seems to align with expected magnitudes. It’s alive!!!
So now what?
Grab a magnet, plot the data stream, and watch it moving in 3D space, of course. I used a small neodymium magnet which was 6 mm diameter and only 3 mm thick. It’s tiny!
Here’s some data from me moving the magnet around the sensor:
What I found particularly impressive is the Z series data from sample 90 to 120.
In that section, I removed the magnet entirely and slowly brought it closer until I saw some activity.
That slight dip in measurement? Recorded with the magnet ~200 mm from the sensor!
To be honest, I don’t know if that’s a testament to the sensitivity of the sensor, the strength of the magnet, or just my lack of knowledge.
But I thought it was pretty impressive.
So that’s it for now, but I want to do more!
Here are a few options I’m thinking about:
- Use magnetic fields as a source of localisation data for indoor positioning
- Create a monitoring station to observe aurora and solar activity (NZ seems well positioned to capture interesting data)
- Collect a bunch of structured data to train a regression model to estimate a magnet’s position in 3D
Either way, keep an eye out for updates!