I was looking for an operating system independent solution for the MSO-28 200Msa/S Mixed Signal Oscilloscope. Rather than writing an application for each OS, I wanted to see if I can target the browser instead. The goal is to control the MSO-28 from a smartphone without rooting it. The RaspberryPi provided a low cost solution for hardware control, wireless access point and web server.

How it works

The USB based MSO-28 enumerate as a serial device on the RaspberryPi. Nginx and spawn-fcgi are the webserver and fcgi gateway. mso28fcgi parses the fcgi queries and controls the MSO-28.

Challenges I ran into

In addition to the state machines inside the MSO-28's FPGA, additional state machines had to be implemented on the client side javascript code to handle the control/data handshake between the browser and the remote controlled MSO-28.

Accomplishments that I'm proud of

High speed control of the hardware. Live data sampled at 200Msa/S was accurate and usable.

What I learned

Fullstack, from client side UI to server side hardware control.

What's next for PiMSO

Flesh out the client side code out and make it responsive.

Built With

Share this project: