DIY active / HiZ / high impedance probe design.

I’ve been wanting to have an high-impedance (Hi-Z) probe for some time now. 

Up until now I’ve been searching for something like an HP 85024a which comes up on the secondhand market from time to time. It would be overkill for my needs, but still nice… :)

Recently I came across an old Elektor/Elektuur article from April 2004 titled “Poor man’s 1GHz active probe” by David Jewsbury. Some more research turned up the bachelor thesis of Thomas Hirschbuechler titled “Design of a low-cost 1GHz active probe“.

I decided it would be a good learning experience to try and recreate/adapt the design and make some measurements on it. 

Design

The board measures 60 by 25mm. As I do not intend to use the probe up to 1GHz I did not bother to use Rogers or some other high-performance material and opted for regular FR4. Design is done in Diptrace V4 which I can recommend as an easy-to-learn EDA.

The current state of the design is in my Github repository although I need to update the schematic with the revisions I made during prototyping.

v0.1prototype board with many changes.

The total cost of the current version is well below €50 where the SMA connector is probably the most expensive part.

Measurements

After tweaking and making some changes on the initial design, measurements turned out pretty good (taking in to account thatI do not intend to use the probe much above 200-300MHz). I made a bode plot 0-25MHz with my MSO5074 scope which has a 25MHz signal generator build-in:

Bode plot to 25MHz

For higher frequenties I turned to my 300kHz-1.3GHz HP vector network analyser (csv at the end):

S21 and S11 from 300kHz to 1GHz
Frequency(MHz); S21(Log Mag),dB;  S11(Log Mag),dB

