In the previous guide we described how to create a simple oscilloscope on a breadboard using a Raspberry Pi Pico W (or Pico) and the Scoppy Android app.
Here we will describe how to extend the input voltage range, increase the input impedance and add some over-voltage protection. This project will be built on stripboard and again uses very basic and easily obtainable components.
The maximum input voltage range of this oscilloscope is ±16V. There is also a ±3.5V range for measuring lower voltages.
The schematic and BOM are available at OSHWLab.
This is the stripboard layout as seen from above (the copper strips are underneath):
and this diagram shows where you need to make the cuts in the copper strips (all cut positions are also listed below):
Cut a piece of stripboard as shown below. Be sure to include the column and row labels (A-X and 01-30) as we will be using these in the subsequent instructions.
Cut the strips on the back of the board at the following locations
Now might be a good time to drill the holes for the feet (if you are using them)
Drill into the holes at B:02, W:02, B:29 and W:29
Your board should look something like this:
Check continuity either side of the cuts (there should be none!)
3. Assembly - Soldering jumper wiresSolder the blue horizontal wires to the board (see the diagram in the 'Schematic and Layout' section above).
Check there is continuity between the following sets of holes:
● D11, N19, H23
● G11, C21, Q17
● T11, T30
● O11, P30
● E11, E30, K22, I24
Check that there is NOT continuity between the following:
● D11 and G11, T11, O11, I11, E11, T04, O04, J04, E04
● G11 and T11, O11, I11, E11, T04, O04, J04, E04
4. Assembly - Solder ComponentsInsert a jumper onto the AC/DC coupling headers.
Before we install the Pico (W) and LM358 lets double check that we don’t have any shorts between the power rails (VSYS and 3V3 and GND).
We can do this from the top of the board.
Note: We can’t just check one GND hole/pin and assume that everything is OK because all of the GNDs will only be connected together once the Pico (W) is inserted.
Ensure there isn’t a short between D11 (VSYS) and C21, E30, K22 (pin 4 of the LM358), P18, T30 or any of the pins at the top of the Pico (ie C04 to V04)
Ensure there isn’t a short between C21 (3V3) and N19 (pin 8 of the LM358), E30, K22 (pin 4 of the LM358), P18, T30 or any of the pins at the top of the Pico (ie C04 to V04)
Install the Scoppy firmwareBefore (or after) mounting the Pico (W) onto the stripboard install the Scoppy firmware onto the Pico (W). See the Installation and Getting Started Scoppy documentation.
Check voltagesInsert the Pico (W) into the sockets (but don’t insert the LM358 yet) and connect the USB port to power (Note. If connecting to a phone/tablet, a OTG adapter must be connected to the phone/tablet and the USB cable is then connected to the adapter).
Within a few seconds the status light on the Pico (W) should come on and start blinking. If not then disconnect the power. Most likely the wrong firmware has been installed but it could also indicate there is something wrong with the connections on the stripboard.
The LED at U02 might also start blinking. That’s OK.
If the status light has come on then we can check that we have correct voltages on the board as per the following table (NB. P18 is a convenient GND reference point).
N19 (Pin 8 of the LM358): 4.5V - 5.5V
H23: 4.5V - 5.5V
K19: (Pin 5 of the LM358) 3V
K22 : (Pin 4 of the LM358) 0V
R18 (with the switch to the right): 3.3V
If the voltages above are correct then disconnect the power, insert the LM358 and reconnect the power.
The voltage at M14 should be 3V.
Install the Scoppy AppInstall the Scoppy app on to your Android device.
Configure the Scoppy firmwareWe need to configure the Scoppy firmware so that it knows which GPIOs are being used and it also needs to know about the input voltage ranges we have configured in our hardware.
Open the Scoppy app and connect the Pico either via USB (and OTG adapter) or wireless.
Configure GPIOs
Tap the connection badge at the lower-left of the screen (the one labelled ‘USB OK’ or ‘Wi-Fi OK’). Tap Connected device, Firmware settings and GPIOs.
Ensure the following settings are correct (some depend on whether you have a Pico or Pico W).
Tap OK. You will be asked to restart the Pico but that can wait.
Configure Voltage Ranges
Tap the connection badge at the lower-left of the screen (the one labelled ‘USB OK’ or ‘Wi-Fi OK’). Tap Connected device, Firmware settings, Channels and Channel 1.
Set the following values for voltages ranges 0 and 1 (Note: The Vref - 10X values should be left blank).
Scroll down and make sure that the Inverting setting is checked
Auto Voltage Range Pins should be set to 0
Tap OK.
Disconnect the power from your Pico and then reconnect it.
In app tap Run if it is currently stopped.
On your boards, set the voltage range switch to the left position.
The CH1 badge at the bottom of the screen should show 0 as the currently selected range.
Move the switch to the right and the range should change to 1.
TroubleshootingConnect the input to GND (eg. with a jumper)
Set the switch to the left position. If Q26 is 3.3V then you’ve probably used a single pole switch. A DPDT is required.
If there is no voltage drop across Rf then Rin might not be connected properly.
DoneIf everything went to plan you should now have a working oscilloscope.
Comments