Skip to content

[html2pinout] NUCLEO board pinouts and Pinout Explorer - #20

Merged
salkinium merged 4 commits into
mainfrom
feature/html2pinout
Oct 3, 2026
Merged

salkinium merged 4 commits into
mainfrom
feature/html2pinout

Conversation

@salkinium

@salkinium salkinium commented Oct 3, 2026 •

Copy link
Copy Markdown
Member

I have a pile of NUCLEO boards and wanted to know which ones can be stacked on their morpho headers without me squinting at 36 user manuals. Turns out CubeMX has no machine-readable connector pinouts, so the user manual tables it is, in about 40 different header layouts, lol.

  • New html2pinout pipeline: ST morpho, ARDUINO and Zio pinouts from the user manual tables, 96 boards: 76 Nucleo-64/144 with complete morpho headers plus 10 Nucleo-32.
  • Signal names normalized (RESET -> NRST, +3.3V -> 3V3, U5V -> 5V_STLK, ...) and every pin gets a kind: gpio, power, ground, system, nc.
  • Alternate functions of the mounted device from the CubeMX database, sparse: only GPIOs that are on a connector.
  • Board-specific pin use (ST-LINK VCP, RMII, USB, crystals, LEDs, buttons) from the CubeMX board .ioc files.
  • Solder bridges from the manuals linked to the GPIOs they mention. The default state comes from the bold table cells, from an older revision of the manual if the newer one lost the bold (UM2408, meh), or from being the only described state.
  • Hand-transcribed what the HTML does not have: the morpho pinouts that are only a figure (G0, C0, L4-P), the table rows lost at page breaks (WL55JC, L552ZE-Q) and the bridges that only live in feature tables (H503RB, H533RE, WB55RG, WBA*).
  • Pinout Explorer added to the visualizer gist as boards.html and wired into build-homepage and the docs navigation.
  • Explorer checked locally: regex filter over pins, functions, board use and bridges, position compatible sets, physical header layout.

Missing:

  • 13 boards from the CubeMX list: the "2" revisions (F401RE2 and friends), boards without a manual in the archive (H553ZG, U3xx, WL43RE) and the P-NUCLEO-WB55 kit names.
  • No alternate functions for the C5 boards (not in this CubeMX database), no bridges for WB15CC and WBA52CG (their manuals name none together with a GPIO).
  • 23 bridges still have no default: the manuals never print one, mostly UM1724 and the board-specific rows of UM2408.
  • A bridge is linked to a pin when its description mentions the GPIO, that says nothing about whether it actually frees the pin.
  • UM2953 prints PD2, PB12 and PB0 twice in its morpho figure, transcribed as printed. The G0 figure is drawn for G070RB only and applied to G071RB and G0B1RE too.
  • NUCLEO-H5E5ZJ gets a CN7-2 connector, since the manual captions both morpho tables as CN7.
  • No pipeline docs page yet and the tests only cover the parsing helpers.
  • build-homepage not run end to end with the new step.

The connector tables of the user manuals yield the ST morpho, ARDUINO and Zio
pinouts with normalized signal names. The CubeMX database adds the alternate
functions of the mounted device and what the board itself uses each pin for.
The solder bridge tables are linked to the pins their descriptions mention.
The morpho pinouts that the manuals only show as a figure and the table rows
lost at page breaks are transcribed by hand, as are the solder bridges that
are only described in feature tables. Boards named only in the ordering
information or whose name is a prefix of another board are no longer dropped.

Bridges are kept per table, since boards made of two PCBs number them twice.
Their default state is also taken from an older revision of the manual or
from being the only described state.
The docs build did not clone the HTML and CubeMX archives, so the pinout
pipeline silently wrote an empty file. It now fails without any manuals and
pull requests upload the homepage as an artifact for review.
@salkinium
salkinium merged commit 9f89c64 into main Oct 3, 2026
10 checks passed
@salkinium
salkinium deleted the feature/html2pinout branch October 3, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant