Scopen project illustration
All projects

Scopen A wireless oscilloscope designed to make circuit debugging portable.

2020 hardwaresystem designfirmware

Context

For our UCSB Computer Engineering capstone, Scopen was not intended to replace a laboratory oscilloscope. We focused on the essential path: condition the input, sample it reliably, move the data wirelessly, and present it clearly on a desktop.

  • CONTEXT / 01Working prototype demo

The rest of the project follows that signal path from the circuit board to firmware, software, and the enclosure.

Hardware

Two systems, one very narrow board.

The board combines an isolated analog front end with an STM32 and ESP32 control system. One path conditions the signal; the other samples, stores, and transmits it.

That packaging constraint shaped the board before it shaped the enclosure. Components occupy both faces of the same narrow footprint.

Top side of the assembled Scopen circuit board
HARDWARE / 01Top side PCB - main controller and signal circuitry
Bottom side of the assembled Scopen circuit board
HARDWARE / 02Bottom side PCB - SRAM, AFE and debug interface

The two populated faces solved the component-density problem. The six-layer stack handled routing, power distribution, and separation between the signal and control domains.

Exploded diagram of all six Scopen PCB layers
HARDWARE / 03Six-layer PCB stack

The physical stack supports two electrical domains that must cooperate without compromising the signal. The analog path conditions the input; the controller path captures the result and coordinates every other subsystem.

Block diagram of the Scopen analog front end
HARDWARE / 04Analog front-end architecture
Block diagram of the Scopen microcontroller system
HARDWARE / 05Controller subsystems

Firmware

Keep sampling deterministic. Move everything else around it.

The firmware spans two controllers. An STM32 handles acquisition, local storage, touch input, and device state. An ESP32 bridges the instrument to the desktop application over WiFi. The system is divided by responsibility rather than by feature: time-critical acquisition stays close to the STM32 peripherals, while communication and product behavior run in layers above the hardware drivers.

Layered architecture of the STM32 and ESP32 firmware
FIRMWARE / 01Firmware stack

That separation left two critical problems to solve: sampling at a fixed interval and moving data without interrupting acquisition.

Deterministic Acquisition

Fixed-interval sampling could not depend on software interrupt timing. The High Resolution Timer triggers the ADCs in hardware, and DMA moves each completed conversion directly into external SRAM.

HRTIM triggered ADC and DMA sampling sequence
DETERMINISTIC ACQUISITION / 01ADC & DMA sampling sequence

Task Orchestration

The STM32 stack combines HAL drivers with targeted low-level drivers where tighter control was required. One example is repeated-start I2C communication with the touch sensor. FreeRTOS coordinates five tasks: three for communication and two for the instrument’s core logic. Semaphores protect the SPI bus and track empty and occupied queue slots.

FreeRTOS task and semaphore relationships
TASK ORCHESTRATION / 01Synchronization design

With acquisition and task coordination separated, the remaining problem is moving samples off the instrument without blocking either path.

Wireless Bridge

The ESP32 runs separate upstream and downstream paths. Sample data travels from the STM32 over SPI because throughput matters most in that direction. User commands return over UART, where the lower bandwidth is sufficient. The ESP32 then forwards both paths through UDP and TCP connections.

Wireless data paths between STM32, ESP32, and desktop software
WIRELESS BRIDGE / 01STM32-to-desktop data path

By the time samples reach the desktop, acquisition timing is already isolated from user interaction and network latency.

Software

Make the system feel like an instrument.

The desktop application follows a Model View Controller structure so acquisition, rendering, and interaction can evolve independently.

Model View Controller architecture of the Scopen desktop application
SOFTWARE / 01Model View Controller architecture of the PC app

That separation keeps device communication out of the rendering path and gives the interface one consistent model of the current acquisition state.

Instrument Interface

We built the interface in Java Swing and drew the oscilloscope controls specifically for the product rather than relying on stock widgets. The result combines live signal display, acquisition controls, and device communication in one dark workspace.

Scopen Java Swing desktop interface showing a live waveform
INSTRUMENT INTERFACE / 01Desktop instrument interface

The interface completed the signal path, but the electronics still needed to become a device someone could hold.

Industrial Design

Turn the board into a handheld instrument.

With the electrical and software systems working, the final task was packaging the board without compromising access to the probe, controls, or connectors.

We modeled the enclosure in Fusion 360, then printed and assembled several iterations at product scale.

Fusion 360 model of the blue Scopen enclosure
INDUSTRIAL DESIGN / 01Enclosure CAD study
  • INDUSTRIAL DESIGN / 02Rendered product video

Team

Scopen was created by three engineering students working across hardware, firmware, software, and industrial design.

Acknowledgements

Thanks to Professor Yogananda Isukapalli for leading the UCSB Computer Engineering capstone program, Kyle Douglas and Aditya Wadaskar for their technical guidance, and Jeff Longo for his help with the mobile application.