Home > Blog > The Posts

STM32F103C8T6 vs STM32F407VET6 — Which Cortex-M3 or M4 MCU Should You Pick?

2026/7/1 13:35:44
<h1>STM32F103C8T6 vs STM32F407VET6 &mdash; Which Cortex-M3 or M4 MCU Should You Pick?</h1>

<div class="intro">
<p>Both are STMicroelectronics ARM MCUs, but they target completely different jobs:</p>
<ul>
<li><strong>Need a cheap, simple MCU for a sensor node or motor control?</strong> &rarr; STM32F103C8T6. It's $2&ndash;3, 72 MHz, 64 KB Flash, 20 KB SRAM, and it's the most documented MCU on earth.</li>
<li><strong>Need real processing power &mdash; FPU, DSP, Ethernet, large memory?</strong> &rarr; STM32F407VET6. 168 MHz Cortex-M4F with hardware float, 512 KB Flash, 192 KB SRAM, Ethernet MAC, dual CAN, dual USB.</li>
</ul>
<p>The price difference is about 3&ndash;5&times;, but the capability gap is more like 10&times;. The question is: do you <em>need</em> that capability, or is it overkill?</p>
</div>

<h2>At a Glance</h2>

<table>
<thead><tr><th>Parameter</th><th>STM32F103C8T6</th><th>STM32F407VET6</th><th>Winner</th></tr></thead>
<tbody>
<tr><td><strong>Core</strong></td><td>Cortex-M3</td><td>Cortex-M4F with FPU</td><td><strong>F407</strong></td></tr>
<tr><td><strong>Max Frequency</strong></td><td>72 MHz</td><td>168 MHz</td><td><strong>F407</strong> (2.3&times;)</td></tr>
<tr><td><strong>DMIPS</strong></td><td>~90</td><td>~210</td><td><strong>F407</strong> (2.3&times;)</td></tr>
<tr><td><strong>FPU</strong></td><td>❌ Software float</td><td>✅ IEEE 754 single-precision</td><td><strong>F407</strong></td></tr>
<tr><td><strong>DSP Instructions</strong></td><td>❌</td><td>✅ SIMD, MAC, saturating</td><td><strong>F407</strong></td></tr>
<tr><td><strong>Flash</strong></td><td>64 KB</td><td>512 KB</td><td><strong>F407</strong> (8&times;)</td></tr>
<tr><td><strong>SRAM</strong></td><td>20 KB</td><td>192 KB (incl. 64 KB CCM)</td><td><strong>F407</strong> (9.6&times;)</td></tr>
<tr><td><strong>External Memory</strong></td><td>❌</td><td>✅ FSMC (SRAM/NOR/NAND)</td><td><strong>F407</strong></td></tr>
<tr><td><strong>Package</strong></td><td>LQFP-48 (7&times;7 mm)</td><td>LQFP-100 (14&times;14 mm)</td><td>&mdash;</td></tr>
<tr><td><strong>GPIOs</strong></td><td>37</td><td>82</td><td><strong>F407</strong></td></tr>
<tr><td><strong>Ethernet MAC</strong></td><td>❌</td><td>✅ 10/100 Mbps</td><td><strong>F407</strong></td></tr>
<tr><td><strong>USB</strong></td><td>1&times; FS Device</td><td>2&times; OTG (FS + HS)</td><td><strong>F407</strong></td></tr>
<tr><td><strong>CAN</strong></td><td>1</td><td>2</td><td><strong>F407</strong></td></tr>
<tr><td><strong>USART/UART</strong></td><td>3</td><td>6</td><td><strong>F407</strong></td></tr>
<tr><td><strong>SPI</strong></td><td>2 (18 Mbit/s)</td><td>3 (42 Mbit/s)</td><td><strong>F407</strong></td></tr>
<tr><td><strong>I&sup2;C</strong></td><td>2</td><td>3</td><td><strong>F407</strong></td></tr>
<tr><td><strong>ADC</strong></td><td>2&times; 12-bit, 1 MSPS</td><td>3&times; 12-bit, 2.4 MSPS</td><td><strong>F407</strong></td></tr>
<tr><td><strong>Timers</strong></td><td>7</td><td>17 (incl. 2&times; 32-bit)</td><td><strong>F407</strong></td></tr>
<tr><td><strong>DMA Channels</strong></td><td>7</td><td>16 (with FIFO + burst)</td><td><strong>F407</strong></td></tr>
<tr><td><strong>Supply Voltage</strong></td><td>2.0V to 3.6V</td><td>1.8V to 3.6V</td><td><strong>F103</strong> (wider)</td></tr>
<tr><td><strong>Typical Price (1K+)</strong></td><td><strong>~$2&ndash;3</strong></td><td>~$8&ndash;12</td><td><strong>F103</strong> (4&times; cheaper)</td></tr>
<tr><td><strong>Active Power</strong></td><td>~50 mA</td><td>~100 mA</td><td><strong>F103</strong></td></tr>
</tbody>
</table>

