If you have an APM (or compatible) flight controller, and Telemetry set, chances are, you’ve hooked it to your smart phone. You need a special USB cable, called usb OTG cable. It convinces your phone’s usb controller to read other peripherals. But cables break, right? Well, mine did… I couldn’t bother fixing it, so I did something better! Ardu Pilot Mega Telemetry-Wifi bridge with ESP8266… it reads APM’s telemetry, and forwards it to ESP8266. ESP creates a Wifi access point, you can connect to, so Tower app can bind to that IP, and control the craft. It’s basically a wireless USB cable 🙂
What we need (Parts List)
ESP8266 (I have ESP01) with NodeMCU,
Telemetry module (preferably air module-without usb),
0.9V-5V to 5V DC-DC Booster Module
1 cell LiPO battery charger,,
1 cell LiPo (mine has 650mah-lasts for hours)
3.3v voltage regulator- LM1117 3v3 0.5A should do
a case (I used 2xAA battery case)
Prepare the ESP8266
On the right pane, select your serial adaptor, 9600 baud and click . If you can’t see the adapter, click the button. After connecting, if you see the “Can’t autodetect firmware, because proper answer not received.” error, don’t worry, it’s because ESP has initialised before you connected to it. Just click on the right, or reset the ESP.
Once you are connectred to it, you need to upload the program to forward data from telemetry to wifi. Download Init.lua.zip and unzip it (I do not claim credit for that init.lua, as it was downloaded from the internet, sadly I forgot where I found it. If you know, drop a comment, I will give credit). In Esplorer, the left pane, Open the init.lua, and it should show the contents in the panel. You can change the AccessPoint name and password. To upload it to ESP, click on . That’s it for the ESP, set it aside for now.
Prepare the enclosure
As I said, I used 2xAA battery case from christmas LED lights. I think the price for that was about 2eur, and it also has a switch :). Chop off the LED strip.
Open it, remove every bit of plastic, except the switch retainers.
Charger and Booster
For this step, we need the LiPo charger, 3.3v to 5v booster and a LiPo battery. If you use air Telemetry module without the USB connector, you can hack the 5v booster. Just chop off the connector, it makes it a lot smaller. Be careful and leave the four tiny through-holes.
For the charger, I had the ides to put it at the bottom and also see the status lights. I removed the smd LEDs, and soldered an RGB led. I used common ground led. You can leave it as is.
Solder the three together. Battery to Charger, charger to booster, switch between charger and booster.
Connecting everything together
The telemetry also works on 3.3v but the module has its own voltage regulator, and I didn’t want to hack the module. We need another 3.3v voltage regulator to power the ESP8266, so we stick it between booster 5v and ESP8266. It’s also smart to use a capacitor on the regulator output line, something around 10uF should be ok. Also connect Telemetry TX to ESP Rx, and Telemetry RX to ESP Tx.
DO NOT POWER ON WITHOUT ANTENNA, OR YOU MAY DAMAGE THE TELEMETRY!
Put it in a box
I placed the battery circuit on the bottom, placed a slab of veroboard on top, on which I glued/soldered ESP and Telemetry.
Be sure to make holes for usb and led. I used my soldering iron to melt the plastics, be creative 🙂
LM1117 3v3 voltage regulator is soldered on the bottom of veroboard with some other connections, just to make thing nice (notice the tiny smd capacitor between Gnd and 3v3).
Connect like in the schematics in the picture and hot-glue everything together. Notice the hole for telemetry antenna on the left.
I wanted to see the smd led through to top, so i poked some holes with my trusty iron tip again.
Configuring the Tower app
With your smart phone, find the APM Telemetry wifi, and connect to it. Name and password are in the init.lua. Change to whatever you wish. Open the Tower app, and go to Settings
Change Telemetry Connection Type to TCP
Open USB, TCP and UDP settings, and make it look like that
That’s it. Click Connect and you should be ready to go… or fly…