esp-rs/esp-hal repo issues and pull requests
RMT: Remove generic data types #4616 [wisp3rwind] trusted-author
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
Define esp-hal using ~ inside esp-* crates that depend on unstable features #4621 [bjoernQ] skip-changelog
Closes #4594 Besides doing that the linked issue asks for it also teaches the xtask to keep the tilde. (And also...
UART: stabilize `read_ready` and `write_ready` #4600 [bugadani]
These functions are simple, they are required to work with UART in a guaranteed-nonblocking way, and they are...
Find a way how(and when) to regenerate the baselines automatically #4619 [JurajSadel] CI automation
Currently, uploaded esp-hal baselines are for esp-hal@rc.0 - we need to find a way how to automate the process so we...
The binary-size workflow issues #4628 [bjoernQ] bug CI
The binary-size workflow has a few issues: Changes to .stack are counted, so total RAM use contributes ~0 to the...
ADC Calibration #326 [sourcebox] peripheral:adc
On ESP32-S3 with an attenuation of 11dB, the readings saturate at about 1.5V. I have a correcttly working project...
Implement support for light-/deep-sleep #375 [jessebraham] low power status:long-term
We should provide APIs for entering light-/deep-sleep. Chips which have been prioritized by the maintainers have...
GPIO20 (on esp32-pico-mini-02) commented out #4507 [Colonial-Dev] bug RFC
Bug description I have an Adafruit ESP32 Feather V2 (an esp32-pico-mini-02), which ties I2C SCL to GPIO 20....
Resolve smoltcp#1010 #3825 [MabezDev]
If we don't resolve smoltcp-rs/smoltcp#1010 we will have a lot of smoltcp features until it's 1.0 release.
Implement remaining peripheral drivers for `esp-lp-hal` #1030 [jessebraham] low power status:long-term package:esp-lp-hal
ESP32-C6 Interrupts LP_I2C LP_IO LP_TIMER LP_UART LP_WDT (?) ESP32-S2/S3 Interrupts RTC_I2C RTC_IO SENS
`async` ADC read #1643 [jounathaen] help wanted peripheral:adc
esp32 esp32s2 esp32s3 esp32c2 - #3082 esp32c3 - #2925 esp32c6 - #2925 esp32h2 - #3082
Shutdown the WiFi subsystem gracefully dynamically #4632 [bugadani]
Discussed in #4631 Originally posted by renkenono December 8, 2025 Hi, I'm working on a project where WiFi is...
rtc.time_since_boot() increments 1.158x faster than Instant.elapsed() #4624 [brezina1] bug
Bug description As the title says - rtc.time_since_boot() is 1.158x larger than Instant.elapsed() over the same...
Release checking with a private registry #4532 [MabezDev] RFC automation api investigation
There are a number of reasons we want to do this: To do full semver checking (including unstable items) to prevent...
RMT driver sends one extra pulse on first continuous transmission according to PCNT #4622 [Luro02] bug
Bug description The code uses the PCNT peripheral to count how many pulses have been sent out. If another pin is...
Atomic operations in PSRAM (esp. with 3rd party libraries) #2027 [ProfFan] status:blocked upstream peripheral:psram
AFAIK the current atomic operations on the S3 uses native atomics. However this creates a problem: a 3rd party...
qa-test: clean up emojis #4635 [JurajSadel] skip-changelog
RMT: Tentative timing fix/workaround #4637 [wisp3rwind] trusted-author
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
Ensure async waker code lives in IRAM #4627 [bugadani]
This PR adds #[inline] attributes to lock code to ensure it gets all inlined, and replaces the #[inline] inserted by...
RMT driver tracking issue #3930 [wisp3rwind] status:long-term peripheral:rmt
Let's keep track of desirable refactorings and enhancements of the RMT driver. A bunch of these have come up in...
Clock tree rework tracking issue #4502 [bugadani]
This issue tracks the state of the clock tree rework. #4501 Model clock trees of other chips #4517 #4527 ...
xtask docs: Resolve `latest` better #4411 [playfulFence]
wifi module split #4362 [MabezDev] package:esp-radio
Currently it's a bit of a jumble of items with no real organization: I don't have precise ideas on how to organize...
Add support for Ext1WakeupSource on H2 #4641 [petuzk]
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
C6: Set highest MSPI divider #4642 [bugadani] skip-changelog
Fixes #4638 Also resolves an ESP32 todo item. cc #4502
docs(rtc): Mention in the `time_since_boot()` that the timer is reset β¦ #4630 [JurajSadel]
β¦on a power-on-reset cc #4623 Not sure if we want to close it or not.
Shutdown the WiFi subsystem gracefully dynamically #4639 [renkenono] bug
Bug description Discussion initially documented in #4631 To Reproduce See...
Proposal to improve changelog handling #4618 [bugadani] RFC
Currently, the keeping changelogs causes some minor, but nontrivial friction: Even trivial changes require a...
xtask refactoring #3170 [MabezDev] CI automation
This is somewhat of a stub issue which we'll likely want to expand and split up. The xtask has grown organically...
Rtc.time_since_boot() does not describe what it actually returns #4623 [brezina1] bug
Bug description Time since boot (rtc.time_since_boot()) accumulates across reboots/reflashes/hardware reset. The...
Change issue template labels #4645 [tom-borcin]
Pull Request Details π Description Changing needs attention label to bug jury for both bug and feature request...
Exception occurred on ProCpu 'Illegal' when using PSRAM on ESP32s3 #4592 [microidea] bug peripheral:psram
Bug description PSRAM is detected (start address = 3c020000), but an Illegal exception occurs when...
add embassy #[main] callback passing #3813 [dragonnn]
Submission Checklist π I have updated existing examples or added new ones (if applicable). I have used cargo...
Add embassy executor cpu stats #3728 [Szybet]
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
S3: rework clocktree #4633 [bugadani]
cc #4502 Includes some cleanups for other chips that should not really make much difference.
Feature request: Run single HIL test via slash commands #4640 [wisp3rwind] tests feature request
Motivations In the spirit of #4429 and #4526, I just thought that it might be useful to be able to kick of HIL runs...
Tweak slow clock impls #4629 [bugadani] skip-changelog
cc #4502
Investigate and improve interrupt flag codegen #2987 [bugadani] performance peripheral:interrupt
Based on #2960 we might have some work to do - for one, we should change the other drivers as well. But we could...
`state` functions should be removed, mirror async API for events #4364 [MabezDev] RFC package:esp-radio
They are inherently racey, and I think we should mirror the async API (i.e wait_for_event and friends) for this kind...
UART: Multiple GPIOs are accepted as arguments and run the same #4614 [iampi31415] bug
Bug description A configuration with any GPIO peripheral (6,8 in the example) let mut uart =...
xtask: Add `SemVer` checks for `esp-rom-sys` #4584 [JurajSadel] skip-changelog
This might be a bit of a hacky solution, but I tried to convince cargo-semver-checks that esp-rom-sys is not...
Fix systimer timestamp conversion #4634 [bugadani]
Perf improvement, improved systimer accuracy on 26MHz C2, one step towards removing Clocks, what else do we need? (a...
Fix clippy lints #4646 [bugadani] skip-changelog
error: manual implementation of `.is_multiple_of()` --> src\dma\mod.rs:2185:28 | 2185 | ...
Clean up MCPWM clock sources #4647 [bugadani]
Try to optimize accessing the current task #4648 [bugadani] skip-changelog
This PR moves the current task pointer out of the mutex-locked scheduler state. This is safe to do, as explained in...
esp32c6 not booting since commit d118250c5cf163426d68e1335323e9804c4b1d9e #4638 [nponsard] bug chip:esp32c6
Bug description I've tried flashing multiple examples from the main branch like embassy_hello_world,...
bugadani: Issue title says C2, are you having issues with that one, too?
bugadani: Can you provide the output of espflash board-info for all affected boards, please?
bugadani: Thank you! One more thing: have you tried espflash 4.x?
nponsard: Just tried with espflash v4.2.0 on both boards with example embassy_hello_world and...
nponsard: I confirm that this issue is now fixed for my board π
Minor clock tree tweaks #4636 [bugadani] skip-changelog
This PR adds the PLL_F160M clock source to ESP32, which is a clock source of the MCPWM and I2S peripherals. This PR...
HIL testing depending on what has been changed #4651 [playfulFence] RFC tests
Once I finish working on #4640, we will have more or less all the "prerequisites" to proceed with further...
Use released `esp-wifi-sys-esp32X` packages #4652 [bjoernQ] skip-changelog
Let's use the released packages
Wifi examples unable to connect on ESP32-S2 #4650 [bjoernQ] bug package:esp-radio chip:esp32s2
On current main (1d1f402 Wed Dec 10 18:11:31 2025 +0100), both dhcp and embassy_dhcp don't connect to WiFi (or at...
S2(clocks): Fix ref_tick divider #4654 [JurajSadel] skip-changelog
Fix wrong ref_tick divider based on clk_ll_ref_tick_set_divider. With this change the embassy_dhcp and dhcp examples...
multicore + embassy + wifi = broken? #4573 [kevinross]
Hey all, I'm wondering if it's a known issue where the radio doesn't play nicely when the second core is started?...
Inline control of upstream clock nodes #4644 [bugadani]
This PR inlines the implementation of x_request/release_upstream functions into their call sites. The previous...
refactor(rtos): remove unneeded timer handler cast #4653 [kaspar030] skip-changelog
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
`xtask` command to use a local registry #4655 [bjoernQ] skip-changelog
This explores the idea of #4532 It's using a local registry (in the file system) instead of using a full-fledged...
xtask: Generate pub markers for `esp-rom-sys` ROM symbols for semver checks #4613 [JurajSadel] skip-changelog
Implements #4490 (comment) This temporarily creates (for all chips) #[cfg(all(feature = "<chip_name>", feature =...
`read_exact_async` returns `FifoOverflowed` when more than 128 bytes is to be received #4523 [jimy-byerley] bug peripheral:uart
Bug description In the following example, i program a esp32-none to simply echo on UART1, and my pc to alternatively...
esp-radio: Hide `wifi_csi_info_t` from pub API #4643 [JurajSadel]
closes #4585
bugadani: You should spell out destination, header, and sequence I think.
bugadani: Also why is there no changelog entry here? Isn't this a user-visible change?
bjoernQ: Returning one of the raw C types defeats the whole purpose of this PR
bjoernQ: couldn't we just store the pointer instead of copying it?
RMT: Revise Tx error handling and add more HIL tests #4617 [wisp3rwind] trusted-author
Thank you for your contribution! We appreciate the time and effort you've put into this pull request. To help us...
github-actions: Triggered HIL run for #4617 (chips: esp32 esp32c3 esp32c6). Run:...
bugadani: This should be expect(unused) or the method should be deleted.
bugadani: Indentation is weird, did you mean to include this in the next branch?
bugadani: Thank you :)