Thursday, November 4, 2010

Create an Electronic Message Board with an Arb Generator and a Scope

As a fun project I recently created a Matlab program that allows you to use a 2 channel arb and a scope in XY mode as a electronic message board. Below is a link to download the Matlab files if you would like to try it out. It is a great way to display away messages when you are not at your desk / lab station or to show school pride or to brag about your favorite team’s performance. The included figure (click to enlarge) shows my school pride displayed on a scope using an electronic message created with the XY_Text_Writer program. The program works by inputting a message (up to 26 characters including spaces). It takes the message and generates XY amplitudes corresponding to points in vectors. The vectors are moved around and mathematically manipulated to form each character. Using those amplitude vectors it generates an X and Y waveform. The program uses the LAN connection to download and output the waveforms from the 33522A. With the scope in XY mode the two waveforms coming out of channel 1 and 2 of the 33522A are converted to electronic messages on the scope display. 
In the "XY_Text_Writer" download zip file you will find all the Matlab files that you need plus a user guide that explains how to setup the equipment and run the program in Matlab. Below is the link to download:

Click here to download from Matlab Central File Exchange

Now if you do have a 2 channel arb but it is not the 335220A 2 channel arb you can possibly still use the program with a few modifications. Instead of sending the arb points to the 33522A you would send them to a .csv file that you could upload to your arb generator, here is how:

  1. In the "XY_Text_Writer.m" file comment out the  "vec2arbstring()" functions and the "arbs_2_33522A()" function.
  2. put the 'x' and 'y' vectors into a single 2D matrix like so z=[x;y]
  3. Then use the following function to generate a .csv in your current directory: dlmwrite(csv_name, z', 'coffset', 0, 'roffset', 0). Notice the 'z' matrix is transposed.
  4. From there you just have to load the waveform from the .csv file to your two channel arb. Set the output Z of the arb to match the input Z of the scope. Start the output amplitude at about 5Vpp for each arb channel and adjust as needed. Set the arb to run at a sample rate of 300 to 400 KSamples/s.


  1. Interesting code you have there, Neil! I don't have a MATLAB but I was thinking is it possible to run in from Agilent VEE since it has capabilities to run MATLAB Script? How do I go about it?

  2. You would have to divide up the MatLab .m files into various VEE Matlab script objects. Whenever there is a function call or function return you would have to use the VEE input/output terminals to pass/return variables.
    I doubt VEE will recognize the Matlab instrument toolbox calls I use to communicate with the 33522A. You would most likely have to move all the instrument connection and scpi out of the matlab files into VEE instrument communication objects. May be a little tricky if you are unfamiliar with Matlab. If you are just trying to make a couple message arbs I could do it for you and just send you the .arb files. Let me know

  3. That's very kind of you, Neil. I'll drop you an email soon :)

    Have you tried it on the new 2000X or 3000X-series scopes?

  4. Photonplay is one of the leading manufacturers of electronic led display boards and signs and supplies various Electronic Display Board and related equipments in the domestic as well as international market.

  5. Signs are a huge part of advertising. Good advertising can really help your business. It's important to make sure you have a professional looking sign to help you business out.
    Metal Letters Chennai | LED Sign Boards in Chennai

  6. I would also like to recommend you viewing this tutorial, guys. Should be helpful.