summaryrefslogtreecommitdiff
path: root/docs/esp32
AgeCommit message (Collapse)Author
6 daysdocs/library/machine: Add docs for Counter and Encoder.Jonathan Hogg
Add documentation for `machine.Counter` and `machine.Encoder` as currently implemented by the esp32 port, but intended to be implemented by other ports. Originally authored by: Ihor Nehrutsa <Ihor.Nehrutsa@gmail.com> and Jonathan Hogg <me@jonathanhogg.com>. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
6 daysdocs/esp32: Add documentation for esp32.PCNT.Jonathan Hogg
Document the new `esp32.PCNT` class for hardware pulse counting. Originally authored by: Jonathan Hogg <me@jonathanhogg.com> Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
8 daysesp32: Add support for ESP32-C2 (aka ESP8684).TianShuang Ke
Includes: esp32/esp32c2: Adapt to target chip ESP32C2. esp32/esp32c2: Fix heap size is too small to enable Bluetooth. Signed-off-by: TianShuangKe <qinyun575@gmail.com> Signed-off-by: Angus Gratton <angus@redyak.com.au>
2025-06-05esp32: Update ADC driver update to the new esp_adc API.purewack
This commit updates the ADC to use the new driver `esp_adc/adc_oneshot.h`. There are several errata notes about not being able to change the bit-width of the ADCs certain chips. The only chip that can switch resolution to a lower one is the normal ESP32. ESP32 C2 and S3 are stuck at 12 bits, while S2 is at 13 bits. On the S2, you can change the resolution, but it has no effect on the resolution, rather, it prevents attenuation from working at all! The resolution is set to the maximum possible for each SoC, with the ESP32 being the only one not throwing errors when trying to set the bit-width to 9, 10, 11 or 12 bits using `ADC.width(bits)`. Signed-off-by: Damian Nowacki (purewack) bobimaster15@gmail.com
2025-05-28docs/esp32: Mention the use of Timer(0) by UART.IRQ_RXIDLE.robert-hh
In both the machine.UART and esp32.quickref sections. Signed-off-by: robert-hh <robert@hammelrath.com>
2025-05-28docs/esp32/quickref: Mention the different timer counts.robert-hh
Since the are ESP32 variants with 1, 2 or 4 hardware timers. Signed-off-by: robert-hh <robert@hammelrath.com>
2025-05-16esp32/network_lan: Add PHY_GENERIC device type.Elvis Pfutzenreuter
Support the new PHY_GENERIC device type, added in ESP-IDF v5.4.0 [1]. This PHY driver was added to ESP-IDF to support "generic"/oddball PHY LAN chips like the JL1101, which offer no features beyond the bare 802.3 PHY standard and don't actually need a chip-specific driver (see discussion at [2]). [1] https://github.com/espressif/esp-idf/commit/0738314308ad36a73601ddb8bb82f1dcbfe1f550 [2] https://github.com/espressif/esp-eth-drivers/pull/28 Signed-off-by: Elvis Pfutzenreuter <epxx@epxx.co>
2025-05-16docs/esp32/quickref: Add PWM lightsleep example.IhorNehrutsa
Signed-off-by: Ihor Nehrutsa <Ihor.Nehrutsa@gmail.com>
2025-05-16docs/esp32: Improve PWM documentation and examples.IhorNehrutsa
This reduces inconsitencies between esp32 and other ports. According to the discussion in #10817. Signed-off-by: Ihor Nehrutsa <Ihor.Nehrutsa@gmail.com>
2025-03-25docs/rp2: Add network information to the rp2 quickref.Matt Trentini
Some rp2 boards include WiFi, at least with the very popular Pico W and Pico 2 W. New users frequently ask how to set up WiFi and are confused because it's not covered in the quickref. This commit adds the wlan section, copied and modified with notes from the ESP32 quickref. Signed-off-by: Matt Trentini <matt.trentini@gmail.com>
2025-03-13esp32/machine_sdcard: Add SDCard pin assignments for ESP32-S3 support.Angus Gratton
Previously ESP32-S3 SDMMC could only use fixed pin assignments, however the ESP-IDF defaults don't match common boards. The chip also supports using GPIO Matrix to assign any pin. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <angus@redyak.com.au>
2025-02-11docs/esp32: Add documentation for SPI Ethernet devices on esp32 port.Angus Gratton
Also cross-link with the other WIZNET5K driver, to avoid confusion. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <angus@redyak.com.au>
2025-01-17docs/esp32: Defer to the download page for flashing steps.Angus Gratton
The user already has it open, and its customised for their particular board. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <angus@redyak.com.au>
2025-01-17docs/esp32: Update tutorial flashing steps to match deploy.md.Angus Gratton
Includes fixing the flashing address for newer SoCs, as reported in discussion https://github.com/orgs/micropython/discussions/16417 Also removes some redundant or out of date information, and adds links to the Espressif esptool docs which are quite comprehensive. Information about ESP32_GENERIC variants is moved to the board page, as it only applies to that board. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-12-19docs: Fix the quickref documentation of rtc.datetime().robert-hh
Such that it matches the implementation and the documentation of the `machine.RTC` class. Signed-off-by: robert-hh <robert@hammelrath.com>
2024-11-28docs,esp32: Update machine.TouchPad docs for ESP32-S2 and ESP32-S3.Angus Gratton
Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-11-19docs/esp32: Add a factory reset page.Angus Gratton
This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-11-08docs: Specify the recommended network.WLAN.IF_[AP|STA] constants.Angus Gratton
Removes the deprecated network.[AP|STA]_IF form from the docs. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-10-09esp32: Add support for esp32c6.Andrew Leech
This commit adds general support for ESP32-C6 SoCs. Signed-off-by: Andrew Leech <andrew@alelec.net>
2024-09-17docs/esp32: Update pin access example with addresses for ESP32-S3.Paul Grayson
Signed-off-by: Paul Grayson <pdg@alum.mit.edu> Signed-off-by: Angus Gratton <angus@redyak.com.au>
2024-07-05docs: Update docs to replace ifconfig with ipconfig.Felix Dörre
Follow up to 1c6012b0b5c62f18130217f30e73ad3ce4c8c9e6 Signed-off-by: Felix Dörre <felix@dogcraft.de>
2024-05-07esp32/modesp32: Add mcu_temperature() function for C3/S2/S3 devices.Rick Sorensen
For ESP32C3/S2/S3 IDFv5 exposes new internal temperature API which is different to the base ESP32, IDFv4. Thanks to @robert-hh for cleaner code and testing sensor capability in these devices. See discussion #10443. Signed-off-by: Rick Sorensen <rick.sorensen@gmail.com>
2024-05-07docs/esp32/quickref: Add note about different ESP32 varieties.Rick Sorensen
Signed-off-by: Rick Sorensen <rick.sorensen@gmail.com>
2024-03-08esp32/network_lan: Add a separate argument to set PHY power pin.robert-hh
Prior to this commit, the pin defined for power would be used by the esp_idf driver to reset the PHY. That worked, but sometimes the MDIO configuration started before the power was fully settled, leading to an error. With the change in this commit, the power for the PHY is independently enabled in network_lan.c with a 100ms delay to allow the power to settle. A separate define for a reset pin is provided, even if the PHY reset pin is rarely connected. Fixes issue #14013. Signed-off-by: robert-hh <robert@hammelrath.com>
2024-02-07docs: Use vfs module instead of os.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-12-11docs/esp32/quickref: Add DAC example.Ihor Nehrutsa
Signed-off-by: IhorNehrutsa <Ihor.Nehrutsa@gmail.com>
2023-10-05docs,tools: Change remaining "urequests" references to "requests".Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-09-04docs/esp32/tutorial: Add example for pin access via registers.IhorNehrutsa
Synchronous access to pins directly via registers. Signed-off-by: Ihor Nehrutsa <Ihor.Nehrutsa@gmail.com>
2023-07-13docs/esp32/quickref: Add LAN example for WT32-ETH01 version 1.4.Elvis Pfutzenreuter
This board requires slightly different configuration to work. It is important to hard reset (cycle power) if you try to initialize LAN and it fails, before trying again with new parameters. Discussion: https://github.com/orgs/micropython/discussions/11446 AliExpress purchase link: https://pt.aliexpress.com/item/1005002023196214.html Signed-off-by: Elvis Pfutzenreuter <epxx@epxx.co>
2023-06-23docs/esp32: Update esp32 docs based on IDF v5 changes.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-06-08docs/library/index: Update docs after umodule rename.Jim Mussared
- Update guide for extending built-in modules. - Remove any last trace of umodule in other docs. This work was funded through GitHub Sponsors. Signed-off-by: Jim Mussared <jim.mussared@gmail.com>
2023-05-04docs: Update the PWM examples based on recent API improvements.robert-hh
This adds the freq and duty_u16 keyword settings to the constructor, and sometimes other details in the PWM section. For mimxrt a clarification regarding the PWM invert argument was added, and for rp2 a few words were spent on PWM output pairs of a channel/slice.
2023-04-27all: Fix spelling mistakes based on codespell check.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2023-01-18docs/esp32/quickref: Add docs for the LAN interface constructor.robert-hh
Incorporating PR #7356.
2022-08-26docs/esp32: Update UART quickref on input-only pins.Tomasz 'CeDeROM' CEDRO
Signed-off-by: Tomasz 'CeDeROM' CEDRO <tomek@cedro.info>
2022-08-17docs/esp32: Fix string quoting consistency in SDCard mount example.David Peake
It appears that strings in the documentation are typically single quoted.
2022-06-17docs: Update to use new WLAN argument names for ssid/security/key.iabdalkader
Addresses issue #8083.
2022-03-21esp32/modesp32: Add new gpio_deep_sleep_hold function.Jonathan Hogg
Add a new function to control whether held pins will retain their function through deep-sleep. Also document this function and explain how to use this in quickref to retain pin configuration during deep-sleep.
2022-03-21esp32/machine_pin: Add new hold keyword argument and remove PULL_HOLD.Jonathan Hogg
The current pull=Pin.PULL_HOLD argument doesn't make a lot of sense in the context of what it actually does vs what the ESP32 quickref document says it does. This commit removes PULL_HOLD and adds a new hold=True|False keyword argument to Pin()/Pin.init(). Setting this to True will cause the ESP32 to lock the configuration of the pin – including direction, output value, drive strength, pull-up/-down – such that it can't be accidentally changed and will be retained through a watchdog or internal reset. Fixes issue #8283, and see also #8284.
2022-03-21docs/esp32/quickref: Refine deep-sleep power-saving notes.Jonathan Hogg
This attempts to better explain how pull-ups and pull-downs operate in deep-sleep mode.
2022-03-07docs/esp32/quickref: Document GPIO drive strength.Jonathan Hogg
Add brief documentation of the new `drive` keyword argument.
2022-02-04docs/esp32/quickref: Update ADC documentation.Jonathan Hogg
Update ADC documentation now that the new API is described in the main docs.
2022-02-02docs: Remove reference to obsolete neopixel_write function.Damien George
It has been replaced by machine.bitstream. Signed-off-by: Damien George <damien@micropython.org>
2022-01-21docs/esp32: Document expanded ADC API in quickref.Jonathan Hogg
Document read_u16(), read_uv() and ADCBlock(). Mark old read(), atten() and width() methods as legacy.
2022-01-14esp32/machine_bitstream: Reinstate bitstream bit-bang implementation.Damien George
The bit-bang implementation was replaced with the RMT implementation in 599b61c08687ca077e3b0e115d5b76affcc673ca. This commit brings back that bit-bang code, and allows it to be selected via the new static method: esp32.RMT.bitstream_channel(None) The bit-bang implementation may be useful if the RMT needs to be used for something else, or if bit-banging is more stable in certain applications. Signed-off-by: Damien George <damien@micropython.org>
2022-01-13docs/esp32: Update RMT quickref example to match latest code.Damien George
The start keyword was removed in 18e48a71ee69557a5340c8652f2e73e586063be3 Signed-off-by: Damien George <damien@micropython.org>
2021-12-22esp32/machine_pwm: Keep duty constant when changing frequency.IhorNehrutsa
Save and restore the same duty cycle when the frequency (or frequency resolution) is changed. This allows a smooth frequency change. Also update the esp32 PWM quickref to be clearer.
2021-12-15docs: Remove trailing spaces and convert tabs to spaces.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2021-12-03esp32/machine_pwm: Implement duty_u16() and duty_ns() PWM methods.IhorNehrutsa
The methods duty_u16() and duty_ns() are implemented to match the existing docs. The duty will remain the same when the frequency is changed. Standard ESP32 as well as S2, S3 and C3 are supported. Thanks to @kdschlosser for the fix for rounding in resolution calculation. Documentation is updated and examples expanded for esp32, including the quickref and tutorial. Additional notes are added to the machine.PWM docs regarding limitations of hardware PWM.
2021-10-14docs/esp32/tutorial: Add an example of peripheral control via regs.NitiKaur