0.300;         -33.06;            -0.38
5.298;         -20.14;             0.00
10.297;        -17.76;            -0.08
15.296;        -17.05;            -0.16
20.294;        -16.81;            -0.33
25.293;        -16.79;            -0.45
30.291;        -16.85;            -0.55
35.289;        -16.90;            -0.59
40.288;        -16.91;            -0.62
45.286;        -16.89;            -0.61
50.285;        -16.79;            -0.59
55.283;        -16.68;            -0.60
60.282;        -16.60;            -0.64
65.281;        -16.58;            -0.73
70.279;        -16.62;            -0.81
75.278;        -16.78;            -0.87
80.276;        -16.96;            -0.87
85.275;        -17.11;            -0.85
90.273;        -17.16;            -0.81
95.272;        -17.11;            -0.75
100.270;       -16.96;            -0.76
105.269;       -16.71;            -0.80
110.267;       -16.48;            -0.94
115.266;       -16.36;            -1.13
120.264;       -16.39;            -1.31
125.263;       -16.58;            -1.40
130.261;       -16.85;            -1.42
135.260;       -17.10;            -1.30
140.258;       -17.27;            -1.14
145.256;       -17.31;            -0.99
150.255;       -17.22;            -0.94
155.254;       -17.01;            -0.95
160.252;       -16.78;            -1.12
165.250;       -16.60;            -1.39
170.249;       -16.48;            -1.70
175.248;       -16.52;            -1.94
180.246;       -16.70;            -2.03
185.244;       -16.89;            -1.92
190.243;       -17.07;            -1.67
195.242;       -17.17;            -1.44
200.240;       -17.18;            -1.24
205.238;       -17.10;            -1.16
210.237;       -16.97;            -1.22
215.236;       -16.84;            -1.44
220.234;       -16.74;            -1.75
225.232;       -16.64;            -2.12
230.231;       -16.58;            -2.42
235.230;       -16.58;            -2.47
240.228;       -16.57;            -2.32
245.226;       -16.58;            -2.01
250.225;       -16.63;            -1.72
255.224;       -16.68;            -1.49
260.222;       -16.76;            -1.40
265.221;       -16.83;            -1.47
270.219;       -16.87;            -1.68
275.217;       -16.83;            -2.03
280.216;       -16.73;            -2.40
285.214;       -16.56;            -2.68
290.213;       -16.40;            -2.77
295.212;       -16.30;            -2.61
300.210;       -16.31;            -2.27
305.209;       -16.43;            -1.91
310.207;       -16.58;            -1.65
315.205;       -16.75;            -1.51
320.204;       -16.82;            -1.54
325.202;       -16.76;            -1.74
330.201;       -16.58;            -2.10
335.200;       -16.31;            -2.58
340.198;       -16.05;            -3.04
345.197;       -15.94;            -3.27
350.195;       -16.00;            -3.15
355.193;       -16.24;            -2.72
360.192;       -16.51;            -2.22
365.190;       -16.74;            -1.83
370.189;       -16.85;            -1.62
375.188;       -16.80;            -1.59
380.186;       -16.59;            -1.79
385.185;       -16.27;            -2.20
390.183;       -15.90;            -2.83
395.182;       -15.63;            -3.51
400.180;       -15.54;            -3.96
405.178;       -15.62;            -3.83
410.177;       -15.85;            -3.21
415.175;       -16.09;            -2.48
420.174;       -16.27;            -1.93
425.173;       -16.35;            -1.65
430.171;       -16.30;            -1.63
435.170;       -16.15;            -1.90
440.168;       -15.93;            -2.45
445.166;       -15.70;            -3.19
450.165;       -15.54;            -3.97
455.163;       -15.46;            -4.34
460.162;       -15.48;            -4.02
465.161;       -15.58;            -3.20
470.159;       -15.69;            -2.36
475.158;       -15.81;            -1.75
480.156;       -15.88;            -1.49
485.154;       -15.85;            -1.53
490.153;       -15.75;            -1.88
495.151;       -15.56;            -2.50
500.150;       -15.31;            -3.34
505.149;       -15.03;            -4.15
510.147;       -14.77;            -4.45
515.145;       -14.62;            -3.93
520.144;       -14.59;            -2.93
525.143;       -14.76;            -2.02
530.141;       -15.01;            -1.48
535.139;       -15.30;            -1.27
540.138;       -15.47;            -1.38
545.136;       -15.52;            -1.77
550.135;       -15.42;            -2.40
555.134;       -15.16;            -3.19
560.132;       -14.85;            -3.91
565.130;       -14.51;            -4.17
570.129;       -14.30;            -3.68
575.128;       -14.22;            -2.80
580.126;       -14.35;            -1.92
585.125;       -14.54;            -1.39
590.123;       -14.75;            -1.17
595.121;       -14.85;            -1.27
600.120;       -14.86;            -1.63
605.119;       -14.73;            -2.22
610.117;       -14.50;            -2.97
615.115;       -14.20;            -3.69
620.114;       -13.94;            -4.06
625.112;       -13.76;            -3.74
630.111;       -13.73;            -2.86
635.110;       -13.86;            -1.96
640.108;       -14.06;            -1.33
645.106;       -14.23;            -1.09
650.105;       -14.34;            -1.11
655.104;       -14.35;            -1.43
660.102;       -14.22;            -1.98
665.101;       -13.98;            -2.80
670.099;       -13.65;            -3.72
675.097;       -13.32;            -4.27
680.096;       -13.06;            -3.99
685.095;       -12.93;            -2.96
690.093;       -12.98;            -1.85
695.091;       -13.18;            -1.06
700.090;       -13.42;            -0.69
705.088;       -13.58;            -0.69
710.087;       -13.61;            -1.04
715.086;       -13.46;            -1.73
720.084;       -13.14;            -2.69
725.082;       -12.71;            -3.77
730.081;       -12.26;            -4.40
735.080;       -11.98;            -3.87
740.078;       -11.91;            -2.54
745.077;       -12.14;            -1.27
750.075;       -12.49;            -0.48
755.073;       -12.85;            -0.17
760.072;       -13.07;            -0.33
765.071;       -13.13;            -0.83
770.069;       -12.98;            -1.68
775.067;       -12.64;            -2.81
780.066;       -12.18;            -3.99
785.064;       -11.75;            -4.41
790.063;       -11.46;            -3.46
795.062;       -11.37;            -1.86
800.060;       -11.48;            -0.62
805.058;       -11.69;             0.02
810.057;       -11.90;             0.07
815.056;       -12.02;            -0.37
820.054;       -12.07;            -1.25
825.053;       -12.08;            -2.47
830.051;       -12.06;            -3.95
835.049;       -12.09;            -5.28
840.048;       -12.13;            -5.44
845.047;       -12.16;            -4.01
850.045;       -12.16;            -2.23
855.043;       -12.16;            -0.88
860.042;       -12.24;            -0.25
865.040;       -12.36;            -0.19
870.039;       -12.50;            -0.62
875.038;       -12.61;            -1.36
880.036;       -12.64;            -2.42
885.034;       -12.55;            -3.57
890.033;       -12.34;            -4.36
895.032;       -12.05;            -4.07
900.030;       -11.78;            -2.84
905.029;       -11.60;            -1.52
910.027;       -11.61;            -0.67
915.025;       -11.80;            -0.45
920.024;       -12.09;            -0.69
925.023;       -12.37;            -1.35
930.021;       -12.55;            -2.27
935.019;       -12.55;            -3.42
940.018;       -12.39;            -4.53
945.016;       -12.13;            -5.09
950.015;       -11.88;            -4.58
955.014;       -11.74;            -3.37
960.012;       -11.77;            -2.24
965.010;       -11.98;            -1.61
970.009;       -12.27;            -1.54
975.008;       -12.49;            -1.99
980.006;       -12.55;            -2.87
985.005;       -12.38;            -4.19
990.003;       -11.99;            -5.91
995.001;       -11.55;            -7.75
1.000.000;     -11.21;            -8.23

