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.1.0.tar.gz (222.9 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.1.0-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pinocchiout-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1051aa873315b29383e038f5ead7d2c98b75f57530045c243319afff0539411a
MD5 9eb049c0cd56d92f4289d3e25810ced1
BLAKE2b-256 96c7f365125b3802c1eeab59b1b5c8bb914c9a0124ad962c4fad07969fea3397

See more details on using hashes here.

Provenance

The following attestation bundles were made for pinocchiout-0.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: pinocchiout-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.2 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b8633793a7b3b513b11f51829cfd4cc314097bea5fba379cc16ad5055b626a3e
MD5 687408b8e29a2073c917f8bde0cae114
BLAKE2b-256 e17fbe3f5a2517c657b8db839277809793b93c59cd8373cd232a5232189430e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pinocchiout-0.1.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