Pinout 0.9.0 (2026)

Version 1.0.0 arrives when the pinout has survived 1000 hours of community torture. The changes from 0.9.0 to 1.0.0 are usually minor: renaming a few nets, clarifying current limits, marking two pins as "Do Not Use." But the psychological shift is immense. 1.0.0 means the board is ready for mass production. It means a KiCad symbol library can be locked. It means a company can order 10,000 units without fear.

A common failure: The hardware engineer assigns UART TX to Pin 8 because it is physically convenient. The software engineer then discovers that Pin 8 is also a strapping pin that, if pulled low during boot, enters the bootloader. To avoid this, the software must reconfigure the pin after boot. The 0.9.0 pinout captures this dance with a footnote: "UART TX on GPIO8: ensure pin is high (pull-up enabled) during reset." Pinout 0.9.0

To hold a Pinout 0.9.0 is to participate in the open-source hardware ethos. It is to accept that perfection is a process, not a state. Every maker who reads that document and successfully blinks an LED or reads a temperature sensor is not just a user—they are a co-developer. Their feedback will become the errata, and the errata will become version 1.0.0. Pinout 0.9.0 is not a product. It is a promise. It promises that the hardware is nearly ready, that the documentation is alive, and that the community is invited to build before the concrete sets. It sits in the uncanny valley between prototype and product—functional enough to create magic, fragile enough to demand respect. Version 1

This is not elegant. It is engineering debt. But it is documented. And that documentation is the entire value of Pinout 0.9.0. What happens after Pinout 0.9.0? The community builds. Forums fill with questions: "My I2C device works on pin 22 but not pin 23—why?" The maintainers update a known issues list. Perhaps they discover that a certain analog pin has 100mV more noise than specified. That flaw becomes an errata. It means a KiCad symbol library can be locked