A couple of weeks later, when Pimoroni tweeted about having the first batch in stock, I ordered one immediately. In my circumstances, it would have been rude not to.
Why? The reasons are too numerous to list them all, but here are the first few that spring to mind…
- I need a small, portable, USB scope since I spend about 20% of my time abroad and take my work with me.
- It’s also a logic analyser – never had one, but looks really useful
- It can display mixed signals: scope output and logic analyser output simultaneously
- It’s also a signal/waveform generator
- It’s a spectrum analyser
- It complements HDMIPi perfectly
- It can run on Mac/Windows/Linux/Raspbian. Yes! It works on the Pi too
- It’s new and it’s cool
At the Pimoroni price of £120 delivered, it won’t be for everyone. But, although it’s a small piece of hardware in a small box, the attention to detail in getting the software working on so many different platforms is exceptional.
Here’s a Quick Look at Some of its Capabilities
But You’ve Already Got a Scope?
About 18 months ago I bought a DP Scope from Germany for about £85 (including 2 probes). It’s very nice and works well. But, in January, my Windows laptop died and ‘join the dark side I did’ in purchasing a Mac. You guessed it! The DPScope software is Windows only. (Although I have Parallels and Windows 7 in a bootcamp partition, so it might work with that, but I haven’t tried it.)
BitScope Works on the Raspberry Pi
But what really swung it for me was that it works with the Raspberry Pi. I figured “add an HDMIPi, a Pi and a battery and we’ve got a really small, portable ‘go anywhere’ Oscilloscope”. It may not light your fire, but for me that’s extremely cool, and rather useful.
BitScope DSO + RasPiO® duino + Arduino IDE at OxJam
I took it to the Oxford Jam this week and showed it measuring a pulse from a RasPiO® duino board I have in beta at the moment. Reprogram the ATMega 328P-PU with the Gordon Henderson’s modified Arduino IDE and the pulse changes on the scope. All this on the same Raspberry Pi.
— RasPi.TV (@RasPiTV) May 15, 2014
Without winning any awards for speed, the Pi coped well with running both the Bitscope DSO software and the Arduino IDE at the same time. They both take a long time to load and start up, but they work fine once loaded. I haven’t tried it on a model A, but it might struggle with less RAM and you’d need to use a USB hub as well.
Wiring up BitScope port L4 to the analog inputs, you can generate and measure waveforms. (You can use L5 for clocks). There are three modes, Tone, Step and Ramp for sinusoidal, square and saw-tooth waves respectively. The waveforms are tweakable for frequency, symmetry, amplitude and offset. You can also enable Mixed mode to view scope input and all 8 logic analyser channels simultaneously.
What’s a logic analyser? Basically it allows you to see the logic levels of up to 8 pins simultaneously. It’s the kind of thing you don’t realise you need until you have one and understand what it can do.
If you want to see what’s really happening at the ports, or debug something that’s not working as you expect, this is for you.
I’d never used one before because I’ve never had one before. But I instantly thought of SPI because it’s a ‘four wire’ protocol, which means there are signals on four pins/wires. I also had a working Python program using SPI for the mcp3008, so thought I’d take a look at the SPI signals.
You connect the BitScope pins L0-L5 and you can use the analog channels too for a total of up to 8 signals. L0 is the signal at the bottom of the 8 logic traces. I haven’t found a way to annotate the traces in the software. It may be possible. If so, that would be really useful. In the following screenshot, there’s nothing connected to the top four traces, but the bottom four traces are connected to the SPI pins of the Pi, showing a single cycle of an mcp3008 being read.
In the end I went much further than expected with probing the SPI logic because it was great fun. I may do a follow-up blog post about that soon.
It is Slower on the Pi
There’s no real surprise here, but the BitScope Micro DSO software runs slower on the Raspberry Pi than on my MacBook Pro. For most measurements this doesn’t much matter. One thing that didn’t work so well was measuring the output of the Arduino “sweep” sketch, which outputs a PWM signal that cycles the pulse-width up and down. The Pi struggles to ‘lock on’ to this changing signal, so it jumps around from left to right on the screen. You can see what I mean in the video.
It’s rock-steady on the Mac. This is probably a question of raw processing power, but it may be that further software optimisation or tweaking the settings could improve it. It’s the only thing I’ve found, so far, that didn’t really work properly on the Pi. If you have a steady, regular signal it copes alright. Everything else seems to work OK, but slower.
Installing Bitscope DSO on the Raspberry Pi
In the meantime, if you’ve just bought one, or are going to buy one, there’s an excellent guide to installing the software on the Raspbery Pi here
It’s a great little piece of kit and it works on pretty much any computer with a USB port. If you get interested in electronics, sooner or later a small scope will be very useful. The BitScope Micro is definitely one to seriously consider. I’m loving mine, and will post something else about what I’ve been doing with it soon.