PiMSO, is a Raspberry Pi controlled 200Msa/s mixed signal oscilloscope.  PiMSO, a spinoff of WebMSO, is an experimental project to understand the necessary components required to deploy the MSO-28 mixed signal oscilloscope on mobile devices.  With the ever growing list of mobile platforms, it became very difficult for PC based instruments developer such as Link to keep up with the demands to supply driver applications for various platforms.  Upon examining the complexities required with different solutions, we arrived on a client/server solution.  The client part would be web browser based, because of the near universal availability on most devices.  Browser based also meant driver free deployment on the mobile devices.  The challenge would be to create an affordable gateway server to the MSO-28.  After experimenting with various embedded solutions, we realized that we cannot manufacture an affordable solution at our sales volume.  With the availability of existing low cost ARM based devices on the market, it would be more economical for our MSO users to leverage these and roll their own solution while we provide server side hardware driver support.

To date the WebMSO solution has be deployed and tested on the Raspberry Pi, Beaglebone, MK802, Pogoplug and Seagate Dockstar.  Of the above deployments, MK802 with the built in Wi-Fi offered the most integrated  solution.  While the Raspberry Pi offered the lowest deployed cost for our users.  To encourage others to expand upon our work, we decided to release an early Beta version of the PiMSO iteration of the WebMSO as an open source project.

Early on in the project we realized that while the Raspberry Pi is a convenient development platform, an user cannot easily attach it to an existing Wi-Fi network.  Without a simple method to provide Input and output to the Raspberry P, it can be quite difficult for the user to setup Wi-Fi network access on the Pi.  Although LCD I/O add on cards exist on the market, the additional height precludes the use of off the shelf Raspberry Pi enclosures.

With our in house capability to perform low volume production, we set out to create our own low cost Raspberry Pi + LCD solution, thus the PiLCD was born.  The PiLCD quickly found uses beyond the original purpose of providing an I/O portal for network information.   With the dual USB ports on the RPi, the PiLCD became a gamepad -> LEGO Mindstorms robot interface device via a Bluetooth connection.  It is currently deployed as part of an interactive exhibit at various science museums across the world to engage young children about robotics.

To create the minimal PiMSO soluton, one will need a Raspberry Pi and a MSO-28.  In this configuration, the default MIdori browser will access locally served client side code served by Nginx with spawn-fcgi acting as a hardware gateway access to the MSO-28.  Although  functional, due to slowness of  X-window, the PiMSO client side response is quite sluggish on the Pi.  Hopefully by the time Wayland is deployed on the Raspberry Pi, the client side code will be more responsive.  To check out the true responsiveness potential, one can connect an Ethernet cable to the Pi and access the MSO-28 via a mobile device or a PC on the same network.  The difference between Midori and a faster browser is quite apparent.

To truly realize the potential of this project, add a Wi-Fi dongle and a 5V USB battery pack.  Together you will have a battery powered wireless 200Msa/s mixed signal oscilloscope that runs on your phone or tablet, be it IOS, Android or Windows.  With each PiMSO acting as a unique server, multiple units can be deployed and monitored remotely.  A possible application is in  the modern classroom where students are assigned personal tablets and need to share their live circuit data with the instructor.

 The wiki instruction on how to roll your own PiMSO is available here.


Leave a Reply