<p>The F407 wins on almost every spec. But specs aren't everything &mdash; the F103 wins on price, power, package size, and ease of use. The right choice depends on what you're building.</p>

<h2>Core Architecture: Cortex-M3 vs Cortex-M4F</h2>

<p>This is the biggest difference. The Cortex-M3 is a pure integer processor. The Cortex-M4F adds a floating-point unit and DSP extensions.</p>

<p><strong>What the FPU means in practice:</strong></p>
<p>If your code does any floating-point math &mdash; PID control with non-integer gains, FFT for vibration analysis, sensor fusion (Mahony/Madgwick filters), audio processing &mdash; the F407 finishes those calculations in hardware, 5&ndash;10&times; faster than the F103's software emulation.</p>
<p>A concrete example: a 256-point FFT using CMSIS-DSP takes roughly 0.2 ms on the F407 (with FPU + DSP SIMD) vs about 2 ms on the F103 (integer-only, software float). That's the difference between real-time audio analysis and "process it when you can."</p>

<p><strong>When you don't care about FPU:</strong></p>
<p>If your code is mainly logic (read sensor &rarr; do integer math &rarr; toggle GPIO &rarr; send UART), the FPU sits idle. The F103 at 72 MHz runs integer code about 43% as fast as the F407 at 168 MHz &mdash; but 43% is often enough. For a temperature logger, a simple motor controller, or a Modbus bridge, the F103 does the job at a fraction of the cost.</p>

<h2>Memory: 64 KB vs 512 KB Flash</h2>

<p>The F407 has 8&times; more Flash and nearly 10&times; more SRAM. But the real question is: how much do you actually need?</p>

<p><strong>F103 memory budget (64 KB Flash / 20 KB SRAM):</strong></p>
<table>
<thead><tr><th>Component</th><th>Flash</th><th>SRAM</th></tr></thead>
<tbody>
<tr><td>FreeRTOS kernel</td><td>~8 KB</td><td>~1 KB + stack</td></tr>
<tr><td>USB Virtual COM</td><td>~6 KB</td><td>~2 KB</td></tr>
<tr><td>CANopen stack</td><td>~10 KB</td><td>~4 KB</td></tr>
<tr><td>Application logic</td><td>~30 KB</td><td>~8 KB</td></tr>
<tr><td><strong>Remaining</strong></td><td><strong>~10 KB</strong></td><td><strong>~5 KB</strong></td></tr>
</tbody>
</table>
<p>That's tight. Your firmware has to be lean. No fat libraries, no unnecessary abstraction layers.</p>

<p><strong>F407 memory budget (512 KB Flash / 192 KB SRAM):</strong></p>
<table>
<thead><tr><th>Component</th><th>Flash</th><th>SRAM</th></tr></thead>
<tbody>
<tr><td>FreeRTOS + LWIP (TCP/IP)</td><td>~80 KB</td><td>~40 KB</td></tr>
<tr><td>mbedTLS (TLS)</td><td>~60 KB</td><td>~20 KB</td></tr>
<tr><td>USB Host stack</td><td>~20 KB</td><td>~10 KB</td></tr>
<tr><td>FatFS + SDIO driver</td><td>~15 KB</td><td>~8 KB</td></tr>
<tr><td>TouchGFX GUI framework</td><td>~100 KB</td><td>~50 KB</td></tr>
<tr><td>Application logic</td><td>~100 KB</td><td>~40 KB</td></tr>
<tr><td><strong>Remaining</strong></td><td><strong>~137 KB</strong></td><td><strong>~24 KB</strong></td></tr>
</tbody>
</table>
<p>Room to breathe. You can use HAL, middleware, and still have space left.</p>
<p><strong>Bottom line:</strong> If you can fit your code in 64 KB, you don't need the F407. If you can't, you don't have a choice.</p>

<h2>Peripherals That Matter</h2>

<h3>Ethernet MAC</h3>
<p>The F407 has it; the F103 doesn't. This is often the deciding factor. If your product needs Ethernet (Modbus TCP, HTTP, MQTT), the F407 does it directly with an external PHY chip ($1&ndash;2). The F103 would need an external W5500 or ENC28J60 Ethernet controller &mdash; more chips, more cost, more PCB space.</p>

