YOU CAN BUILD AN OSCILLOSCOPE FROM A PI PICO AND A PHONE IN A DRAWER
A working oscilloscope from a Pico, a phone from a drawer, and a front-end board you solder yourself.
by Doctor Volt
WorkshopOpen-hardware
Built withArduinoRaspberry Pi Pico / RP2040
- difficulty
- ●●●○○
- time
- a weekend
- license
- license not specified
- repo
- repo 0 stars
●●●○○ · a weekend · license not specified · 0 stars · repo
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
This is an honest oscilloscope built from a cheap microcontroller and a phone that was doing nothing. The Pico samples the input and streams it over USB (or Wi-Fi with a Pico W); the Scoppy Android app handles the display, triggering, timebase and measurements. The free app gives you one channel with ads, and the two-channel premium version costs about 3 euros. The piece that makes it useful beyond logic-level signals is Doctor Volt's analogue front end: a small board you build yourself with three input ranges (plus or minus 0.33, 3.3 and 33 volts), two BNC inputs, a test signal generator and an 8-channel logic analyser. The schematic, KiCad files and a BOM are published, and the author deliberately chose mostly through-hole parts so you can build it on a PCB or on perfboard. Scoppy samples at 500 kS/s and can be pushed to 2 MS/s, which shows sine waves up to about 600 kHz and square waves up to about 100 kHz, so this is not for RF or fast digital work. For audio, power supplies, Arduino debugging and learning what a signal actually looks like, it is a working instrument for very little money. The thing most likely to go wrong is the front-end board: a wrong part or bad joint in the attenuator and relay section means wrong voltage ranges, and you will spend an evening with a multimeter finding it.
IN THE REPO
GOOD TO KNOW
- —Schematic and assembly instructions are published on Hackaday.io.
- —The front-end board design is provided; you order PCBs and hand-solder the SMD components yourself.
- —Firmware links are given, but this is the Scoppy app ecosystem — the Pico runs Scoppy firmware and the phone runs the Scoppy Android app.
- —A bill of materials (bom.csv) is published alongside the schematic; it has no supplier links, so you pick the distributor.
- —No pre-built boards or kits available; this is a hand-build from scratch.
- —Licence is not stated on the Hackaday page; assume personal use only unless clarified by the creator.
Parts to buy
6 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
Pi Pico oscilloscope in use
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the Hackaday.io project page and review the schematic to understand the circuit before ordering anything (The schematic and assembly notes are here; no separate repo)
- 2.Source the components from the BOM — op-amp, relays, resistors, protection diodes, BNC connectors — and either export Gerbers from the KiCad files for a PCB or build it on perfboard (Use the published bom.csv; Mouser or Digi-Key will have everything)
- 3.Install the Scoppy app on your Android device and flash the Scoppy firmware to the Pico before assembling the front-end board, to confirm the basic setup works(Test the USB connection and app first; easier to debug before adding hardware)
- 4.Solder the front-end board (or build it on perfboard), check continuity and shorts before powering it(Mostly through-hole parts; use adapter boards for the few SMD ones)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- The few SMD parts (two small protection diodes and the MAX860 charge pump) are the tricky bit; the author suggests adapter boards so even those can go on perfboard. Everything else is through-hole.
- The BOM lists values and footprints but not supplier part numbers, so double-check voltage ratings and packages when you order.
- The Pico's ADC bandwidth limits the scope to around 500 kHz usable; if you expect to probe fast digital signals or RF, this will not do what a £200 bench scope does.
- The Scoppy app and firmware are separate projects; if either updates and breaks compatibility, you are debugging a toolchain you did not write.
- Without the front-end board, the Pico can only see 0-3.3V signals; if you accidentally probe mains-referenced or negative voltages before building the protection circuit, you will destroy the Pico instantly.
- The project does not state a licence; assume it is for personal use only unless you contact the creator.
Can I use this without building the front-end board?
Yes, but only for 0-3.3V logic-level signals. You are limited to probing microcontroller pins and cannot measure anything mains-referenced, negative, or above 3.3V without destroying the Pico. The front-end is what makes it a general-purpose scope.
What bandwidth and sample rate does this actually achieve?
Scoppy pushes the Pico's ADC to up to 2 megasamples per second, so sine waves up to roughly 600 kHz display well, and square or sawtooth signals look good up to about 100 kHz. Fine for audio, power supplies and slow digital; not for high-speed serial or RF.
Do I need a specific Android device?
Any Android phone or tablet that supports USB OTG and can run the Scoppy app. An old device from a drawer is fine; the app is not demanding.
Where do I get the PCB fabricated?
The KiCad files are on the Hackaday page; export Gerbers in KiCad and upload them to JLCPCB, PCBWay or any other board house — or build the mostly through-hole circuit on perfboard.
Can I use this for mains voltage measurements?
No. The front-end is designed for low-voltage electronics; it is not isolated and has no high-voltage protection. Probing anything mains-referenced will destroy the board and the Pico, and may injure you.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
The front-end board is the piece that makes this usable beyond logic-level signals — it scales and protects the input so you can probe real circuits instead of just microcontroller pins. If you have already built one or are planning to, what did you use for probes?
Doctor Volt
Doctor Volt publishes the schematic and assembly instructions on Hackaday.io for builders who want a working scope without the cost of a bench instrument. The project uses the Scoppy firmware and app ecosystem to turn a Pico into usable test gear.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM1mo agoedited
Practical notes from our verification: the project lives on Hackaday.io with no separate GitHub repository; the schematic PDF, a bill of materials (bom.csv) and the KiCad project files are published there, so you export Gerbers yourself if you want a board. The Scoppy Android app and its Pico firmware are separate projects that Doctor Volt builds on; his part is the analog front end with three input ranges and BNC sockets. Scoppy samples at 500 kS/s and can be pushed to 2 MS/s, which the creator says shows sine waves up to about 600 kHz and square waves up to about 100 kHz. The creator deliberately used through-hole parts wherever possible, with only a few SMD components that can go on adapter boards, so you can build the front end on a breadboard or perfboard. If you have never soldered before, this is a gentle place to start. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.