I recently found these candles which have a little RGBW LED inside and can be controlled via Bluetooth 4. They have a nice little feature where a small microphone built into the candle will detect if you blow into them, turning them off and – somewhat counter-intuitively – turning them back on again.
A few weeks ago, I started work on internet connected bathroom scales, and I finally received my custom PCB’s to finish the job. I discovered that most digital scales use strain gauges to calculate the amount of weight on them, meaning there is almost no mechanical movement making them perfect to interface with.
The set of scales that I purchased handily had the Wheatstone bridge markings on the PCB silkscreen, which made connecting up the ADC nice and easy.Continue reading
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
The BT Home Hub project is now almost finished, its just the last few quirks to work out and fix. For the last time, I’ve added a new module to my monitoring dashboard which allows me to see usage against time.
While checking out whether this page was working, I noticed an interesting spike in both sent and received traffic…
With the mechanics somewhat decided on, the control circuitry was the next on the list. After ‘mastering’ radio control, temperature sensing and internet connectivity, I was pretty well versed with the Arduino ecosphere, and felt pretty comfortable making my own PCBs with the help of OSHPark.
I felt the tank needed multiple separate boards, not only to compartmentalize functionality but to work around the maximum board size in the free version of Eagle I was using to design the circuit boards. After much deliberation, I settled on 4 boards; control, connectivity, LED, and power.
I’ve been working on collecting BT Home Hub 5A usage by connecting with PHP + cURL and extracting data from the status page. The last piece of the puzzle is figuring out the roll-over point of the data counter; it resets when it reaches a high enough level.
I collected data every second for a few hours while repeatedly downloading linux torrents (I have unlimited usage) and here are my results.
In an earlier post, I experimented with retrieving date usage and uptime stats from a BT Home Hub 5A, and cobbled together a PHP class to automatically load a privileged page. With access to the data, I need to parse it before committing the results to a persistent database. Step in regex…
I’ve had the BT Home Hub 5 for a few months now, and it keeps restarting and generally acting like a cut-price pile o’ shite. So, in an effort to monitor its shitey-ness, I figured that my home server could extract the uptime and the traffic usage every x minutes.
The HH5 is – on paper – a great little router especially as it has an Infinity modem built in meaning you can do away with the separate OpenReach white box. You can’t mount it on the wall which is annoying, and the feet are fairly useless at keeping it from toppling over, but it does output both 2.4 and 5Ghz wireless networks. One of its big downside, at least for myself, is the lack of any way of scripted monitoring (e.g. SNMP).