Restoring the FT-101ZD

E-mail Print PDF

The Yaesu FT-101ZD was brought on the market in 1979, as a  low cost alternative to the Yaesu FT-901ZD.... so it may not be a real boatanchor but is a bit of a classic.

I got my Amateur Radio license in 1997 and hold the call ZL1WJQ.  Most of my operating has been on 144mhz but recent changes to license regulations opened the HF bands without the morse requirement.  This and having plenty of space living in the country has me enthused to find a lower cost HF rig and have a play.... hence the 101ZD.

I found this on Trade Me... the price was right and on receiving the unit I was pretty pleased with the purchase.  It is in nice physical condition and was as described by the seller.


The main problem described by the seller was that the digital frequency counter wasn't operational.  The unit came with a Jaycar frequency counter kit (to be assembled)... a nice unit actually.... I already have the version 1 counter and this was version 2 with updated software and a built in prescaler.... I plan to assemble it but not for the FT-101ZD... I wanted to keep this more original. 

My original plan had been to build my own frequency counter based on an AVR and use the existing 7 segment displays but some research showed that a fault with the custom MSM9520RS is fairly common... the part is near impossible to obtain..... and that Teruhiko Hayashi (JA2SVZ) has produced a kit based in a PIC microcontroller that is a plug in replacement for the MSM9520RS. 

With assistance from the internet and PayPal I had the kit on the bench within 5 days of first making contain with Teruhiko.  Details on the kit and installing it in the next post......

When I first powered up the rig I noted that the panel lights for the dial didn't work although the meter lighting was fine.  Opening it up I found that previous owners had  on finding the dial light blown wired in an additional bulb (not replacing the existing ones) and this was dangling from a couple of wires behind the dial.... and had also failed.

Rather than replace with bulbs I decided to go the LED route so used some bright white LED's with current limiting resistors.

It was a bit of the fiddly job to get the old bulbs out and the leds back in place inside the rubber grommets.... without removing the whole front panel but it is certainly doable with a pair of old chopsticks to hold things in place and provide a bit of leverage.  I decided to replace the dial bulb at the same time.... LED's all around.

Here is the result......


No frequency display yet.... that is still on the bench is pieces but nice to see the panel lit again.

After all that I am not sure about the white meter light.... it seems a bit too stark.... the original bulbs provided a warmer yellow look.... just might have to try swapping the white LED for a yellow one and see how that looks......


MC145170 Control Software

E-mail Print PDF

Last last century (around 1998 from memory) I purchased a PLL board from a company called DC Kits.  This board uses a Motorola MC145170 PLL and was programmed by a PIC microcontroller.

Wanting a bit more flexibility I wrote some simple PC applications that allowed the MC145170 to be programmed via the parallel port on a PC.

These applications and notes were originally hosted on and appear to have disappeared.... so is response to the periodic requests I get for the software and notes here they are:



When I first got my Technician Class Ham License (similar to Limited in the USA)  I was keen to get started and build some basic VHF equipment as my interest was more in the construction and experimentation than  operating 'off the shelf' equipment.

I found out fairly quickly that building a stable VHF oscillator was harder than it first appeared (to me at least).  I built a couple of FM radio microphone type transmitters that worked but drifted terribly.... and that was at 100mhz.... what was going to happen at 144mhz which was that target?

After lots of reading I finally decided I needed to go with the PLL controlled VCO to get the stability and precise frequency selection that I wanted.  The Motorola web site had lots of information on PLL's and application notes but the loop filter calculations and design looked a little out of my league without any real test equipment.

Note:  In the next section I refer to the EXP-1 kit from DC Electronics.  The software available on this page is not restricted to the EXP-1 kit.  It can be used with any MC145170 PLL controlled oscillator.

After a lot of browsing the internet a solution appeared in a kit from DC Electronics called the EXP-1.  The EXP-1 is a PLL experimenters kit.  It comprises a Motorola MC145170 PLL with loop filter and a preprogrammed PIC chip allowing selection of any frequency from 0..185mhz using the on-board keypad.

To build a complete oscillator the constructor needs to construct a VCO on the development section of the EXP-1 board.  DC Electronics provide some good oscillator examples in the application notes that come with the kit.

Constructing the EXP-1 kit should be straight forward for anyone with basic soldering skills and a reasonably fine soldering iron.  Comparing the parts with the circuit diagram helped prevent a couple of errors due to incorrect component references on the PCB and explains the couple of 'spare' parts that are left at the end.... a resister and a capacitor which the circuit shows are used in the connections between the loop filter/PLL and the audio input respectively. 