The low frequency response (up to, say, 5MHz) isn’t particulary good. Starting around 5MHz, S21 is fairly flat around -17dB up to 400MHz. From there on it starts to increase.

S11 is between 0 and -4 dB up to 800MHz which I think is very good.

Final thoughts

These results are (much) better than I expected from my first attempt, so I am trying to figure out if I am measuring the correct parameters and whether my interpretation is correct…

Things I’d like to figure out:

  • First of all: are my assumptions regarding the measurements correct?
  • How do I improve the low-frequency response to be more linear?
  • What causes the response (both S21 and S11) to ripple rather continuously? Should I suspect my measurement setup?
  • Would I be better to lower the FET supply voltage (or input bias) in order to end up with an even -20dB gain, so that converting the voltage magnitude would be easier?

I’ll make a v0.2 with the changes and some additional improvements and then a properly shielded enclosure (likely pcb material).

While this is mostly an exercise and learning experience, I’m rather happy with the results so far.

Advertisement

Unilumin Upad 2.6mm led screen repair

I regularly repair tiles of Unilumen 2.6mm Upad that have broken pixels. Since the pixel pitch (distance between the center of the pixels) is only 2.6mm, that leaves only about 0.5mm between the pixels. Not enough for soldering with conventional means. To do this, you do require good eyes or magnification as well as an hot air station.

96×96 pixels on a 25x25cm tile
Example of damage by ripped off pixels as on a tile received by customer. Note the distance between the center of the pixels is only 2.6mm. Pixel dimensions are 2.1×2.1mm.

It took me quite a while to become proficient at replacing the pixels and performing repairs on pads that had been ripped off.

To repair damaged pads, one can use special (very thin) paper-like circuit board that you can order from Unilumen.

In the process of learning how to deal with these repairs, I created some documentation to make this somewhat easier. I wish I would have had these drawings when I started out as this would have allowed me to get better results sooner. As such, I think it is only fair to share these drawings hoping to help someone else. Below are some of my notes documenting orientation as well as traces on the board itself as well as on the paper. Pictures of the paper are taken through a stereoscopic microscope.

Hope this helps someone!

Using MicroPython (PyBoard V1.1) with Visual Studio Code

Warning

This still isn’t working as I think it should. Especially the linting and autocomplete still doesn’t work (leaving only the PyMakr module which works partly, in fact). For example: “import pyb” still does not add autocompletion when typing something like “s = pyb.<CTRL + SPACE>”. Most likely this is because I used a combinations of tools that shouldn’t be used together. Need to spend more time on this…

Intro

I’ve recently started using a PyBoard for a project that I am working on. Writing code in an IDE, saving the files, then manually copying them to the board to test them gets tedious rather quickly. If you’re using Visual Studio Code, there are options to do almost everything from within the IDE itself. Getting things to work as they should took a bit of effort and headscratching. What I needed to do is documented below.
Links to the sources of my information is at the bottom.

Install libraries/addon

  • pip install --upgrade pip --user
  • pip install --upgrade micropy-cli --user
  • pip install micropy-cli[create_stubs]
  • pip install rshell --upgrade
  • To prevent “Source directory /pyboard/stubs does not exist.” after creation open pybwrapper.py, change line 63 from
    pyb_path = f"{self.pyb_root}{_path}"
to:
    pyb_path = f"/flash/{_path}"

and save the file.

  • Inside VSC, install the Pymakr plugin
  • Install node.js (see link below, and reboot afterwards)

Create the stub yourself…

