A community-consolidated answer to one of the most common CH32V newcomer questions: which WCH RISC-V MCUs have an FPU, and how to tell from a project setting alone. Short version: only the V300, V400 and H417 families currently have single-precision FPU, and the official QingKe core manual is the authoritative source.
The short answer
- CH32V003 (RV32EC, 48 MHz) - no FPU - CH32V203 (RV32IMAFC, 144 MHz) - no FPU - CH32V208 (RV32IMAFC + BLE 5.3, 144 MHz) - no FPU - CH32V303 / V305 / V307 (RV32IMAFC, 144 MHz) - no FPU - CH32V317 (RV32IMFC + USB 480 Mbps, 144 MHz) - no FPU - CH32V407 (QingKe V3V with RISC-V V extension, 240 MHz) - has single-precision FPU, also adds the V vector extension - CH32V427 / V436 / V456 / V466 / V467 (QingKe V4F, 200-240 MHz) - has single-precision FPU - CH32H417 (QingKe V5F high-performance core + V3F low-power core, 400 MHz) - both cores have single-precision FPUIn other words, today only the V3V-based V407 line, the V4F-based V4xx line, and the dual-core H417 have an FPU, and they are all single-precision. There is no double-precision or quad-precision FPU in the current CH32V lineup.
How to confirm for any specific partThe MounRiver Studio (MRS) project options always expose the FPU toggle, regardless of whether the target actually has one. This is what makes the question tricky - the IDE will happily let you pick 'Single-Precision FPU' on a CH32V003 project, but the resulting binary will be wrong.
The correct way to check is the official QingKe core manual for the specific core used in your MCU. WCH publishes one manual per core revision, and each one explicitly lists the FPU configuration. Practical workflow: 1. Open the chip's data sheet from www.wch.cn and note the core name (e.g. 'QingKe V4F'). 2. Download the matching QingKe V4F core manual from the same site (look under Resources / Core Manuals). 3. In the core manual, search for 'FPU' - the FPU section will list exactly which FPU type (or absence) the core implements.If the core manual is not yet available in English, the CH32V data sheet also describes the FPU in the 'Core' chapter of most newer revisions.
What the FPU actually buys youFor the parts with a single-precision FPU (V407, V4xx, H417):
- 32-bit IEEE 754 float add / sub / mul / div / FMA execute in 1 cycle (vs 30-50 cycles in software emulation on parts without an FPU) - The GCC -march=rv32imafc / -march=rv32imafdc flags can be set without code changes - the FPU instructions are emitted automatically when the compiler sees float types - The V407 additionally has the 0.7.1 RISC-V V vector extension (VLEN=128, eight vector registers), which makes it a real floating-point DSP / edge-AI target. Real-world CoreMark numbers hover around 3.10 CoreMark/MHz on V407 vs 2.65 on V307 - that gap is roughly the V vector extension picking up vectorizable loopsFor all other CH32V parts, you can still use float in your code, but every operation is emulated by the RV32I integer pipeline. This is fine for control code, slow sensor processing, or anything that does not call into hot float math; it is a problem for DSP / audio / motor-control loops.
Practical recommendations - If you are doing sensor fusion, audio processing, motor control, or any loop that touches float heavily, target the V407 (best price/perf if you also want the V extension) or the V4xx line. The H417 is the right choice if you also need 5 Gbps USB or want to run a more capable RTOS in parallel on the V3F low-power core. - If your application is mostly integer math, GPIO, UART, and the occasional slow float conversion, any of the V003 / V203 / V208 / V303 / V305 / V307 / V317 parts will serve you well and save 30-50 percent on BOM cost vs the FPU parts. - Always double-check the project -march flag in MounRiver Studio. If the project says rv32imafc but your chip is a V003, the toolchain will silently fall back to a software FPU library and the only symptom is slow execution and oversized .text.Reference links
- WCH official site: https://www.wch.cn - WCH BBS (community Q&A, Chinese): https://www.wch.cn/bbs - QingKe V4F core manual (download from the WCH product page for any V4xx MCU) - CH32H417 product page: 5 Gbps USB + dual-core + 2x FPU - CH32V407 product page: V extension + 2x USB HS + 100M Ethernet PHY + FPU Source: 'How to determine whether a specific CH32V MCU has a partial FPU and what FPU type it is' on the WCH BBS, https://www.wch.cn/bbs/thread-160477-1.html