Having completed the kit is was time to build an oscillator. 

The application notes provide some good examples (although a little light on the theory of operation..... particularly calculating L/C resonant frequency with varactor diodes providing the capacitance) of VHF VCO's with recommended components for selected frequencies.  I picked the lowest component count option which required a Motorola MC1648, a shielded coil, 2 capacitors and a dual varactor diode (all of which can be ordered from DC Electronics with the EXP-1).

I built the oscillator on a small 'daughter board' rather than directly on the prototyping area.  This probably has an effect on the overall performance but surprisingly everything worked first time and after keying 14400 on the keypad and setting the appropriate frequency on my scanner there was the carrier......



PICAXE to Microchip Part List with Datasheet Links

E-mail Print PDF

I was trying to answer some PWM prescaling questions on the Yahoo PICAXE group and needed a list of the Microchip part numbers used by each PICAXE version. 

It took a bit of digging but I came up with the following list with links to the Microchip datasheet for the parts.

PIXAXE MicroChip Microchip DataSheet
08 PIC12F629
08M PIC12F683
18 PIC16F627
18A PIC16F819
18X PIC16F88
28A PIC16F872
28X PIC16F873
40X PIC16F874

Flying the J3

E-mail Print PDF

While in Irvine, CA for business I had the opportunity to fly a Piper J3 Cub. 

The cub is on line at Sunrise Aviation at John Wayne Airport in Irvine CA. 

There are not too many opportunities to fly a real J3 in New Zealand and having recently renewed my PPL in a taildragger (ZK-CIT) was keen to give the Cub a try.


What can I say..... it was a blast.  Flying from the back seat wasn't as difficult as I expected.... it helped that the CFI I flew with was short and slim so the airspeed indicator was visible but even this was for a quick cross check..... the picture out the window made it fairly easy to fly the required speeds.  I also tended to flare a little high for the first few landings although a bit more practice would help get that picture right.

I was very surprised at how heavy the controls were.... particularly the elevator in the flare.... I guess that is what trim is for!

It was certainly interesting operating a cub into an airport that sees a constant stream of 737, 757 and A320 airlines plus business jets.  It must have made for some interesting comments from any passenger who looked out the window... if any do!  Not really an ideal location for a Cub as he approaches tended to be fast and steep to avoid the wake of the larger aircraft on the parallel runway.... but a lot of fun anyway. 

Now I need to find a J3 on a grass strip to play with...... maybe Andover Flight Academy when I am in New Jersey in May 2007.... although the Stearman looks interesting too!

Without getting on the "taildraggers are better...." bandwagon I have to say that learning to fly a taildragger has been one of the best things I have done... mainly because there are so many interesting and different airplanes out there that you can try out.  Trikes a great but they tend to be very similar......


PICAXE 08M Motor Running Indicator

E-mail Print PDF

Living in the country means having certain technology/equipment/stuff that normal city living people don't have.

One of these things is a bore that supplies water for our stock.  This has a 100m (approx) pipe down into the ground and pulls the water up into a header tank.  We had a problem a few months back where the bore died due to old age/splits in the pipe and wear in the valve at the bottom of the pipe.  In reality is was probably performing worse and worse over time until it eventually got to the point where it couldn't fill the header as fast as we were draining it.

The bore is now fixed but this got me thinking.... if I had a way of tracking the pumping time each day it would show a trend and indicate in advance if there were impending problems.

While it is possible to use a hall effect sensor and monitor the current flow to the pump this was getting a lot closer to the 240v power than I wanted to get.

Instead I built a small unit based on a PICAXE 08M and an IR Diode/Sensor that monitors if the motor is running by watching for interuptions from the pump arm.

The output of the unit is a logic level signal that indicates the pump is "running" or "not running".  This signal is used by an AVR/Packet Wacker based board which collects data and makes it available for loading into a MYSQL database for later trend analysis.

The code for the PICAXE 08M is as follows:

' Bore Pump Running Monitor
' Checks for regular breaks of the IR bream and provides a running/not running status
' via the status output pin
' Pin Assignments:
' 0 = (Out) Serial
' 1 = (Out) Pump running (1=running, 0 = not running)
' 2 = (Out) PWM
' 3 = (In) IR Status
' 4 = (Out) Mode Indicator (1 = setup, 0 = monitoring)

