Accueil

Benchmarks de routage, notés par KiCad

Huit cartes open hardware routées par des professionnels, 2 à 4 couches, 125 à 997 connexions. Six routeurs reçoivent le même placement, les mêmes règles et le même plafond de temps. KiCad compte ce qui reste non routé et lance la DRC sur chaque carte rendue. Rien ici n’est auto-déclaré.

Six routeurs, huit cartes

Complétion par la ratsnest KiCad : 100 × (1 − non connectés / connexions). Les erreurs DRC sont celles qu’un outil a ajoutées par rapport aux constats de la carte humaine. Chaque outil disposait de 1200 s par carte sur la même machine ; un outil qui n’a rien rendu dans ce délai est noté temps dépassé. Mesures du 2026-10-14/16.

0%25%50%75%100%pic-programmer2L · 125100%100%100%100%96.8%100%rp2040-minimal2L · 150100%86%100%26.67%100%100%pico-vga4L · 180100%100%100%100%100%100%cm5io4L · 431100%temps dépasséaucune carte50.12%94.9%temps dépassérk3328-som-evb4L · 462100%96.54%100%43.94%100%96.75%scalenode-cm44L · 446100%temps dépassé99.1%54.93%100%carte refuséestmp157-som-evb4L · 905100%temps dépassétemps dépassé21.66%100%96.24%imx8mp-som-evb4L · 997100%temps dépassé100%30.79%99.3%temps dépassé
CarteCouchesConnexionsKopparFreerouting 2.5.0tscircuit 0.0.979KiCad Routing Tools 0.1.9TraceMaker 0.9.0Zap! (hébergé)
pic-programmerKiCad demos ↗2125100%0 DRC · 8 vias · 6 sVias remplis : 100% · 0 DRC · 6 vias · 6 s · 1 via dans une pastille100%5 DRC · 0 vias · 5 s100%115 DRC · 15 vias · 12 s100%95 DRC · 99 vias · 44 s96.8%0 DRC · 3 vias · atteint à 33 s sur 92 s100%0 DRC · 28 vias · 56 s
rp2040-minimalRaspberry Pi ↗2150100%0 DRC · 116 vias · 5 sVias remplis : 100% · 0 DRC · 83 vias · 6 s · 36 vias dans des pastilles86%4 DRC · 40 vias · atteint à 18 s sur 61 s100%149 DRC · 69 vias · 11 s26.67%12 DRC · 12 vias · 127 s100%0 DRC · 53 vias · 20 s · 14 vias dans des pastilles100%0 DRC · 52 vias · 22 s
pico-vgaRaspberry Pi ↗4180100%0 DRC · 96 vias · 8 sVias remplis : 100% · 0 DRC · 92 vias · 6 s · 75 vias dans des pastilles100%8 DRC · 48 vias · atteint à 5 s sur 11 s100%127 DRC · 69 vias · 12 s100%222 DRC · 116 vias · 42 s · 25 vias dans des pastilles100%0 DRC · 49 vias · atteint à 143 s sur 161 s · 21 vias dans des pastilles100%0 DRC · 83 vias · 17 s
cm5ioRaspberry Pi CM5 IO ↗4431100%0 DRC · 877 vias · atteint à 856 s sur 887 sVias remplis : 100% · 0 DRC · 831 vias · atteint à 724 s sur 752 s · 96 vias dans des pastillestemps dépassé1200.2 saucune carte664.1 s50.12%88 DRC · 84 vias · 1208 s · 22 vias dans des pastilles94.9%0 DRC · 412 vias · atteint à 1201 s sur 1203 s · 34 vias dans des pastillestemps dépassé1209 s
rk3328-som-evbOLIMEX ↗4462100%0 DRC · 359 vias · 46 sVias remplis : 100% · 0 DRC · 333 vias · 22 s · 151 vias dans des pastilles96.54%42 DRC · 245 vias · atteint à 195 s sur 610 s100%403 DRC · 391 vias · 163 s43.94%143 DRC · 104 vias · 971 s · 47 vias dans des pastilles100%0 DRC · 272 vias · atteint à 1201 s sur 1203 s · 88 vias dans des pastilles96.75%0 DRC · 333 vias · 375 s
scalenode-cm4Antmicro ↗4446100%0 DRC · 428 vias · 79 sVias remplis : 100% · 0 DRC · 459 vias · atteint à 404 s sur 429 s · 126 vias dans des pastillestemps dépassé1200.1 s99.1%215 DRC · 368 vias · 77 s54.93%156 DRC · 102 vias · 533 s · 33 vias dans des pastilles100%0 DRC · 224 vias · atteint à 448 s sur 832 s · 41 vias dans des pastillescarte refusée
stmp157-som-evbOLIMEX ↗4905100%0 DRC · 1131 vias · atteint à 412 s sur 484 sVias remplis : 100% · 0 DRC · 1100 vias · 109 s · 341 vias dans des pastillestemps dépassé1200.1 stemps dépassé1413.5 s21.66%246 DRC · 196 vias · 1202 s · 34 vias dans des pastilles100%0 DRC · 856 vias · 1203 s · 200 vias dans des pastilles96.24%0 DRC · 840 vias · 892 s
imx8mp-som-evbOLIMEX ↗4997100%0 DRC · 1429 vias · atteint à 1086 s sur 1194 sVias remplis : 100% · 0 DRC · 1116 vias · atteint à 149 s sur 223 s · 379 vias dans des pastillestemps dépassé1200.2 s100%1052 DRC · 1247 vias · 826 s · 1 via dans une pastille30.79%469 DRC · 307 vias · 1203 s · 61 vias dans des pastilles99.3%0 DRC · 795 vias · 1203 s · 200 vias dans des pastillestemps dépassé1200.5 s

