Have you ever been wandering around searching for an open Wi-Fi? The Wi-Finder will not only find open Wi-Fi hotspots around, it will also detect if they are really open or just displaying a login screen / captive portal asking for money to use the network. And the best thing: It's cheaper than 20$!
The Wi-Finder has 4 different states: blue, yellow, red and green. If you start it, it shines blue, to indicate it is scanning for Wi-Fi networks. In case an open Wi-Fi access point is detected, the color switches to yellow to indicate that the Wi-Finder is trying to connect to the access point. If the Wi-Finder manages to get a stable connection and download a website successfully, the color will change to green. If there is no connection to the internet, the color will switch to blue again and the Wi-Finder starts searching for other Wi-Fis. A red color indicates that every Wi-Fi network has been scanned and none of them is open.
For this project you need the following materials:
- a single cell power bank
- an ESP8266-12F D1 Mini Wi-Fi Development Board
- one or more WS2812 LEDs (e.g. Adafruit NeoPixels)
- a small switch (e.g. a push button switch from an old flashlight)
- some sort of transparent tube (of 20mm (3/4") or more
- wires, solder, soldering iron, hot glue
If you don't have the right tubes you can use other cool housings for the electronics, of course.
Step 1: Disassembling the Powerbank
First a warning:
Lithium Batteries are dangerous and can explode if handled incorrectly. Be very careful not to short the battery as it will most likely destroy the PCB of your powerbank and may even lead to fire and explosion! You should discharge the powerbank before disassembling it, as it will reduce the current flowing in case of a short circuit.
Every powerbank is a bit different to disassemble. For the powerbank used in this instructable, you first need to remove the sticker on the side with the USB ports. In the next step you have to remove 4 little screws. After that you can carefully remove the lid and pull out the PCB with the battery. You can see the battery with the PCB in the pictures.
Step 2: Building the Power Supply
As a next step you should desolder the PCB from the battery and insulate the wires of the battery. This way, you don't have to be afraid of shorts when desoldering the USB Port and adding the power cables.
First you need to remove the USB port. The easiest method of doing that is to stick a small screwdriver between the USB port and the PCB and only start heating one pad. You then have to use the screwdriver to push the USB port away from the PCB and form a gap. You continue doing that for every pad until the USB port pops off.
Then you need to solder wires to the voltage output of the powerbank, which will be used to power the ESP8266 and the LEDs. If you have problems soldering the wires, you can use either clamps or tape to fix the PCB and the wire during soldering. We recommend using hot glue for insulation and stability. After this step you can carefully solder the PCB to the battery again. Make sure you use electrical tape on the ends of one of the wires which you just soldered to avoid short circuits.
Step 3: Adding a Switch
The next step is to solder a switch to the ground wire, which is the black wire in our pictures. It is needed to turn the Wi-Finder on and off.
First you have to find out the pinout of the switch. If you have a multimeter, you can simply check in which position the switch is closed. If you buy a switch, you can look up the connection in the datasheet.
The most switches have one or two rows of pins. You can just connect two pins of a row which are next to each other then.
Step 4: Solder the LEDs and Power Supply to the ESP8266
In this step, the power supply and LEDs are soldered to the ESP8266 chip, which will then scan the Wi-Fi and check if it's open. As a first step, three wires are soldered to the LED strip. You can use up to 100 LEDs with this firmware, although a 2A powerbank will only power about 30 LEDs. You can also use LEDs of a different form factor, but you have to ensure that the wires are connected correctly.
We use a black wire for the ground, a red wire for the +5V and a green wire for the Din pad. Again you can secure the wires with hot glue to add extra stability.
Step 5: Flashing the ESP8266
To flash the ESP8266, you first have to download an esp flash tool. We recommend using the NodeMCU-Flasher, which you can downoad here: https://github.com/nodemcu/nodemcu-flasher
Next you need to download the Wi-Finder firmware from https://bitbucket.org/Seze/wifinder/downloads/
You may also download the source code, if you want to modify the firmware or just compile it on your own. You can compile the code with the arduino IDE.
First connect the ESP8266 to your computer using a micro USB cable. Open the NodeMCU-Flasher and browse the WiFinder.bin file you just downloaded. Usually there is only one COM port to chose from. If there are several, the easiest option is to just test each port. Click "Upload" to start the flashing process. After you the flashing has succeeded, you can disconnect it from the computer.
We recommend turning on the switch at this point to test the functionality of the Wi-Finder. If you soldered the switch incorrectly or made another mistake, it is still fixable at this point before you hot-glue everything in place.
Step 6: Assembly of the Electronics
Now, the housing for the electronics can be prepared. You have to make sure not to use a metal case, as it would block Wi-Fi reception. We used a plastic pipe with an inner diameter of 20mm (3/4"), which we painted black. As the ESP8266 is exactly 20mm wide, we needed to cut a slit into the pipe to make space for the PCB. While this helps to secure the ESP in place, we recommend using a bigger pipe. You can hot glue the ESP to the pipe to hold it in place.
To measure the length of the pipe, you can just hold the electronics next to the pipe to see if it fits. The Wi-Finder is easier to build when you leave some extra space. This way, you can leave the wires a bit longer and hide them in the housing.
You need to hot glue the ESP8266, the powerbank PCB and the switch together to get them into the pipe. To avoid shorts, make sure to use electrical tape where the PCBs could touch each other. After you glued all the electronics together, put it in the pipe. Make sure to put in the LED strip first, followed by the battery and at last the hot glued PCBs. Add a bit of hot glue to hold them in place. As we needed to cut a slit into the pipe, we used some insulating tape to cover it.
Step 7: Assembly of the LEDs
The last step is to put a half transparent tube over the WS2012 LEDs and hot glue it in place. As these tubes are rare to find, you can be creative and use other things as hot glue filled clear pipes, 3D printed sword blades or whatever you can imagine. You can theoretically add more LEDs, although that might drain the battery pretty quickly. Then you secure the transparent tube to the electronics housing using hotglue or electrical tape. We used some tape to cover the electronics and hot glued a bottle cap to the other end of the Wi-Finder. You need to make sure, that you cover the right micro usb port. You need the port of the powerbank for charging.
The USB-port of the ESP is only useful if you want to flash a new firmware.