(This did not work properly for me. See below for another option.)

  • Connect the PyBoard over USB
  • Find out the serial port number (represented from here on by comXX)
  • Run
    micropy stubs create comXX

    (replace XX by com port number) -> this takes a couple of minutes

  • the result will be copied to ~/.micropy/stubs (in my case in a sub directory “pyboard-1.13.0”

…Or get them from someone else

I got mine from Josverl on Github. See his read.me for more information as well.

  • Pick a directory that will hold the files. Clone the repo:
    git clone git@github.com:Josverl/micropython-stubs.git
  • create a symlink in your project folder:

    mklink /d all-stubs <directory holding the stubs>
  • create a settings.json file in your project folder containing (change the references to the stubs you need, in the desired order):
{
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": true,
    "python.languageServer": "Microsoft",
    "python.jediEnabled": false,
    "python.autoComplete.extraPaths": [
         "all-stubs/cpython_core",
         "all-stubs/pyboard_1_13_95",
         "all-stubs/mpy_1_13-nightly_frozen/GENERIC",
         "all-stubs/cpython_pyboard"
     ],
     "python.autoComplete.typeshedPaths": [
          "all-stubs/cpython_core",
         "all-stubs/pyboard_1_13_95",
          "all-stubs/mpy_1_13-nightly_frozen/GENERIC",
          "all-stubs/cpython_pyboard"
     ],
     "python.analysis.typeshedPaths": [
          "all-stubs/cpython_core",
          "all-stubs/pyboard_1_13_95",
          "all-stubs/mpy_1_13-nightly_frozen/GENERIC",
         "all-stubs/cpython_pyboard"
    ]
}
  • Copy the .pylintrc file from the sample folder and adapt the init-hook line to reflect the chosen folders (in last step):
[MASTER]
init-hook='import sys;sys.path[1:1] = ["all-stubs/cpython_core", "all-stubs/pyboard_1_13_95", "all-stubs/mpy_1_13-nightly_frozen/GENERIC", "all-stubs/cpython_pyboard",];'
  • Restart VSC:
Developer: Reload Window

Set up your project (in VSC terminal, with project open)

  • To check that your stub (config file for your board) has been installed run
    micropy stubs list 
  • If not, run
    micropy stubs add <path to stub> 

    (where the path is the directory that contains the info.json file.)

  • run
    micropy init <project name>
  • Select what to generate (‘a’ selects all)
  • select which stub to use (the one you just created)
  • A subdirectory will created with <project name> you just specified
  • Open the pymakr.conf file in the subdirectory <project name>. Change
    "address":"192.168.4.1" 

    to your comXX. To do this system wide for Pymakr, open the command palette (CTRL+SHIFT+P) and select/type “Pymakr > Global settings”

  • In the same config file, I had to set “auto_connect”: false to resolve some vague
    "> Failed to connect (Error: Port is not open). Click here to try again." 

    errors when connecting to the board. Setting this to “true” the following behavior: “ignores any ‘address’ setting and automatically connects to the top item in the serial port list”

  • See here for more explanation on the other options

Using the combination

  • To add package dependencies to your project:
    micropy install <PACKAGE_NAMES>
  • Functionality in the Pymakr addon can be used by opening the command palette (CTRL+SHIFT+P) and typing Pymakr. There are options to (dis)connect, run the current file, up/download the whole project, get the FW version,…
  • Note the new terminal “Pymakr Console”:
    Pymakr console
  • And the “Pymakr toolbar”:
    Pymakr toolbar

Shortcuts (from the Pymakr addon info)

ctrl-shift-c : (Re)connect
ctrl-shift-g : Global settings
ctrl-shift-s : Synchronize project
ctrl-shift-r : Run current file
ctrl-shift-enter : Run current Line

References

HP 8640B Signal generator. Part 1: initial state

IMG_7088_cr

I recently acquired a HP 8640B signal generator. A quick summary of the specs shows why this is an interesting piece of equipment:

  • 500kHz to 512 MHz (option 2 adds a doubler, extending the range to 1.024 GHz)
  • Available power range is -145dBm to +19 dBm, withing +0.5dB across the full frequency range
  • Extremely low phase noise (less then -130 dBc at 450 MHz, 20kHz from the carrier)
  • Fine tuning (when in locked mode): >+/-20ppm
  • Integrated counter, switchable between the internal generator and an external input
  • FM and AM modulation
  • Beautifully engineered (but that’s just an opinion)

The retail price in the mid seventies was around 12.000 USD.

My unit has the frequency doubler (Option 2), and a serial number starting with 1522U, meaning it was produced in 1975 (add the first two digits to 1960), week 22 in England. As far as I know this is probably in a factory in Erskine, Schotland.

And obviously it doesn’t work as it should. At first sight, the apparent issues are:

  • The unit has cracked gears (which is a common issue)
  • Intermittent power rail faillures
  • Counter shows all zeros (seems to work with external signals when the -5.2v rail comes on)
  • No output power on the front connector
  • “Reduce FM vernier” is lit

At least, the display shows something, and there are some lights. More lights = better.

IMG_7122

It needs cosmetic work as well: there is flash corrosion all over the metal parts, and some kind of brown gooey residue. One of the modulation dials has a broken knob. Plastic has yellowed, the vinyl needs work. The list goes on.

First issues to be solved (apart from cleaning while waiting for components):

  • Fix -5.2V power rail (A18U1 needs to be replaced)
  • Replace burned diode on the A12 Rectifier board, possibly using an external rectifier placed on a custom made board
  • Zener diode A20VR3 (+44.6V LED) seems to have been burned, or is at least moving in that direction

After those issues have been solved, the RF path can be checked.

The following sources of information have been of great help so far:

  • The people at the great Yahoo HP/Agilent Test Equipment newsgroup
  • Various blog posts, I will list them where apropriate
  • The US Army TM 9-4935-601-14-7&P “PATRIOT AIR DEFENSE GUIDED MISSILE SYSTEM” Operator, organizational, direct support and general support maintenance manual

HP 8711A: modifications, tweaks, refurbishing

I recently acquired a fairly well preserved HP 8711A network analyser. As sold, this is an economy model, offering only scalar measurements (although vector information can be acquired through the HP-IB bus).

Conversion

What makes this unit interesting, is that the hardware is the same as the never released 8712A, which has vector capabilities. Some changes in the bootrom allow the user to “convert” the unit, making it behave like a full fledged VNA.

Credits for this rom modifcation go to Massimo Porzio (IK1IZA). As far as I know, he is the one who took the time to figure this out. I also found a lot of information on the site of Michal Lewczuk (SP2XDM).

Before doing anything, a backup of the correction constants was made to disk.

Unit boot screen as received:

20160927_173814

I used the TL866 USB High Performance Programmer which can be bought online for around €40. Download the software while you wait for the package to arrive, download speed reminded me of the late nineties…

The bootrom with attached label (on the A1 CPU board, removal of the CRT/PSU module is necessary):

20161006_211100

Contents of the ROM at address 0x1FFA0 prior to modifications:

eeprom-before

After modifications:

eeprom

New bootscreen (SRL and fault location enabled as well):

20161114_171152

Smith chart as proof of vector capabilities:

20161114_171232

CRT realignment and brightness setting

Some adjustments on the CRT were done:

  • When looking from a normal viewing angle with the unit placed on the desk, the alignment of the options on the right of the screen seems “off” when compared to the location of soft buttons next to them.
  • The screen was rather dim.
  • Sizing of the display compared to the cutout in the front panel could be enlarged.

I marked the locations of the front panel cutout and the top and bottom buttons on the CRT:

20161031_091501

After disassembling the CRT/PSU module and attaching the PSU to the back, followed by some creative cabling, the unit was powered on while leaving access to the alignment potmeters:

20161031_094911

The positions of the potmeters before adjustment were marked:

20161031_093910

After adjusting the height/width and brightness, the screen looked much better.

Power supply patch

According to a ECN from HP, units with serials between A00000 and 3325A00941 need a 3W, 680Ω resistor between pin 9 and 16 on J5 in the power supply.

Before:

20161107_212030

Resistor added and pcb cleaned:

20161107_212732

Speaker “modification”

The A models of this network analyser had an issue where noise would get into the audio circuit, causing a high pitched, squeeling noise. When used in a silent environment this was really bothersome, so I first tried replacing the speaker by a version with a slightly different resonant frequency.

This didn’t help enough, so I ended up with this ugly (but fully working) solution:

20161031_103828

Cleaning and restoring the unit

A lot of time was spend cleaning and restoring the unit, as to give it as much of its original appearance as possible.

  • The inside of the case was cleaned, connectors on the backplane (which are notorious for causing problems with this model) were cleaned using a combination of MEK, IPA, soda, warm water, patience and lots of love.
  • Front panel and keypad were cleaned, and the yellowing of the plastic due to age and UV was reversed through the use of high concentration hydrogen peroxide. Dents, holes and cuts were fixed.
  • The vinyl was cleaned, restored and treated.
  • Internals of the disk drive were cleaned.

Documenting this is worth a separate post.

Wireless Tally for JVC GY-HM790 cameras

I’ve been working on my wireless tally system for a while now. Apart from the connection to the camera (for which I want to use a different connector to alter the appearance of the camera as little as possible) it is finally finished. Looking back, this has taken me much more time than I expected. But as this was the first project that I wanted to do in a more professional way instead of just throwing something together that shouldn’t necessarily be a bad sign. I’ve tried to keep revisions of the schematics, board design and code, as well as a clear BOM that can be used as a guideline in the future, should the need arise.

But first some background as to what the idea behind this project was.

When using different cameras to record any live set (be it show, television, concerts,..) it is important for a cameraman to know when his camera is selected and recorded or shown on screen. He then knows to keep his framing, or do whatever he is supposed to do during the shot. While most systems use an intercom to let the director talk to the crew, it’s not really a good option to have him cue every shot to the camera crew. Also, there might be a talent on stage that needs to know what camera to look into during a presentation.

Enter a tally system. That red light on top of television cameras? That’s a tally. Depending on the configuration it might be a red light in front of the camera, at the back, in the viewfinder or any combination of those. The signal comes from the mixing console and is usually relayed to the cameras by a dedicated connection in a multicable or embedded in a muxed signal on a triax cable.

But what if you can’t or don’t want to use an expensive triax or heavy multi cable? Imagine running the cameras on battery power, sending the video signal wireless, or just prefer to have only one cable running to the camera for the video signal?

On smaller shows, this is often a trade-off: more mobility for the camera people, faster installation, less cables and cheaper (non-studio) cameras can be used.

The wish-list was:

  • Small
  • Portable
  • Easy to install/operate
  • Good reception, preferably with an option to extend the wireless signal if necessary
  • Adaptable in the future for different cameras or mixing desks.

 

As I have no proper background in RF design I opted to use available modules and early on decided to use Xbee modules from Digi. The Zigbee protocol is used and the modules are running in transparent mode. This has the advantage that the modules themselves take care of the routing and relaying of data, even if one of the modules/camera would be out of reach of the base station.

 

I decided to use the same microprocessor for both the senders and the receivers. After thinking about possible future additions I ended up picking the PIC16F721. While this chip has more options than strictly needed, I prefer to know a couple of micro controllers pretty well and use those. It has two 8 bit timers, one 16 bit timer, an ADC, SPI, I²C and UART modules as well as an internal oscillator and can operate with a supply between 1.8 Volts and 5.5 Volts. Pretty versatile.

 

After drawing a schematic in Eagle I started with the board design. To keep things somewhat compact I choose to use all SMD components, apart from the Xbee modules. SOIC chips and 0805 components are really not that hard to solder, as long as one has access to a decent soldering station, good lighting and some kind of visual magnification (good loupe, stereoscope,…). Instead of using batteries and having to design a charging circuit as well I wanted to make the system modular. As more and more wireless transmitters for video signals are using regular USB for power, I opted to do the same. Mated with a portable USB charger such as these ones, one has plenty of power available for the tally, transmitters and other possible additions on the camera. When not in use these can be used for plenty of other purposes as well.

JVC 790 Wireless Tally RX Board Tally RX board Ver 0.1

The first revisions had a micro USB connector, but after a while we decided to go for a bit more robustness and just wire a USB cable to the board. The footprint for the connector was kept on the board, so if the need ever arises it will be easy to solder it in.

I also needed a way to interface with the camera. The user manual has the pin-out for the studio connector. The tally input is on pin 2. When pulled to ground this enables the tally lights. After some help on the EEVblog forum I got the datasheet for the connector (site in Korean) used by JVC. After searching for a vendor for these connectors as well as contacting JVC they turned out to be almost impossible to order in reasonable quantities.

I first started trying to mould my own connectors based on the data from the data sheet and the connector in the camera.

Wireless JVC790 Camera studio connector

Wireless Tally Lieven Bitstream 10jan2014 (021)

Wireless Tally Lieven Bitstream 10jan2014 (019)

Wireless Tally Lieven Bitstream 10jan2014 (022)

JVC790 Studio connector

In the end this turned out to be beyond my capabilities :). The self-made connector was always too brittle, had too much friction, didn’t provide a reliable contact, … It was also a hideous contraption.

