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”
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”
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”
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.
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”
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.
We usually avoid the prospect of buying new tools just for one project. In the long run we’re sure we’d use them again, but sometimes even with that outlook you can’t afford it. Case in point is our life-long-lust for a laser cutter; we just can’t justify the upfront cost but we sure would use it constantly if we had one.
If you do find that you’re interested in taking on a project that calls for laser cut parts, [I Heart Robotics] shows you how to do it with a few simple hand tools. The bot seen above is their TurtleBot. You can cut your own parts using a laser cutter, you can buy a kit from them, or you can bust out a ruler, compass, drill, coping saw, printer, and tape to make the pieces by hand.
It’s a simple enough concept. Print out the templates, tape them to your hard board, then start drilling and sawing. You won’t get the precision a machine tool can, but in some cases you don’t need to be all that perfect.