RECon32 English Setup Guide: ESP32, Betaflight and Camera Control
Share
Quick answer
RECon32 is experimental firmware that links a supported action camera to Betaflight through an ESP32. It can confirm recording in your goggles, show camera status and accept recording or camera wake/sleep commands from radio channels. Installation needs a supported ESP32, one free flight-controller UART, four wires and Betaflight 2025.12.1 or later for OSD support.[1]
This English guide follows RECon32 1.0.0-beta.13 documentation and the later firmware offered by its installer at the time of writing. Beta versions can change, so check the live RECon32 manual before flashing.[1][2]
Read this before buying hardware
The official documentation names two targets: ESP32-C3 SuperMini and ESP32-S3 with 4MB flash. RECon32 is not certified for aviation or safety-critical use. Do the first setup on the bench with the propellers removed, and never put camera firmware in the flight-control, arming, failsafe or emergency chain.[1]
Board names matter here. Do not substitute another ESP32-C3 or ESP32-S3 board merely because it uses the same processor. Flash layout, USB behaviour, boot circuitry, power design and pin routing can differ. Until RECon32 adds a board to its supported list, treat it as incompatible rather than “probably fine”.
If you need the documented C3 form factor, shop for an ESP32-C3 SuperMini on Amazon. The link opens current search results rather than one fixed listing, so check that the board is explicitly an ESP32-C3 SuperMini with 4MB flash before ordering. As an Amazon Associate we earn from qualifying purchases.
What you need
- A documented RECon32 target: an ESP32-C3 SuperMini or ESP32-S3 with 4MB flash.
- A USB data cable—not a charge-only cable.
- A computer running Chrome, Edge or a Firefox release with Web Serial support.
- The RECon32 installer opened over HTTPS.
- A flight controller with one unused UART, 5V and ground pads.
- Fine silicone wire, soldering tools and insulation or a suitable mount.
- Betaflight 2025.12.1 or later if you want the camera messages in the OSD.
USB installation is not supported from Safari, iOS or other mobile devices. Close Betaflight Configurator, serial monitors and any program holding the serial port before you begin.[1]
1. Install RECon32 over USB
- Remove the drone battery and disconnect the ESP32 from the flight controller.
- Connect the ESP32 directly to your computer using a known-good USB data cable.
- Open the RECon32 web installer.
- Read and tick the hardware, erase and risk checks. The first installation erases stored cameras, Bluetooth bonds and earlier settings.
- Select Connect and install, choose the ESP32 serial port, and confirm.
- Leave the cable connected and the tab open until writing and verification finish.
If the serial port appears and disappears
This is normally USB re-enumeration. Hold the board’s BOOT button while selecting Connect and install and choosing the port. If the installer enters recovery, keep BOOT held, select Retry, then release BOOT when connection starts. On a board with both BOOT and RESET, hold BOOT, press and release RESET, then release BOOT.
Later updates often connect without this sequence, but do not rely on it. If no port appears, change the cable, avoid a USB hub and make sure no other application has the port open.
2. Wire the ESP32 to the flight controller
Disconnect both USB and the flight battery before soldering. Transmit goes to receive: the flight controller’s TX pad must connect to the ESP32 RX pin, and the flight controller’s RX pad must connect to the ESP32 TX pin. A shared ground is mandatory. Never put 5V on a GPIO.
| Flight-controller pad | Official C3 mapping | Official S3 mapping |
|---|---|---|
| 5V | 5V | 5V |
| GND | GND | GND |
| UART TX | GPIO6 (RX) | GPIO15 (RX) |
| UART RX | GPIO7 (TX) | GPIO16 (TX) |
Do not power the ESP32 from USB and the flight controller’s 5V rail at the same time unless you have verified how your exact board isolates those inputs. Disconnect the ESP32 from the UART before reflashing Betaflight.
3. Configure the Betaflight UART
- Connect the flight controller to Betaflight Configurator with the ESP32 disconnected or unpowered.
- Open the Ports tab.
- Find the UART you wired to the ESP32.
- Enable MSP for that UART at 115200 baud.
- Save and reboot.
Only one peripheral can own that UART. If it is already used by a receiver, video transmitter, GPS, telemetry radio or another MSP device, choose a different free UART. Our FPV drone wiring guide explains the TX-to-RX rule, while our Betaflight OSD guide covers the display side.
4. Open the RECon32 portal
- Power the ESP32 from the flight controller.
- On a phone or computer, join the Wi-Fi network named RECon32-XXXX.
- Use the password recon123.
- If the captive portal does not open, browse to http://192.168.4.1.
- Select the camera family: GoPro, DJI or Insta360. RECon32 restarts after a family change, so reconnect to its Wi-Fi.
Once the camera is ready and no mobile device remains connected, RECon32 normally disables its Wi-Fi after 30 seconds. Arming the aircraft also disables Wi-Fi until the ESP32 restarts. This reduces an unnecessary active radio during flight.
5. Pair the action camera
- Put the camera into its Bluetooth pairing mode.
- In the RECon32 portal, choose Search cameras.
- Select the correct camera and choose Pair.
- Confirm the code where required: six digits for GoPro, four for DJI.
- Optionally assign a short alias to make multiple saved cameras easier to identify.
One known, awake camera reconnects automatically. If several configured cameras are reachable, select the intended one in the portal. Camera lists, aliases and MSP mappings are stored separately for each brand.
Screenless GoPro with GoPro Labs
Select Screenless camera and show the generated QR code to the lens. HERO10 and later can scan it directly. On HERO9, press the shutter three times quickly and a fourth time to confirm.
DJI Action 2
Set the camera’s Wi-Fi frequency to 2.4GHz before pairing. RECon32 cannot connect while the Action 2 is configured for 5GHz.[1]
6. Check camera compatibility
RECon32 separates physically validated cameras from models with only expected compatibility. Expected means the relevant protocol or driver exists; it is not a guarantee.
Physically validated in the published guide
- GoPro Mission 1 Pro
- GoPro HERO13, HERO12, HERO11 and HERO10 Black
- DJI Action 2, Osmo Action 4 and Osmo 360
- Insta360 X3
Expected, but not physically validated in the published guide
- DJI Osmo Action 5 Pro
- DJI Osmo Action 6
- Insta360 X4
RECon32 also includes a route for cameras compatible with Open GoPro Bluetooth Low Energy. Do not infer support for an unlisted model merely because it belongs to the same family; camera manufacturers can change Bluetooth behaviour between models and firmware releases.
7. Configure recording from the radio
- Make sure the camera and Betaflight are connected.
- In the portal, choose Configure recording.
- Select the RC channel, threshold and which side of the threshold means “record”.
- Save the setting.
- Move the switch once into the position matching the camera’s actual recording state.
If the switch is already in the record position when the camera connects, move it away and back before expecting recording to start. RECon32’s recording channel controls video recording, not photo modes.
8. Optional camera power channel
Configure power assigns a second RC channel. One side attempts to wake and connect the camera; the other puts it to sleep. It never starts or stops recording. The first stable switch state only arms the function, so a later switch movement is required.
- Wake-up can take up to about 10 seconds.
- A completely powered-off camera cannot be reached.
- A GoPro may remain reachable over Bluetooth for up to about eight hours.
- A DJI camera must have connected during the current RECon32 boot and have slept for no more than about 30 minutes.
- If several configured cameras are reachable, RECon32 wakes none of them and displays CAM MULTI.
- RECon32 will not sleep a camera while it is recording.
9. Set up the Betaflight OSD
RECon32’s OSD path requires Betaflight 2025.12.1 or later and MSP API 1.47. In the OSD tab, enable and position Custom Message 0 and Custom Message 1.[1]
| OSD text | Meaning | What to do |
|---|---|---|
| CAM OFF | No camera connected | Check camera power, Bluetooth and pairing |
| CAM CONNECT | Connecting or waiting | Wait, then check the selected camera family |
| CAM READY | Camera ready to record | Safe to test the recording switch |
| CAM REC | Recording confirmed | Camera has acknowledged recording |
| CAM MULTI | Several configured cameras are reachable | Power down or forget the unwanted camera |
| CAM ERROR | Command rejected or link lost | Check the camera and reconnect |
The second custom message rotates through camera mode, battery and free card space when the selected camera makes those values available. The ESP32 connects to the flight controller—not directly to the video transmitter (VTX). Your normal analogue or digital OSD path remains responsible for putting Betaflight messages in the goggles.
10. Use Bridge mode
Bridge mode temporarily gives Betaflight Configurator exclusive access to the flight-controller UART through RECon32. It is useful when the flight controller’s USB socket is buried, but it suspends camera control, normal MSP, OSD and the normal portal until the board restarts.
Bluetooth Bridge
- Open the RECon32 portal and enter the Bridge page.
- Choose Bluetooth and start Bridge. RECon32 restarts.
- In Betaflight Configurator, choose its Bluetooth connection.
- Select RECon32 Beta Bridge.
Wi-Fi Bridge
- Open the Bridge page, choose Wi-Fi and start Bridge.
- Join the network RECon32-Bridge.
- In Betaflight Configurator, create a TCP connection to 192.168.4.1 on port 5761.
Restart the ESP32 to leave Bridge and return to normal camera control. The project says Bridge hardware validation is still pending, so use it only on the bench with the aircraft disarmed. Verify the connection before changing settings.
11. Update RECon32 over Wi-Fi
- Download the application binary matching the chip.
- Connect to the normal RECon32 portal.
- Open http://192.168.4.1/update.
- Choose recon32-esp32c3-4mb.bin for C3 or recon32-esp32s3-4mb.bin for S3.
- Select Update, then Confirm update.
- Keep power applied and the page open until validation completes.
This over-the-air path is intended to preserve cameras and settings. Do not upload a complete flash image, bootloader.bin, partition-table.bin or OTA data through the portal. Never update while the aircraft is armed or flying.
Troubleshooting
No serial port appears
Try a different USB data cable and computer port. Connect the board directly rather than through a hub, close serial tools and repeat the BOOT-button sequence.
The portal will not open
Reconnect to the RECon32 Wi-Fi network and visit http://192.168.4.1 directly. Restart the board if its Wi-Fi was disabled after arming or after the 30-second timeout.
The camera is not found
Confirm the correct brand is selected, put the camera back into pairing mode and ensure another phone is not holding the Bluetooth connection. For DJI Action 2, verify 2.4GHz Wi-Fi mode.
No MSP channels or commands
Check that flight-controller TX crosses to ESP32 RX, flight-controller RX crosses to ESP32 TX, both devices share ground, and MSP is enabled at 115200 on the correct UART.
No camera text in the goggles
Confirm Betaflight 2025.12.1 or later, then enable and place Custom Message 0 and Custom Message 1. Check that your video system is already showing ordinary Betaflight OSD elements before blaming RECon32.
What we would change before flying
- Secure the supported ESP32 board and antenna so neither can touch carbon or propellers.
- Insulate every solder joint and provide strain relief.
- Confirm the 5V rail can handle the ESP32’s radio-current peaks.
- Power-cycle the whole build several times and confirm automatic camera reconnection.
- Test record start, record stop, OSD state and failsafe with props removed.
- Fly the first pack nearby and treat camera automation as optional convenience—not proof that footage exists.
Licence and project status
RECon32 is free community software, but it is not open source at the time of writing. The source remains private during early access; firmware binaries are offered for personal, non-commercial use, and redistribution or commercial use is not authorised. The project says it intends to move to an open-source licence when it is mature enough.[2]
That means you may install the binary for your own project under the stated terms. It does not currently permit a retailer to pre-flash boards, mirror binaries or sell a RECon32 bundle without separate permission.
FAQ
Does RECon32 replace the flight controller?
No. It is a camera-control and status accessory. The flight controller continues to handle the aircraft.
Can I configure Betaflight through RECon32?
Yes, using the experimental one-shot Bridge mode over Bluetooth or Wi-Fi. Camera control and OSD pause while Bridge owns the UART.
Will a camera wake from fully powered off?
No. The camera must remain reachable in a supported sleep state. The exact window depends on the camera family and model.
Can I use any ESP32-C3 or ESP32-S3 board?
No. Use a target named by the current RECon32 release: an ESP32-C3 SuperMini or ESP32-S3 with 4MB flash. Matching the processor family alone is insufficient to establish compatibility.