<h3>Dual CAN</h3>
<p>F103 has one CAN 2.0B &mdash; fine for a simple CANopen node. F407 has two, which lets it act as a CAN gateway between two separate bus segments. If you're building automotive or industrial gateways, this matters.</p>

<h3>USB OTG</h3>
<p>F103 has USB 2.0 FS device only. F407 has two USB OTG ports: one FS (on-chip PHY) and one HS (external ULPI). This means the F407 can act as USB host (connect keyboard, mouse, flash drive) while also appearing as a device to a PC.</p>

<h3>Camera Interface (DCMI)</h3>
<p>F407 has a parallel camera interface that captures 8&ndash;14 bit video at up to 54 MB/s. Combined with external SRAM via FSMC, it can grab VGA frames for basic machine vision. The F103 has nothing close.</p>

<h2>Package and Pin Count</h2>

<table>
<thead><tr><th></th><th>F103C8T6</th><th>F407VET6</th></tr></thead>
<tbody>
<tr><td>Pins</td><td>48</td><td>100</td></tr>
<tr><td>Package</td><td>LQFP-48 (7&times;7 mm)</td><td>LQFP-100 (14&times;14 mm)</td></tr>
<tr><td>GPIOs</td><td>37</td><td>82</td></tr>
</tbody>
</table>

<p>The F103 fits in tight spaces. But 37 GPIOs disappear fast &mdash; UART + SPI + I&sup2;C + a few buttons and LEDs and you're out. The F407's 82 GPIOs give you room for a parallel LCD, keypad matrix, external memory bus, and still have pins left.</p>

<h2>Power Consumption</h2>

<table>
<thead><tr><th>Mode</th><th>F103C8T6</th><th>F407VET6</th></tr></thead>
<tbody>
<tr><td>Run (all peripherals on)</td><td>~50 mA @ 72 MHz</td><td>~100 mA @ 168 MHz</td></tr>
<tr><td>Sleep</td><td>~5 mA</td><td>~10 mA</td></tr>
<tr><td>Stop (with RTC)</td><td>~50 &mu;A</td><td>~100 &mu;A</td></tr>
<tr><td>Standby</td><td>~2 &mu;A</td><td>~5 &mu;A</td></tr>
</tbody>
</table>

<p>The F103 uses roughly half the active power. For battery-powered devices, that difference can be decisive. The F103's 2 &mu;A standby lets it run for years on a coin cell.</p>

<h2>When to Choose Each</h2>

<h3>Choose STM32F103C8T6 when:</h3>
<ul>
<li>Your firmware fits in 64 KB Flash and 20 KB SRAM</li>
<li>You don't need floating-point math (or can do it in software)</li>
<li>No Ethernet required</li>
<li>Simple USB device (no host mode)</li>
<li>Battery-powered (active current matters)</li>
<li>Tight PCB space (LQFP-48)</li>
<li>Cost is critical ($2&ndash;3 vs $8&ndash;12)</li>
</ul>
<p><strong>Typical:</strong> Sensor nodes, BLDC motor controllers, Modbus RTU slaves, USB-to-serial adapters, IoT end devices.</p>

<h3>Choose STM32F407VET6 when:</h3>
<ul>
<li>Your firmware needs &gt;64 KB Flash</li>
<li>You need floating-point performance (PID, FFT, sensor fusion, audio DSP)</li>
<li>Ethernet connectivity is required</li>
<li>USB host mode or dual USB needed</li>
<li>Camera/video capture required</li>
<li>External memory interface (FSMC) needed</li>
<li>You're building an industrial gateway or PLC</li>
</ul>
<p><strong>Typical:</strong> Industrial Ethernet gateways, servo drives with FOC, audio processing, medical devices with GUI, IoT edge gateways with TLS.</p>

<h2>Price Summary</h2>

<table>
<thead><tr><th>Part</th><th>Package</th><th>1K+ Price (USD, approx)</th></tr></thead>
<tbody>
<tr><td>STM32F103C8T6</td><td>LQFP-48</td><td>~$2&ndash;3</td></tr>
<tr><td>STM32F103RCT6 (256 KB)</td><td>LQFP-64</td><td>~$4&ndash;5</td></tr>
<tr><td>STM32F407VET6</td><td>LQFP-100</td><td>~$8&ndash;12</td></tr>
<tr><td>STM32F407VGT6 (1 MB)</td><td>LQFP-100</td><td>~$12&ndash;16</td></tr>
</tbody>
</table>

