Skip to content
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

Add Waveshare RP2040 One to Circuit Python #9484

Merged
merged 7 commits into from
Aug 7, 2024
Merged

Conversation

johnnohj
Copy link

@johnnohj johnnohj commented Aug 7, 2024

Submitting to include the Waveshare board RP2040 One with Circuit Python. It's essentially an RP2040 Zero clone from the same company, except for the larger flash and the Trinkey-like form factor.

In fact, it's so much of an RP2040 Zero clone that Waveshare doesn't offer a separate bootloader for it, which makes the Product ID something of an issue. When I compiled a .u2if for it, I had temporarily assigned 0x111F for the One , against 0x101F for the Zero. Such is my sense of humor.

For this PR, I've adopted Waveshare's own practice and applied the Zero's Product ID as listed in the Circuit Python configuration files for that board. Nevertheless, PR submitted as a draft pending guidance.

@dhalbert
Copy link
Collaborator

dhalbert commented Aug 7, 2024

In fact, it's so much of an RP2040 Zero clone that Waveshare doesn't offer a separate bootloader for it,

The RP2040 bootloader is in ROM, and identifies the same for every RP2040 on any board. So you can't distinguish based on that. To get an official PID for this board, see https://github.com/raspberrypi/usb-pid (explained in https://learn.adafruit.com/how-to-add-a-new-board-to-circuitpython/frequently-asked-questions#faq-3130481)

@johnnohj
Copy link
Author

johnnohj commented Aug 7, 2024

I misspoke; I meant to say that Waveshare doesn't offer a separate .uf2 for the One and instead links the file for the Zero.

Being unfamiliar with the process, are there potential issues applying for a product id as someone unaffiliated with Waveshare?

@dhalbert
Copy link
Collaborator

dhalbert commented Aug 7, 2024

Thanks for the clarification. The README in https://github.com/raspberrypi/usb-pid links to a Google Form. I think you should get Waveshare to ask for a new PID via that form. This issue, raspberrypi/usb-pid#14, was submitted by @EngineerWill, who appears to work for Waveshare, based on their profile. You could contact them and ask them to request a new PID. Maybe the ping of them here will also be helpful.

@johnnohj
Copy link
Author

johnnohj commented Aug 7, 2024

Your prompting has led me to discover that Waveshare has registered 0x103A as the product id for the One. I will update the files accordingly. Many thanks, Dan!

@johnnohj
Copy link
Author

johnnohj commented Aug 7, 2024

The Build CI / ports (raspberrypi) / board [...] test seems to be tripping over the entry for the flash chip. The product spec on the website lists it as "W25Q32JVSSIQ - 4MB NOR-Flash," which is twice the size of the Zero and it is by that number I refer to it in the .mk file. Again my inexperience is showing, but I knew I wished to avoid the controller being able to 'see' only 2MB.

Co-authored-by: Dan Halbert <halbert@halwitz.org>
@johnnohj johnnohj marked this pull request as ready for review August 7, 2024 16:03
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.

Great! Could you now also submit a PR to https://github.com/adafruit/circuitpython-org to add a listing for the board? What to do is described here: https://learn.adafruit.com/how-to-add-a-new-board-to-the-circuitpython-org-website

@dhalbert dhalbert merged commit 90fec27 into adafruit:main Aug 7, 2024
15 checks 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