' Constants

symbol C_RUNNING = 1
symbol C_NOTRUNNING = 0
symbol C_AIMTIME = 30
symbol C_WARNTIME = 30
symbol C_SLEEPTIME = 30
symbol P_MODE = 4
symbol P_IR = 3
symbol P_STATUS = 1

' Variable Usage


#picaxe 08m

        ' Configure PWM Pin 2 for 40000hz PWM Output

        pwmout 2 , 24, 50

        ' Initial state is not running until we decide if it is

        low P_STATUS

        ' First wait until the IR signal is received so we know the installation
        ' is ok and future interupts for loss of signal is caused by the pump arm
        ' breaking the beam

        low P_MODE
        if pin3 = 0 then startloop2
        ' IR Signal so Mode indicator on and count trigger until the limit is reached

        high P_MODE
        pause 150
        if RUNTRIGGERCOUNT <= C_AIMTIME then startloop
        goto startloop3

        ' No IR Signal so Mode indicator off and reset trigger count
        low P_MODE
        goto startloop
        ' Tell the installer that the aim should be ok and we are waiting to check
        ' it stays valid for 5 seconds before initializing interupts

        pause 100
        toggle P_MODE
        ' If IR lost then restart sequence

        if pin3 = 0 then startloop2

        ' Keep checking while we tell the user

        if RUNTRIGGERCOUNT < C_WARNTIME then startloop4

        setint %00000000, %00001000
        sleep C_SLEEPTIME
        if RUNTRIGGERCOUNT > 0 then mainloop2
        low P_STATUS
        goto mainloop

        high P_STATUS
        goto mainloop

        setint %00000000, %00001000

The PICAXE code does three things:

  1. It uses PWM to generate the 40000hz signal to modulate an IR LED.
  2. It monitors the output from the IR sensor to determine if the beam is aligned/broken.
  3. It uses an LED to provides an aiming function for initial installation.

All with less than 80 bytes of code... pretty cool eh!


Optimizing VMWare Workstation Performance

E-mail Print PDF
VMWare Workstation is a fabulous tool for software demonstrations (and development, testing and maybe even production... but none of these uses are the focus of this entry...).  Many companies including the one I work for use VMWare Images and the free VMWare Player software to provide preconfigured demonstration systems either directly to customers or for the company sales team.

As images get larger and the application/sales team requires Windows XP (suitably licenced of course) in the images for demonstration we started seeing performance issues that didn't exist with our previous Windows 2K Images.

I have found the following VMWare Image configuration settings significantly improve performance:
  1. Use SCSI (not IDE) disks in the image.
  2. Ensure virtual disks are PreAllocated instead of Growable.
  3. Ensure virtual disks are configured as Independant and Persistent.
  4. Prevent memory trimming by adding MemTrimRate=0 to the .vmx file for the image.
  5. Prevent creation of a VMEM file at runtime by adding sched.mem.pshare.enable = “FALSE” to the .vmx file for the image.
  6. Also adding mainMem.useNamedFile=FALSE to the .vmx file form the image.
  7. Disable Networking if it is not required.
The assumption with this configuration is that you are running one VMWare Image at a time and have a host with sufficient available memory so the allocation specified in the .vmx will not cause swapping on the host.

None of this is particularly new... it is all documented in Performance Benchmarking Guidelines for VMware Workstation 5.5.

C64DTV in a BTC 9118 Keyboard

E-mail Print PDF

This project is by no means original but the mechanics of building a C64DTV into a BTC 9118 mini keyboard may be of interest to someone....

A bit of history....

I picked up a PAL C64DTV in K-Mart in Sydney (Australia) in December 2005 with great plans to hack it into something interesting (very been much of a gamer).  It is not November 2006 and some progress is finally being made.  As they say on the Mainland Cheese commercials... good things take time (if you are not from NZ check out for a bit of Kiwi culture).

Getting started....

Not being a great gamer I thought it would be a fun project to build the DTV board into a keyboard, add some external storage and use it to get a feel for C64 programming.  Never was much of a C64 user back in the 80's.  I could have powered up the real C64 or C128D in my retro collection but a side benefit of the repacked DTV is I can take it with my on long business trips to occupy a few boring evenings (an emulator would be just too easy!).

Finding a keyboard....

