Skip to the content
PCBKitNew board
2 layers47.6 × 30.6 mmProgramator spi, the printed circuit board in 3D

Programator spi

internax/ukol_divelit

Původní záměr byl použít ZIF socket, ten se však pro pDIP8 pouzdro prakticky nevyrábí. Zvolil jsem proto přesnou patici z doporučených komponent. Klíčovými kritérii byl nízký odpor kontaktů a zlaté pokovení pinů.

Size
47.6 × 30.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
42
Nets
54
Pads
173
Tracks, vias
283, 294
Pours
5
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
1 May 2026
Updated
1 May 2026

Overview

Programator spi is an open-source printed circuit board by internax, from the internax/ukol_divelit repository on GitHub, published under the MIT licence. It is a 2-layer board of 47.6 × 30.6 mm with 42 parts on 54 nets, routed with 283 tracks and 294 vias.

It is built around the STM32F103C8T6, SST25VF080B-50-4C-PAE and USBLC6-2SC6, with the USBLC6-4SC6, TL3365AF180QG and LD1117S33CTR-HXY among its other parts. Its parts include 15 capacitors, 6 resistors, 4 ICs, 2 diodes and 2 connectors. It belongs with the STM32 boards of this library.

Main components

8

README

README.md

SPI FLASH programátor

Tento repozitář obsahuje souboru k návrhu SPI Flash programátoru.

Struktura

  • Výrobní soubory jsou v adresáři: programator_spi/production/programator_spi.zip
  • Schéma je dostupné v adresáři: programator_spi/schema_pdf/programator_spi.pdf

Návrhová rozhodnutí

Patice pro DIP8

Původní záměr byl použít ZIF socket, ten se však pro pDIP8 pouzdro prakticky nevyrábí. Zvolil jsem proto přesnou patici z doporučených komponent. Klíčovými kritérii byl nízký odpor kontaktů a zlaté pokovení pinů. Životnost patice je dle dokumentace přibližně 500 cyklů, což by pro daný účel mělo být dostatečné. Pokud by se požadavky na počet cyklů zvýšily, bylo by nutné přejít na ZIF patici většího formátu.

USB rozhraní

Nejprve jsem navrhl USB rozhraní. Použil jsem ESD ochranu z doporučených komponent. Zvažoval jsem ještě ECMF02-2AMX6, která nabízí common mode ochranu a je použita například v referenčním designu MB1801.

Dále jsem přidal proudovou ochranu — polyfuse. Maximální proud jsem stanovil takto: flash paměť odebírá při zápisu až 30 mA, MCU pak dle datasheetu až 150 mA. Zvolil jsem proto polyfuse 200 mA, která poskytuje rozumnou rezervu; v případě potřeby ji lze snadno vyměnit.

Dle specifikace jsem na linku D+ přidal pull-up rezistor 1k5Ω.

MCU

S STM32 jsem dosud nenavrhoval, proto jsem si stáhl AN a postupoval podle ní. Jako první jsem řešil napájení — přidal jsem blokovací kondenzátory na příslušné piny. Oddělení napájení analogové části jsem neřešil, protože zde nemá smysl.

Vybral jsem krystal 8 MHz tak, aby byl splněn margin, a navrhl jsem kondenzátory s tím, že Cp uvažuji jako 5 pF. Margin jsem ověřil dle AN2867 — vychází gm = 26,4 mA/V, rezerva je dostatečná.

Programovací rozhraní

Pokračoval jsem programovacím rozhraním. Zvolil jsem SWD s výstupem SWO, konektor Tag-Connect.

Tlačítka

Přidal jsem tlačítko RESET, protože je vhodné ho mít vždy vyvedené, a tlačítko BOOT pro změnu bootovacího režimu, například pro DFU přes USB. Tlačítko ERASE ani FLASH není zmíněno v zadání, takže jsem je nepřidával — zbytečná komplexita.

Indikace

Pro indikaci stavu jsem zvolil adresovatelnou LED, která funguje s 5V logikou. Teoreticky by byl potřeba level shifter, nicméně v praxi funguje spolehlivě i bez něj, zejména na malých vzdálenostech.

Flash

K napájení jsem přidal 100 nF kondenzátor, SPI jsem připojil k MCU, /WP a /HOLD jsem vyvedl na VDD, protože ani jednu z funkcí nepotřebuji. Na piny sdílené s MCU jsem přidal ESD ochranu.

