A DIY Geomagnetic Observatory

Magnetometer observatory

[Dr. Fortin] teaches physics at a French High School, and to get his students interested in the natural world around them, he built a geomagnetic observatory, able to tell his students if they have a chance at seeing an aurora, or if a large truck just drove by.

We’ve seen this sort of device before, and the basic construction is extremely similar – a laser shines on a mirror attached to magnets. When a change occurs in the local magnetic field, the mirror rotates slightly and the laser beam is deflected. Older versions have used photoresistors, but [the doctor] is shining his laser on a piece of paper and logging everything with a webcam and a bit of OpenCV.

The design is a huge improvement over earlier DIY attempts at measuring the local magnetic field, if only because the baseline between the webcam and mirror are so long. When set up in his house, the magnetometer can detect cars parked in front of his building, but the data he’s collecting (French, but it’s just a bunch of graphs) is comparable to the official Russian magnetic field data.

DIY OLED Smart Watch

OLED DIY Smart Watch

What is better than making your own smart watch? Making one with an OLED display. This is exactly what [Jared] set out to do with his DIY OLED smart watch, which combines an impressive build with some pretty cool hardware.

When building a DIY smart watch, getting the hardware right is arguably the hardest part. After a few iterations, [Jared's] OLED smart watch is all packaged up and looks great! The firmware for his watch can communicate with the PC via USB HID (requiring no drivers), contains a “watch face” for telling time, includes an integrated calendar, and support for an accelerometer. His post also includes all of the firmware and goes into some build details. With the recent popularity of smart watches and wearable electronics, we really love seeing functional DIY versions. This is just the beginning. In the future, [Jared] plans on adding Bluetooth Low Energy (BLE), a magnetometer, a smart sleep based alarm clock, and more! So be sure to look at his two older posts and keep an eye on this project as it unfolds. It is a very promising smart watch!

With Android L including support for smart watches (in the near future), it would be amazing to see DIY watches (such as this one) modified to run the new mobile OS. How great would it be to have an open hardware platform running such a powerful (open source-ish) OS? the possibilities are endless!

Measuring Magnetic Fields with a Robotic Arm

MagneticArm

Learning how magnets and magnetic fields work is one thing, but actually being able to measure and see a magnetic field is another thing entirely! [Stanley's] latest project uses a magnetometer attached to a robotic arm with 3 degrees of freedom to measure magnetic fields.

Using servos and aluminium mounting hardware purchased from eBay, [Stanley] build a simple robot arm. He then hooked an HMC5883L magnetometer to the robotic arm. [Stanley] used an Atmega32u4 and the LUFA USB library to interface with this sensor since it has a high data rate. For those of you unfamiliar with LUFA, it is a Lightweight USB Framework for AVRs (formerly known as MyUSB). The results were plotted in MATLAB (Octave is free MATLAB alternative), a very powerful mathematical based scripting language. The plots almost perfectly match the field patterns learned in introductory classes on magnetism. Be sure to watching the robot arm take the measurements in the video after the break, it is very cool!

[Stanley] has graciously provided both the AVR code and the MATLAB script for his project at the end of his write-up. It would be very cool to see what other sensors could be used in this fashion! What other natural phenomena would be interesting to map in three dimensions?

[Read more...]

Modeling an object with internal IMUs

[Joseph Malloch] sent in a really cool video of him modeling a piece of foam twisting and turning in 3D space.

To translate the twists, bends, and turns of his piece of foam, [Joseph] used several inertial measurement units (IMUs) to track the shape of a deformable object. These IMUs consist of a 3-axis accelerometer, 3-axis gyroscope, and a 3-axis magnetometer to track their movement in 3D space. When these IMUs are placed along a deformable object, the data can be downloaded from a computer and the object can be reconstructed in virtual space.

This project comes from the fruitful minds at the Input Devices and Music Interaction Lab at McGill University in Montreal. While we’re not quite sure how modeled deformable objects could be used in a user interface, what use is a newborn baby? If you’ve got an idea of what this could be used for, drop a note in the comments. Maybe the Power Glove needs an update – an IMU-enabled jumpsuit that would put the Kinect to shame.

[Read more...]

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.

[Read more...]

PVC Magnetometer to measure magnetic storms

In the hopes of getting a heads up on when the aurora borealis will be visible from his back yard, [Alex] built a magnetometer to measure disruptions in Earth’s magnetic field. The build is extremely simple, too. It’s amazing what you can build with a few components and a trip to the dollar store.

The design or [Alex]‘s project is called a torsion magnetometers. In this setup, two mirrors are affixed to a permanent magnet connected to a string. A laser is shone onto the mirror and is reflected back to an array of sensors. In [Alex]‘s case he used a simple laser pointer and a pair of photoresistors encased in a PVC tube.

[Alex] has been running his magnetometer in his back yard for over a month now and has the data to prove it. Luckily for [Alex], those graphs he has been generating may get a little more interesting. A coronal mass ejection is coming our way and is expected to hit today around 22:30 UTC. We’ll go outside to look for an aurora, but we’re sure [Alex] will be glued to his laptop tonight.

Check out the CGI visualization of [Alex]‘s magnetometer after the break

[Read more...]

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.