The RBNSpyBox project is documented in Practical Wireless, July 2019. If you require further information, such as the associated circuit diagram or a PCB, then please contact me at [email protected].
There is a small issue where it is possible to get trailing spaces on the end of callsigns. This causes an issue as it is matched against. To remove the space simply go to the Friends page, put the curse in the callsign box, remove the space and hit update.
The Arduino IDE has moved on since this project was started. The latest IDE 1.8.10 causes a few compilation errors regarding duplicate libraries. Today (December 9th, 2019) I have confirmed that the prject builds with Arduino IDE V1.8.6 that can be found here:
https://www.arduino.cc/en/Main/OldSoftwareReleases#previous
Snapshots of the two libraries, AyncyTCP and ESPAsyncWebServer have been added to the libraries folder.
The circuit is based around the ESP32 ESP-WROOM-32 38-pin DevKitC breakout board. This was purchased via ebay from the URL https://www.ebay.co.uk/itm/ESP32-Development-Board-Wireless-WiFi-Bluetooth-2-in1-Dual-Core-for-CP2102-ESP32/153034283929?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649 it must be noted that other vendors supply this device too!
The LCD module is a Yellow IIC I2C TWI 2004 20x4 Serial LCD Module Display. Bought from eBay. A typical vendor being https://www.ebay.co.uk/itm/With-Without-IIC-I2C-2004-20X4-Character-LCD-Module-Display-Blue-Green-Arduino/263128525818?hash=item3d43aeabfa:rk:5:pf:0&var&checksum=263128525818d2084b387f5a4bce874e21a98eafa17e&enc=AQADAAADAFjVrDbVsZ8oH%2F8PNHtt9VX4%2Fw7FZcmMuqsX8uaFEduVNikuAV%2FYybasnlPApClObG%2BQxNE19rDxiyNaRftM41q9vIBIyjiM6qEBc9K50kG%2Folz6Z8gLFsCm1%2F68KcmNMoV3R15zoQMTphBaUZTlhdt0oTQFi%2F1PhK4FanGiT7ZLevB57thPpxqUgp5vaLo1APgFTuLjEF2l9rMjyO9K8jbgtTJBirsApQOasrGvr1Y2c%2F4QP4jqnT5ArHqR5jYFp7LaWVPiFzeFwO1p7M2pnObvCbS%2B5W91Tpp279GE%2FC25ZgxrH2ywKUJVmPc3V7g8cSi7H8OyG1DrLV0HYbrqO%2F5jBgFfQB5KW1bHu0YFgTfSiirQaMPGLayEuifJ8uC1xW83wvc2laHu9PUQfD%2Fv8mj8pekCBoHLC9JULa39BmhGt4r7THGR10t4tEAiPo8N%2B9olJYnhismZI3GcqiZ4y8%2B%2BXgpeBy97KLPhbl49UvkZk4E%2FqczzcdxflU%2FxIjfscN90gjcZ6EmaWk%2FjdOcH%2F0VlVpg8KFAelIDMgKzD0HbxhUJq3cmNBT6xrhEedtbSqpKcBHdYvnLunAW83lUM%2B%2BYPe8AzXtmswtnplQOmFMfjgsKuHqUXoZOHsw1sCeklfR7%2BquWb6zkolsknZEkbBlgKXDVApiwj300oTwlUyimiIHCeEXUsHJwSwdRYHKHdzSSlwR4RWEAILNLBzn768rctI%2FtB88POJyCgpg%2FIPDkOSeP0JBpGazC9oxkNBEDTytLYgoSsjH3KMpdEVJS%2FUYf%2FBtdizvEe3T9Ht4%2BsuCuq%2F%2F%2B0si9WzrVwz7TqNLtGrM4e793qmiPsN0AfAUtQ2spPa7oc1fnzJBXMkjBmwxbvweM8j%2FIMCgMjJ2no03lXQyCCxOp%2BR3LGZU2VofH9%2FZV1CIFNiofU6QaiIZYD8wR1ur92PIMitj284MxJ0vLsUHXciNoTVbu6yg9wThnfSZMohTBNKe2xrROgIIjNa0MUSJoaV7rNaFPzEaDxFgVDBQ%3D%3D it must be noted that other vendors supply this device too!
The AT24C64 EEPROM was purchased via ebay from the URL https://www.ebay.co.uk/itm/LC-Technology-AT24C64-EEPROM-Memory-Module-LC-AT24-C64-I2C-Arduino-Flux-Workshop/112081460945?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649 it must be noted that other vendors supply this device too! This is a breakout board that was originally used for development purposes. The chip itself was later extracted and used on the PCB.
Start by installing the Arduino IDE. This can be found at:
https://www.arduino.cc/en/Main/Software
For the purpose of this build the Windows version Arduino 1.8.8 was used. All default installation options were accepted.
Next install the ESP32 board manager.
- Open the Arduino IDE and navigate to File > Preferences
- Enter "https://dl.espressif.com/dl/package_esp32_index.json" into the box labelled "Additional Boards manager URLs:" then click the "OK" button
- Open the boards manager, navigate to Tools > Board > Boards Manager...
- Search for ESP32 by typing "ESP32" into the top text box
- Cursor over the "esp32" entry and click the "Install" button. This displayed as version 1.0.1
- Once complete hit the "Close" button to close the dialog
- Close and re-open the Arduino IDE. On the Tools > Boards menu you should now see an entry labelled "ESP32 Dev Module"
Next install the ESP32 Filesystem Uploader.
- Open the release page: https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/
- Download ESP32FS-1.0.zip and open it
- Move to your Documents folder and then into the "Arduino" folder. Create, if necessary, a folder called "tools" and copy the ESP32FS folder from the zip file to the "tools" folder
- Close and re-open the Arduino IDE. On the Tools menu you should now see an entry labelled "ESP32 Sketch Data Upload"
Next install the required libraries.
These reside in the the folder Arduino\libraries that sits under your users "Documents" folder.
Install ESPAsynchWebServer
- Open the URL https://github.com/me-no-dev/ESPAsyncWebServer
- Click on the green "Clone or download" button and select "Download ZIP"
- Open the downloaded zip file and copy the folder "ESPAsyncWebServer-master" folder to the libraries folder mentioned above
Install AsyncTCP
- Open the URL https://github.com/me-no-dev/AsyncTCP
- Click on the green "Clone or download" button and select "Download ZIP"
- Open the downloaded zip file and copy the folder "AsyncTCP-master" folder to the libraries folder mentioned above
Install Arduino-LiquidCrystal-I2C-library
- Open the URL https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
- Click on the green "Clone or download" button and select "Download ZIP"
- Open the downloaded zip file and copy the folder "Arduino-LiquidCrystal-I2C-library-master" folder to the libraries folder mentioned above
- Download the associated ZIP file and uncompress it on your drive
- Open the Arduino IDE and then open the RBNSpyBox.ino project file in the Source\RBNSpyBox folder
- Navigate to Tools > Boards and select "ESP32 Dev Module"
- Navigate to Tools > Partition Scheme and select "No OTA (Large APP)"
- Click the "Verify" button (Round circle with a tick mark in it - top left), if successful you will see something like "Sketch uses 796430 bytes (37%) of program storage space. Maximum is 2097152 bytes. Global variables use 59472 bytes (18%) of dynamic memory, leaving 268208 bytes for local variables. Maximum is 327680 bytes." though the number may not be exact.
The SD Card holds the ring tones that can be associated with the Friends. The files total about 13 MB and must be stored on a FAT32 formatted SDCard. The file structure must reflect that of the SD Card folder that is the top-level folder must be "01" with the MP3 files stored below it. It should be possible to simply copy over the "01" folder from the downloaded SDCard folder.
Once construction is complete a USB cable is required to connect the ESP32 DevKitC board to a USB socket on your PC. Plug the device in. You may get a pop-up message identifying the new associated COM port. If not then the Windows Device Manager can be used to confirm the associated COM port. Open the Arduino IDE and then open the RBNSpyBox.ino project file. Navigate to Tools > Port and select the new COM port.
Next, we will populate the ESP32 SPIFFS area with the HTML pages. Select Tools > "ESP32 Sketch Data Upload". When the IDE window says "Connecting" press the button for a couple of seconds and release. You should more progress in the IDE window and it should complete.
Next, we will compile and upload the software. Click the right pointing arrow at the top of the IDE under the word "Edit". The compilation may take a minute or two. Again, look out for the "Connecting", press the button for a couple of seconds and release.
If successful, the 20 x 4 display should eventually now read:
Connect to:
RBNSpyBox
and browse to:
http://192.168.4.1
To configure the RBNSpyBox you will need a PC, tablet, phone, or other Wi-Fi enabled device. This device should be connected to the Wi-Fi access point RBNSpyBox, no password required. Once connected open a browser and navigate to the URL http://192.168.4.1
At the top of the page you will see a series of buttons, click the "Settings" button. If prompted by a dialog saying "No SSIDS visible", dismiss it. You will need to populate the boxes labelles "WiFi SSID:" and "WiFi Password:" with those of your Wi-Fi network. You will also need to provide your callsign, this will be used to login to the Reverse Beacon Network. Once complete click "Update".
The RBNSpyBox should now connect to the configured Wi-Fi network and start processing data.
Click on the "Help" button at the top of the page for more help.
Steve, M0ECS, has sent in a picture of his completed build.