Repository navigation
zephyr-cp: add the Circuit Playground Bluefruit - #11657
Merged
mikeysklar merged 3 commits intoOct 23, 2026
Merged
Conversation
…ruit Points at the open PRs adafruit/zephyr#9 (board definition) and adafruit/adaboot#13 (partition layout) until they merge. Their commits are only reachable from the pull request refs, which west can fetch by name but not by SHA. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pin names come from the nordic port board. The partition layout, the same as the CLUE, comes from adaboot. Changes from the CLUE board: - No display, so SPI2 is a second dynamic SPI instance. - No STEMMA QT connector. - Pin numbers are nRF52840 aQFN73 package pins: the board has a bare nRF52840, not a module. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
adafruit/zephyr#9 and adafruit/adaboot#13 have merged, so point at their merge commits instead of the pull request refs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dhalbert
marked this pull request as ready for review
October 23, 2026 20:10
mikeysklar
approved these changes
Oct 23, 2026
mikeysklar
left a comment
Collaborator
There was a problem hiding this comment.
Tested on a Circuit Playground Bluefruit with a TFT Gizmo attached.
| Test | Result |
|---|---|
| pin map | all 46 names match ports/nordic, each resolves to the commented pad |
| CIRCUITPY | 2,072,576 bytes, existing files kept |
LED, BUTTON_A, BUTTON_B, SLIDE_SWITCH |
ok with digitalio and keypad |
board.I2C() + accelerometer bus at once |
LIS3DH WHO_AM_I 0x33 |
board.SPI() + second busio.SPI at once |
ok |
TFT Gizmo, fourwire + busdisplay ST7789 |
test pattern correct |
neopixel_write |
all 10 pixels |
pwmio on SPEAKER |
440/880 Hz tones play |
analogio LIGHT, TEMPERATURE |
read |
_bleio advertising |
seen by a Linux host |
on_next_reset(RunMode.UF2), 1200-baud touch |
both reach CPLAYBTBOOT |
Looks good to me.
These port-wide gaps showed up in testing. They are not specific to this board and should not hold up this PR:
microcontroller.cpu.temperatureis always0.0. It is hard-coded incommon-hal/microcontroller/Processor.c.microcontroller.cpu.frequencyreturns32768on nRF52840. The cpu node has noclock-frequency, so it falls back toCONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC.storage.disable_usb_drive()inboot.pyraisesRuntimeError: Cannot change USB devices now. The MacroPad does the same.usb_midiis not enabled.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Board definition and testing by Claude.
Add
adafruit_circuitplayground_bluefruit_zephyrboard.ports/nordicboard.board.overlayis like the CLUE's, except:Testing
Tested on a Circuit Playground Bluefruit:
digitalio:LED,BUTTON_AandBUTTON_BandSLIDE_SWITCHwere tested.neopixel_writesets all 10 NeoPixels.board.I2C()andbusio.I2C(board.ACCELEROMETER_SCL, board.ACCELEROMETER_SDA)were created at the same time. The LIS3DH answers at0x19.board.SPI()and a secondbusio.SPIwere created at the same time.board.UART()writes.analogioreadsLIGHTandTEMPERATURE.pwmioplays a tone onSPEAKER, withSPEAKER_ENABLEhigh._bleioadvertising is seen by a host.As on the other zephyr-cp nRF52840 boards, a board with a W25Q16JV flash chip instead of a GD25Q16C gets no CIRCUITPY. See the notes in adafruit/zephyr#9.