Skip to content

abulalarabi/DSOESP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Ÿ DSOESP-– Bringing Modern Connectivity to Low-Cost Oscilloscopes

Web UI The DSO150 oscilloscope and similar low-cost digital scopes are widely used for basic signal visualization due to their affordability and portability. However, they have significant limitations when it comes to data storage, analysis, and real-time sharingβ€”such as lacking built-in memory export, plotting on external devices, or wireless connectivity.

This project addresses those limitations by using an ESP32-C3 microcontroller to log serial output from the DSO as CSV files and host a modern web interface over Wi-Fi. Users can:

  • Download, delete, or plot saved CSV files
  • View SPIFFS storage usage
  • Perform OTA firmware updates over the network

πŸ”§ Features

  • Auto-connect to Wi-Fi using WiFiManager
  • CSV file logging from serial input
  • File browser with plot, download, and delete options
  • Real-time Plotly plots of CSV data
  • OTA (Over-the-Air) firmware update support

πŸ“’ Changelog

v1.3 – July 2025

  • βž• Added metadata display panel below plot in grid layout
  • 🧠 Auto-detects SampleInterval unit (ms or us) and updates x-axis label accordingly
  • πŸ’… Improved UI layout and spacing for better readability on desktop and mobile

v1.2

  • πŸ“ˆ Integrated Plotly.js for waveform visualization
  • πŸ—‚οΈ Card-style interface added for clean plot layout
  • 🌐 Query string (?name=...) support for selecting files to plot

v1.1

  • πŸ“€ Added OTA (Over-the-Air) firmware update capability
  • 🧹 File manager supports download and delete actions
  • πŸ“Š SPIFFS usage now displayed in UI

v1.0

  • πŸš€ Initial release
  • πŸ“‘ Serial data logging from DSO150 to ESP32-C3 via UART
  • πŸ“ CSV file creation and manual access over Wi-Fi
  • 🌐 WiFiManager setup for headless configuration

πŸ“¦ Required Libraries

Before uploading, install these libraries via Arduino Library Manager or PlatformIO:

Library Author
WiFiManager tzapu
ESPAsyncWebServer me-no-dev
AsyncTCP me-no-dev
LittleFS lorol
ArduinoOTA Espressif Systems

πŸš€ Uploading to ESP32

1. βš™οΈ Board Setup

  • Open Arduino IDE
  • Go to Tools β†’ Board and select:
    ESP32C3 Dev Module (or your specific ESP32 board)
  • Set Upload Speed to 115200
  • Under Partition Scheme, choose Default 4MB with spiffs (1.5MB APP/1.5MB SPIFFS)

2. 🧠 Upload the Firmware

  • Click Upload in Arduino IDE

🌐 Using the Web Interface

  1. On first boot, the ESP32 creates a Wi-Fi hotspot:
    SSID: DSOESP
    Password: DSOESPARABI

  2. Connect to this Wi-Fi from your computer or phone

  3. The Captive Portal opens automatically (or navigate to 192.168.4.1)
    ➀ Connect to your home Wi-Fi

  4. After reboot, open the ESP32's IP address (check Serial Monitor)
    The web interface shows:

    • List of CSV files
    • File size
    • Plot and download buttons
    • SPIFFS usage bar

πŸ›  Developer Notes

  • CSV Format: t,v (e.g., time and voltage)
  • OTA works over the local network (via ArduinoOTA)
  • File naming: /data_0.csv, /data_1.csv, etc.
  • File size limited by available SPIFFS space (~1.5MB)

βš™οΈ

Hardware wiring instructions coming soon...


πŸ“ƒ License

MIT License

About

A ESP32 mod for DSO oscilloscope

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages