33f3360a4b89c3d7c6d9bd4e4968987789c5593c
ESP-Scope
Overview
ESP-Scope is a web-based oscilloscope built using the ESP-IDF framework. It allows users to visualize analog signals in real-time through a web browser. The project leverages the ESP32's ADC capabilities and serves a web interface for signal visualization.
Features
- Real-time signal visualization on a web browser.
- Adjustable sample rate (10-100000 Hz), bit width, and attenuation.
- Crosshair functionality for precise measurements.
- Adjustable trigger level.
- Reset functionality to clear settings and reload the interface.
Getting Started
Prerequisites
- ESP32 development board.
- ESP-IDF installed and configured.
- USB cable to connect the ESP32 to your computer.
- A web browser (e.g., Chrome, Firefox).
Downloading the Project
- Clone the repository:
git clone https://github.com/MatAtBread/esp-scope.git - Navigate to the project directory:
cd esp-scope
Building and Flashing
If you have the esp-idf VSCode extension, just click on the flame to build, flash & monitor. Use the config settings for "espScope" to set youur WiFi SSID & password.
- Set up the ESP-IDF environment:
. $IDF_PATH/export.sh - Configure the project:
idf.py menuconfig - Build the project:
idf.py build - Flash the firmware to the ESP32:
Replace
idf.py -p [PORT] flash[PORT]with the serial port of your ESP32 (e.g.,/dev/ttyUSB0orCOM3). - Monitor the serial output:
idf.py monitor
Accessing the Web Interface
If your DHCP server supports it, the app sets its hostname and you can just navigate to http://esp-scope (you may have/need a default domain extension)
- After flashing, the ESP32 will display its IP address in the serial monitor.
- Open a web browser and navigate to the displayed IP address (e.g.,
http://192.168.4.1). - Use the web interface to:
- Adjust settings like sample rate, bit width, and attenuation.
- Visualize signals in real-time.
- Reset the interface using the "Reset" button.
Attaching hardware
The displayed signal is sampled from ADC0. The test signal is output on D1.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Acknowledgments
- Built using the ESP-IDF framework by Espressif Systems.
- Inspired by the need for affordable and accessible signal visualization tools.
Languages
C
76.8%
Ruby
9.8%
HTML
4.2%
JavaScript
3.6%
CMake
2.6%
Other
3%
