All News | Boards | Chips | Devices | Software | Archive | About | Contact | Subscribe
Follow LinuxGizmos:
Twitter Facebook Pinterest RSS feed
*   get email updates   *

Update on OsciPrime: an open-source Android oscilloscope

Mar 25, 2013 — by Rick Lehrbaum — 5315 views

Several years ago, a pair of engineering students in Switzerland developed an Android-controlled oscilloscope as part of their bachelor’s thesis project. Though the “OsciPrime” was initially controlled by a Beagleboard, there’s now an app for tablets and smartphones running Android 3+, and ready-to-use OsciPrime boards are available for purchase.

OsciPrime co-developer Andreas Rudolph provided this update for readers…

Update on OsciPrime — an Open Source Android Oscilloscope
by Andreas Rudolph, Nexus-Computing Switzerland

Manuel Di Cerbo and I developed and built a USB oscilloscope for Android as part of our Bachelor’s in Electrical Engineering thesis at the University of Applied Sciences Northwestern Switzerland in 2010. The project, “Using Android in Industrial Automation,” was documented on our technical blog and received excellent feedback from all around the world. Both the hardware and software were built completely from scratch, and were released under open-source licenses. The project’s main goal was to see if high data throughput could be achieved; we accomplished a constant sampling rate of 6Msps on two channels, resulting in 12 MB/s data throughput.

At the time, Android was still very new, and there were no available Android tablets. Therefore, we used the Beagleboard and ran Android on it. Because the USB Oscilloscope interfaced as a USB Device, and needed a USB Host for communication, we ported libusb to Android and used the Java Native Interface to communicate with it over USB from within the Java context (see “Porting Libusb for Android on the Beagleboard in 5 steps,” here).

Although we received requests from people wanting to recreate the hardware, we didn’t consider productizing our oscilloscope, as one would need a custom Android build for the Beagleboard or other embedded platform, which would not have been very customer-friendly or easy-to-use.

After completing our university studies, Manuel and I started working full-time in our own startup company, Nexus-Computing, completely devoted to Android engineering.

About a year later, with Android 3.1+, there was a new Android USB Host API. As a result, the OsciPrime Application could be rewritten to use this API instead of libusb, which had required root permissions. Thus, with the coming of Android tablets with USB Host features, we began to think it would be a cool idea to revamp our project, so that it could be used with an unrooted stock Android tablet.

So we redesigned the hardware and also extended the Android application quite a bit, adding multitouch features, audio from mic input, and more. We shipped the first OsciPrime hardware in Sept. 2012, but at the time only had 10 units, due to having built a small quantity to verify everything worked. Then we produced another small batch and are still selling those. It’s not a large amount, but we have not made much effort to advertise them. And we can always produce more if need be.

Assembled OsciPrime PCB
(click image for a larger, annotated view)



OsciPrime waveform viewed on an Android tablet


OsciPrime features and specifications

OsciPrime’s hardware consists of two parts: an analog front-end, where a signal is tapped and adjusted for the A/D converters; and a digital front-end, where the data is quantified and prepared for USB transmission. The board’s key components include a Xilinx Coolrunner CPLD and a Cypress FX2 microcontroller.

  • Hardware features and specs:
    • 2x analogue Inputs @ 8bit/6Msps
    • 5 analog gain levels
    • 3.3-8.0 MHz bandwidth (gain dependant)
    • 16V max input voltage
    • 880 mW power consumption
    • Designed for 10x probes
  • Software capabilities:
    • Range +/- 1.5V up to +/- 16V
    • 5 us/Div max – 1 ms/Div min
    • 2 individual channels
    • V-offset, time-offset, calibration
    • Trigger falling/rising edge, CH1/CH2
    • Measure: voltage, freq, time
    • Run/stop data acquisition
    • 30 fps rendering
    • Processing 400,000 samples per second

Supported and tested Android devices currently listed include: Nexus 7; Samsung Galaxy S3; Acer A500 and A200; and Motorola Xoom. The Nexus 10 is listed as untested, but potentially compatible due to its support for USB Host.

The close-up video below shows how to connect, configure, and operate an OsciPrime board, using an Android tablet as its controller.


Further information

For further imformation on OsciPrime, including its hardware and software designs, photos and videos, and a page for purchasing an assembled-and-tested board, go here. The project’s source code is licensed under GPLv2, and its hardware layout is licensed under Creative Commons 3.0.

(advertise here)

Print Friendly, PDF & Email

One response to “Update on OsciPrime: an open-source Android oscilloscope”

  1. Jung Pyo Hong says:

    I like what I see on this site.

    Is there a port to a linux platform?

Please comment here...