CAN bus renamed

Since V4.x release of esp-idf, the can bus peripheral is now called the TWAI (Two-Wire Automotive Interface) by Espressif. It’s still the same peripheral.The can.c etc files were left for backwards compatibility in V4.x esp-idf, and have been removed from V5.x of esp-idf. Various old documentation still exists for CAN, buts it’s the TWAI docs […]

Read More

CS Pin Control

Manually controlling CS pins When adding a SPI device, set its .spics_io_num to -1 Now when you access other device, ensure you set CS low before you use it and high again afterwards

Read More

.Using the SPI Master interface

SPI Pins See the S# series datasheet for the ESP device you are using > Peripheral Pin Configurations Resources https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/spi_master.html SPI Ports on the ESP32 ESP32 C3 ESP32 C3 integrates 3 SPI peripherals. SPI0 and SPI1 Used internally to access the ESP32’s attached flash memory. SPI2 General purpose SPI controller. ESP32 S3 ESP32 S3 integrates […]

Read More

Issues with Programming & Debugging

Where to look for indications of the problem The Espressif troubleshooting page has a good guide (and is what they’ll probably ask you for if you request help) Useful troubleshooting changes you can do in in launch.json JTAG debugging issues we’ve encountered (using ESP-Prog and VSCode) “connect ECONNREFUSED 127.0.0.1:9998” In launch.json, changing mode to auto […]

Read More

.ESP32 S3 General

JTAG Interface The JTAG pins are not enabled by default, they are assigned to the USB JTAG port. To use them you need to burn an eFuse (which you do via the serial port or the USB port). To enable the JTAG pin see here.

Read More

eFuse Programming

espefuse.py tool Github repo for espefuse.py espefuse.py is a command line tool, it gets installed as part of the ESP-IDF VSCode plugin install process. You can run it from the Windows command prompt, or in the VS Code TERMINAL window (you may need to press Enter in the Terminal windows to take it out of […]

Read More

System 1uS timer

esp_timer_get_time starts counting from 0 at startup / wake from deep sleep. It increments every 1uS int64:0x0000000000000000 to 0x7FFFFFFFFFFFFF9,223,372,036,854,775,807 uS9,223,372,036,854 seconds153,722,867,280 minutes2,562,047,788 hours106,751,991 days292,471 years Using esp_timer_get_time to time things

Read More