Skip to content

Conversation

dragonx
Copy link

@dragonx dragonx commented Sep 9, 2025

See https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/user-guide-esp32-c3-lyra.html This commit adds support for the status LED.

It's not 100% clear to me why the default neopixel_write implementation doesn't work, but it seems that deleting the RMT channel triggers some sort of glitch signal that clears the WS2812C LED.

Tested on this board:

  • console/REPL over USB/UART (connection works but is not stable)
  • web interface and editor over wifi
  • audiomp3 playback (sounds terrible)
  • neopixel library

Also ran builds for various boards with different mcu under ports/espressif to check that I didn't break other builds.

See https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/user-guide-esp32-c3-lyra.html
This commit adds support for the status LED.

It's not 100% clear to me why the default neopixel_write implementation
doesn't work, but it seems that deleting the RMT channel triggers some
sort of glitch signal that clears the WS2812C LED.

Tested on this board:
- console/REPL over USB/UART (connection works but is not stable)
- web interface and editor over wifi
- audiomp3 playback (sounds terrible)
- neopixel library
@dhalbert
Copy link
Collaborator

@tannewt Do you have a comment on the neopixel_write fix here?

Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

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

Thanks for the board addition and the mention Dan. I've suggested a way to limit the changes to the board directory.

Turns out it was a workaround for a bad LED on one particular board.
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.

Thanks for more research on the NeoPixel.

The creation ID used here is not in https://github.com/creationid/creators/blob/main/creations/espressif.md#0x00c3_xxxx---c3-dev-boards . Could you open an PR there? Also I would say use a creation ID that is consecutive with other C3 boards.

@dragonx
Copy link
Author

dragonx commented Sep 24, 2025

Thanks for more research on the NeoPixel.

The creation ID used here is not in https://github.com/creationid/creators/blob/main/creations/espressif.md#0x00c3_xxxx---c3-dev-boards . Could you open an PR there? Also I would say use a creation ID that is consecutive with other C3 boards.

I tried to copy the model based on
0x0032_A000 ESP32-LyraT
Since this board seems to be the esp32-c3 equivalent of that one (though other than supporting audio, they are pretty different).

@dhalbert
Copy link
Collaborator

We have people register creation ID's at https://github.com/creationid/ so we can keep track of them. Pretty quick to do -- you could look at some of the merged PR's for examples (and look at the README).

@dragonx
Copy link
Author

dragonx commented Sep 24, 2025

creationid/creators#86

Copy link
Member

@tannewt tannewt left a comment

Choose a reason for hiding this comment

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

Looks good to me. Thanks!

@dhalbert dhalbert merged commit 10de69c into adafruit:main Sep 24, 2025
16 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.

3 participants