I ended up opening up the camera and adding a small breakout cable to try the system first.

Wireless Tally Lieven Bitstream_0001

JVC790 Wireless tally adapter cable

Now that the system has been tested and proven to work reliably in the field, I’ve ordered these connectors from Binder to replace the connector in the camera. They should be a nice fit, are sturdy and can be locked when mated. This way I can also make my own mating cables.

Wireless Tally Lieven Bitstream12mrt2014 (014)

Time to assemble the units.

Wireless Tally Lieven Bitstream12mrt2014 (010)

I chose these enclosures as they are rugged enough, easy to open and fit the boards nicely (after some modifications on the board layout).

While assembling I realised I had forgotten to buy the correct spacers. I ended up cutting some small plastic tubing (such as used for aquarium pumps) to length and sliding it over the bolts. Works just as good.

Wireless Tally Lieven Bitstream12mrt2014 (011)Wireless Tally Lieven Bitstream13mrt2014 (017)

 

Wireless Tally Lieven Bitstream13mrt2014 (019)

Wireless Tally Lieven Bitstream13mrt2014 (018)

If anyone is interested I’ll put the BOM, schematics and board files as well as the hex files for the microprocessor up for download. If I succeeded in documenting things the way I think they should, (most) things should be self-explanatory.

 

Wireless tally. Nearly finished…

