Android oscilloscope built from parts just lying around

So you need to debug a circuit and you don’t have an oscilloscope. That’s not a problem thanks to [retronics] $0 Android oscilloscope, made with parts he just happened to have lying around.

The heart of every modern oscilloscope is the ADC – the chip that takes analog input and outputs a digital signal. Every Android device has one of these converters connected to the microphone port. All [retronics] needed to do was solder up a 3mm headphone jack, wire in a few resistors, and attach a pair of alligator clips. After installing an oscilloscope app, [retronics] had a half decent ‘scope.

Yes, this is truly a poor man’s oscilloscope, and [retronics] probably won’t be debugging high frequency RF circuits with his Android microphone jack anytime soon. Low frequency stuff such as audio is where this ‘scope really excels; even more so if a small preamp is thrown into the mix.

You can check out [retronics]‘ build after the break. Sure, it’s not something for precise and calibrated measurement, but sometimes you only need a tool that will do the job.

33 thoughts on “Android oscilloscope built from parts just lying around

    1. added improvement could be if an “octopus” circuit could be implemented with the scope on an androd app . This circuit has been around for about 80 years and was engineered by th usnavy. it allows you to test discrete and smd junctions for go-nogo.here is a link to it in one form.

      http://pe2bz.philpem.me.uk/Power/-%20LV/Site-900-WallXformers/octopus.html

      The 60hz could be generated in the sound out, and returned thru the resister network at the micin. all could be fit in an old pen housing with a needle probe and ground clip?
      this would be great for in the field service.

    1. A PC’s soundcard could handle higher sampling rates (around 192kS/s) with higher bit depths (around 24bit). But apart from that, I can’t think about other differences.

  1. Cheap, until you blow up your phone and you have to buy a new one

    Remember that the mic input is probably 3.3v max

      1. sure, use an op amp with a power supply of 3.3v. You could make it unity gain, so you can get accurate voltage measurements, or you could make it adjustable gain and be able to see the signal, but not necessarily know what the voltage levels are (unless you have a bench power supply, than you could use that as a reference).

  2. A great idea , if something better is needed
    get a DSO201 on ebay for around 50$ with a 0-1Mhz
    bandwith very cheap but also very useable.

  3. Off topic, but not really: parts don’t lay (transitive verb) unless they are the parts of a chicken laying an egg. They lie (intransitive verb). Correct title should be, “Android oscilloscope built from parts just lying around”.

    Sorry, but this always bugs me.

  4. Yes but the microphone input is AC coupled, right ? That means it can’t work properly with DC applications ?

    1. Crap, accidentally reported (we really need a confirmation thingy for that)
      I just made one of these.

      Yes, the mic is AC coupled, DC does not work, and on my phone, if you do try to measure dc, it will bring up the music player.

      It does work reasonably well aside from that.

  5. I applaud this for being a good hack, but something inside me cringes when I read “the heart of a scope is the ADC.”

    For reference, I’ve been reading a lot of old Tektronics service manuals lately.. things where they describe what’s involved in making a 100x probe that actually works, how to make high-bandwidth prescalers and buffers that don’t distort the signal, etc.

    I’ve also been reading a lot of Jim Williams (Tek once offered him a new scope for free — anything he wanted, no price limit, no questions asked — if he’d just stop using vintage units from the ’60s for all his tech notes.. he turned them down), and the combination of influences has rubbed off on me. I’m pretty sure I’ve become an analog oscilloscope snob.

    The heart of a scope is the signal path between the thing you want to measure and the display. In a sampling ‘scope, the ADC plays the role of the display. Once the signal goes digital, you’ve selected the information you want, and everything else is lost beyond recovery.

    The ADC is also at the mercy of the incoming signal path. It only measures what it sees in its sampling capacitor. It doesn’t know the first thing about any distortion that occurred between the DUT and its S/H input pin.

    So, again, kudos to the OP for a nifty hack, but getting output from the ADC is the last thing a scope does, not the whole process.

    1. Analog is always the way to roll when scoping, but if you don’t own an analog osciloscpe then digital is still progress away from nothing.

      1. For microphone and preamp development work, I’ll take an analog scope all day long over digital.

        My analog scopes will likely be working in 10, 20, 30 years. Good luck with digital scopes. Many are just PC’s running windows, with a sampling card.

        The analog scopes work extremely well and they work cheaply. A 5000 or 7000 series tek, with a vast array of inexpensive plugins, is a great example.

        The waveform display resolution on many digital scopes is awful.

  6. Am I stupid, or should the resistors in his example be swapped? 82/(18+82) is not much of a voltage divider…

  7. WOW. He installed oscope app from android market and he is using it in way that it’s supposed to be used. Such Hack!

    app is made by university student as school work, so it was probably meant to be used just like this (and not without microphone)

    if you think it’s cool you should write about app creators not about it’s users

    BTW quick tip: use two antiparalell zener diodes between ground and signal to protect microphone input from overvoltage

    you can also use potentiometer instead of voltage divider to have wider range of measurable voltages (at least when in lower freqs).

  8. This is great, thanks for showing us. As for the innerds of the code, I’ve been trying to find some demonstration code which shows how to take the analog (ac coupled) input from the headphone jack of an android (2.3.3), but am having absolutely no luck finding help. Could you help me find such code?

    Thanks!

    1. I should also add that I’m new to programming in ADT and inexperienced in Java, though very experienced in many other languages so with some demo code I should be able to understand it well enough.

      Thanks again!

  9. im probably about to expose my ignorance here but if voltage frying your phone is an issue could you make a circuit that converts the circuit you are testing into sound and then just use your cellphones audio in unmodified? i realise this would only work well within the normal hearing frequencies but wouldnt this project really only work within those frequencies anyways?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s