I’ve enjoyed playing around with my Arduino’s (which I’d blogged about here) and was up-to-date with the Youtube series I’d been watching, so started looking for something new to try. Controlling things via Wi-Fi would be useful for lots of things, so I decided to buy a cheap ESP8266 Wi-Fi module and get that working with an Arduino Uno. It turned out to be much easier said than done!
This is one of those blogs I drafted some weeks back when I was playing with this. Over the last few weeks, I’ve been sidetracked with other things and lost a little interest in the Arduino. That’s partly down to achieving the original goal, which was to replicate the Devastator project code using an Arduino + Wi-Fi instead of the Raspberry Pi and USB 2.4GHz wireless keyboard/mouse.
It’s probably easier now to try and do this backward, so here’s how the model currently looks:
It’s not quite the same quality platform as the Devastator project, but the idea of this one was to try and reuse as much as I could. I didn’t have any motors or wheels, so got these cheap and cheerful ones on Amazon. They were attached to a couple of pieces of flex board I had lying around and stuck together with velcro.
I’d initially planned to use a motor controller shield on one of the Arduino Uno’s I’ve been playing with, and even bought this one (which would allow me to control all 4 motors independently) before realising that it would give me major problems trying to control the Arduino wirelessly.
I ended up buying another L298n dual H-bridge DC stepper motor controller (the same I’d used for Jnr Trak) with the left and right motors connected up to the same points. It works just fine, although probably isn’t a great solution and might not handle higher powered motors.
Trying to get the ESP8266 ESP-01 Serial Wireless WLAN WiFi Transceiver Module working on any of the Arduino’s with Blynk even to control some LEDs proved to be a royal pain in the arse, and I’m still not sure I’ve achieved that reliably yet. I even struggled to program or flash it through the Arduino, which I’m pretty sure is possible, even though there are earlier ways, which I eventually found and utilised. I even soldered some wires (hidden under the hot glue to provide some protection) onto my own USB programmer!
I did end up learning some basics about flashing and programming the devices, setting up software serial connections (which I think is the main problem with the Arduino’s) and interacting with Blynk, but ended up buying a NodeMcu V2 WiFi Lua Amica ESP8266 ESP-12F Development Board with CP2102. This is pretty much an Arduino with integrated Wi-Fi and enabled me to get things up and running on a small breadboard pretty quickly.
I guess you could call that somewhat of a fail, as the objective was to reuse one of the Arduino’s but I’m still not convinced that’s even possible, or at least not with the knowledge I’ve picked up so far.
It was much easier getting Jnr Trak up and running on the Raspberry Pi 3A+ than it was with this, but I think the control mechanism using Blynk on my iPhone is much neater than the wireless keyboard I was using for Jnr Trak.
I still have lots to learn about Blynk programming on the Ardunio, which is also part of the problem. I learn enough to get some basic stuff done but struggle with the time to develop that knowledge further. I’m not entirely convinced spending much more time with Arduino and their IDE is a good use of my time, although it’s been fun playing.
I also wanted to get a Servo wired up with an Arduino to control a catapult for launching things attached to either of the remote-controlled robots. I’ll maybe blog about that if I ever get around to finishing things off.
The links below are more reference for me but might be useful if you stumble upon this blog as you happen to be trying to do something similar. Good luck if you are…
Setting up the ESP8266 with Wi-Fi
Command for flashing the ESP8266 ESP-01
./esptool.py –port /dev/cu.wchusbserialfa120 write_flash 0x3e000 ./bin/blank.bin 0x00000 ./bin/eagle.flash.bin 0x40000 ./bin/eagle.irom0text.bin 0xfc000 ./bin/esp_init_data_default.bin
Wifi Controlled Robot Car Using Nodemcu and Blynk (my code based around this)