After lots of troubleshooting my wireless tally project/product is nearly finished.

The prototypes have been tested in the field and proven to work as expected.

Next up are the finishing touches: etching the boards with the final adjustments, populating them, programming the microcontrollers and fitting everything in the enclosures.

Some pictures of the prototype boards:

JVC 790 Wireless Tally RX Board

An early version of the transmitter board. As a size reference: the top left pads are for a micro usb connector.

WirelesJVC790 Camera studio connector

This is the connector through which the tally on/off signal had to go. Unfortunately I couldn’t get hold of the proprietary connector (for a reasonable price) so I had to make my own connector, at least for the tests.

JVC790 Studio connector

Halfway casting a test connector.

JVC790 Wireless tally adapter cable

In the end I ended up making a breakout cable for the studio connector.

 

Xbee part numbers overview

As I am currently working on a project that involves XBee modules for wireless data transmission I had to look for the best type of module. There are a dazzling amount of different versions and plenty of websites that explain the the different lines of modules (Series 1, Series2, Pro vs normal versions,…). It was much harder to match the version and antenna type that I needed with the corresponding part number, and that is what I needed to order the correct one from suppliers such as Element14 and Mouser.

XBee S2 wire antenna

As a reference for future projects I created an overview with the different versions and different antenna options (RP-SMA, wire, PCB, chip and u.FL connector) and their corresponding part numbers. Hope it can help someone decide which one they need.