<p>If your BOM can absorb $8&ndash;12 for the MCU and you need Ethernet or FPU, the F407 is a bargain compared to adding an external Ethernet controller + application processor. If every dollar counts, the F103 is still the right call.</p>

<h2>Frequently Asked Questions</h2>

<h3>Q1: Can I run FreeRTOS on both?</h3>
<p><strong>A:</strong> Yes. F103 has 20 KB SRAM &mdash; enough for 5&ndash;8 tasks with moderate stacks. F407 has 192 KB &mdash; enough for 20+ tasks plus TCP/IP stacks and GUI buffers.</p>

<h3>Q2: Can I migrate from F103 to F407 without rewriting code?</h3>
<p><strong>A:</strong> HAL API is shared, so peripheral code (UART, SPI, I&sup2;C, timers) migrates with minimal changes. But pinouts are completely different &mdash; you'll need a new PCB. CMSIS core layer also differs (M3 vs M4F).</p>

<h3>Q3: Which has better ADC?</h3>
<p><strong>A:</strong> F407. Three ADCs at 2.4 MSPS each (7.2 MSPS interleaved) vs F103's two ADCs at 1 MSPS. F407 also has a DAC; the F103 doesn't.</p>

<h3>Q4: Which is better for a beginner?</h3>
<p><strong>A:</strong> F103. Cheaper, simpler, 10&times; more tutorials. Start with a $2 Blue Pill or $12 Nucleo board, learn the basics, then move to F4 if you need more power.</p>

<h3>Q5: Can I use the F407 as a replacement in an existing F103 design?</h3>
<p><strong>A:</strong> Not directly &mdash; different pin counts, packages, and power requirements. You'd need a new PCB layout. But shared HAL makes software migration manageable.</p>

<h3>Q6: Which has better long-term availability?</h3>
<p><strong>A:</strong> Both are active with over a decade of production. STM32F1 is ST's highest-volume line. F4 is guaranteed for long-term supply. Either is safe.</p>

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "STM32F103C8T6 vs STM32F407VET6 - Which STM32 MCU to Choose?",
  "description": "Complete comparison of STM32F103C8T6 (Cortex-M3) vs STM32F407VET6 (Cortex-M4F): specs, performance, peripherals, price, and selection guide.",
  "proficiencyLevel": "Intermediate",
  "about": {"@type": "Thing", "name": "STM32 MCU Comparison"}
}
</script>
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {"@type": "Question", "name": "Can I run FreeRTOS on both?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. F103 has 20 KB SRAM for 5-8 tasks. F407 has 192 KB for 20+ tasks plus TCP/IP and GUI."}},
    {"@type": "Question", "name": "Can I migrate from F103 to F407 without rewriting code?", "acceptedAnswer": {"@type": "Answer", "text": "HAL API is shared for peripheral code. Pinouts are different - new PCB needed."}},
    {"@type": "Question", "name": "Which has better ADC?", "acceptedAnswer": {"@type": "Answer", "text": "F407: 3 ADCs at 2.4 MSPS each (7.2 MSPS interleaved). F103: 2 ADCs at 1 MSPS."}},
    {"@type": "Question", "name": "Which is better for a beginner?", "acceptedAnswer": {"@type": "Answer", "text": "F103. Cheaper, simpler, 10x more tutorials. Start with a $2 Blue Pill."}},
    {"@type": "Question", "name": "Which has better long-term availability?", "acceptedAnswer": {"@type": "Answer", "text": "Both active for over a decade. F1 is ST's highest-volume line. F4 is guaranteed long-term. Either is safe."}}
  ]
}
</script>

Related information

Subscribe to IC-MAX!
Contact Name
*Email
Featured PartsMore
LNK304DN-TL
LNK304DN-TL Power Integrations
LNK304GN-TL
LNK304GN-TL Power Integrations
LNK304DG-TL
LNK304DG-TL Power Integrations
TNY277PN
TNY277PN Power Integrations
TNY276PN
TNY276PN Power Integrations
TNY278PN
TNY278PN Power Integrations
TNY278GN-TL
TNY278GN-TL Power Integrations
TNY280GN-TL
TNY280GN-TL Power Integrations
TOP266KG-TL
TOP266KG-TL Power Integrations
TOP258PN
TOP258PN Power Integrations
TOP253PN
TOP253PN Power Integrations
TOP253PNAU
TOP253PNAU Power Integrations
index: 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ICMASS.COM

HOME

ICMASS.COM

PRODUCT

ICMASS.COM

PHONE

ICMASS.COM

USER