Skip to main content

Pinout solver STM32 for microcontrollers

Project description

pinocchiout - STM32 Pinout Solver

screenshot

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 --reqs "examples/reqs.yaml"

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pinocchiout-0.2.0.tar.gz (223.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pinocchiout-0.2.0-py3-none-any.whl (8.8 kB view details)

Uploaded Python 3

File details

Details for the file pinocchiout-0.2.0.tar.gz.

File metadata

  • Download URL: pinocchiout-0.2.0.tar.gz
  • Upload date:
  • Size: 223.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pinocchiout-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6c2169b7a7c048320f587aef40961f362a6f28fa090f7db6baa6591c88d06a10
MD5 a8ad4e7f09caf6e5a160c6bca91c278b
BLAKE2b-256 efd9a7bac556fd991385494981e83697899982b71a7a5e0e00c7535ad3e28606

See more details on using hashes here.

Provenance

The following attestation bundles were made for pinocchiout-0.2.0.tar.gz:

Publisher: release.yml on mawildoer/pinocchiout

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pinocchiout-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: pinocchiout-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pinocchiout-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 25822c904b819bf8457efc9adfe0be0cd885b5bd5ab23bc0b8881eb3576481b0
MD5 4eb3da5ba5a12b29b48f5a501fd204d2
BLAKE2b-256 eb71d35892f9d4bdfdf842212e116a25550d0816bcb8588a0a62ddef16caf8ac

See more details on using hashes here.

Provenance

The following attestation bundles were made for pinocchiout-0.2.0-py3-none-any.whl:

Publisher: release.yml on mawildoer/pinocchiout

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page