Pinout solver STM32 for microcontrollers
Project description
pinocchiout - STM32 Pinout Solver
Installation
I recommend using uv to install this project.
Then, all you need to do is run uvx pinocchiout and it'll handle the rest.
Usage
With a reqs.yaml/json file
reqs.yaml/json is a simple file describing the requirements of your project.
chip: STM32G431C6
package: UFQFPN48
requirements:
- name: position-sensor
kind: spi
signals:
- MOSI
- MISO
- SCK
reserved_pins:
- PB8 # boot select pin
This one, for example, says you're trying to find a pinout for the STM32G431C6 microcontroller, in the UFQFPN48 package, with a SPI peripheral. It also reserves the boot select pin, PB8.
YAML is preferred, because it allows for comments, but JSON is also supported:
{
"chip": "STM32G431C6",
"package": "UFQFPN48",
"requirements": [
{
"name": "spi",
"peripheral": "spi",
"kind": "spi",
"signals": ["MOSI", "MISO", "SCK"]
}
]
}
You can print out a table of the pinout like so:
uvx pinocchiout solve --reqs "examples/reqs.yaml"
Listing peripherals
You can also list all available peripherals for a chip/package:
uvx pinocchiout list --reqs "examples/reqs.yaml"
# or specify chip and package directly
uvx pinocchiout list --chip STM32G431C6 --package UFQFPN48
Peripheral names ("peripheral") and signal names ("signals") are treated as regular expressions, so you can use them to match multiple.
As a library
Honestly, it could be better, but see example.py for a simple example of how to use it as a library.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pinocchiout-0.3.0.tar.gz.
File metadata
- Download URL: pinocchiout-0.3.0.tar.gz
- Upload date:
- Size: 223.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d50292e5bd8bd62ceea8ac48ac8051f829ea0da8382d8525965a98518c897dd
|
|
| MD5 |
38e4defb993b398b07f6a4813c70dc9e
|
|
| BLAKE2b-256 |
35f509f8a357c32a062666706084dfb305de8035679204f1ea5068de03e6ba19
|
Provenance
The following attestation bundles were made for pinocchiout-0.3.0.tar.gz:
Publisher:
release.yml on mawildoer/pinocchiout
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pinocchiout-0.3.0.tar.gz -
Subject digest:
0d50292e5bd8bd62ceea8ac48ac8051f829ea0da8382d8525965a98518c897dd - Sigstore transparency entry: 307226056
- Sigstore integration time:
-
Permalink:
mawildoer/pinocchiout@d8775adfd350af9b310d33f56de26cc9e0368b85 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/mawildoer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d8775adfd350af9b310d33f56de26cc9e0368b85 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pinocchiout-0.3.0-py3-none-any.whl.
File metadata
- Download URL: pinocchiout-0.3.0-py3-none-any.whl
- Upload date:
- Size: 9.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53a1cbe004e7d457ac5325a3be9bf9e045a3e9f22af8d09efffc54469f462af5
|
|
| MD5 |
0decde4692ee914c99665f0bcbc1215d
|
|
| BLAKE2b-256 |
2ff7ce0643982ac5a81f015c7e2606f58ca4b0a76dd43139122a03507d7644e8
|
Provenance
The following attestation bundles were made for pinocchiout-0.3.0-py3-none-any.whl:
Publisher:
release.yml on mawildoer/pinocchiout
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pinocchiout-0.3.0-py3-none-any.whl -
Subject digest:
53a1cbe004e7d457ac5325a3be9bf9e045a3e9f22af8d09efffc54469f462af5 - Sigstore transparency entry: 307226093
- Sigstore integration time:
-
Permalink:
mawildoer/pinocchiout@d8775adfd350af9b310d33f56de26cc9e0368b85 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/mawildoer
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@d8775adfd350af9b310d33f56de26cc9e0368b85 -
Trigger Event:
release
-
Statement type: