Skip to content

ArduPlane Custom Build — Light Variant — v0.3-beta

Pre-release
Pre-release

Choose a tag to compare

@erwinquilloy erwinquilloy released this 11 Jul 06:01
· 128 commits to master_custom_4.6.3_light since this release

🪶 ArduCustom Light v0.3-beta

Lightweight ArduPlane 4.6.3 build for flash-constrained F4 flight controllers. Feature-identical to light-v0.2-beta — the single change in this release is serial port numbering matched to chip UART numbers.

🛠️ Which variant do I want? This is the Light build — rarely-used backends are stripped so it fits 1 MB F4 flight controllers (the full build overflows their flash). Running an H7 / 2 MB board, or want every hardware backend compiled in? Use the Full variant — full-v0.3-beta instead.

🔄 Built 2026-07-11 from f345f9a on master_custom_4.6.3_light. Onboard version string reports ArduCustom v0.3-beta Light.

What's new in v0.3-beta

Serial port numbering matched to chip UART numbers

On boards whose stock ArduPilot SERIAL_ORDER was scrambled, SERIALn now equals the silkscreen UARTn pad again — restoring the mapping that shipped in ArduCustom custom-v11.3 and earlier. The pad marked TX2/RX2 is SERIAL2 (not SERIAL6), TX3/RX3 is SERIAL3, and so on. This removes the long-standing mismatch (e.g. wiring an ELRS receiver to the RX2/TX2 pads and finding it on SERIAL6).

Light-fleet boards affected:

Board New SERIAL_ORDER
MatekF405-TE-bdshot OTG1 USART1 USART2 USART3 UART4 UART5 USART6
MatekF405-STD OTG1 USART1 USART2 USART3 UART4 UART5
omnibusf4pro OTG1 USART1 EMPTY USART3 UART4 EMPTY USART6

omnibusf4pro has no USART2 / UART5, so SERIAL2 / SERIAL5 are EMPTY placeholders that keep USART3=SERIAL3 and USART6=SERIAL6 aligned. The other five light boards already numbered cleanly and are unchanged (version bump only).

Like v11.3, this is a SERIAL_ORDER-only change — no serial protocol defaults were added — so ports fall on the stock per-index defaults (S1/S2 MAVLink, S3/S4 GPS, rest off). Set SERIALx_PROTOCOL to match your wiring.

⚠️ Upgrade warning. If you are moving from light-v0.2-beta on MatekF405-TE-bdshot, MatekF405-STD, or omnibusf4pro, your saved SERIALx_PROTOCOL / _BAUD / _OPTIONS values now point at different physical UARTs. Re-check your serial config after flashing — GPS, telemetry and RC (CRSF/ELRS) may need reassigning to the new SERIALn.

Example — ELRS on the MatekF405-TE-bdshot RX2/TX2 pads is now SERIAL2 (SERIAL2_PROTOCOL 23, BRD_ALT_CONFIG 1 for CRSF), no longer SERIAL6.

Everything else carries forward unchanged from light-v0.2-beta — see those notes or README_CUSTOM.md for the full feature set.

Fleet (9 boards)

Remapped: MatekF405-TE-bdshot, MatekF405-STD, omnibusf4pro.
Unchanged numbering (version bump only): speedybeef4v3, SpeedyBeeF405WING, SpeedyBeeF405WING-Buzz, MatekF405-Wing-bdshot, KakuteF4-Wing-Buzz, KakuteH7-Wing.

ℹ️ KakuteH7-Wing is an H7 / 2 MB board (also carried on the full-v0.3-beta release) — included in the light fleet here for convenience; it has ample flash for either variant.

Flashing

Each <board>_plane_bin_light-v0.3-beta_.zip contains arduplane.apj (flash via MP/QGC), arduplane.bin (DFU), arduplane_with_bl.hex (first-time DFU), and arduplane (ELF, debug only). The coursehold.wav + plane.lua assets are the Yaapu Telemetry Course-Hold files (unchanged); see Tools/yaapu-coursehold/README.md.