Share anonymous usage countsiynk counts what happens in the labs (a lesson passed, a step built, a fault tried) for the live counters and leaderboards. Each event carries a random id for this browser, never your name or your code.
0/110 of 11 done in this workshop: the build, tests, quizzes and courses
Fly itFinish the build and the safety tests first, or fly the factory-built craft.
Parts
…
Battery
unplugged
Fault
none
5-inch freestyle quad on the workbench
Loading the figure…
Drag to turn it, click a part to select it. Press Escape to come back to the page.
Waiting for the figure…
The log fills as you plug in, test and fly.
Design it
Pick the battery, motors and props. Every number below is recalculated from this craft's own model.
Calculated for this build
All-up weight
514 g
Thrust : weight
12.5 : 1
Hover throttle
28%
Max current
144 A
Hover time
12.3 min
Hard-flying time
5.2 min
Checks
Parts match. Good all-round build.
No problems found with this combination.
Cost
Category
Parts
Cost
Electrical
8
$287
Mechanical
4
$59
Total (approx.)
12
$346
Build it
Fit the parts in order. The figure refuses a part that cannot go on yet and tells you why.
Parts 0/12
1.Lay out the framenot fitted
2.Mount the four motorsnot fitted
3.Fit the 4-in-1 ESCnot fitted
4.Solder the motor wiresnot fitted
5.Mount the flight controller, arrow forwardnot fitted
6.Solder the XT60 lead and the capacitornot fitted
7.Fit the cameranot fitted
8.Wire the receivernot fitted
9.Fit the video transmitternot fitted
10.Close the stack with the top platenot fitted
11.Strap on the batterynot fitted
12.Props on, lastnot fitted
Try a real mistake
Fit a part the wrong way on purpose and see which test or flight catches it.
Selected part
Nothing selected. Click any part on the figure, a wiring block, or a name in the list.
Parts in the box
Wiring
Every connection on the craft. Choose one to select both ends on the figure, or open the hand-inked wiring sheet.
power
motor phases
data / signal
video
power:→XT60 · BAT+ / BAT-
The pack's female XT60 meets the quad's male one. A 6S pack is 25.2 V full and can push well over 100 A, so this is the one joint that must never short.
power:→12 AWG · BAT+ / BAT- · 1000 µF 35 V
12 AWG leads to the ESC's BAT+ and BAT- pads, with the 1000 µF 35 V low-ESR capacitor across the same pads, stripe to minus.
motor phases:→3-phase A/B/C × 4
Three phase wires per motor on its channel's A, B and C pads. Any order spins the motor; two swapped wires reverse it.
data / signal:→DShot600 M1-M4 · 8-pin (VBAT, GND, CUR, TEL)
One 8-pin harness joins the stack: the four DShot600 motor signals (M1 to M4) go down to the ESC, and battery voltage, ground, the current sensor and ESC telemetry come up to the flight controller, whose 5 V and 9 V regulators run from it. With bidirectional DShot each ESC channel answers on its signal line with the motor's rpm.
data / signal:→UART2 · CRSF · 5 V
UART2: receiver TX to RX2, receiver RX to TX2, plus 5 V and ground. Betaflight runs Serial RX on UART2 with the CRSF provider.
video:→CAM · CVBS · 5 V
Camera video into the CAM pad, with the camera powered from the 5 V supply.
video:→VTX · CVBS + OSD · 9 V · SmartAudio TX1
Video with the OSD out of the VTX pad, 9 V power, and SmartAudio on TX1 so Betaflight can set the band, channel and power.
Safety tests
Real builds get these checks before the first flight. Run them in order: the figure enforces what each one needs.
Tests 0/4
1.
Smoke stopper test
Not run yet
How it is done
A smoke stopper (a fuse or current-limiting lamp in the battery lead) goes between the pack and the craft for the very first power-up. If something is shorted, the lamp lights instead of the ESC burning.
2.
Motor direction check (props off)
Not run yet
How it is done
Props off, battery in: spin each motor alone from the Motors tab and compare its direction with the frame diagram. A wrong one is reversed in the ESC configurator, never by guessing.
3.
Accelerometer calibration
Not run yet
How it is done
With the craft on a level surface, calibrate the accelerometer so the self-levelling modes know which way is down.
4.
Failsafe test (props off, radio off)
Not run yet
How it is done
Props off and armed, switch the radio off: the craft must carry out its failsafe action, not hold the last stick positions.
Betaflight CLI console
A working emulation of the Betaflight command line for this craft: real setting names, real limits and real error messages.
Entering CLI Mode, type 'exit' to return, or 'help'
Up and down recall earlier commands.
Configuration snippets
First setup after flashing after the build
Sets the mixer, the board alignment, the motor protocol and the two UARTs. DShot600 is the digital motor protocol; dshot_bidir lets the ESCs report rpm. The serial lines take the port name and a function bitmask (64 = serial receiver, 2048 = SmartAudio). yaw_motors_reversed only tells the mixer which way the props spin; it never changes the motors themselves.
# Betaflight 2026.6.2, SPEEDYBEEF405V4 target: after flashing, in the CLI tabmixerQUADXset align_board_roll = 0set align_board_pitch = 0set align_board_yaw = 0# arrow to the nose; 180 if it points backset motor_pwm_protocol = DSHOT600set dshot_bidir = ON# rpm telemetry for the RPM filterset motor_poles = 14# magnets in a 2306 / 2207 bellset yaw_motors_reversed = OFF# props in (ON = props out)serialUART264115200576000115200# 64 = serial RX (ELRS)set serialrx_provider = CRSFserialUART12048115200576000115200# 2048 = SmartAudio (VTX)resource# check the motor and UART pinssave
Switches: arm, angle, altitude hold, beeper, turtle after the build
aux takes the mode's number, not its name: 0 ARM, 1 ANGLE, 3 ALTHOLD, 13 BEEPER, 35 turtle mode (flip over after crash). The channel counts from 0 = AUX1, and the range is in microseconds. There is no ACRO mode to switch on: acro is what the quad flies when the self-levelling modes are off.
# aux <slot> <mode id> <AUX n - 1> <from us> <to us> <logic> <linked>aux0001700210000# ARM on AUX1 highaux1111300210000# ANGLE on AUX2 mid + high (low = acro)aux2321700210000# ALTHOLD on AUX3 high (needs the barometer)aux31331700210000# BEEPER on AUX4 high: find it in the grassaux43531300170000# turtle mode on AUX4 mid: flip it back oversave
RPM filter on bidirectional DShot after the build
With rpm from every motor, Betaflight places notch filters that follow the motor noise exactly. It needs ESC firmware with bidirectional DShot (AM32, Bluejay); if an ESC does not answer, arming is blocked with DSHOT_TELEM.
# RPM filter: notches that follow each motor; needs bidirectional DShotset dshot_bidir = ONset motor_poles = 14set rpm_filter_harmonics = 3# the default; 0 turns it offset rpm_filter_min_hz = 100# the defaultsave
VTX table, band and channel after the build
The table lists the frequencies and the SmartAudio power values the transmitter accepts; band 5 channel 1 is Raceband R1 at 5658 MHz. vtx_low_power_disarm keeps the power lowest while you are on the bench.
# SmartAudio 2.1 VTX: the table first, then band, channel and powervtxtable bands 5vtxtable channels 8vtxtable band 1BOSCAM_A A FACTORY58655845582558055785576557455725vtxtable band 2BOSCAM_B B FACTORY57335752577157905809582858475866vtxtable band 3BOSCAM_E E FACTORY57055685566556455885590559255945vtxtable band 4FATSHARK F FACTORY57405760578058005820584058605880vtxtable band 5RACEBAND R FACTORY56585695573257695806584358805917vtxtable powerlevels 3vtxtable powervalues 142026vtxtable powerlabels 25100400set vtx_band = 5set vtx_channel = 1# R1, 5658 MHzset vtx_power = 1# 25 mWset vtx_low_power_disarm = ON# stay at the lowest power until armedsave
Failsafe: drop after the build
When the radio link is lost, stage 1 uses the fallback values (sticks centred, throttle low) for failsafe_delay (15 = 1.5 s), so a short glitch passes. If the link does not come back, stage 2 DROP stops the motors: a falling 5-inch is safer than one flying away. GPS-RESCUE needs a GPS, which this quad does not have.
# Lost link: fallback values for 1.5 s (stage 1), then stop the motors (stage 2)set failsafe_delay = 15# tenths of a secondset failsafe_procedure = DROPsave
Altitude hold for Altitude hold (easy)
Since 2025.12 Betaflight can hold height with the barometer. The throttle stick then asks for a climb rate: alt_hold_climb_rate = 22 is the 2.2 m/s the range flies at full stick, and the dead band around the middle holds the height.
# Altitude hold (Betaflight 2025.12 and later, uses the barometer)aux2321700210000# ALTHOLD on AUX3 highset alt_hold_climb_rate = 22# full stick climbs 2.2 m/s (units 0.1 m/s)set alt_hold_deadband = 20# % of stick around the middle that holds the heightsave
Angle mode for Angle mode
The flight controller levels the quad when you let go and never tilts it past angle_limit (38 degrees here, the range's number). angle_p_gain is the self-level strength. Older Betaflight called these level_limit and angle_level_strength (p_level before 4.0); those names no longer exist.
# Angle mode: self-levelling, tilt cappedaux1111300210000# ANGLE on AUX2 mid + highset angle_limit = 38# max tilt, degrees (10-80, default 60)set angle_p_gain = 50# how hard it levels (0-200, default 50)save
Acro rates for Acro (rate) mode
With ACTUAL rates, rc_rate is the centre sensitivity divided by 10 and srate the full-stick rate divided by 10: 200 degrees a second around the centre and 670 at full stick, the numbers the range flies. Expo softens the middle of the stick for fine control.
# Acro is what the quad flies with ANGLE, HORIZON and ALTHOLD all offset rates_type = ACTUALset roll_rc_rate = 20# centre: 200 deg/s per full stickset roll_srate = 67# full stick: 670 deg/sset roll_expo = 54set pitch_rc_rate = 20set pitch_srate = 67set pitch_expo = 54set yaw_rc_rate = 20set yaw_srate = 20# yaw: 200 deg/s, straight lineset yaw_expo = 0save
Lap timer on the OSD for Gate race (angle)
osd_tim1 packs the timer source, its precision and an alarm into one number: 2 (last armed) plus 1 x 16 (hundredths) is 18. The _pos value places it: 2048 shows it in OSD profile 1, plus the column, plus 32 per row.
# Lap timer on the OSD: time since the last arm, in hundredthsset osd_tim1 = 18# source 2 (last armed) + precision 1 (hundredths) << 4set osd_tim_1_pos = 2103# 2048 (OSD profile 1) + column 23 + row 1 x 32save
Gate race in acro for Gate race (acro)
Racers fly acro with air mode on (Betaflight enables the AIRMODE feature by default), so the PID loop keeps full authority at zero throttle and the quad stays under control when you chop the throttle into a gate. Keep the ANGLE switch low.
# Racing in acro: ANGLE off (AUX2 low) and air mode onfeatureAIRMODE# on by default; keeps full control at zero throttleset osd_tim1 = 18set osd_tim_1_pos = 2103save
Range run: altitude hold and the height on the OSD for Range: Freestyle bando
Altitude hold makes the long climb to the tower top easy; the OSD's altitude element (osd_altitude_pos) shows the barometer height so you know when you are above the 10 m slab.
# The bando run in altitude hold, with the height on the OSDaux2321700210000# ALTHOLD on AUX3 highset alt_hold_climb_rate = 22set osd_altitude_pos = 2433# 2048 + column 1 + row 12 x 32save
Check yourself · Solder the XT60 lead and the capacitor
Check yourself · Mount the flight controller, arrow forward
Check yourself · Props on, last
Check yourself
Meet the freestyle quad
A 5-inch freestyle quad is the standard first real FPV build. Four brushless motors sit on a carbon True-X frame; a 4-in-1 ESC and a Betaflight flight controller share a 30.5 mm stack in the middle; an analog camera and a 5.8 GHz video transmitter send the picture to your goggles, and an ExpressLRS receiver carries your radio's sticks. The flight controller's PID loop is the same idea as the line follower in the Robotics Lab, run on three axes thousands of times a second. Pick the battery, motors and props here and watch the numbers change, build it part by part, smoke-test the first plug, check the motors with the props off, then fly it in altitude hold, angle and acro.
Practice task
Fly five laps of the gate race in angle mode, then one in acro. Then the bando run: through the gap, through the bando, up to the tower top, down the dive and a soft landing on the pad. On a real build: put a smoke stopper on the first plug, check every motor's direction with the props off, run the failsafe test, and compare your real flight time with the calculator's. Expect less than it says: 3 to 5 minutes of freestyle on a 6S 1100 mAh pack.