I recently had to get rid of my rarely-used oscilloscope due to space restrictions and started looking at alternatives. The handheld devices started from about $70, but had known of some PC kits.
I thought, couldn’t I just use the input for my PC sound card? So came across the Poor Man’s Oscilloscope. I also knew of $300 iPad oscilloscope, which was crazy money.
Sat lonely in my box of old electronics, however, was a upgrade-made-redundant Android device. A brainwave hit and I set about making my $0 oscilloscope. Here’s a video explaining it:
How to Build
The probe is a very simple modified mic and headphone set with a potential divider and some crocodile clips. You will need:
- Android phone with OsciPrime Oscilloscope Legacy
- 4 pole 3.5mm jack (e.g. a handsfree set that comes with a phone)
- 2 resistors in a ratio of roughly 1:10
- Probes (I used crocodile clips) with some cable (multicore is best)
- Perfboard (optional – you could solder directly)
- Heat-shrink / insulation tape
Below is a diagram of how to wire. The potential divider simply reduces the voltage in to the device, lowering the risk of killing the mic-in circuit in the phone.
The circuit is very basic and you could make it all in under an hour, but it’s certainly not fool proof. A more complex alternative using op amps can be found on this Instructable.
You may also run in to the problem of the headphone wire being annoyingly coated. I simply burnt these with a butane lighter, but you can read more on the technique here.
If you also build one, would be great to hear how you get on.
[…] 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 […]
[…] 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 […]
What sort of frequencies is this good for? I’m guessing since the device most likely samples at 44.1 kHz so based on Nyquist Criteria we will be talking between 20Hz T
to 20 kHz?
That’s a good guess. I don’t know what the ADC is in the device nor if that varies device to device.
Actually, Nyquist is for the top harmonic of the waveform. As a rule of thumb, to be usable as an oscilloscope (ie. distinguish between waveforms such as sine, square, ramp, saw, etc.) you need 10 samples per cycle.
So 44.1 kHz leaves you with an 4.41kHz scope. Not a lot, but I guess there might be use cases where it’s a lot better than nothing.
Please use a tripod next time.
Am I stupid, or should the resistors be swapped? In config shown here, the voltage won’t be reduced by much…
This config reduces the current by a factor of x0.18, I believe (although I used different values). Will update post with more details.
Have uploaded a screengrab from eTools calculation.
In your diagram, the output (3.5mm jack) is across the 82k resistor, while in you eTools it’s across the 18k one, which would be correct 😉
You’re right. I’ll update that!
I don’t understand. You’re right means the output (3.5mm jack) is across the 82k resistor or across the 18k one
[…] 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 […]
Does anyone know the maximum voltage input to that mic jack? or is it a more of an impedance change sensing(since its a resistive mic (im guessing here)).
If its a voltage input would it be wise to have a zener across those inputs? and have a low pass filter too 🙂
I don’t know. There’s a link to a more complex circuit in the article. What the diode and filter do?
A zener diode would limit the maximum voltage we feed on the jack (keeping the android phone safe) while the low pas filter is for anti-aliasing. if we have a 40KHz sampling scope then the maximum signal it can capture without being influenced by aliasing is 20KHz (half of sampling freq) thus we need to keep the tones above the 20KHz limit out of the input.
Great article/project! But Butmost But most annoying was the perfectly positioned screen and and ceiling light reflection!!! Ugh! The angle of reflection was nearly perfect. 🙂
How can I use my Intex Avatar IT-M809RC into a oscilloscope
I built one of these for my laptop, worked well. I wasn’t sure if osciPrime would work with this set up. Thanks, I’ll comment when I finish it.
I’m intrigued by this and just got the cables to attempt it. Since it is a microphone input, it might even have a maximum sampling rate of 10 kHz or so, since the human voice has a bandwidth of roughly 5 kHz. It may be even less – I’m not sure what the bandwidth is for voice over cellular networks. Have you tried using a function generator or known signal to test what the oscilloscope reads?
Having a small circuit would increase the cost from Zero. The Microphone signal input is a condenser style, and typical Reference voltage without Saturation would be 1v-PEP . High impedance input would be 1Kohm 1V . 0.5 volts with an AC signal. If your looking for waveform input, and not just Data. But if your interested, grab a Real old junker Home receiver and rob the IR Receiver out of it, Then you can look at the Code a remote control sends. As far as Signal overloading , Well a small circuit with PicoFarad cap might help you tap any signal. but since your range is limited to Audio, You might want an POT to Bias your input. You can build an auto-ranging input, but again, adding costs..How much time and money you got ? Anyone else think of Practical application ?
“Having a small circuit would increase the cost from Zero.”
Having a definition of small would increase relevance from zero.
“If your looking for waveform input, and not just Data.”
Care to complete that sentence?
“But if your interested, grab a Real old junker Home receiver and rob the IR Receiver out of it, Then you can look at the Code a remote control sends.”
Of course I’m interested in IR signals from old equipment. But the receiver generally won’t tell you jack unless you’ve got gobs of time and a “random” code generator and something to listen for “responses” in the equipment. Really, you need the remote, a.k.a. transmitter, to acquire the codes.
“As far as Signal overloading , Well a small circuit with PicoFarad cap might help you tap any signal. but since your range is limited to Audio, You might want an POT to Bias your input.”
What? In fact, what?
“Anyone else think of Practical application ?”
You mean as opposed to nothing? Or as opposed to $1000+ oscilloscope?
Thanks very much for this! I just built one to test the output to a stepper motor circuit I’ve built and it works perfectly. Cheers!
When I plug in my newly made cable, my tablet doesn’t use that as the audio input. Instaead I get readings from the internal mic. How do i fix this?
I have no idea, sorry. Check your settings.
Oh man, my Analog skills are rusty… I would guess the tablet is looking for a certain input impedance and the simple voltage divider doesn’t quite cut it. What kind of tablet is it? If it’s an iPad, I’m willing to bet it will be very picky. You might need to add an op amp between the probes and the input to the tablet. I can’t point you to an exact schematic, but try searching for information about voltage followers. A voltage follower can act as a buffer to couple sources and loads with different impedances.
When a real microphone is plugged in, it completes a circuit. When these clips are plugged in, it’s still an open circuit, so no diffterent from shoving a lollipop stick into the jack. Since no microphone is detected in the circuit, the phone _at most_ thinks there’s a crappy pair of headphones (with no mic) plugged in, and will continue to use the built-in mic while maybe stopping audio output to the built-in speaker.
There may be an app on Play that lets you change the input source on the fly. I think it requires a rooted phone with a kernel configured to allow that sort of control, though.
As you can see in the video – it worked with my device
Right, okay… I hadn’t seen the video yet because I was focusing on the text when I was doing my research at the time. I suppose it varies from device to device: I know on mine, an HTC Doubleshot / MyTouch 4G Slide, the jack can do the standard TRS headphone or TRRS Headphone + Mic, but it also can do TRRS Headphone + Composite Video. The only thing I can figure is it places a small current on the pin to detect what’s connected at the time of insertion. If I plug in my special TRRS cable with three RCA males on the other end, it detects just stereo headphones and nothing else. But, if I have that same cable plugged into my television on the other end, it detects the TV and at that time would output its display to the TV simultaneous with the phone’s own screen.
That said, it also depends (in my case, on my phone) on whether my ROM’s kernel supports that device properly. I’ve noticed several ROMs for my phone do not.
So I’m not saying you’re wrong, quite the contrary. I’m saying it apparently depends on each individual device + ROM combination.
It’s a closed circuit with the clips. The voltage divider has a resistor connecting them. It also reads as connected with a multimeter, that’s how I noticed.
This thing works beautifully for me on the LG G3 but any change in the wave pattern turns my volume up. So basically my volume menu is blocking everything. But I do have the volume menu set to transparent, so it’s not the worst for me.
I agree, Jake. I misread something somewhere. Or I was low on sleep. That’s my bad.
What is the maximum voltage you can safely measure with this probe setup?, can you provide the resistor values needed for measuring 1-10V range safely? Thanks!!! awesome project. Does anyone knows the maximum input voltage that is safe to put on the microphone jack directly without probe?
It is DC bias on probe input as well as low impedance. Use JFET based circuit instead of resistor divider to get high Z and no DC voltage pushed to test point.
Nice
the microphone input to the android device
can be used to attach a scope lead to the jack socket. Right
But this way can to input 2 channels ?
[…] Celá renovace jej nakonec vyšla na $300, férově bychom k ceně však měli přičíst i prvních $50 – ve výsledku nám tedy vychází $350, což už představuje dostatečnou částku na koupi nového, plně funkčního pinballu. Jenomže o to tady vůbec nejde – nic totiž nenahradí práci, oddanost a energii vloženou do takového projektu. Co jiného lze čekat od muže, jenž sám sestavil Android osciloskop z náhradních dílů? […]
I think I have figured the resistors I need to use this on 120v, but will it have enough resolution to tell if my generator is a square wave or sine wave form? Standard 120v @ 60hz.
60hz will be fine!
Have anyone success measuring square wave signal with Android oscilloscope? It is ever distorted in the same way regardless of frequency, source, duty cycle, used pre-amp, Android device or Android app. Only sine wave looks like expected.
Mate check your voltage divider in diagram. I think you have values for R1 and R2. Just read most phones can only handle approx 2v. The way values are would be a problem. I may be wrong but just concerned. But other than that, you,ve made my day. Mate you,re a legend. Thanks
I have to appologise. Your diagram is right. I was just stressin as usual. Works a treat. But mic and ground are other way around with samsung GALAXY ACE. Thanks again.
Made one of these and intend to use it for fault finding on motorcycle, car etc. It actually works very well with an android app (Oscilloscope from XYZ-Apps).
My main problem is interpreting the results!
Picture showing output from motorcycle pulse generator here: http://i43.photobucket.com/albums/e398/iansoady/bike/CB400/IMG_2442_zpsqtkhbgjq.jpg
Hi there it looks pretty awsome but I’ve 2 Questions
Which is the frecuency range?
Which is the maximum voltage that can be measure?
Hi there it looks pretty awsome but I’ve 2 Questions
Which is the frecuency range?
Which is the maximum voltage that can be measure?
Regards
Francisco
Chile
I wouldn’t exceed 20v and the frequency is probably dependent on ADC on your particular device.
I would like to know if this would work on a car radio (aftermarket) and amplifiers to let me know at what volume it starts clipping at.
Depends on your device and the potential divider you use.
It’s a fantastic way to make an oscilloscope , you have suggested attenuator circuit for higher voltage signal testing, but sir you did not gave details about which software is to be downloaded in our Android smartphone. Is it available on Play Store freely?
I have found many firmware of CRO which shows sound signal on CRO.
Please suggest me right way.
Regards.
It’s been so many years now, I can’t remember. But I found it by searching oscilloscope. IIRC there were many on Android and iOS. Now I use a DSO150 with an added battery, after just getting rid of my Uni-T bench scope.
How 3.5mm Head phone pin will be selected as input to the oscilloscope.
Which fermwear or an Android application allows the input.
Please reply.
I don’t know if I understand the question here.