Skip to content

Instantly share code, notes, and snippets.

@anecdata
Last active February 13, 2023 19:00
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anecdata/1c345cb2d137776d76b97a5d5678dc97 to your computer and use it in GitHub Desktop.
Save anecdata/1c345cb2d137776d76b97a5d5678dc97 to your computer and use it in GitHub Desktop.
CircuitPython Pin Finder: microcontroller.pin to board mappings
# SPDX-FileCopyrightText: 2020 anecdata
#
# SPDX-License-Identifier: MIT
import microcontroller
import board
for pin in dir(microcontroller.pin):
if isinstance(getattr(microcontroller.pin, pin), microcontroller.Pin):
print("".join(("microcontroller.pin.", pin, "\t")), end=" ")
for alias in dir(board):
if getattr(board, alias) is getattr(microcontroller.pin, pin):
print("".join(("", "board.", alias)), end=" ")
print()
@anecdata
Copy link
Author

anecdata commented Feb 11, 2023

Pico W:

# SPDX-FileCopyrightText: 2023 anecdata
#
# SPDX-License-Identifier: MIT

import microcontroller
import board

try:
    import cyw43  # Pico W
except ImportError:
    cyw43 = None

for pin in dir(microcontroller.pin):
    if isinstance(getattr(microcontroller.pin, pin), microcontroller.Pin) or \
       (cyw43 and isinstance(getattr(microcontroller.pin, pin), cyw43.CywPin)):
        print("".join(("microcontroller.pin.", pin, "\t")), end=" ")
        for alias in dir(board):
            if (getattr(board, alias) is getattr(microcontroller.pin, pin)):
                print("".join(("", "board.", alias)), end=" ")
    print()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment