WILLETTE PROGRAMMER


Q. What is the Willette programmer, and why do I need one?

A. The pgm908 kit (a.k.a the 'Willette programmer') is a standalone programmer for the MC68HC908GP processor. The power is obtained from a PC serial port. The board is 2.25 inch square has a ZIF socket for the processor and a ICP header for target board programming. The complete kit was $30US. The programmer group buy is over but spares are being shipped on a 1st pay basis.

Qty.PartDescription
4D1, D2, D3, D41N4001 diode
1Z11N5200 5.6 Volt Zener diode
2C1, C20.1µF capacitor
4C4, C5, C6, C71.0µF capacitor
3R1, R2, R31 kOhm resistor
1R410 kOhm resistor
1OSC19.6608 MHz oscillator
1Q1ZTX450 NPN transistor
1MAX232MAX232N serial chip
1DB9FDB9 PCB connector (female)

The remaining kits for the 68hc908 programmer are available. The kit is complete except for the 40 pin socket. In order to program blank chips for the Megasquirt you would need to purchase a 40 pin Dip socket. To program the Tomtek MegaJolt you do not need the socket; connect pins or wires to the ICP header. Partial kit price was $25US and included shipping to North American destinations.

More info is at the site: http://groups.yahoo.com/group/68hc908pgm.

Note that MegaSquirt 'kits' come with the processor pre-programmed! You don't need the Willette program to run MegaSquirt or perform standard upgrades on these processors. However, if you purchase a blank chip from any other supplier than the group buy, or if you want to extensively rework the MegaSquirt code, you need this programmer. See the Yahoo 68hc908 group for more info.

Note also that Patrick Carlier also has designed a programmer for the 68HC908. His programmer was designed to program the Motorola MC68HC908GP32 micropocessor, in combination with a personal computer, and the progsz08 free software by P&E micro systems. It was developed for the Megasquirt group and its offspring, although it can be used for any MC68HC908GP32 based project.

Features are :

More information is in the MegaProgrammer manual which can be downloaded as a zipped .pdf [megaprog.zip] from the files section of the MegaSquirt® Forums.

Patrick can provide PCBs, partial kits, full kits and assembled and tested kits. Contact Patrick at p.carlier@pandora.be for ordering details.

Another alternative, for those wanting a fully assembled programmer, is the Motorola 68HC908 Programmer from Futurlec for $49. Don't forget that you will also require the 68HC908GP32 Adaptor on the same page, for $16.


Q. Anyone have the steps to program a new processor with the Willette programmer documented?

A. Yes. Make sure you have the latest of the Prog08sz software. Get the latest version from at http://groups.yahoo.com/group/68hc908pgm/files/software/prog08sz.zip.

1. For MegaSquirt® code (not tomtek ignition), assemble both the boot_r12.asm and megasquirt.asm into their respective '.s19' files. See how to do this in the 'CODE' section of this FAQ. (Tom's ignition code and dual table MS code already contain the boot loader, so you only get one file.)

2. Start up prog08sz, you might have to retry several times to connect. If you can't get a connection, read the 908 archives for some hints on debugging.

3. Often the connect problem is low voltage due to a wimpy serial port, so Jim says eliminate this problem by connecting an external power source. (e.g., a 9 volt battery) to the circuit. Connect the + to the banded side of D2 (or D1) and the - to a ground point (e.g., the mounting lug on the 9 pin connector).

4. Select the 908_gp32.08p module when asked to "Specify Programming Algorithm to Use!".

5. If this chip has been programmed before, you need to erase it (if in doubt, do this anyhow). Click on the button with the 'pencil erasing' icon (6th from the left) to Erase Module. When this is done, it says "Erasing. Module has been erased" in the lower left corner of the screen, after which you should verify the chip with Blank Check Module (the button beside Erase Module). You should get a message saying "Erased."

6. Click on "SS Specify S Record" in the window on the middle left [or the 'diskette' button in the menu], and select "boot_r12.s19".

Click on "Program Module" [on the menu on the left, or use the button beside the 'diskette'/Specify Record button]. After a few seconds, it should complete.

Then you can then click on "VM Verify Module" [on the menu on the left, or use the button beside the 'Program Module' button]. You should get a message that the module was 'verified'.

7. Click on Specify S Record as above, this time selecting "megasquirt.s19" Follow this with "Program Module", then "Verify Module". Note that you can consolidated steps 6 and 7 by including the boot_r12 code when assembling megasquirt.asm, just uncomment the last line in megasquirt.asm before you assemble it.

8. Disconnect the serial cable from the programmer, unlatch the ZIF lever, remove the chip, and you should be ready to insert the chip into a MegaSquirt® controller and run.


Q. What do the X4/X2/Div jumpers on the programmer do?

A. This is the clock divider for the uP and allows you to determine baud rate based on the oscillator. You MUST connect a jumper from DIV to either X2 or X4 for your programmer to work.

The OSC is divided by 4 for Div jumpered to X4 or 2 for Div jumpered to X2 to obtain the uP clock. The clock is divided internally by 256 to obtain baud rate for serial communication.

A 19.6608mhz clock /4 = 4.9152mhz 4.9152/256 = 19.2K

You can also calculate this way X4 = divide by 1024 and X2 = divide by 512

For example:


Q. I've built my programmer, but I can't get it to work. What should I do?

A. Here are some checks to make when troubleshooting your pgm908.

Check that your cable is straight through pins 2,3,4,5 and 7. (other pins straight though are OK but not needed)

Load hyperterm set to the correct com port.

Measure voltage on pins 7 and 4 of the serial cable (pin 5 is ground), without the programmer attached, they should be around +11 to +12 volts. If they are about +7 volts your com port may not be able to supply enough current to power the circuit.

In that case you can wire the positive lead of a nine volt battery to the banded end of D1 and the negative to any ground point (like on the ICP header area). Or try another PC.

The voltage at the X4 location should be +4.5 volts or higher the voltage at R2 should be about 2 volts higher than X4.

With the PGM908 attached and the PROG08 software loaded the voltage on pin 7 of the DB9 should be positive pin 4 should go positive when PROG08 tries to power up the circuit.

Pin 1 of the uP should be close to the lever on the ZIF socket which should be on the OSC side of the board not the C1 side of the board.



MegaSquirt® and MicroSquirt® controllers are experimental devices intended for educational purposes.
MegaSquirt® and MicroSquirt® controllers are not for sale or use on pollution controlled vehicles. Check the laws that apply in your locality to determine if using a MegaSquirt® or MicroSquirt® controller is legal for your application.
©2004, 2005 Bruce Bowling and Al Grippo. All rights reserved. MegaSquirt® and MicroSquirt® are registered trademarks. This document is solely for the support of MegaSquirt® boards from Bowling and Grippo.