The first step was to find a keyboard with sufficient free space internally to be useful but also small enough to throw in my travel bag.  In New Zealand compact keyboards appear to be relatively uncommon and those that are did not offer much in the way of internal space... not that I would see looking at the online advertising photos anyway.  Even at NZ$ 25 each (approx US$ 15) the project price starts to climb when purchased parts are unusable.

A likely candidate was the BTC 9118 compact keyboard.  This was available from a number of resellers at a good price and a great article by Monty N5ESE showed how one could be used to build a CW keyer.  The best thing about Monty's site was the internal keyboard pictures that gave me a lot of confidence that a C64DTV board could be mounted internally.


The Internals....

The BTC 9118 cases comprises two halves... the top half contains the actual keyboard and the keyboard controller PCB.  The bottom half contains nothing at all... but is has a very convenient "tray" half of which is empty.

This picture shows the internals of the BTC 9118 with the C64DTV board, a small regulated +5v power supply and power supply connector.


The Process....

The process I followed to repackage the C64DTV for this keyboard was as follows:

  • Disassemble the C64DTV joystick!
  • Remove the motherboard and unsolder the BAT+,DIS,LED+,E- and joystick wires.
  • Unsolder the Video (Red), Audio (White) and Gnd wires.
  • Test the C64DTV board for size in the keyboard "tray" and use a file to shave a small amount off the board so it fits property.  Refer to the picture below and you will see a vertical line marking the side I shaved.
  • Remove the red LED from the standard C64DTV switch board and mount it directly on the C64DTV board in the LED+ and E- holes.  The flat side of the LED goes on the E- side.
  • To ensure the board sits as low as possible in the "tray" remove C5 (this is the component reference for a PAL board) and reinstall lying sideways against the board.  Be careful with the polarity... -ve on the capacitor goes to the hole with the shaded silk screen.


  • Remove the keyboard controller board and unsolder the keyboard cable.  Solder a 4 pin header into the controller board where the cable connected and trim the pins so they are long enough to solder to but not too long that they prevent the case from closing completely.
  • Build a small +5v voltage regulator.  I used a 1N4004 diode for reverse polarity protection, a 78L05 regulator and two 1n caps.  This works well with the 8v plug pack I am using.  If you are using a higher voltage plugpack you may need to use a standard 7805 with a heat sink.
  • On the voltage regulator board I also mounted a pushbutton (salvaged from the PCB of an old modem).  When not pressed the behavior is the same as the standard C64DTV power switch being on (GND on the C64DTV is connected to the -ve power supply).  When pressed the behavior is the same as the standard C64DTV power switch being off (DIS on the C64DTV is connected to the -ve power supply).  This works well as a "reset" button.


  • Wire the inputs of the regulator to the +/- inputs on the DC jack.  I mounted the jack on the rear right hand side of the keyboard.
  • Wire the +5v output of the regulator to BAT+ on the C64DTV.
  • Wire the +5v output of the regulator to VCC on the keyboard controller board.
  • Wire the Gnd output of the regulator to the common pole of the reset button.
  • Wire the Gnd output of the regulator to VSS on the keyboard controller.
  • Wire the normally closed pushbutton output to E- on the C64DTV.
  • Wire the normally open pushbutton output to DIS on the C64DTV.
  • Wire the DA pin on the keyboard controller to TP4 (PAL) on the C64DTV.
  • Wire the CLK pin on the keyboard controller to TP3 (PAL) on the C64DTV.
  • Reconnect the Video (Red), Audio (White) and Gnd wires to the C64DTV.
  • Test it out and when all is running permanently mount the boards in the "tray".

Making it work....

I found that the reconfigured C64DTV worked well once I discovered a few things:

  • PAL boards require CTRL (not K) to be held down during start if you want to end up in Basic rather than the games menu.
  • After startup in Basic my C64DTV board would ignore most key presses and those it recognized would be followed by 'V'.  This happened with all the keyboards I tried so I don't think it is a fault with the BTC 9118.  Pressing the Shift key once would fix the problem.  I have seen only one other reference to this behavior and that is in Hummer DTV FAQ.

Next Steps....

I may just have enough room to fit a 1541-III-DTV.... and maybe some joystick connectors.  Watch this space.


Ruby really is on Rails.....

E-mail Print PDF

Ruby on Rails is really popular at the moment (no kidding!).... but on it really is on rails.



Page 11 of 11

Powered by Easytagcloud v2.1

Contact Andrew Quinn