Allow WebSerial to identify Adafruit CP Express device
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.3k
- Forks
- 641
- Avg merge
- 12h 4m
- Merged PRs (30d)
- 57
Description
Bug Report / Request
There are various platforms available for Adafruit Circuit Playground (CP) Express users including Microsoft's https://makecode.adafruit.com and Code.org's https://studio.code.org/s/devices-2023.
Code.org directs users to https://studio.code.org/maker/setup to help with the set up process for the boards they support (CP Express, CP Classic, and micro:bit). The user connects the device, then clicks on the 'Connect Board' button. At that point, connected serial devices within the filtered list are displayed in the WebSerial window.
If a user has installed a MakeCode .UF2 file, the CP Express is not displayed and the user cannot go through the setup checklist process. This is causing confusion for our users who have submitted tickets about this issue.
In contrast, if a CP Classic is connected and does NOT have the required Code.org Firmata firmware installed, it still is displayed in the WebSerial window so that the user is instructed to download the Code.org firmware after the setup check is executed. We consulted Adafruit about the difference between the two devices, and @ladyada explained that Arduino (which CP Classics use) must have WebSerial added.
We ask that the serial interface for WebSerial be added to MakeCode firmware so the CP express can be recognized. This would greatly improve our user experience for those who use both Code.org and MakeCode.
To Reproduce
- Go to https://studio.code.org/maker/setup.
- Connect Circuit Playground Express that has a MakeCode firmware (.UF2 file) installed on it.
- Click on 'Connect Board' button
- Note that the device is not displayed on the WebSerial window. Instead 'No compatible devices found' is displayed.
Expected behavior
A user would see the CP Express device displayed, then after clicking on the device, they would go through the setup checker and see that they need to install the required Code.org Firmata firmware.
Screenshots
- CP Express with Code.org Firmata firmware:
- CP Express with MakeCode firmware:
Desktop (please complete the following information):
- OS: macOS, windows, chromeOS
- Browsers: chrome, edge
Additional context
If a user has installed a MakeCode .UF2 file, the CP Express is not displayed and the user cannot go through the setup checklist process. This is causing confusion from users who have submitted tickets about this issue.the setup checklist process which checks for: 1) the device type, 2) whether user is using a supported browser, 3) whether required firmware is installed.
The board type is logged here so that Code.org is not receiving important information about users who visit this page and go through the setup checker with a CP Express that already has MakeCode firmware installed and are trying to use Code.org resources.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the WebSerial filtering in code-dot-org's boardUtils.js and the device checks in SetupChecklist.jsx to reproduce the missing CP Express entry. Then locate the corresponding MakeCode firmware serial interface and determine how the CP Express is identified. Done means a MakeCode .UF2 CP Express appears in the WebSerial window and reaches the setup checklist.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- embedded-iot, web-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100