For a while I’ve wanted to connect some scales to my home network to track weight day by day automatically. Its great having scales, but unless you can remember or write down the previous readings, its pretty useless if you’re looking to track performance. So I set about figuring out a way of getting an accurate reading from a set of cheap bathroom scales with an Arduino.
Having some experience with quadcopters, they all use something called an IMU – inertial measurement unit – which gives you the pitch, roll and yaw of the craft. These two values are generated by a gyroscope and accelerometer working together cancelling out each others possible errors. Additional measurements are normally available, a compass for direction and a barometer for altitude readings. With a GPS, the compass (magnometer) allows you to plot a course and have the vehicle follow waypoints; sounds like its worth a look.
An IMU board is now pretty cheap to get your hands on, in fact you can get a complete quadcopter ‘brain’ for $35 here, which contains an Atmel ATMEGA2560, with all of the above sensors ready to use. For my boards, a pre-made I2C board would be ideal which is exactly what I found; the GY-80.
Cycling is my main form of transportation which often means I’m travelling at night, hoping other road users can see me as I ride along. I used cheap LED lights for a while, but the batteries either ran out too quickly, or their light output was sub-par. I looked around for a better more expensive set but ended up – foolishly – deciding I could do a much better job myself.
The first iteration was an Arduino Fio with a stripboard MOSFET driver board which lead to my discovery of OSH Park and – after a few months of experimentation and feature-creep – I ended up with a GPS RTC enabled board reporting its position and battery level back through a GPRS module. This board eventually suffered a catastrophic failure which I’m still unsure why it happened, but I was left without lights which was my biggest concern. Continue reading…