The sheet can also be downloaded as an odt and XLSX sheet.

XBee Series 1 (802.15.4) Xbee Series 1 (802.15.4) PRO XBee Znet 2.5 (upgradable to Series 2) Xbee Series 2 Xbee Series 2 Pro Xbee Series 2B Pro
WIRE (W) XB24-AWI-001 XBP24-AWI-001 XB24-BWIT-004 XB24-Z7WIT-004 XBP24-Z7WIT-004 XBP24-BZ7WIT-004
PCB (P) XB24-API-001 XBP24-API-001 XB24-BPIT-004 XB24-Z7PIT-004 XBP24-Z7PIT-004 XBP24-BZ7PIT-004
U.FL (U) XB24-AUI-001 XBP24-AUI-001 XB24-BUIT-004 XB24-Z7UIT-004 XBP24-Z7UIT-004 XBP24-BZ7UIT-004
RP-SMA (S) XB24-ASI-001 XBP24-ASI-001 XB24-BSIT-004 XB24-Z7SIT-004 XBP24-Z7SIT-004 XBP24-BZ7SIT-004
CHIP (C) XB24-ACI-001 XBP24-ACI-001 XB24-BCIT-004 XB24-Z7CIT-004 XBP24-Z7CIT-004 N/A
  Int. version: add J
 
  Xbee Wifi S6B Xbee Wifi Xbee 686 long range pro XBee Programmable Pro
 
WIRE (W) XB2B-WFWT-001 XB24-WFWIT-001 XBP08-DPWIT-024 XBP24-BZ7WITB003J
PCB (P) XB2B-WFPT-001 XB24-WFPIT-001 XBP08-DPPIT-024 XBP24-BZ7PITB003J
U.FL (U) XB2B-WFUT-001 XB24-WFUIT-001 XBP08-DPUIT-024 XBP24-BZ7UITB003J
RP-SMA (S) XB2B-WFST-001 XB24-WFSIT-001 XBP08-DPSIT-024 XBP24-BZ7SITB003J
CHIP (C) N/A N/A N/A N/A
Int. version: add J

As user Bombledmonk pointed out in this forum post on the EEVBlog forum, Digi has a nice comparison sheet on their website comparing the different lines of Xbee products.

Panasonic PT-AE100E lamp power supply repair

I got hold of a “broken” Panasonic LCD projector. The lamp would start up, flicker for a couple of minutes and then shut down. No error messages where displayed.

Light! But only for about a minute or two...

Light! But only for about a minute or two…

The owner had send it to Panasonic to have it repaired but was told that the LPS (lamp power supply) board needed to be replaced, at a cost of €450. As that was too much compared to the price of a similar new projector the owner didn’t want to invest in a repair and decided to give up on the idea of having it repaired.

While browsing around the internet looking for clues I found some similar problems mentioned on forums, but no solution other than to replace the LPS.

I did find some LPS on Ebay for €39 + shipping, but those where second-hand which I didn’t like.

Off to dissecting the board then. When looking at the control signals going to the LPS everything looked fine. The power coming in from the power supply board was stable as well, so I figured the problem probably lay on the LPS board (as was expected).

The circuit boards inside the projector. The LPS is at the bottom left, underneath the lamp.

The circuit boards inside the projector. The LPS is at the bottom left, underneath the lamp.

As the lamp flickered I figured the amount of power going to the lamp wasn’t enough, pointing towards one of the transistors generating the drive current for the lamp, some International rectifier IRG4IBC30FD “insulated gate bipolar transistor with ultrafast soft recovery diodes”.

