Repository navigation
HelloRadioSky V12: expose the on-board UART header as an AUX1 serial port #7760
Description
Is there an existing issue for this feature request?
- I have searched the existing issues
The UART4 header already came up in #7297: HelloRadio posted the PCB view
below, confirmed that UART4 is independent and usable for any function, and
said they would add it once V12 support was merged
(#7297 (comment)). V12
landed in #7114 without it, so this issue tracks the AUX1 part on its own.
Is your feature request related to a problem?
The V12 main board has a 3-pin GND/TXD/RXD header wired to UART4 (PH13 = TXD,
PH14 = RXD), but the target is built with AUX_SERIAL forced off:
set(AUX_SERIAL OFF CACHE BOOL "AUX serial port" FORCE) # radio/src/targets/v12/CMakeLists.txtSo SYS → HARDWARE → Serial ports only offers USB-VCP, and the header cannot be
used for anything: no telemetry mirror to a Bluetooth module, no Lua serial,
no debug output, no GPS or S.Port. Because the CMake line uses FORCE, it
cannot even be switched on with -DAUX_SERIAL=ON in a local build. Companion
already assumes the V12 has an AUX port (HasAuxSerialMode is true for it
through IS_FAMILY_T16).
One thing to be upfront about: the header is inside the case. There is no
cut-out, so you have to take the back cover off to reach it. In practice a
Bluetooth or GPS module gets fitted once and stays inside; nothing needs to
be accessible from outside afterwards. The header itself carries only GND,
TXD and RXD; 3.3 V for a module is available from the top-left pin of the
unpopulated header to its right (the IMU footprint, which production units
do not populate), so a module needs no wiring beyond those four pins.
Describe the solution you'd like
Enable AUX_SERIAL on the V12 target and define the port in hal.h:
| Resource | Assignment |
|---|---|
| UART | UART4 |
| TX / RX | PH13 / PH14 |
| DMA | DMA1 stream 6 (TX), stream 2 (RX), via DMAMUX UART4_TX / UART4_RX |
| IRQ | UART4_IRQn |
| Power control | none (a module runs from the always-on 3.3 V rail; there is no switchable supply, so AUX_SERIAL_PWR_GPIO stays undefined) |
UART4, PH13/PH14 and DMA1 streams 2 and 6 are all unused on this target
today, so nothing else has to move. No Companion or YAML change is needed.
I have this working and will open a PR.
Question for the maintainers: is an internal-only header acceptable as an
AUX port in main, or do you want AUX ports to be reachable from outside the
radio? If always-on is not wanted for an internal header, I can make it a
plain option(AUX_SERIAL ... OFF) instead, so it can at least be enabled in
a local build; today the FORCE blocks even that.
Describe alternatives you've considered
- USB-VCP only: needs a host computer on the cable, no use for a Bluetooth
telemetry bridge or an on-board GPS. - Leaving the header unused: wastes a UART that is already on the board.
- Keeping
AUX_SERIALoff by default but removing theFORCE, so people who
open the radio can enable it in their own build. Workable, but it keeps the
port out of the official and cloud builds.
Additional context
The header on the main board (PCB view posted by HelloRadio in #7297):
Tested on a HelloRadioSky V12 (STM32H750) with a DX-BT24 Bluetooth module on
the header:
- Telemetry mirror at 115200 to an Android telemetry app (Ghost module).
- Lua serial in both directions:
serialWrite()/serialRead()exchanging
AT commands and replies with the module.
The same change applies to the 2.12 branch, where the V12 target also exists
(#7113).

Activity
helloradiosky commentedon Sep 5, 2026
On the V12, the mechanical layout is very tight, so a proper external accessory connector was never practical. UART4 was left as spare silicon and brought out to a header near the board edge mainly for factory/debug use, and optionally for other experimental wiring. It was not designed as a user-facing I/O port.
Using it for an external module is possible, but awkward in practice:
the header is only reachable after opening the back cover
there is no switched / protected accessory power on that header; a module must be powered by the user (e.g. from nearby 3.3 V), which adds wiring risk if done carelessly
That said, we are happy to see UART4 enabled as AUX in official builds for people who are willing to open the radio and wire it carefully. Keeping it available long-term is a good idea for the DIY community, and we appreciate the work to get this into EdgeTX.
Uart4 question: an internal-only header is acceptable from our side as an AUX option on V12, with the understanding that it is an advanced / DIY interface, not a plug-and-play external port.