Skip to the content
2 layers28 × 75 mmDevkit A F280037, the printed circuit board in 3D

Shield d'isolation C2000 sous KiCad 10 — connecteur identique à 100 % entre F280037 et F28P551, brochage généré depuis le Markdown

Size
28 × 75 mm
Copper layers
2
Thickness
1.6 mm
Parts
27
Nets
73
Pads
182
Tracks, vias
0, 0
Routed
Not yet
KiCad
KiCad 10.0 (file 20260206)
Created
23 Sep 2026
Updated
1 Nov 2026

Overview

Devkit A F280037 is an open-source printed circuit board by Nicolboy, from the Nicolboy/KICAD-C2000-devkit repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 2-layer board of 28 × 75 mm with 27 parts on 73 nets.

It is built around the MCP1700-3302E/TT. Its parts include 14 capacitors, 5 resistors, 4 connectors, 3 ICs and 1 diode.

Main components

1

README

README.md

KICAD-C2000-devkit

Shield d'isolation et cartes devkit pour TMS320 C2000, conçus sous KiCad 10. Le brochage est décrit en Markdown, les symboles et les projets KiCad en sont générés — le document reste la source de vérité, pas le schéma.

Cible : une commande numérique de convertisseur de puissance isolé, pilotée par un C2000 et supervisée par un ESP32-C6 pour le Wi-Fi et la mise à jour FOTA.

Rendu 3D de la carte Devkit TMS320F28P551-LQFP64


Architecture — quatre cartes, une barrière

CarteRôle
PuissanceConversion, barrière d'isolation, isolateurs (AMC0311S, AMC0300R, ISO7710, DPC817), shunts en connexion Kelvin, régulateurs
ShieldSupport mécanique des deux devkits, adaptation de brochage, conditionnement analogique, protections. Aucun composant isolé
Devkit C2000MCU, deux LDO 3,3 V, JTAG, bouton reset, LED, cavalier de boot
Devkit ESP32Wi-Fi, hôte FOTA, écran OLED en SPI

L'isolation est entièrement confinée à la carte de puissance. Le shield ne fait que du conditionnement côté froid : c'est ce qui permet de le fabriquer en 2 couches à la maison sans se poser de question de ligne de fuite.

Liaison shield ↔ puissance : quatre nappes 2 × 8 à alternance signal / masse stricte 1:1, aucune alimentation dedans. Le +5 V passe par un connecteur séparé — les 500 mA de la commande n'ont pas à partager leur retour avec les masses de référence des voies ADC.


Le point de conception le plus notable

Le connecteur est identique à 100 % entre le F280037 et le F28P551, 56 positions sur 56. Les deux devkits sont interchangeables sur le shield.

Ce n'est pas une coïncidence, c'est le résultat d'un arbitrage : les LED ont été délibérément posées sur les entrées/sorties non communes aux deux boîtiers, pour que toutes les broches qui traversent le connecteur, elles, soient communes.


Le brochage est du code

Le fichier doc/spec-devkit.md fait autorité. Les symboles KiCad, les schémas et les vérifications en découlent par génération — on ne modifie jamais un .kicad_sym à la main.

