If you are in the market for a USB oscilloscope, but feel intimidated by some of the prices, you may have considered trying to make one yourself. After all, with the wealth of different microcontrollers and even free software out there, it seems like it could be a feasible and educational endeavor.
A quick Google search of “DIY oscilloscope” yields pages of results including Arduino-powered tutorials, and kits available for purchase.
Personally I have always been partial to DIY solutions, and I think home builds are a great way to get familiar with a concept or piece of hardware. But in an effort to get more informed on this issue, I turned to the largest source of wisdom I know- the internet.
After scouring many forums and discussions around the issue, I began to see some common concerns from people who had attempted this. They included the following:
- Not efficient in terms of amount of time it would take vs. cost. Since money is time, this is an important consideration to make when looking at what might be a seemingly cheap option.
- Likely to be inaccurate. Furthermore, if you are not super familiar with oscilloscopes, and your project is giving inaccurate readings, it can get in the way of learning how to use oscilloscopes in general.
- Won’t have high bandwidth, so it will have more aliasing, which means unusable data.
- A useful oscilloscope needs a good software interface, ideally with access to human support.
I ran across threads such as this one, where people debated the merits of using MCUs to make oscilloscopes.
I ran across the above thread as a comment on the Analog Discovery 2 page on Sparkfun.com. For reference, The Analog Discovery 2 is $279 and it works as an oscilloscope, waveform generator, power supply, voltmeter, data logger, logic analyzer, pattern generator, static I/O, spectrum analyzer, network analyzer, impedance analyzer, and protocol analyzer. It is also compatible with the powerful WaveForms software.
While sometimes building something is a great way to understand it more in depth (like with 3D printers), for this instance, purchasing a device and putting that time and energy toward exploring its software and capabilities is likely a better option. It can be very frustrating to use a potentially buggy project to debug other projects, as you might never know where the errors are coming from.
If you are interested in the development side however, I would suggest checking out an open-source oscilloscope project such as the OpenScope MZ (priced at $89). This would be a good option, especially if you are looking to get more familiar with the structure of how an oscilloscope is made.
Overall, while it is tempting to tackle the challenge of a home-brew oscilloscope project, after reading forums (and a lot of frustrated complaints) about the process and outcome, I would recommend that you instead look into purchasing one in your price range. There is an incredibly wide spectrum of price for this particular tool, so it is a good idea to do a bit of research and read some buying guides before you take the plunge. Keep in mind what exactly you are using it for (and which capabilities you need vs. would be nice to have) and make sure the product you pick comes with well-reviewed software and lots of support.
Then once you are armed with your new device, get out there and take some measurements!