Arduino Lessons Learned: Connecting to Other Microcontrollers versus Wifi
Microcontrollers, like Arduino, are well and good on their own. There is a huge diversity of modules or circuits one can set up toward useful purposes all on their own. Sometimes, you want to go beyond a single lonely Arduino. I wanted to do this with a project that I am continuing to work on towards building a wifi signal strength sensor.
I purchased components for this project based on what would most conceptually serve my purposes. As wifi can be thought of as a radio signal and I wanted a more precise means of measuring the signal, I chose an antenna-based setup. On investigating different Arduino modules, I identified NRF24L01 as what seemed to be appropriate for my purposes. The 2.4 GHz signal made me believe more that this would fit for wifi, with marketing suggesting appropriateness for “wireless” purposes going along with this.
As I have learned, this sensor is more appropriate for communication between microcontrollers than wifi after locating reference code and reading a few forums. It does not seem capable of working with wifi at all. After reading more online, I found a sensor that will fit my purposes. It is a sensor that I have used before. Still, given that my projects have not relied on a controller for computer/wifi communication in a while, I understandably forgot about it.
Meet the ESP8266 module. This is a module capable of wifi, thus fitting my purposes exactly. It does not have a formal appearing antenna, but the sensor itself forms an antenna directed along the sensor’s axis. Given that I am designing my wifi strength detector's body using 3D-printing and have already completed creating a prototype (pictured above), I will revise it. Fortunately, conversion to this model will not be too much work and will simplify its design. Sometimes mistakes come with silver linings during troubleshooting.
The RF24 module was not a wasted purchase. Communication between microcontrollers can be advantageous, such as if I have a sensor on one Arduino, I want to send messages to another after a given input. Perhaps I want to make an auto-watering device for a plan influenced by the humidity with a sensor placed at a better point for getting a better measurement. The RF24 would allow me to send this data to the actual plant waterer controller to permit a more complex response.
Engineering is understandably not easy. When one seeks to do it without more formal training, there can be a bit of a learning curve, as I have appreciated over the past few years. Fortunately, lessons can be gleaned from mistakes. I learned how better to evaluate sensors and the existence of the RF24 module. I look forward to moving forward with my wifi sensor project and writing about it here on Medium.