From the bench

GD32F303CCT5: Not Just a Pin-Compatible F303 — the Specs That Actually Differ

August 21, 2026 · AI-generated from the datasheet, fact-checked by two independent LLM critics

The GD32F303CCT5 is a 32-bit general-purpose microcontroller in a 48-pin LQFP48 package, built around a Cortex-M4-class core running at up to 120 MHz (AHB), with 256 KB of flash, 48 KB of SRAM, a 12-bit SAR ADC capable of up to 2.6 MSPS, and a DAC. It is intended for embedded control applications — motor control, digital power, sensing front-ends, general peripheral control — where you need real compute throughput and analog integration in a compact, low-pin-count footprint. Supply range is 2.6–3.6 V on VDD/VDDA, with a 1.8–3.6 V VBAT backup domain for the RTC and backup registers, and this Commercial-grade (T5 suffix) part is specified for operation from −20 to +85 °C — the pin-compatible Industrial-grade CCT6 sibling covers −40 to +85 °C, don't assume this CCT5 part shares that wider range. Debug is via 2-wire SWD on PA13/PA14, with full JTAG also available.

Next step
Start building with GD32F303CCT5 → This guide comes from the same grounded, cited datasheet answers — ask the assistant your own GD32F303CCT5 questions.

Here's the myth worth killing first: because this part looks pin-familiar and functionally familiar, engineers assume they can port a design over and reuse every electrical assumption from the part they're replacing. That assumption fails in specific, measurable ways on this silicon — the VDD/VDDA differential limit, the power-down slew requirement, the PC13–PC15 output restrictions, PA10's unusually strong internal pull, the DAC load rules, and even the temperature grade are all things that will bite a ported design that was never re-verified.

Known limitation: Several values were not verifiable from the retrieved datasheet segments and are deliberately not stated here: deep-sleep and standby current magnitudes, the θJA thermal-resistance value for the LQFP48, and the BOOT0/BOOT1 level-combination table. Consult the datasheet's Table 4-7 and Section 5 directly for those.

Wiring It Up (How do I wire it up?)

Power

The device runs from a 2.6–3.6 V supply on VDD, with VDDA in the same range and VBAT at 1.8–3.6 V backing the RTC and backup registers. The recommended decoupling, straight from the datasheet's application-circuit figure:

Pin Recommended capacitance
VDD 4.7 µF bulk + one 100 nF per VDD pin
VDDA 1 µF
VBAT 100 nF

All decoupling capacitors must be placed as close as possible to their pins. One LQFP48-specific note: the VREF+/VREF− pins only exist on packages of 100 pins and up. On this 48-pin part they are internally tied to VDDA/VSSA, so the 10 nF VREF+ capacitor you may see in reference schematics does not apply — keeping the single 1 µF on VDDA clean is what matters here.

There is no prescribed power-up ordering between VDD, VDDA, and VBAT. The binding constraint is that VDD and VDDA must never differ by more than 300 mV, during power-up and during operation. That is the strongest argument for powering both from the same rail through a tight local filter rather than from two independent regulators: whichever rail comes up first must not run ahead of the other by more than 300 mV, and same-rail tracking makes that nearly automatic. VBAT is independent and simply backs the backup domain when VDD is absent.

Clock

The external crystal (HXTAL) range is 4 to 32 MHz (typ 8 MHz) in oscillator mode, valid over 2.6–3.6 V; in bypass mode with an external clock injected on OSCIN, the input range is 1 to 50 MHz. Recommended matching capacitance on OSCIN/OSCOUT is typ 20 pF (max 30 pF), using the formula C_HXTAL = 2×(C_LOAD − C_STRAY). Oscillator startup time is ≈1.8 ms with a feedback resistor of ≈400 kΩ at 3.3 V. From the crystal, the PLL feeds the system clock up to the 120 MHz AHB maximum, with APB1 capped at 60 MHz and APB2 at 120 MHz.

Debug and boot

SWD uses SWDIO on PA13 (pin 34) and SWCLK on PA14 (pin 37) — the minimal 2-wire-plus-GND connection for in-circuit programming. Full JTAG is available with JTDI on PA15 (38), JTDO/TRACESWO on PB3 (39), and NJTRST on PB4 (40), all on 5V-tolerant I/Os. Because PA13/PA14 default to the debug function at reset, route them to a debug connector and don't repurpose them as GPIO unless your firmware explicitly disables the debug pins. Boot selection uses BOOT0 (pin 44) and BOOT1 = PB2 (pin 20); put a jumper or resistor on BOOT0 so you can force the system-memory loader without rework.

What to Watch Out For (What are the easy-to-miss specs?)

These are the places where a design ported from a "similar" part goes wrong:

One more on clock specs: the datasheet marks the clock characteristics as "guaranteed by design, not tested in production," and the crystal/startup values as "based on characterization." Treat them as design margins, not production-tested guarantees.

How to Test It (How do I verify my design?)

A bring-up order that catches the failure modes above in sequence:

  1. Visual and solder inspection. Confirm the LQFP48 footprint matches the package outline (A max 1.6 mm, A2 1.35–1.45 mm, lead width 0.18–0.26 mm) with your assembly house, and inspect all 48 pins for bridges after reflow — PC13/14/15 and PA10 deserve extra scrutiny given their pin-specific behavior.
  2. Power-on verification. With a scope (not just a meter — core switching causes ripple a DC reading hides), confirm VDD/VDDA land in 2.6–3.6 V and VBAT in 1.8–3.6 V at the device pins while the MCU is running. Measure the VDD-to-VDDA differential with a differential probe in both steady state and through power-up; it must stay ≤ 300 mV. Then force a power-down and confirm the VDD fall time is at least 20 µs/V — i.e. the fall slew rate never exceeds 50 mV/µs; sweep through hard power-off and unplug, not just a graceful shutdown.
  3. Digital I/O verification. Load firmware, toggle every output, and read back every external input. Check that any marginal input (open-drain, 1.8 V logic) actually clears VIH ≈ 2.31 V at 3.3 V. Under the worst simultaneous-drive load, confirm no pin exceeds 20 mA. Verify nothing fast or heavy lives on PC13–PC15 (≤ 2 MHz, ≤ 30 pF), and if PA10 carries a pulled-up line, confirm its driver can turn the line over against the 7.5–13.5 kΩ internal pull.
  4. Analog verification. Check DAC_OUT linearity and confirm the attached load meets the buffer rules (≥ 5 kΩ with buffer ON, ≤ 50 pF capacitance). Confirm VREF+ sits between 2.4 V and VDDA and calibrate full-scale against the 0.2 V output floor. As a self-check, read the internal temperature sensor — 1.45 V typ at 25 °C, 4.1 mV/°C average slope, ±1.5 °C linearity, 17.1 µs sampling time — and sanity-check it against a thermocouple on the board.
  5. Environmental verification. The CCT5's Commercial-grade operating range is −20 to +85 °C (not the Industrial-grade CCT6's −40 to +85 °C); run functional tests at your application's extremes. Note that most characterization values (sensor slope, ESD, ADC dynamic specs) are specified at the default condition of VDD = VDDA = 3.3 V, TA = 25 °C — performance outside that condition is expected to differ.

Troubleshooting (Why isn't it working?)

Map symptoms to the spec most likely violated:

Quick triage order: supply rails and differential first, then the pin-specific limits (PC13–15, PA10), then input thresholds and drive limits, then DAC load and reference, then a re-test at default conditions.

Part page: GD32F303CCT5.