Add Pimoroni board headers #3161

Merged
Gadgetoid merged 15 commits from feature/pimoroni-boards into develop 2026-09-04 15:46:59 -05:00
Gadgetoid commented 2026-08-27 12:52:16 -05:00 (Migrated from github.com)

Add all the Pimoroni boards we've neglected to upstream for the last forever. Draft because there might be more, or I might have bungled this.

@ZodiusInfuser I did a full sweep of everything we're currently missing, and might have got a bit carried away. Let me know if any of these should be dropped.

Add all the Pimoroni boards we've neglected to upstream for the last forever. Draft because there might be more, or I might have bungled this. @ZodiusInfuser I did a full sweep of everything we're currently missing, and might have got a bit carried away. Let me know if any of these should be dropped.
lurch (Migrated from github.com) reviewed 2026-09-01 08:18:13 -05:00
@ -0,0 +1,199 @@
/*
lurch (Migrated from github.com) commented 2026-09-01 08:18:13 -05:00

Just to be completely unambiguous, it might be worth specifying all of these GPIOs? E.g.

#define PRESTO_LCD_D0_PIN 1
#define PRESTO_LCD_D1_PIN 2
#define PRESTO_LCD_D2_PIN 3
#define PRESTO_LCD_D3_PIN 4
// etc.

(This might also help indicate "Don't use these GPIOs for anything else".)

Just to be completely unambiguous, it might be worth specifying _all_ of these GPIOs? E.g. ```c #define PRESTO_LCD_D0_PIN 1 #define PRESTO_LCD_D1_PIN 2 #define PRESTO_LCD_D2_PIN 3 #define PRESTO_LCD_D3_PIN 4 // etc. ``` (This might also help indicate "Don't use these GPIOs for anything else".)
lurch (Migrated from github.com) reviewed 2026-09-01 08:19:16 -05:00
@ -0,0 +1,199 @@
/*
lurch (Migrated from github.com) commented 2026-09-01 08:19:16 -05:00

The same as PRESTO_LCD_D0_PIN? Is that right?

The same as `PRESTO_LCD_D0_PIN`? Is that right?
lurch (Migrated from github.com) reviewed 2026-09-01 08:21:47 -05:00
@ -0,0 +1,94 @@
/*
lurch (Migrated from github.com) commented 2026-09-01 08:21:46 -05:00

Probably makes more sense to list the defines in name-order, rather than in value-order? I.e.

#define TINYFX_OUT1_PIN 3
#define TINYFX_OUT2_PIN 2
#define TINYFX_OUT3_PIN 4
#define TINYFX_OUT4_PIN 5
#define TINYFX_OUT5_PIN 8
#define TINYFX_OUT6_PIN 9
Probably makes more sense to list the defines in name-order, rather than in value-order? I.e. ```suggestion #define TINYFX_OUT1_PIN 3 #define TINYFX_OUT2_PIN 2 #define TINYFX_OUT3_PIN 4 #define TINYFX_OUT4_PIN 5 #define TINYFX_OUT5_PIN 8 #define TINYFX_OUT6_PIN 9 ```
lurch (Migrated from github.com) reviewed 2026-09-01 08:23:12 -05:00
@ -0,0 +36,4 @@
#define TUFTY2040_SDA_PIN 4
#define TUFTY2040_SCL_PIN 5
// 8 bit parallel display interface, data on GPIO 14 through 21
lurch (Migrated from github.com) commented 2026-09-01 08:23:12 -05:00

See earlier comment 😉

See earlier comment :wink:
Gadgetoid (Migrated from github.com) reviewed 2026-09-01 13:54:43 -05:00
@ -0,0 +1,199 @@
/*
Gadgetoid (Migrated from github.com) commented 2026-09-01 13:54:43 -05:00

Agreed. Explicit is better than implicit. Thank you! (specially when it's not obvious how many pins there are)

Agreed. Explicit is better than implicit. Thank you! (specially when it's not obvious how many pins there are)
Gadgetoid (Migrated from github.com) reviewed 2026-09-01 13:55:20 -05:00
@ -0,0 +1,94 @@
/*
Gadgetoid (Migrated from github.com) commented 2026-09-01 13:55:20 -05:00

My head hurts either way but I think you're right!

My head hurts either way but I think you're right!
Gadgetoid (Migrated from github.com) reviewed 2026-09-01 13:55:56 -05:00
@ -0,0 +36,4 @@
#define TUFTY2040_SDA_PIN 4
#define TUFTY2040_SCL_PIN 5
// 8 bit parallel display interface, data on GPIO 14 through 21
Gadgetoid (Migrated from github.com) commented 2026-09-01 13:55:56 -05:00

Thank you! Agreed.

Thank you! Agreed.
Gadgetoid commented 2026-09-01 13:56:36 -05:00 (Migrated from github.com)

@ZodiusInfuser do you have any thoughts on these? (Yukon and Tiny in particular, since those are your babies)

@ZodiusInfuser do you have any thoughts on these? (Yukon and Tiny in particular, since those are your babies)
lurch (Migrated from github.com) reviewed 2026-09-02 04:55:05 -05:00
@ -0,0 +1,199 @@
/*
lurch (Migrated from github.com) commented 2026-09-02 04:55:05 -05:00

...in which case it's probably worth adding defines for GPIOs 17 and 18 too? These board-header files describe the hardware and don't care what the software-driver does or doesn't do 😉

...in which case it's probably worth adding defines for GPIOs 17 and 18 too? These board-header files describe the **hardware** and don't care what the software-driver does or doesn't do :wink:
ZodiusInfuser commented 2026-09-02 15:38:13 -05:00 (Migrated from github.com)

I haven't had a chance to look at this yet, will do so tomorrow.

I haven't had a chance to look at this yet, will do so tomorrow.
ZodiusInfuser commented 2026-09-03 15:20:19 -05:00 (Migrated from github.com)

@Gadgetoid I've made some edits across the range if you wish to double check.

@Gadgetoid I've made some edits across the range if you wish to double check.
kilograham commented 2026-09-03 16:29:08 -05:00 (Migrated from github.com)

FYI; hurry, hurry as 2.3.1 is coming probably tomorrow (Friday)... so if you want this to make that and not just land in develop, then get your changes in, and hope @lurch blesses them!!

FYI; hurry, hurry as 2.3.1 is coming probably tomorrow (Friday)... so if you want this to make that and not just land in develop, then get your changes in, and hope @lurch blesses them!!
Gadgetoid commented 2026-09-04 01:39:10 -05:00 (Migrated from github.com)

presses the button

I won’t be able to make any changes today but hopefully Chris’ll pick up any last minute fixes! 👀

*presses the button* I won’t be able to make any changes today but hopefully Chris’ll pick up any last minute fixes! 👀
lurch (Migrated from github.com) reviewed 2026-09-04 09:21:19 -05:00
@ -0,0 +23,4 @@
// --- BOARD SPECIFIC ---
// PCF85063a real time clock
#define BADGER2350_RTC_I2C 0
#define BADGER2350_RTC_I2C_ADDR 0x51
lurch (Migrated from github.com) commented 2026-09-04 09:21:19 -05:00

For the other boards that have on-board devices connected to their I2C pins, maybe it'd be useful if their headers included the I2C addresses too? 🤔
(I won't let that stop the merging of this PR though)

For the other boards that have on-board devices connected to their I2C pins, maybe it'd be useful if their headers included the I2C addresses too? :thinking: (I won't let that stop the merging of this PR though)
lurch commented 2026-09-04 09:25:24 -05:00 (Migrated from github.com)

Not directly related to this PR, but whilst adding some additional checks to the check_board_header.py script (which still need to be tidied up before PRing), I spotted that https://github.com/raspberrypi/pico-sdk/blob/develop/src/boards/include/boards/pimoroni_pico_plus2_w_rp2350.h is missing a define for CYW43_PIN_WL_DYNAMIC, so maybe you'd like to squeeze that fix into this PR too? 😉

Not _directly_ related to this PR, but whilst adding some additional checks to the `check_board_header.py` script (which still need to be tidied up before PRing), I spotted that https://github.com/raspberrypi/pico-sdk/blob/develop/src/boards/include/boards/pimoroni_pico_plus2_w_rp2350.h is missing a define for `CYW43_PIN_WL_DYNAMIC`, so maybe you'd like to squeeze that fix into this PR too? :wink:
lurch (Migrated from github.com) approved these changes 2026-09-04 09:25:54 -05:00
lurch (Migrated from github.com) left a comment

Blessed 👍

Blessed :+1:
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-raspberrypi/pico-sdk!3161
No description provided.