Skip to content

Conversation

@Jerzeek
Copy link

@Jerzeek Jerzeek commented Dec 4, 2025

Hi all,
We made an expander board for the Pico 2W, The Pico 2W is soldered on the board, and it has some peripherals permanently connected to the board so it made sense to make a custom board file for it.
It is part of a bigger project to learn the Industrial Design students at the Technical University of Delft to program, more info here: https://id-studiolab.github.io/Connected-Interaction-Kit/test/components/

I built the board, copied the UF2 file, tested the functionality, and all seems good!
Since our previous board utilized the ItsyBitsy M4, we aim to maintain backward compatibility with the D pins. Therefore, we have ensured that students can use both D as well as GP syntax, for example: D5 as well as GP5.
Let me know if anything is unclear.

@Jerzeek Jerzeek changed the title add studiolab_picoexpander# Please enter the commit message for your … add studiolab_picoexpander Dec 4, 2025
Copy link
Collaborator

@dhalbert dhalbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, this looks fine overall. I've made some naming change suggestions.

//
// SPDX-License-Identifier: MIT

#define MICROPY_HW_BOARD_NAME "Pico Expander"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add your manufacturer name here, like "Studiolab Pico Expander" or however you capitalize and space it ("Studio Lab", "studiolab", etc.)


#include "shared-bindings/board/__init__.h"

static const mp_rom_map_elem_t board_module_globals_table[] = {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the pin list below, group pin aliases together, with blank lines in between, so it's easy to see which pins have which multiple names. You did this with some pins toward the end of the list. Put the preferred name first: that is the name that will be listed by dir(board). E.g.:

(I don't know which name you want to be the primary name: your choice.)

[blank line]
{ MP_ROM_QSTR(MP_QSTR_SDA), MP_ROM_PTR(&pin_GPIO4) },
{ MP_ROM_QSTR(MP_QSTR_GP4), MP_ROM_PTR(&pin_GPIO4) },
{ MP_ROM_QSTR(MP_QSTR_D4), MP_ROM_PTR(&pin_GPIO4) },
[blank line]

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants