Cart 0

Connor Nishijima's Floating-Input "Arduino Anti-GPS"

Gareth Halfacree

Connor Nishijima's anti-GPS

Anyone who has experimented with an Arduino or similar microcontroller will have come across the phenomenon of a 'floating input': without a pull-up or pull-down resistor pins float somewhere between high and low values, a source of some consternation when you make a typo in your sketch and start looking for button presses on a disconnected pin. Sometimes, though, a floating pin can be used for good - as with Connor Nishijima's latest project, the Anti-GPS.

Following his work on the Miduino MIDI playback software and impressive capacitive turbulence sensing, Connor's latest project is amusingly described as his most useless yet: by reading from a floating input pin, Connor is able to do relatively simple frequency counting of how the values differ - an important step, as the floating value is biased by the effects of nearby electrical circuits, in particular mains alternating current (AC) circuits.

Knowing that different countries have different power systems - most, including the UK, cycle the alternating current at 50Hz, while others including the US cycle at 60Hz - Connor's creation uses this bias to perform the most basic of geolocation. By "geolocation," we mean it tells you which countries you're probably not in, helping at least to narrow down your actual location to around half the planet.

Connor's sketch is available here, and requires an Arduino Mega or compatible plus a jumper wire on the input pin to act as an antenna - the latter not required if your mains circuitry is close enough to the Arduino or is very badly shielded.

By reading the frequency of AC cycles in your house using an open analog pin, I can tell you for sure what countries you AREN'T in. Pretty god damn useless, but fun, nonetheless.

Older Post Newer Post