mini digital storage oscilloscope review

I just got in the decidedly-cute DS203 Mini DSO (digital storage oscilloscope), weighing in at a mere 80 grams. We can reasonably guess from MiniDSO.com’s website that English is a second language for them. From what I understand, this is an open-source project so it will be fun to see what I can do with this.

SainSmart
K1, K2, K3, K4 & NAV A, NAV B across the top

Open Source

From what I’m reading in an online PDF, you can tether this to a PC and it appears as a USB drive, allowing you to make some modifications to the system itself. There appear to be examples for updating the splash screen logo and downloading/updating the application itself. Since this is likely some sort of Linux as the operating system then that will mean that I might be able to hack apart the update to find out what’s inside.

Precision

Looks like there are six adjustable potentiometers “under the hood” to allow you to calibrate it for accuracy. Most full-sized scopes have this feature but usually only about two of these adjustments, to be honest.

Accessories

It was fully assembled in the box although the online PDF suggests that there was a time when the customer was asked to fully put it together. This one included two probes (1X, 10X) which is pretty generous given that they can be as much as $30 each. It includes a small hex wrench for opening the back (access to those potentiometers). And finally, there was a tri-fold card with the barest of instructions possible. Here’s an example of a third of the instructions:

Turn on the power, enter the main page of the oscilloscope. Place in the standard signal (e.g. square wave 1 KHz, Vpp = 5V), insert X1 probe’s MCX end to CH A or CH B, and the probe to “WAVE OUT”. Check if the measurement value and the standard value are equal, calibrate if different.

Okay, I know enough about oscilloscopes to know what they mean here. I’ll translate this into English-geek for you:

Connect the X1 probe to the CH A connection, power on the oscilloscope and wait for the main screen to appear. Remove the probe’s cover to reveal the bare tip, putting this into the center of the  “WAVE OUT” port. Press Key 4 until the side menu is selected then use NAV 2 to select V1 from the options. Use NAV 1 to adjust the horizontal line until it coincides with the top part of the square wave, noting the voltage—as now measured—at the bottom of the screen. If this voltage is different than the reference 5.0V from the signal generator, then calibrate the meter by following these steps…

etc

At least that is the standard routine on a full-sized oscilloscope. I guess what I’m trying to say here is that the online PDF and tri-card documentation are pretty laughable and aren’t enough for the average person to learn how to use it.

On-screen Menu

The menu is pretty difficult so far. It’s clear that NAV A and B are used in selecting different values and moving from one place to another. K4 appears to move between the top set of menus to those down the right side of the screen.

Progress

After two full evenings playing with the interface, I’m beginning to understand some of the strange logic. Some of the hidden functionality is found when you press down on either the NAV A or NAV B sliders. It’s lost on the average person that these left/right sort of controls actually can be pressed as well. This opens up the missing features which were formerly lost on me.

So now, I can put an output wave on the screen (CH A–inserted probe to WAVE OUT), adjust the signal to a square wave of 20 microseconds in width, add a single reference voltage V1, hide V2 (and Channels B/C/D), adjust the T1 and T2 reference lines to match up to the waveform’s leading/trailing edges and then reference the delta at the bottom of the screen. Given the complexity of this as compared to the absence of a working manual, I’d call that rocket science.

The next step will be to attempt to calibrate it with a known good 5V power supply which I’ve just adjusted, having measured that with a good-quality multimeter.

Thoughts

I’m torn between moving ahead now with my own work and writing a useful how-to manual for this oscilloscope. It’s a shame that someone’s not written a good tutorial yet for this.

Update

And of course, I began working on rewriting a useful manual for this.

how cool is electron?

I’ve been working the past couple of days with Electron, a Node.js cross-platform desktop app tool which uses JavaScript, HTML and CSS to create what look like native OS-style applications for Windows, OS X and Linux.

electron_atomelectron

Cool stuff, indeed. Out-of-the-box, it looks like you publish your Electron-based app like you would anything on github:

git clone https://github.com/Somebody/Repository.git
cd Repository
npm install
npm start

But there’s also a way of downloading OS-specific images and then adding your own app into this subdirectory structure. The result is a stand-alone EXE and folderset which reasonably looks like a drop-in replacement for something you normally would build locally using Microsoft Visual Studio perhaps. In this version though, you’d run Electron.exe but there are instructions on their website for renaming your application, updating the icon’s, etc.

I’ve just used it today to build a basic music player. I wouldn’t say that the layout is as responsive as a typical mobile app’s ability to move content but I did tweak things so that it can squash down to a mini-player and it stills looks great.

mplayer

I can thank KeithIG/museeks for the open-source code behind this. They have several OS-specific downloads available if you don’t want to build this yourself.

Pros

  • This allows you to build cross-platform desktop apps in much the same way that you’d use Adobe PhoneGap, say, to build for mobile apps.
  • You code in the familiar HTML/JavaScript/CSS trilogy of disciplines and it’s Node.js centric. It is also React.js-friendly, as I’m finding on this project.
  • So far, it seems to be well-behaved.
  • If you don’t want others to easily see your code, there’s a step where you can use asar to zip-up everything into a tidy package.
  • I didn’t have to digitally-sign anything like you might have to for a Windows 10 application or for OS X, say.
  • For people who have git and npm, the install is as easy as anything you’ve seen in the open-source space and a familiar workflow.

Cons

  • Currently, I don’t see any support for mobile platforms.
  • The complete foldedset comes in a 216MB which strikes me as a little big for what it’s doing.  The app itself for the music player weighs in at 84MB of this so the remainder is everything that Electron is doing to present all this.
  • You would need to setup three different build sites to maintain a specific download for your own app.  (It’s not like PhoneGap in which you just submit the common code and Adobe builds it in the cloud.)
  • Given that you’re not digitally-signing your code, you might have to talk your users through the hurdles of having the user “trust” the content within their particular OS.
  • This might be so popular soon that none of us can really afford to just use Electron.exe by default to serve up our app; we’ll need to rename it before publishing, in other words.

Overall

I can see myself wanting to really learn this one deeply. It has a lot of potential for delivering a more native-app experience for users.