https://github.com/EUA/ESP32_LogicAnalyzer
ESP32 Logic Analyzer
https://github.com/EUA/ESP32_LogicAnalyzer
Last synced: over 1 year ago
JSON representation
ESP32 Logic Analyzer
- Host: GitHub
- URL: https://github.com/EUA/ESP32_LogicAnalyzer
- Owner: EUA
- License: gpl-3.0
- Created: 2020-02-03T14:59:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-10-01T14:47:37.000Z (almost 3 years ago)
- Last Synced: 2024-11-05T11:43:56.877Z (over 1 year ago)
- Language: C++
- Homepage:
- Size: 256 KB
- Stars: 216
- Watchers: 15
- Forks: 28
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ESP32 LogicAnalyzer
A *SUMP* compatible 16Bit Logic Analyzer for ESP32 MCUs.

* Use Arduino to compile and flash your ESP32.
* Uses **ESP32 I2S DMA** and could capture speeds up to **20 Mhz**.
* Support **8 bit** and **16 bit** operations.
* Maximum **128k** samples. (Even using 8bit capturing mode.)
* RLE compression supported.
* Analog input is **NOT** available.
* ~~WROOVER modules support **2M** samples but only up to **2 Mhz** due bandwith limit on PSRAM access.~~ Under development.
* Default OLS port is **UART0** and default baudrate is **912600**.
* You can use **UART2** and or higher baud rates for high speed OLS communication by altering the lines at top of the header file...
* **WARNING:**
- For OLS port at UART0
- Set **"Core Debug Level"=None** before compiling code at arduino, specially for > 10Mhz capture operations.
- **GPIO23** used for I2S input clk and **GPIO22** LEDC clk output. Don't use those for IO or change them and connect them to another unused pins at code.
If you like it, why not to say thanks or support via [Patreon](https://www.patreon.com/EUA)
This project steals some code from [esp32-cam-demo](https://github.com/igrr/esp32-cam-demo) for I2S DMA and [Arduino Logic Analyzer](https://github.com/gillham/logic_analyzer) as SUMP protocol "template".
## Quick start guide
1. Use PlatformIO (in VS Code) to open the project folder
2. Modify ESP32_LogicAnalyzer.h for make a fit to your board.
3. Build the project and flash with PlatformIO
4. Connect cfg.gpio_clk_in (default pin23 )and cfg.gpio_clk_out (default pin22).
5. Open PulseView with `pulseview -D -d ols:conn=/dev/ttyUSB0::serialcomm=921600/8n1` ,or from gui, connect device and select Openbench Logic Sniffer & SUMP compatibles (ols)
6. Channels vs PINS are also available at setup() function. You can also change ports/baud from ESP32_LogicAnalyzer.h file. Please check it out before use.