Test pady

Přidávám testpady s dírou uprostřed, protože v nich líp drží probe osciloskopu a ve dvouvrstvé desce ničemu nevadí.

Text Návrhová rozhodnutí byl upravenu pomocí generativní umělé inteligence, originál je dostupný v: original_notes/notes.txt

Parts

42
QtyValueFootprintReferences
9100nCapacitor_SMD:C_0603_1608MetricC2, C3, C6, C7, C8, C9, C11, C12, C15
6TestPointTestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mm3V3, 5V, CS, MISO, MOSI, SCK
310kResistor_SMD:R_0603_1608MetricR3, R4, R5
310uCapacitor_SMD:C_0603_1608MetricC1, C4, C5
227pCapacitor_SMD:C_0603_1608MetricC13, C14
25k1Resistor_SMD:R_0603_1608MetricR1, R2
2MountingHoleMountingHole:MountingHole_3.5mmH2, H3
2TL3365AF180QGTL3365AF:TL3365AF250QGS1, S2
11k5Resistor_SMD:R_0603_1608MetricR7
11uCapacitor_SMD:C_0603_1608MetricC10
18MHzLFXTAL:LFXTAL055663ReelY2
1Conn_ARM_SWD_TagConnect_TC2030Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_VerticalJ2
1D_SchottkyBAT760:SOD2512X110ND1
1LD1117S33CTRPackage_TO_SOT_SMD:SOT-223-3_TabPin2CR1
1PolyfuseFuse:Fuse_1206_3216Metric_Pad1.42x1.75mm_HandSolderF1
1SST25VF080B-50-4C-PAEPackage_DIP:DIP-8_W7.62mm_SocketIC1
1STM32F103C8T6STM32F103C8T6:LQFP48_STM-MU1
1USB4105-GF-AGCT4105:USB4105_GCTJ1
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U3
1USBLC6-4SC6Package_TO_SOT_SMD:SOT-23-6U2
1WS2812BLED_SMD:LED_WS2812B-Mini_PLCC4_3.5x3.5mmD2

Questions

How big is the Programator spi PCB?

It measures 47.6 × 30.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Programator spi use?

42 parts, built around the STM32F103C8T6, SST25VF080B-50-4C-PAE, USBLC6-2SC6 and USBLC6-4SC6. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Programator spi KiCad files?

From the internax/ukol_divelit repository on GitHub, at the commit this page was made from: the board is programator_spi/programator_spi.kicad_pcb and its schematic programator_spi/mcu.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Programator spi design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers159.6 × 161 mmShack interface, the printed circuit board in 3D

    Shack interface

    PE1RGU/hf-antenna-switch

    Remote HF antenna switch: 3 radios x 4 antennas (path to 8), outdoor relay unit with a hardware safety chain, controlled over Cat6 from a shack interface. KiCad 10, open hardware, designed together with an AI.

    290 parts2CERN-OHL-S-2.0
  • 2 layers23.2 × 31.7 mmCH32X035G8U6-Board, the printed circuit board in 3D

    CH32X035G8U6-Board

    LRNATHD/CH32X035G8U6-Board

    first take on ch32x035g8u6, interested in the usb c pd

    23 parts
  • 8 layers90 × 65 mmDigital board v1, the printed circuit board in 3D

    Digital board v1

    es-ude/elasticai.hardware

    Schematics and Board design for ElasticNodeHardware

    261 parts4MIT
  • 4 layers100 × 60 mmUsb hub, the printed circuit board in 3D

    Usb hub

    coolachlanke/usb-c-hub

    4-port USB 2.0 Full-Speed Hub using Microchip USB2514BI

    82 parts1
  • 4 layers100 × 99.9 mmSolar Project Rev0 - Manufactured First Build, the printed circuit board in 3D

    Solar Project Rev0 - Manufactured First Build

    Phil-CIA/Solar-Project-200w

    Solar Project 200W is a prototype-first hardware and firmware effort for a 200W-class solar charging system built around a 4S LiFePO4 battery domain.

    163 parts
  • 2 layers100 × 100 mm5x5, the printed circuit board in 3D

    5x5

    dijkstrw/5x5

    A custom 5x5 keyboard

    92 parts6