Previous posts for this project:





I'm back in town and still a bit jet lagged, but it's time I posted an update again.


As part of this challenge's kit, most of us received an oscilloscope. A Tektronix TBS1052B-EDU to be more precise.

I haven't worked with an oscilloscope in over seven years. The last time I did was when I was still in school, and even then, I wasn't very proficient in its use.


Now that I have my very own oscilloscope, I can take the time to know it better and learn to gradually master its features.


This post describes my first actions with the oscilloscope.





As stated in the intro, I will approach the TBS1052B-EDU oscilloscope as a complete newbie. So if you're already familiar with oscilloscopes, this post will probably not be very interesting


Other, more experienced members have already posted their experiences with the scope, you can find some of them here:





The first thing I did after unboxing my brand new oscilloscope was to regist... nope. First thing I did was to attach the colored rings to the probes, I couldn't help myself, sorry.


photo 1.JPGphoto 2.JPG


After marking the probes, I proceeded with the registration.


You can't really miss it. There is big "Alert" sticker on the scope's display asking to register the scope. On top of it, by registering, you're entering a draw to win another scope.

The registration only took a couple of minutes, and after that, I had access to a bunch of documentation and software for my device.


Documentation and software




There is a lot of documentation available once registered. The main page: TBS1000B-EDU Digital Storage Oscilloscope | Tektronix offers links to a library with a lot of documentation and there is even a PDF download for the "XYZ of Oscilloscopes".


Screen Shot 2014-09-10 at 11.36.38.pngScreen Shot 2014-09-10 at 11.36.21.png


I have only gone through some of it so far, but it looks like I'll be able to learn a lot about oscilloscopes, how they work and how they're used.





One of the tools available is called "OpenChoice". I've seen other contestants make use of it in their blog posts.




When checking the prerequisites, the popup was blank. Somehow, I ended up resizing it (probably when making screenshots for this blog) and suddenly the text appeared.

Has anyone else experienced this ?

Screen Shot 2014-09-10 at 11.16.58.pngScreen Shot 2014-09-10 at 11.17.11.png


Anyway, after reading the prerequisites, I was forced to conclude that this would not run on my Linux or Mac machines, as this is a Windows only tool ... too bad.

For now, I will not bother setting up a Windows virtual machine, I'll just stick with the USB drive approach to save data and then read it on my Mac afterwards.





A second tool which is available is "Courseware".




This tool offers the possibility to define, edit and manage exercises which can be uploaded onto the EDU oscilloscopes for user to execute. There are tons of additional exercises made available in the library, to get to know the oscilloscope better, using Arduino or even Raspberry Pi.


Unfortunately, again, Windows-only ...





I also found a video playlist on the Tektronix youtube channel, containing some short introduction level content on making measurements and triggering on digital signals: Using the TBS1000B Series Education Oscilloscopes


This is the type of content I prefer. It's visual, hands-on and easy to follow along.



Firmware upgrade


When browsing the scope's page on the Tektronix website, I noticed there was a very recent firmware version: Firmware Update for TBS1000B and TBS1000B-EDU Series Oscilloscopes, V2.52 | Tektronix

So recent in fact, that it couldn't already be on my scope. This was a good opportunity to test the firmware upgrade.


Browsing through the menus, I found that my scope was running firmware version 2.02.




I downloaded the new firmware file for version 2.52, put it on a FAT32 formatted USB stick and inserted it in the frontpanel of the scope. Browsing through the menus some more, I found the option to trigger the upgrade:



The update took a few minutes, and I was then prompted to reboot the device. After reboot, I checked the firmware version again, and bingo, it was updated.



Well, that was an easy and straightforward upgrade!


Probe calibration


As Mark mentioned in his post, there is something strange about the calibration. The probe check doesn't work (yet ?) and the self calibration requires the probes to be disconnected.


I connected my probe to the "PROBE COMP" and checked the square wave. It looks ok at first sight, but when zooming in on the edges, it is quite "round".



The device is supposed to come calibrated, so I'll assume this is normal and as expected.


First test


A first test I performed to get used to the controls of the scope was to analyse a PWM signal from an Arduino.


I started off with a 50% duty cycle signal by using following Arduino code:


void setup() {
  pinMode(11, OUTPUT);
  analogWrite(11, 127);

void loop() {}  


Hooking up the Ch1 probe to pin 11 and GND on the Arduino, I starting pushing some buttons.



The scope offers the possibility to automate some measurements. It is possible to display up to six different measurements on screen from a list of thirty-something available options.

I tested the feature by adding some measurements relevant to my PWM signal (some redundant, like the positive and negative duty, I know ...).


While performing these measurements, I also learned how to scale and position the data both vertically and horizontally.





Automated measurements are nice to have, but it is good to know how to perform some of them manually.

To try this out, I used cursors. Cursors can be used vertically to measure time, and horizontally to measure amplitude.





Another way to quickly display some data is to use the Autoset feature. It offers the possibility to quickly visualise the signal, one cycle or even rising and falling edges.

F0009TEK.JPG F0010TEK.png

The picture on the left represents a rising edge on the PWM signal of an Arduino. The right picture represents a rising edge on the "probe comp" signal of the oscilloscope, as shown earlier in the calibration step.



Second test


The second test I performed, was analysing the commands of the remote controlled Elro sockets used in my project (see [CaTS] ForgetMeNot - Week 2: Elro CoCo and Pi Cam with OpenHAB).

I'm already using a library, which is doing all the work for me, but what exactly does the library do and how do these wireless signal even look like ?




I removed the cover from the remote control and searched for a point to measure. Unfortunately, there was no point I could properly attach my probe to. So I soldered a wire to resolve that issue.


photo 1.JPGphoto 4.JPGphoto 3.JPG


When pressing one of the buttons on the remote, I can see a repetitive signal on the scope. However, as soon as I let go, the signal is gone from the scope's screen.

I selected the "Single" button on the scope, pressed the button on the remote, and there it was. The scope stopped automatically, keeping the capture signal on screen for me to analyse.




I've been comparing signals when pressing different buttons on the remote.




Taking the assumption that a short HIGH (approx 280us HIGH, then 980us LOW) would represent a logical 0 and a long HIGH (approx 940us HIGH, then 310us LOW) a logical 1, I've come to following measurements:




From the above measurements, the structure of a command seems to be as follows:

[0]-[House (A-P): 00000000 - 10101010]-[Unit (1-16): 00000000 - 10101010]-[001010]-[ON/OFF: 00 - 10]


I'm not sure this translation makes complete sense, but it does help derive all combinations as a set of pulses.




Using an Arduino, I tried to recreate these sequences of pulses in order to control the sockets without the remote.


To verify this would work, I wrote a (very inefficient) sketch which would just write the sequence. As mentioned before, there are libraries out there doing all this work for you, but by doing all this, I understand a little bit better what happens behind the scenes AND it is a good measuring exercise using the oscilloscope.


void writeOne() {

void writeZero() {


This is the recreated signal using the Arduino. By measuring the output, I was able to improve the timing to compensate for any delays introduced by the code.


It works! I can hear the socket in the background going on and off.





Using the oscilloscope, I was able to visualise wireless transmission, search for patterns and figure out the structure of the data being sent.

Even though I didn't really have (fresh/recent) experience with oscilloscopes, I was able to get on with it rather easily, thanks to the many resources available including those of fellow contestants.


I am however a little disappointed in the additional software being Windows-only, but that is something I can live with for the time being.