There are four of them on the board, nicely heatsinked to a common heatsink. The first one I tested showed a short-circuit, the others were fine. When I removed the faulty one, there was no way to start the lamp.

IMG_0155

The LPS board, with the four transistors on a common heatsink on the left side of the board.

After replacing the faulty transistor -and the others as well for good measure- the lamp started nicely, and it has been running solidly for a couple of hours now. Temperature of the individual transistors stays nicely within specifications.

image

Light!

At a total material cost of about €27, I consider this a win :).

Dive light rebuilding

About two years ago I bought a Hartenberger “Maxi Compact” dive light for about €60.

As this was a 10 year old dive light with a halogen bulb and a well-used battery pack I think that was a fair price. Anyway, the plan was to use the housing for a modded LED light.

At first I just made a second battery pack, the first one was just (not) enough for one dive with the original bulb, so I needed a second one and charge one pack while diving with the other. Also bought a Graupner “Ultramat 14 Plus” battery charger as this was an affordable charger that can be used for a variety of different chemistries, but best of all, it has a port that allows for cell balancing. As I was using a 6S NiMH battery pack, that was a feature I wanted to have.

A couple of weeks ago I started making the LED module with driver, heatsink and connections to the battery pack. The original idea was to hack into the driver circuit that delivers the PWM to the original bulb as I could use the original on/off/dim switch at the back of the light, but I didn’t get there yet…

So. Starting with the heatsink. I couldn’t find a 62mm aluminium rod that I could use to turn the heat sink from (inner diameter from the housing), but I did find a scrap 5mm plate. Decided to try with two layers of that.

First drilled out a circle with a drill press, trying to keep it as round as possible.

Dive Light 1

Drilled a hole in the middle to allow a 8mm bolt (started with 5mm but clearly wasn’t strong enough for the coming abuse) to put the piece in the chuck of the lathe and two extra holes for 4mm bolts to make sure the two parts wouldn’t rotate but stay together nicely .

With the piece in place fired up the lathe and started grinding the rough parts with a metal file. When the piece was round enough -about 1.5 hours later- started off with the lathe, turning off really small pieces at a time. Never thought using a lathe was so much fun. I’ll come up with other ideas just to use the lathe again.

Dive Light 2

Ended up with this, rather happy with it:

Dive Light 3

Designed a drawing in Autocad for the driver, led modules, optics and wire holes and drilled them. Countersunk the bolts where necessary.

Dive Light 4

Rough positioning to check if everything fits.

Dive Light 6

With only a limited time before leaving on a dive trip I bought the driver circuit from Led-Tech as they could get me the parts quick enough. I wanted the warm CREE’s as their colour reproduction is better: CRI for CREE XM-L cool white is 65, CRI for neutral white is 75. There’s also a special warm white XM-L with a CRI of 90. Obviously hat would be the one to go for.

The battery pack delivers 4200mAh’s at 7,8 volts max, and the original idea was to drive 3 XM-L’s at 1200 mAh’s as that seems a sweet spot between power consumption, heat production and light output. To do so I’d need a boost converter (the leds have a 3.05V drop at 1200 mAh, so 9.15V nominal) but Led-Tech only had buck converters. New plan: drive two leds at 900mAh, use the light in a real-life situation for a number of times and see what the light output is like.

Dive Light 5

Dive Light 0

As I didn’t manage to hack into the PWM driving circuit (which had a feedback loop that relied on the halogen bulb and didn’t play nice with the constant current driver circuit), I just added a reed switch that I found in my parts bin. No holes that can cause leaks under water, just a magnet outside the housing to switch the light on/off.

Dive Light 7 Dive Light 8 Dive Light 9 Dive Light 10

Comparison with a 1000 lumen dive light:

Dive Light 11 Dive Light 12

And finally:

Dive Light 13

After about twenty dives with the light I realised that 3 XM-L’s at more than 1000 mAh would be overkill. Also, the optics that I used now are to wide. Nice in clear water, but as soon as there’s a bit of sediment there’s too much reflection. I might keep these optics on one of the XM-L’s, and give the other two a narrower beam. I’d need some kind of control to choose between the two and also a dimming circuit but that’s for later.

Really happy with the power consumption. Where I couldn’t do a single dive without the light getting dimmer at the end of the dive when using the halogen, I can now easily do 3 long dives without charging.

I’ll have to work on the connectors as well. Cramming an 7-pin connection on the battery packs, a connection between the front and the back (where the switch is), a connection between battery pack and the driver while keeping it all easy to open up for charging will take some thinking.

So far, I’m happy with what I have right now and *really* loved the lathe.