text
doc/spec-devkit.md            source de vérité, relue par un humain
        │
        ├── gen_symbole_mcu.py   → build/C2000_MCU_LQFP64.kicad_sym
        │                          (dimensionne le symbole depuis les noms)
        │
        └── gen_devkit.py        → devkit_A_F280037.*  devkit_B_F28P551.*
              ▲                    kicad_gen.py — primitives communes
              │
            src/*.kicad_sch        schémas source des devkits, versionnés

shield.*                       édité à la main dans KiCad — pas généré

L'intérêt n'est pas le gain de temps, c'est que les règles de conception deviennent exécutables. Les générateurs vérifient ce que le document promet : unicité des broches et des GPIO, masse de part et d'autre des voies de mesure de courant, présence des réserves. Une divergence entre l'intention et le schéma est une erreur de script, pas un oubli qu'on découvre au routage.

gen_symbole_mcu.py dimensionne par exemple le corps du symbole à partir de la longueur réelle du nom de broche le plus long, pour que les textes des quatre faces ne se croisent jamais — plutôt qu'une taille choisie à l'œil qui casse au premier nom un peu long.

Les schémas ne contiennent d'ailleurs aucun fil : toute la connectivité passe par des étiquettes globales posées sur le point de connexion de chaque broche. C'est ce qui permet d'ajouter un composant par script sans rien router.


Concevoir avec un agent

Une part inhabituelle du travail est faite par un agent : lire les datasheets, en extraire les contraintes, écrire la spécification, générer les symboles, poser les composants et choisir les boîtiers. Le placement et le routage restent manuels — ils encodent des choix que rien ne devine sur une chaîne de mesure de courant.

doc/methode-kicad-claude.md documente cette façon de travailler : le partage des rôles, le déroulé d'une séance, et surtout les pièges de format rencontrés — chacun avec sa signature, parce que KiCad répond « échec du chargement » et rien de plus quand un fichier est malformé.


Projets KiCad

Trois, pas un de plus.

ProjetContenu
shield.*Shield, connecteurs devkit 2 × 28, quatre nappes, ESP32-C6
devkit_A_F280037.*Devkit TMS320F280037CSPM
devkit_B_F28P551.*Devkit TMS320F28P551SG5PM

Reproduire

KiCad 10 et Python 3.12 requis. kicad-cli doit être dans le PATH.

bash
python gen_symbole_mcu.py -o build/     # symboles MCU
python gen_devkit.py --force            # les deux projets devkit

kicad-cli sch erc --exit-code-violations <projet>.kicad_sch
kicad-cli pcb drc --exit-code-violations <projet>.kicad_pcb

shield.* n'apparaît pas ici : il est édité à la main et ne se régénère pas. Les schémas de devkit produits à la racine sont en revanche jetables — toute retouche manuelle y est perdue au prochain --force. Ce qui doit survivre se modifie dans src/ ou dans le générateur.

Chaque carte existe en deux versions de fabrication : 2 couches gravées à la maison — pistes 1 mm, vias 2 mm, perçage 0,8 mm — pour itérer vite sur la mécanique, et 4 couches en fabrication externe, avec plan de masse continu sous la zone analogique. Même schéma, même brochage, seul le PCB change.


État d'avancement

Travail en cours, et le dire plutôt que de le masquer :

  • Devkit B (F28P551) — PCB placé et routé (24 empreintes, DRC à 0 violation). Les deux connecteurs 2 × 28 portent désormais une sérigraphie par broche — canal ADC réel, GPIO, rôle de bus générique (I2C_CK/DT, SPI_CK/DO/DI/CS...) et alimentations, plutôt que les noms spécialisés du schéma (Vin, I_SHUNT1_CMP...), pour que le connecteur se lise seul. L'ERC du schéma reste à 41 violations, de la même famille que les autres projets (pins de réserve non pilotées).
  • Devkit A (F280037) — PCB peuplé (27 empreintes posées depuis le schéma) mais pas encore routé : 106 pastilles non connectées au DRC.
  • Shield — connecteurs posés, alimentations câblées avec PWR_FLAG par net. Le routage des signaux n'est pas fait : il demande des choix de conception qui n'ont pas leur place dans un générateur. D'où les 108 violations d'ERC (pin_not_connected attendus). PCB non routé.
  • Carte de puissance — spécifiée dans doc/, pas encore dessinée.

Les points laissés ouverts — caractéristiques de sortie des AMC, courant d'entrée du REFIN, choix de VREFHI — sont listés en fin de doc/decisions.md. Ils attendent une lecture de datasheet, pas une estimation.


Décisions à ne pas défaire

Certains choix ressemblent à des inefficacités sans en être. Les douze sont documentés dans doc/decisions.md, chacun avec sa raison et ce qui casse si on le défait — entre autres :

  • Les PWM3 et PWM4 restent en réserve et restent des PWM : ce sont les deux seules paires complémentaires HRPWM avec temps mort matériel disponibles.
  • Chaque shunt sort deux fois, _MES filtré et _CMP direct. Le chemin comparateur attaque le CMPSS sans filtre anti-repliement : pas de retard sur le déclenchement de la Trip Zone, et un défaut du filtre ne désarme pas la protection.
  • Les 16 voies ADC sortent toutes pour 9 nécessaires, les 5 libres étant câblées jusqu'aux réserves de nappe. Une voie ajoutée plus tard se raccorde sans retoucher une seule carte.

Licence

CERN-OHL-S v2 — CERN Open Hardware Licence, fortement réciproque.

Tu peux étudier, modifier, fabriquer et distribuer ce matériel. En contrepartie, si tu distribues un produit fondé dessus, ou une version modifiée, tu dois publier les sources correspondantes sous la même licence.

C'est la licence de référence du matériel libre, l'équivalent de la GPL côté logiciel. Si tu préfères une réciprocité limitée à la carte elle-même, ou pas de réciprocité du tout, les variantes CERN-OHL-W et CERN-OHL-P existent.

Parts

27
QtyValueFootprintReferences
7100nCapacitor_SMD:C_0805_2012MetricC5, C6, C8, C9, C10, C11, C14
510uCapacitor_SMD:C_0805_2012MetricC1, C2, C3, C4, C12
310kResistor_SMD:R_0805_2012MetricR2, R3, R4
22u2Capacitor_SMD:C_0805_2012MetricC7, C13
2MCP1700-3302E/TTPackage_TO_SOT_SMD:SOT-23U2, U3
11kResistor_SMD:R_0805_2012MetricR5
12k2Resistor_SMD:R_0805_2012MetricR1
1DEVKIT_C2000_ROW_AConnector_PinHeader_2.54mm:PinHeader_1x28_P2.54mm_VerticalJ1
1DEVKIT_C2000_ROW_BConnector_PinHeader_2.54mm:PinHeader_1x28_P2.54mm_VerticalJ2
1LED_BICOLORE_3MMLED_THT:LED_D3.0mm-3D1
1RESETConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ4
1TC2050Connector:Tag-Connect_TC2050-IDC-NL_2x05_P1.27mm_VerticalJ3
1TMS320F280037CSPMPackage_QFP:LQFP-64_10x10mm_P0.5mmU1

More from Nicolboy/KICAD-C2000-devkit

1
  • 4 layers35 × 70 mmDevkit B F28P551, the printed circuit board in 3D

    Devkit B F28P551

    Nicolboy/KICAD-C2000-devkit

    Shield d'isolation C2000 sous KiCad 10 — connecteur identique à 100 % entre F280037 et F28P551, brochage généré depuis le Markdown

    26 partsCERN-OHL-S-2.0

Similar boards

  • 2 layers15 × 31 mmPocketAdmin, the printed circuit board in 3D

    PocketAdmin

    krakrukra/PocketAdmin

    oshw keystroke injection device ( badusb )

    25 parts241MIT
  • 2 layers73 × 94 mmSportiduino base, the printed circuit board in 3D

    Sportiduino base

    sportiduino/sportiduino

    Electronic timing system for orienteering and similar outdoor sports events on Arduino

    119 parts78GPL-3.0
  • 2 layers50 × 75 mmLocalTrack, the printed circuit board in 3D

    LocalTrack

    krakrukra/LocalTrack

    OSHW GPS Tracker (Logger)

    63 parts18MIT
  • 2 layers97.2 × 55.9 mmMjs pcb, the printed circuit board in 3D

    Mjs pcb

    meetjestad/mjs_pcb

    This repository contains various versions of the sensor station PCB used by Meetjestad.

    83 parts6
  • 2 layers100 × 100 mmKijaniCarrier, the printed circuit board in 3D

    KijaniCarrier

    Waziup/WaziDev

    WaziDev official repository

    75 parts5Apache-2.0
  • 4 layers70 × 40 mmUHoubolt PCB ECU, the printed circuit board in 3D

    UHoubolt PCB ECU

    SpaceTeam/uHoubolt_PCB_ECU

    µHoubolt Engine Control Unit KiCad project

    216 parts2CERN-OHL-W-2.0
  • 2 layers37.8 × 50 mmXilwatch2, the printed circuit board in 3D

    Xilwatch2

    xil-se/xilwatch_hw

    68 parts2
  • 2 layers60 × 40 mmCargofy IoT Node, the printed circuit board in 3D

    Cargofy IoT Node

    Afuu-coder/Cargofy

    🚚 Cargofy — AI-Powered Cold Chain Intelligence Platform | Autonomous Rerouting Agent | Google ADK | ULIP Integration | FAR AWAY 2026 Hackathon

    41 parts

Questions

How big is the Devkit A F280037 PCB?

It measures 28 × 75 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Devkit A F280037 use?

27 parts, built around the MCP1700-3302E/TT. 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 Devkit A F280037 KiCad files?

From the Nicolboy/KICAD-C2000-devkit repository on GitHub, at the commit this page was made from: the board is devkit_A_F280037.kicad_pcb and its schematic devkit_A_F280037.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Devkit A F280037 design in my own project?

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