Introduction: Pretty Arduino WiFi Strength Display
Want to know how strong a connection you have to your Wifi? With this instructable, you can create a nice looking wifi strength display that will show you just that.
NO prior coding knowledge is required
NO prior wiring/electronics knowledge is required (though it could prove useful)
Some pictures of the final product are attached.
What do you need?
- The Adafruit HUZZAH ESP8266 BreakoutBoard (https://www.adafruit.com/product/2471)
- 4 NeoPixel Diffused LEDs (You only need to buy one pack, it includes 5: https://www.adafruit.com/product/1734)
- A Battery pack with a negative and positive wire that can be soldered onto other wires (I used one from a SnapCircuits kit I had lying around: http://www.snapcircuits.net/).
- 2 AA Batteries
- Some Breadboard wires (Like these: https://www.adafruit.com/product/153, although any ones will do)
- 2 Breadboards (This is the one I used, however once again any will do: https://goo.gl/hkH7Gv)
- A soldering iron and solder
- A computer with a USB port
- A small transparent box (one that can fit about 3 breadboards together in it, it will need to have close to an inch and a half depth so that wires will not break when you close it)
- A small Breadboard switch (https://goo.gl/Hy2XWV)
Step 1: Solder in the Breakouts
Open the bag that your Huzzah board came in. There should be small bits of plastic with metal sticks poking out. These need to be soldered into the holes on all sides of the Huzzah board.
Be VERY careful not to make any connections between those holes with the solder, the pins should stick out on the bottom of the board. One set of these "breakouts" (the sticks of metal coming out o0f plastic) should be soldered on so that it stick out of the top of the board. This breakout is going to be on the width side of the board (the shorter side). You will see that there is room for a smaller breakout on that side (there will not be one on the other). This breakout is probably the most important, as it will be allowing you to connect the board to your computer later.
Once all the breakouts are soldered in, find a place on the breadboard for your Huzzah. It can overlap the small breaks in between halves of the breadboard.
Step 2: The Wiring
This is the hardest part so far, so get ready.
Above is the diagram of how to wire everything together, so each piece can talk to each other piece and the device can get power.
Each colored line represents a wire. Each circle at the end represents the hole in the breadboard where you should push the end of the wire in. Make sure you line up your Huzzah board as you see in the diagram and that the number on the holes on the Huzzah are lines up with the wires next to them on the breadboard.
This may seem daunting, but no more soldering is required. Simply push each wire in as shown and connect each piece as shown.
The LEDs need to have their flat sides facing the right side of the board, check the picture of the LED in the diagram for how they should be placed. Each wire coming out of the LED should be put in the holes on the breadboard where the associated color is shown.
Step 3: Setting Up Your Computer
Next we need to set up your computer so it can interact with the Huzzah board.
Follow this short guide by the creators of the board so that you properly install everything you need to get it up and running: https://learn.adafruit.com/adafruit-huzzah-esp8266...
After this we need to make sure we can use the LEDs. We will be using a similar guide by the creators of the LEDs to do this: https://learn.adafruit.com/adafruit-neopixel-uberg...
To make sure the board and the LEDs are working, run the "strandtest" program they instruct you to run. You should see the LEDs do a rhymic dance of color and flashing. If the LEDs do not work, try pushing the FTDI cable off the pins on the Huzzah board slightly, this may help. If this does not help, check your soldering, this may be the culprit.
Step 4: Programming the Huzzah
- Next we are going to put a new program on the Huzzah board.
No need to do any programming, I have already written the code for you (While the code was written by me, it is open source, meaning you may distribute it and change it however you like).
You will need to paste the code included into a new "sketch" in the Arduino IDE (the coding program you have been testing the Huzzah with). You will need to change "NETWORK_NAME" (line 16) to the name (aka SSID) of your network and "NETWORK_PASSWORD" (line 17) to the password of your network. Once you have created the sketch, compile it, and then connect your FTDI cable to your computer and your Huzzah board and hit upload. It will take around a minute and a half, this is completely normal. You will see a small blue light blinking on your Huzzah board. Once the code is uploaded all the way, you can disconnect the FTDI cable from the Huzzah and turn your switch to the on position. This will let the battery power your new Wifi Strength Display. The LEDs will light up one at a time from green to red to indicate the board is connecting to your Wifi. Once it has connected, all of the LEDs will flash green four time and then remain green for a moment. Next anywhere from one to four LEDs will light up and change colors based on how close or far you are from your Wifi hotspot. The lights are programmed to change color slightly so that they look more interesting.
The program is included as a text file and as an .ino file which can be placed in the Arduino sketches folder and run from there. I cannot paste the text of the code here, as it will not format properly.
The sketches folder is located at C:\Users\YOUR_USERNAME\Documents\Arduino on windows and ~/Documents/Arduino on Mac.
- Code now makes the device blink red 30 seconds after it disconnects from Wifi, then try to reconnect
If you find any issues with my code, please message me! I will do my best to resolve the issue as soon as possible!
Step 5: You Are Done!!! Congrats!
Congratulations! You just built your very own Wifi Signal Strength Display!
You do not need to do any more!
I hope you enjoyed this instructable and that you did not have too many problems while creating the display!
Thank you for reading!