Portoscope is an open-source portable oscilloscope for electronic hobbyists. It was my final year project under Professor Steve Gunn at the University of Southampton.
What is an oscilloscope?
Oscilloscopes are electronic test equipment which let you view continuous voltage variation against time. Yes it is the big box resembling an electro-cardiograph. Modern day high-end digital oscilloscopes are pretty awesome with high-speed digitizers, fast memories, clean analogue front-end and advanced signal processing.
On the other end there are also some cheap digital oscilloscopes which are merely toys, deficient analog circuits, slow ADCs and limited features. For example the DSO Nano from seeedstudio.com for $89 it uses the inbuilt ADC on the MCU, what a shame. And supports only one channel, which is bad as most of the time two signals are required to be viewed simultaneously for comparison. There are some good and inexpensive DSOs out there like the Rigol DS1052E, the BitScope and the Picoscope.
Motivation for “Portoscope”
One thing I did like about DSO nano was the mobile form factor and onboard display and battery. This made the device easy to carry around and could be used on field. It follows the basic principle of all handheld equipments, the equipment needs to be taken to the device not the device taken to the equipment. So I had an idea of fusing the BitScope with DSO nano and that’s where I found the name for this project “Portoscope: portable oscilloscope”.
So it was about time I laid out the outline of the project and the required specifications.
3.3V positive from li-ion battery
Input signal bandwidth
Vertical gain values
1 2 5 10 20 50
So I was convinced that most hobbyist projects involve signals in the range of kHz like audio amplifier or a noise filter even something digital like USART communication. The frequency range in these application never really goes above 1 MHz (gigahertz is absolutely over the top) so I wanted a DSO which can sample frequencies up to a few MHz. And if we go by nyquist’s theorem “sampling rate should be at least twice the maximum signal frequency if aliasing is to be avoided” we can conclude that for 1 MHz signal we need a sampling rate of 2MHz. Which is not entirely true as this theorem was for sine waves but DSO deals with all kinds of signal including square waves and random waves which theoretically need infinite sampling rate to avoid aliasing. A good assumption for square wave Nyquist frequency is 10 times the wave’s maximum frequency. So for a 1MHz square wave you need 10MHz sampling rate. It is also easier to find a cheap ADC in the range of 10-100 MSPs (mega samples per second), thanks to the new pipelined architecture for ADC. But as you start going into a few hundreds of megahertz to gigahertz the cost rises exponentially. I find ADC designs to be very impressive and I can go on talking about them, but I think I will spare it for another article.
I have made 7 posts for Portoscope which go from hardware design to software to PCB layout, basically covering the entire project. Just keep clicking the next post button below the comments to advance to next post. Click here to see the output of this project, it also has a demo video.