10000 Support more modules on esp32c3 · Issue #5408 · adafruit/circuitpython · GitHub
[go: up one dir, main page]

Skip to content

Support more modules on esp32c3 #5408

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

Open
8000
4 of 8 tasks
microdev1 opened this issue Sep 29, 2021 · 8 comments
Open
4 of 8 tasks

Support more modules on esp32c3 #5408

microdev1 opened this issue Sep 29, 2021 · 8 comments
Labels
enhancement esp32-c3 espressif applies to multiple Espressif chips
Milestone

Comments

@microdev1
Copy link
Collaborator
microdev1 commented Sep 29, 2021

A list of modules that need to be modified to work on esp32c3:

  • ALARM
  • ANALOGIO
  • AUDIOBUSIO
  • COUNTIO (no PCNT)
  • FREQUENCY (no PCNT)
  • PARALLELDISPLAY (no I80)
  • RGBMATRIX
  • ROTARYIO (no PCNT)

Cannot be supported due to hardware limitations:

@microdev1 microdev1 added enhancement espressif applies to multiple Espressif chips labels Sep 29, 2021
@tannewt tannewt added this to the Long term milestone Sep 30, 2021
@rxhfcy
Copy link
rxhfcy commented Apr 26, 2023
  • Consider adding the esp32-c3 label?

btw ALARM sure would be nice (for deep sleep support), but I do understand features don't just magically appear out of thin air.

@davidvfx07
Copy link

ALARM would be great as the ESP32C3 has a very low power state (the reason I got one).

@tannewt
Copy link
Member
tannewt commented Mar 20, 2024

countio, frequencyio and rotaryio aren't easily doable because the C3 doesn't have a PCNT peripheral. It doesn't have I80 support for paralleldisplaybus either.

@tannewt
Copy link
Member
tannewt commented Mar 22, 2024

@arduino12
Copy link

Hi,

I found that only the 2MB ESP32-C3 boards have the ALARM module built-in:
TTGO T-01C3 ESP32-C3 and ESP-C3-32S (2M).

I found /ports/espressif/mpconfigport.mk sets CIRCUITPY_ALARM = 0 for ESP32C3 because its IDF_TARGET_ARCH = riscv:

ifeq ($(IDF_TARGET),esp32c3)
  IDF_TARGET_ARCH = riscv
...
endif
...
ifeq ($(CIRCUITPY_LEGACY_4MB_FLASH_LAYOUT), 1)
ifeq ($(IDF_TARGET_ARCH), xtensa)
  CIRCUITPY_ALARM ?= 1
else
  CIRCUITPY_ALARM = 0
endif
...
endif

But it does that only for the 4MB boards for some reason, the 2MB boards do gets the ALARM so its not a riscv limitation...

  1. Does anyone know why it sets CIRCUITPY_ALARM = 0?
  2. Does anyone know how to add the ALARM module to all the ESP32C3 boards?
    (I need it on Maker Go ESP32C3 Supermini)

As previously said by @rxhfcy and @davidvfx07,
It would be great to have low-power support for the ESP32-C3 -
using Arduino IDE I got down to 7uA with 2 GPIO wakeup sources (one high one low) and one GPIO state preserved!
I would like to achieve the same using circuitpython!

@dhalbert Any help will be appreciated!

@dhalbert
Copy link
Collaborator

@arduino12 This may be due to not enough flash space right now when other things are included (2MB builds may trim further, making room for alarm). In CircuitPython 10 we will get rid of the OTA partition and there should be room.

@dhalbert dhalbert modified the milestones: Long term, 10.0.0 Jan 31, 2025
@arduino12
Copy link
arduino12 commented Jan 31, 2025

Hi,

@dhalbert Thanks for your quick reply!
I changed it to CIRCUITPY_ALARM = 1 and compiled for the Maker Go ESP32C3 Supermini (my first time compiling circuitpython!)

And it works perfectly - got down to 7uA!

The original adafruit-circuitpython-makergo_esp32c3_supermini-en_US-9.2.4.bin is 1449kB.
With the added ALARM it became 1464kB so I think it worth it!

Attached here in case anyone wants to try (remove the .zip extension.. GitHub won't allow .bin so I added it).
adafruit-circuitpython-makergo_esp32c3_supermini-en_US-main_with_alarm.bin.zip

Can't wait for CP v10 🙏!

@dhalbert dhalbert modified the milestones: 10.0.0, 11.0.0, Long term, 10.x.x Mar 17, 2025
@tannewt tannewt modified the milestones: 10.x.x, 10.0.0 May 12, 2025
@tannewt
Copy link
Member
tannewt commented May 12, 2025

This can be closed after #10229 is done.

@dhalbert dhalbert modified the milestones: 10.0.0, 10.x.x May 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement esp32-c3 espressif applies to multiple Espressif chips
Projects
None yet
Development

No branches or pull requests

6 participants
0