Professional oscilloscopes for all their rich functionality are normally expensive - a limiting factor when one's budget is low. The requirement of mains power limits their portability. Thus, it was chosen to design a cheap barebones device implementing the most basic functionality of a scope - waveform sampling and display.
The project involved designing a PCB and a complementary graphical user interface capable of functioning as a basic oscilloscope with small bandwidth. The main objective was minimizing component count and ensuring portability. The system is based on the ESP32 microprocessor with user interface running on a web browser connected via Wi-Fi to the board.
The end goal is ability to sample a signal and display its waveform on the user’s PC.
The project’s two main aspects are:
– Hardware
PCB design incorporating a fourth order Bessel filter and a 200kSa/Sec ADC with SPI interface in the analog front-end, and voltage conversion circuitry to power all components with a battery.
– Software
C++ server code running on ESP32 to process user input, take samples from ADC and transfer them to the UI.
HTML and JS Webpage code to receive samples and display the waveform in a web browser.