Bitscope Micro. USB Scope that works on Raspberry Pi.
When I first saw the Bitscope Micro on the Raspberry Pi Foundation blog, it ‘ticked all my boxes’.
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.
I just showed @BitScopeDesigns micro running on @Raspberry_Pi & @HDMIPi measuring a pulse from a @raspio1 duino beta pic.twitter.com/TD13XMkH13
— 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
If you want to buy one, you can get them from Pimoroni (UK), or direct from BitScope Designs (Australia)
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.
Thanks for the review. I imported one directly from Australian based Bitscope itself, and with import tax and costs it was about 135 euro, very close to the prices you see now on the various DIY Raspberry Pi/Arduino sites.
It works fine on my Windows notebooks, have not tried it on the Pi yet but your experiments confirm my fear of it being a bit slow..
Note that the analog bandwidth of 20 MHz (and 20 is really the outer limit, not many samples ther) is less than perfect for digital troubleshooting on high speed CPU bus, but it is more than sufficient for SPI and I2C and other GPIO signals.
For analog signals you really should get an oscilloscope probe (one qualified for at least 50 MHz) with 10:1 setting, and that will require a connector with BNC to Dupont to connect to the Bitscope Micro. I made one myself.
I was mightily impressed that it worked on the Pi at all. :) Like anything, it’s OK as long as you’re aware of its limitations.
I have two lovely probes I got with the DPScope. They have switchable 10:1 on. I haven’t got the bits for the BNC –> 2.54mm interface lead yet though.
Looks interesting, but for the very small amount of electronics experimentation I do it’s out of my league, both in terms of price and functionality ;-)
I guess an interesting hack would be to mount buttons to the front of the HDMIPi case, connected to GPIOs on the Pi, and use those as “quick access” controls for the oscilloscope program, making it more like a ‘traditional’ oscilloscope (since I imagine when debugging electronics, using a mouse may not be particularly convenient).
Actually, that’s one of the things I haven’t touched on yet. There is an API, and they’re going to be releasing some Python tutorials for controlling it too. :)
Thanks, Alex – you’ve supplied an answer to the question, “What do you want for your birthday?”
Glad to be of service ;)
Thanks for a super review. I don’t think I can wait for my birthday, so I’ll just have to buy one.
One point worth making: if all you want is a logic analyser, then the Open Workbench Logic Sniffer (OWLS) does the job for just over one third the price of the Bitscope. I’ve not used one with a Pi, but it works well with my linux boxes, and should be fine with the PI.
OWLS has no analogue capability. Also, the OWLS software is also a bit of a pain to find and set up, so it sounds as if the Bitscope wins out on both counts.
OWLS sounds interesting. I didn’t really know I needed a logic analyser until I’d tried this one.
I think they’re awesome things now.