This is the first wearable i've made. It's a portable weather station, which might come in handy if you are into open air festivals, camping or just like to go for long walks. The Weather Watch monitores air pressure and temperature in order to do a short term weather forecast. Since I'm no expert in weather prediction I simply implemented a few rules of thumb which I found on the internet. It is obvious that the device cannot obtain the accuracy of established weather forecast services, but what it lacks in precision it makes up for in style.
And even if you don't rely on it for weather predictions, you can use it when you are going for a walk at night to be seen by cars and other road users.
This is how you make your own.
Step 1: Things You Need
- Adafruit Flora
- Flora GPS Module
- BMP280 Barometric Pressure Sensor
- 16 x 8 LED Matrix + Backpack - These come in different colors. Just pick the one you like the most
- Lithium Polymer Battery - These come in different sizes. You can chose the one you want. I used the one with 400mAh
- LiPo Charger
- Micro USB cable to programm the Flora
- Thin-gauge Wire, shrink tube an solder
Materials for the wristband:
- Velcro Elastic Strap
- Hot Glue (and/or craft adhesive)
- 3D-Printed Parts
- Soldering Iron
- Third Hand Tool (optional)
- Wire Stripper
- Wire Cutter
- Needle and threat (to shorten the velcro straps if you need to)
- Multimeter (optional)
- Tweezers (optional)
A few words about the cost. As so often, the costs depend on what you already have in your shop, and what you have to buy. I've spend roughly 150€ for the whole thing. This includes the price for most of the electronic components and the velcro straps.
Step 2: Set Up the Electronics
The core component of the Weather Watch is the Adafruit Flora. You can find an excellent beginner's guide to the flora on Adafruit's website.
I used an led matrix to display the weather forcast. I've never worked with an led matrix before, so I thought i'd give it a try and use one in this project.
To connect the Flora to the led matrix and the pressure sensor we will use I2C. I2C is a simple serial bus using 2 wires, which are the Serial Data Line (SDA) and the Serial Clock Line (SCL).
The GPS sensor uses TTL serial to communicate with the Flora. Just connect the RX (Flora) to TX (GPS) and Tx (Flora) to RX (GPS). Also connect GND to GND and 3.3V to 3.3V.
The whole wiring is shown in the circuit diagramm.
Start by cutting 4 pieces of wire with a length of around 3cm. Strip a few milimeters on the ends of the 4 pieces and solder them onto the GPS module. It's easiest to pass the stranded ends from the backside to the frontside of the GPS module and solder them on the frontside like shown in the pictures.
After that, you can glue the GPS module to the Flora. Just apply a piece of double stick tape or a drop of hot glue on the back of the Flora and press the back of the GPS module against it. Now you can connect the other end of the wires. Make sure they're not too long and solder them to the Flora. A third hand tool can help to keep everything in position during the process.
Now, let's have a look at the led matrix. Start mounting the 2 matrices on the backpack by placing the backpack in front of you, with the circles pointed up and the flower logo on your right. Next, pass the pins of the 2 matrices through the holes of the backpack. The writing on the matrices should point in your direction. Now you can turn the package around an solder the connections. After that, shorten the pins with the wire cutter.
Now you can solder 4 wires to VCC, GND, SDA and SCL connections of the matrix backpack. The wires should be roughly 15cm long. These wires might be visible, so you may want to pick a color you like.
Before you do any more soldering you probably should programm the Flora. How it's done is explained in the next step.
Step 3: Program the Flora
Software and Libraries:
Before we can start to programm the Flora, we will need the Arduino IDE as well as a few libraries from Adafruit.
How to install the IDE and add Adafruit products is described here.
You can download the libraries from GitHub for free by clicking on the links below.
- LED Matrix Backpack Library
- Adafruit GFX graphics core library
- Adafruit Sensor library
- BMP280 Pressure Sensor library
- Adafuit GPS library
- Arduino Timer Library
If you need help on how to install the libraries, you can visit this guide on the Adafruit website.
The code I wrote can be downloaded from here. Just create a new folder in your Arduino directory an paste the file inside that folder. Et Voilà
When going through the code you will notice that it works but that it is a bit messy and it needs improvements here and there. I haven't had the time to test the algorithm extensively. You could say, that the programm is still in beta phase and I will keep on updating it to make it more structured and make weather predictions more accurate. If you have any ideas, suggestions or advice just leave a comment so we can figure out a way to make things great.
Basically the Weather Watch makes predictions based on the air pressure. Since the device does not operate stationary, it has to compensate the change in air pressure due to altitude change. That's why we need the GPS module. With GPS, you can determine your altitude and use it to correct the air pressure measurements.
To upload the programm, open it in your Arduino IDE. Select the Flora as your board and select the usb port the Flora is connected to.
After that click on the arrow button and the code will be compiled and transferred to the device..
Step 4: Build the Wristband and Put the Electronics Into It
The wristband is composed of two elastic velcro straps and some 3D printed parts. If you don't have access to a 3D printer you could use a large leather wristband or integrate the electronics into a sweatband.
I had to shorten my velcro straps to fit my arm. I simply cut them to the right length using normal scissors and put the end through the plastic part. Then I clenched the strap and glued it with some hot glue. After that I made a few stitches just to be sure, in case the hot glue would become loose.
Now let's put the matrix into its case. Start by gluing the matrix onto the matrix_base. Simple all-purpose glue worked pretty well for me. Then take the matrix_top and glue it on top. I think the pictures make it pretty clear.
Next, take the four wires from the matrix and put them through the hole on the side of the sensor_case. Then cut 4 other wires which sould be about 7cm long. Take the end of a short wire and wring it together with the end of a wire coming from the matrix. So you can easily solder the two wires to one connection. Do this for all 4 wires according to the schematic
After that you can solder the other end of the four short wires to the BMP280 by pulling them from the back through the hole which leads to the front side of the sensor_case.
Then just slide the Flora into the round convexity and press the BMP280 into the rectangle convexity. Connect the LiPo by conducting its wires through the rectangle holes on the side of the case.
Finally, you can install the velcro straps like shown in the picture.
Step 5: Use Your New Wearable
Use your Weather Watch
After you have assembled everything, the only thing you have to do is to move that little switch on the flora from postition "OFF" to position "ON"
As soon as you have a GPS fix, your Weather Watch will start working. To make a valid prediction, the watch needs to be running for at least an hour. The only exception is the storm warning, it works already after a few minutes, because it takes short time changes in air pressure into account.
If you go inside a buiding while the Weather Watch is running, the prediction will probably become wrong or meaningless. Nontheless, the matrix will still show an icon an will continue to look incredibly nice (as long as you don't lose GPS signal).
During my tests, the battery lasted roughly a day long. This can be influenced for example by the brightness of the matrix.
Ideas for further development
Here some ideas that came to me while building this wearable but which I haven't implemented yet. Maybe these will inspire you if you build your own and just want to take it one step further.
- I thought of a button to freeze the program. So before you enter a building, you press the button and the matrix will continue to show the current icon. The board would stop to record data. Once you press the button again, the Weather Watch will continue to work normally
- Since the device has GPS, one could imagine a whole lot of other features one could implement. This could reach from a simple satellite clock up to a navigation system using your coordinates
- Another development would be to make the device weather proof. Just to eliminate the irony of an outdoor weaher station which isn't weather proof ;-)
If you have other ideas or want to give me some feedback, don't hesitate to leave a comment or write me a message. I would be glad to hear from you.
By the way, if you liked this instructable, feel free to vote for me.
Thank you very much for all of your support and your votes. Thanks to your help, this instructable made it to the finalists of the "Wearable Tech" contest. You are great.