I've been on the lookout for an oscilloscope for use at home, and a colleague at work suggested I check out Bitscope. After checking out the specs online and comparing prices, I decided that the Bitscope Micro was the one for me. It hits a lot of the sweet spots I've been looking for: price, portability, and plenty of functionality. Now that I've had it for about a month, I decided to share some of my thoughts on it.
Out of the Box
I was immediately struck by the Micro's size straight out of the box. This thing is small! It fits easily and comfortably in the palm of my hand. Maybe it was the website listing its dimensions in metric units (20 x 110 x 8 mm), but I didn't realize how petit it was until I had it in my hands. Another plus: the product included a packet of pin header to clip jumpers for use as probes, as well as a USB-A to USB-B mini cable. I've always had a beef with the Arduino Uno in that, whenever I buy one, I always seem to forget buying the extra USB cable for it. Not so for the Bitscope Micro: you have all the hardware you need to start taking measurements from a computer right out of the box.
The unit itself is lacking any rigid external casing. Instead, it's a straight circuit board encased in heat-shrink tubing with openings for connectors at either end. The destructive five-year-old in me immediately wanted to subject the PCB to a flex stress test, but I decided against it in favor of finishing the review (and keeping my brand new Bitscope intact). Just keep in mind that you're working with a reasonably defenseless PCB and not a board safe in a sturdy enclosure. I do really like that the manufacturers were thoughtful enough to slip a pinout guide into the bottom of the PCB; this keeps you from pulling up a manual every time you need to make another connection to your test circuit. There's another smaller label on the top side of the front facing header showing pin functions of the top row of pins as well. As to why this same sort of label was neglected on the bottom side is anyone's guess, but this is a minor nitpick. The designers have clearly spent hours they'll never get back digging through manuals to find pinouts, and decided that they'd just as soon save you that effort and aggravation.
Bitscope gives away their software as a freeware download. Installation is simple and painless - in my case, just unzipping a DMG and dragging the binary into the Applications folder on my OS X machine. I made the mistake of having an Arduino plugged in to my computer the first time I tried to open the software. That confused the software as to which device it should try to talk to, and took a few minutes to debug why it wasn't making any connection to the Bitscope. After that was sorted out, I took a look at the UI. You'll recognize most of these functions instantly if you've used an oscilloscope before: timescale, vertical scale, vertical offset, etc. Just about all of these features are changeable with a convenient click-and-drag interface. Unfortunately, the experience isn't super consistent. Some values respond much better to right/left dragging, some to up/down, and some not at all. Keying in a precise value is not an option either; you have to have a steady hand with the slider on a mouse to get exactly the voltage offset you want. Furthermore, just go ahead and write off using a Mac trackpad with this package. I was frustrated enough by its lack of usability to go out and buy a mouse to finish this review!
The actual analysis hardware is actually pretty dang good for the price. Nice resolution and decent headroom. I took most of my measurements with the integrated signal generator as the source of my test waveform, which also performed well. It provides sine, step, and triangle wave outputs. Each output has variable amplitude, DC offset, and duty cycle. This level of parametric control is really great to have, but isn't without limitations. The amplifier frontend of the DDS engine being used to source the waveform could clearly use a little more headroom, as it starts to clip when the waveform generator is set to its maximum amplitude. It also develops some nasty spurs when pushed to its maximum/minimum sine duty cycles. Having said that, the device's shortcomings really only become evident as you push it to its extremes.
One of my major disappointments with the Bitscope Micro was the lack of a protocol analyzer. Most of my work at home is hobbyist electronics projects that largely involve stringing together a few modules using common peripheral interfaces. As such, I don't do a ton of analog debugging; instead, I spend a lot of time mucking through I2C, SPI, and other chip-to-chip interfaces. The logic analyzer built into this is super helpful to that end, but I really had my hopes up on the protocol analyzer.
Another caveat emptor: the included probes are stock female header to ball clamp probes, and as such have zero impedance control. Granted, this guy is only capable of 40MSps at 20MHz of bandwidth, so you're not going to be debugging a DRAM interface with it any time soon.
The feature that I have yet to dig into in this product is the programming interface that all scopes expose. According to the Bitscope website, C, C++, Python, and VM bindings are all available. I think this was an exceptionally wise choice for Bitscope to include: it helps position them squarely in the market for folks in need of affordable test equipment for low-speed electronics. I'd love to see what paces I can put this thing through as an arbitrary waveform generator, but that's a post for another day.
All in all, I'm pretty happy with the $150 I spent on the Bitscope Micro. While it's missing a few features I'd really like to have - that protocol analyzer will be sorely missed! - I'd give it a 4 out of 5 for a hobbyist oscilloscope. The Bitscope Micro also gets a big dose of bonus points for fitting in my on-the-go proto kit.