Mesures du 2026-10-14/16, KiCad 10.0.4 pour arbitre, une seule machine pour tous les outils. Le temps de Koppar couvre tout le parcours produit, tout ce que traverse la carte d’un utilisateur. Freerouting n’écrit sa carte qu’à la fin, donc un passage au-delà du plafond n’a pas de carte à noter. Les cartes tscircuit, KiCad Routing Tools, TraceMaker et Zap! sont notées telles que rendues, leurs plans éventuels remplis. Zap! est un service hébergé : son temps est la durée du travail sur le service, file d’attente exclue, et il a refusé une carte dont le design humain a une empreinte hors du contour. Les temps indiquent quand un outil a atteint la carte rendue, à côté de la durée de son exécution : un routeur qui continue de chercher après sa meilleure carte affiche les deux. La case de Koppar montre deux modes : la première ligne est son mode par défaut, sans aucun via dans les pastilles des broches, donc sans procédé de fabrication particulier ; la seconde est le mode vias remplis, qui autorise les vias dans ces pastilles, pour une carte commandée avec des vias remplis et bouchés. Chaque case compte les vias qu’un outil a laissés dans des pastilles de broches.

Méthode

L’arbitre
Une installation KiCad 10 figée exécute la DRC de kicad-cli et lit la ratsnest. Aucun outil ne note sa propre sortie ; la complétion auto-déclarée est enregistrée mais pas publiée.
Les cartes
Démos KiCad, designs de référence Raspberry Pi, cartes porteuses OLIMEX et Antmicro, chacune sous sa licence d’origine. Chaque routeur reçoit le placement seul : pistes, vias et plans de cuivre sont retirés, et chaque net, masse comprise, est à router. Les règles sont celles du benchmark : un plancher commun, publié carte par carte et appliqué à chaque outil comme à l’arbitre ; le tableau mesure donc le routage sous ce plancher, pas les contraintes propres à chaque design.
La métrique
Les airwires de KiCad. Une complétion par net lit trop haut sur une carte avec une pastille isolée ou un plan coupé ; la ratsnest, non.
Une seule configuration
La même configuration pour chaque carte, comme pour une carte client. Aucun réglage par carte, pour aucun outil.

Ce que nous ne prétendons pas

Un benchmark n’est utile que si ses limites sont dites.

Lancez-le sur votre propre carte

Le même routeur et le même parcours de routage sont en ligne sur tools.koppar.ai : envoyez un .kicad_pcb placé et son .kicad_pro, récupérez-le routé avec un rapport DRC KiCad. Une carte jusqu’à 300 connexions se route sans compte ; au-delà, comme les cartes porteuses 4 couches ici, le routage prend jusqu’à 20 minutes de serveur et demande une clé API de compte. L’API tient en un POST.

Router votre propre carteCartes, règles, harnais et résultats sur GitHub
curl -s https://tools.koppar.ai/api/tools/route \
  -H 'content-type: application/json' \
  -H "Authorization: Bearer $KOPPAR_API_KEY" \
  -d "{\"content\": $(jq -Rs . < board.kicad_pcb), \"project\": $(jq -Rs . < board.kicad_pro)}"