Skip to content

Add support for Pico 2 (RP2350) #30

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

philipstarkey
Copy link
Member

@philipstarkey philipstarkey commented Aug 10, 2024

When built for the Pico 2, we now support:

  • 60,000 instructions
  • Clock speeds up to 150 MHz
  • Running on PIO2

We've also:

  • Added new board command that returns the board version (either pico1 or pico2)
  • Dynamically computed array sizes
  • bumped the version to v1.2.0
  • Refactored the cmake file to be a lot cleaner and support building for more than one board. The maximum number of instructions is now defined here
  • Bumped the pico SDK version to v2.0.0
  • Fixed a bug with Ubuntu 24.04 that broke the apt-mirror override in the docker container
  • Updated the docker compose container for simultaneous build of firmware for multiple boards (in a way that doesn't cause long docker build times). This is also following the best practices outlined by the pico-sdk that encourages you to separate build dirs for different boards to avoid conflicts with cached cmake configuration.
  • Removed the pico_sdk_import.cmake from the repo so it can be kept up-to-date with the version in the pico-sdk.

@philipstarkey philipstarkey requested a review from dihm August 10, 2024 15:45
Copy link
Collaborator

@dihm dihm left a comment

Choose a reason for hiding this comment

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

Finally got some initial testing done here. I can confirm that both a Pico1 and 2 work with this build of the firmware in a basic test.

While it would be nice to apply a more thorough test, I don't really have time for a full battery to confirm specs ATM. I am confident enough to merge and release (after minor comments are at least looked at) and deal with more thorough tests later.

philipstarkey and others added 6 commits April 16, 2025 09:54
When built for the Pico 2, we now support:
- 60,000 instructions
- Clock speeds up to 150 MHz
- Running on PIO2

We've also:
- Added new `board` command that returns the board version (either `pico1` or `pico2`)
- Dynamically computed array sizes
- bumped the version to v1.2.0
- Refactored the cmake file to be a lot cleaner and support building for more than one board. The maximum number of instructions is now defined here
- Bumped the pico SDK version to v2.0.0
- Fixed a bug with Ubuntu 24.04 that broke the apt-mirror override in the docker container
- Updated the docker compose container for simultaneous build of firmware for multiple boards (in a way that doesn't cause long docker build times). This is also following the best practices outlined by the pico-sdk that encourages you to separate build dirs for different boards to avoid conflicts with cached cmake configuration.
Also manually install picotool from source to ensure its version
matches the sdk version (and doesn't have to be rebuilt by each
firmware build). This was necessary to bump pico-sdk to 2.1.1
@dihm dihm force-pushed the philipstarkey/rp235x branch from 8796dd5 to ace5ee6 Compare April 16, 2025 17:20
@dihm
Copy link
Collaborator

dihm commented Apr 16, 2025

I've gone ahead and fixed my two comments and bumped the SDK to 2.1.1. Both Pico1 and 2 are nominally functional built under this version of the SDK. More rigorous testing would be nice, but I'm happy to merge as-is and save the testing for later when we allow for the RP2040 to get to 200MHz (which should be a separate PR).

@philipstarkey philipstarkey merged commit 7e22575 into labscript-suite:master Apr 25, 2025
1 check passed
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