Hi builders!
So, recently I was setting up my quad (With Holybro Kakute H743 Wing Flight controller) for a Quicktune calibration using AMC (Ardupilot Methodic Configurator) and i found that we require the use of a Telemetry module for such Calibrations to view data live.
But.. I lacked a 50$ radio Telemetry module.
So, I decided to build my custom wifi Telemetry using My already kept Arduino UNO R4 Wifi OR Raspberry Pi 4B.
I firstly tried with Raspberry Pi 4B, but it proves to be a power hungry monster, and so, it requires a smooth external BEC which can supply him 5V 3A. Or otherwise, even the smallest of fluctuations in BEC will reboot it.
Then, I started with Arduino UNO R4 Wifi.
I made simple connections as follows=>
FC’s 5V BEC supply to Arduino’s VIn pin.
FC’s GND To Arduino GND
FC’s T7 (SERIAL1, Telem1) to Arduino’s Hardware serial, RX (Digital Pin 0)
FC’s R7 and Arduino’s Hardware serial, TX (Digital Pin 1) left unconnected (just for now, but we will connect them using a self-made logic level shifter in a while).
The first problem we face is that, The FCs are generally working at 3.3V Logic level, and Arduino works at 5V Logic level. So, Any signal sent from FC to Arduino, will generally be considered as “HIGH” by Arduino, But any signal sent from Arduino to FC, will fry the MCU.
So — We require a logic level shifter.
But, instead of purchasing it, I made it myself on perforated board supercheap using just 3 jumper wires and 3X 10K Ohm resistors, and no Transistor related Circuitry involved!
This is how to make it:
Since Arduino nicely reads any signals Sent by FC as “HIGH”, so, we only require a Logic level shifter on the Arduino Tx → FC Telem Rx. And we will make a “Resistor Voltage Divider” to work as a logic level shifter here.
Firstly, here are its schematics:
Since the resistances are same, there will be an equal voltage drop across each resistor. So, 5V/3 = 1.666666…V drop across each resistor.
Hence, we get nearly around 3.34V right after the first resistor.
I built/soldered the Above circuit over perforated Board, and mounted it on drone landing gear like this =>
Now, Connect the Arduino UNO R4 Wifi to PC with type C cable, and upload this code =>
Arduino_UNO_R4_WiFi_Telemetry.zip (1.4 KB)
Further, Install a GCS Software in Mobile phone (I have used QGC Android), or simply use mission planner/QGC on PC (If you like carrying a whole PC To the field)
Power up the drone, connect to Drone’s Wifi, and then open the GCS. Most probably, The GCS would automatically detect heartbeats and connect to UDP over default port 14550.
If GCS does not detects the Quad, then connect manually by selecting UDP protocol (Not TCP), and entering port number as “14550”.
You will see the HUD Get populated, and you can also safely transmit the Data from GCS to Vehicle.
This was a simple demonstration to build a Wi-Fi Telemetry using an Arduino UNO R4 Wifi board.
Thanks. Your Opinions are respected.








