0
mirror of https://github.com/Hanqaqa/Easyduino.git synced 2026-08-09 22:45:59 +00:00
Files
Easyduino/STM32F103 Bluepill
2026-04-27 23:59:51 +02:00
..
2026-04-13 10:40:09 +02:00
2026-04-13 10:40:09 +02:00
2026-04-13 10:40:09 +02:00
2026-04-13 10:40:09 +02:00
2026-04-13 10:40:09 +02:00
2026-04-13 10:40:09 +02:00
2026-04-13 10:40:09 +02:00
2026-04-13 10:40:09 +02:00
2026-04-13 10:40:09 +02:00

Easyduino Bluepill STM32F103

The Industry Standard in the Microcontroller World

Schematic

Gerbers

Specs

  • Input Voltage: 5.5V-9V(External Source through 5V pin) or 5V (USB). ONLY USE ONE VOLTAGE INPUT AT A TIME
  • Maximum Output Current at 5V input : 200 mA at 3.3V output
  • No Polarity Protection (External Source)
  • Overcurrent Protection: None

References

STM32F103C8T6

Decoupling Capacitors

  • STM32F103x8 Datasheet p36 -> one 100nF decoupling capacitor per VDD pin except one 4.7uF capacitor in VDD3. I will use a 1uF capacitor in VDD3 to save costs
  • STM32F103x8 Datasheet p36 -> one 10nF decoupling capacitor plus a 1uF capacitor for VDDA. I will not be needing very precise analog measurements. I will only use a 100nF capacitor

Crystals

  • STM32F103x8 Datasheet p54 -> PC14 PC15 use a 32.768 KHz resonator with approximately 15pF capacitors on each side. I will use 18pF
  • STM32F103x8 Datasheet p52 -> PD0 PD1 use 8MHz crystal. Use 5-25 pF capacitors on each side. I will use 18pF

USB

  • STM32F103x8 Datasheet p 73-> No info about USB Data lines resistors. USB_D+ must be pulled up to 3.3 via 1.5k
  • Bluepill Schematic -> 20 Ohm USB Data lines terminator and a 4.7k pull up resistor
  • Blackpill Schematic -> 10 Ohm USB Data lines terminator and a no pull up resistor
  • I will trust the datasheet and not place resistors in USB lines and pull up to 3.3V. The Bluepill schematic is probably badly designed

NRST

  • STM32F103x8 Datasheet p67 -> NRST is connected to a switch and 100nF cap
  • Bluepill Schematic -> 10k resistor and 100nF cap
  • F031K6 Schematic -> NRST connected to a switch and 100nF cap
  • Again I will trust the datasheet

Boot0 and Boot1

  • STM32F103x8 Hardware Development p16 -> Normally HIGH via a 10k resistor
  • Bluepill Schematic -> 100k resistors for both Boot0 and Boot1.
  • Blackpill Schematic -> Boot1 tied to GND via 10k resistor. Boot0 tied to GND via 10k resistor and a push button to 3.3V
  • The Blackpill and the Hardware Development guide agree. So i will place the 10k resistor and add a push button to Boot0

USB-C

Filtering

  • USB Hardware Design Guidelines for FTDI ICs p8 -> 10nF Cap + Ferrite Bead + 100nF Cap + 4.7uF Cap
  • I disregarded such heavy filtering for the easier to implement 1uF and 100nF cap given in the CP2102 datasheet
  • I added a polyfuse with Ihold=500mA and Itrip=1A.

Differential Pair

  • USB needs 90 Ohm differential traces.
  • According to JLCPCB impedance calculator, with a JLC7628 prepreg and 6mil (0.15mm) space between lines
  • I have to use 9 mil tracks -> 0.2 mm
  • I will use a very short trace for D+ D- (around 2mm)
  • I have to place vias because of the pinout of USB C and CP2102. Some other people have done it with no problems

XC6206P332MR-3.3V

  • XC6206_Torex Datasheet p6 -> Two 1 uF ceramic capacitors on Vin and Vout

KiCad Render