Stepping Out In Style With Top Hat Navigation

Wearable tech is getting to be a big thing. But how we interface with this gear is still a bit of a work in progress. To explore this space, [Bruce Land]’s microcontroller course students came up with an acoustic interface to assist with navigation while walking. With style, of course.

[Bruce], from the Cornell University School of Electrical and Computer Engineering, has been burning up the Hackaday tips line with his students’ final projects. Here’s the overview page for the Sound Navigation Hat. It uses a PIC32 with GPS and compass. A lot of time was spent figuring out how to properly retrieve and parse the GPS data, but for us the interesting bits on that page are how the directional sound was put together.

Audio tones are fed to earbuds with phase shift and amplitude to make it seem like the sound is coming from the direction you’re supposed to walk. Navigation is all based on pre-programmed routes which are selected using a small LCD screen and buttons. One thing’s for sure, the choice of headwear for the project is beyond reproach from a fashion standpoint – engineering has a long history with the top hat, and we think it’s high time it made a comeback.

Is this a practical solution to land navigation? Of course not. But it could be implemented in smartphone audio players for ambient turn-by-turn navigation. And as a student project, it’s a fun way to demonstrate a novel interface. We recently covered a haptic navigation interface for the visually impaired that uses a similar principle. It’ll be interesting to see if either of these interfaces goes anywhere.

Continue reading “Stepping Out In Style With Top Hat Navigation”

It’s Time To Roll Your Own Smartwatch

Giant wristwatches are so hot right now. This is a good thing, because it means they’re available at many price points. Aim just low enough on the scale and you can have a pre-constructed chassis for building your own smartwatch. That’s exactly what [benhur] did, combining a GY-87 10-DOF module, an I²C OLED display, and an Arduino Pro Mini.

The watch uses one button to cycle through its different modes. Date and time are up first, naturally. The next screen shows the current temperature, altitude, and barometric pressure. Compass mode is after that, and then a readout showing your step count and kilocalories burned.

In previous iterations, the watch communicated over Bluetooth to Windows Phone, but it drew too much power. With each new hardware rev, [benhur] made significant strides in battery life, going from one hour to fourteen to a full twenty-fours.

Take the full tour of [benhur]’s smartwatch after the break. He’s open to ideas for the next generation, so share your insight with him in the comments. We’d like to see some kind of feedback system that tells us when we’ve been pounding away at the Model M for too long.  Continue reading “It’s Time To Roll Your Own Smartwatch”

Neopixel Ring Compass Takes Things In A New Direction

A couple of years ago, [philo mech] came across [David Ratliff]’s NeoPixel compass project. Ever since then, he’s wanted to make his own. To his delight, [philo mech] was able to find time to do just that.

An Arduino Pro Mini drives an LSM303DLHC compass/accelerometer breakout board and a 12-LED NeoPixel ring. The heading is indicated with a red ‘Pixel between two yellow ones.  In the video after the break, [philo mech] gives several demonstrations of the ring’s red indicator in relation to a standard compass arrow.

This colorful compass currently boasts two very useful modes: one to track the whereabouts of North, and the other for determining the user’s current heading. Mk. II  will compensate for tilt and will employ a 16-Pixel ring to display finer degrees of directional change. Want to make your own? The code is pasted in the video’s comments.

Continue reading “Neopixel Ring Compass Takes Things In A New Direction”

Introducing The F*Watch, A Fully Open Electronic Watch

As one of their colleagues was retiring, several CERN engineers got together after hours during 4 months to develop his gift: a fully open electronic watch. It is called the F*Watch and is packed with sensors: GPS, barometer, compass, accelerometer and light sensor. The microcontroller used is a 32-bit ARM Cortex-M3 SiLabs Giant Gecko which contains 128KB of RAM and 1MB of Flash. In the above picture you’ll notice a 1.28″ 128×128 pixels Sharp Memory LCD but the main board also contains a micro-USB connector for battery charging and connectivity, a micro-SD card slot, a buzzer and a vibration motor.

The watch is powered by a 500mA LiPo battery. All the tools that were used to build it are open source (FreeCAD, KiCad, GCC, openOCD, GDB) and our readers may make one by downloading all the source files located in their repository. After the break is embedded a video showing their adventure.

Continue reading “Introducing The F*Watch, A Fully Open Electronic Watch”

Compass Guided Kayak Autopilot

logo

Last July, [Louis] bought a kayak off of Craigslist. It was a pedal-powered device with a hand-operated rudder, and he ended up enjoying his time on the water. [Louis] fishes, though, and it was a bit of a challenge to manage hands free fishing while maintaining a steady course. His solution was an Arduino-powered autopilot that allows him to troll for salmon and Arduino haters with just the push of a button.

In [Louis]’ system, a motor is attached to the steering lever along with a few limit switches. This motor is powered by an Arduino controlled with an LSM303 compass module from Sparkfun.

When the autopilot module is started up, it first checks to see if the compass module is enabled. If not, the system relies on two tact switches to change the position of the rudder. Enabling the compass requires a short calibration of spinning the kayak around in a circle, but after that the steering is dead on.

There are a few things [Louis] would like to add such as a heading display and a bluetooth module for remote control. This setup already landed him a 13 lb salmon, so we’re going to say it’s good enough to catch some dinner.

Advanced Compass/accelerometer Library For Arduino

We don’t have much personal experience with DOF hardware, but this Arduino library which reads and compensates for three-axis magnetometer and accelerometer data looks very impressive. It should work for existing hardware, but there’s also a demo design using a Honeywell HMC5883L compass and a Freescale MMA8453Q accelerometer which you can build yourself. Unfortunately these come in QFN packages (like most cheap accelerometers these days) so you may need to be creative when soldering.

What’s so special about this library? Watch the video after the break (use 720p in fullscreen to get the full effect) and you’ll see three different scatter plots of the output data. The image above is a capture of the third example, which is using the hard iron offset and accelerometer compensation. That is to say, metal on and around the board is accounted for, as well as the physical orientation of the device. Even if you have no prior experience with this type of hardware it’s easy to see the usefulness of this kind of software compensation.

Continue reading “Advanced Compass/accelerometer Library For Arduino”

Tilt Compensation When Reading A Digital Compass

If you’re familiar with using a compass (the tool that points to magnetic north, not the one that makes circles) the concept of holding the device level makes sense. It must be level for the needle to balance and rotate freely. You just use your eyes to make sure you’re holding the thing right. Now think of a digital compass. They work by measuring the pull of a magnetic field, and have no visual method of showing whether they’re level or not. To ensure accurate readings you might use an accelerometer to compensate for a tilted magnetometer.

The process involves taking measurements from both an accelerometer and a magnetometer, then performing calculations with that data to get a true reading. Luckily the equations have been figured out for us and we don’t need to get too deep into trigonometry. You will, however, need to use sine, cosine, and arctangent in your calculations. These should be available in your programming language of choice. Arduino (used here) makes use of the avr-libc math library to perform the calculations.