Home  Products Prices Directory Order Contact New Books Files Links Other
DonTronics Home Page DT206 AT89C2051 and SPI Flash Programmer.
Bottom of Page
 Mates with DT004 board.
Now Available. The DT206 is on a 2 Inch Simmstick platform.

This is the Peter Averill Design for the AT89C2051 programmer and the MCS Electronics SPI Flash Programmer which was originally designed by Jakub Jiricek

It has been found that the AT89C4051 chip can't be programmed with the DT206 programmer for some reason. The second address doesn't verify. This is using both the BASCOM series software and the Peter Averill software.

is a new driver and suggestions from Peter Averill regarding the programming of the AT89C4051 chip.
We aren't saying that all the problems have been solved, but look forward to user feedback on this one.

From:  Barry Hay spam suppressed @nomadic.com.au>
I've been absent for a while, but just today noticed a comment on your site saying that 89C4051s could not be programmed with DT206.  I don't understand - I have been happily programming 89C4051s using DT206 and BASCOM-8051 for some time now, once I resolved a Parallel port problem I had.

The DT206 has been designed as a multi purpose board. It is basically two programmers on the one board and was designed to mate with the Dontronics DT004 board which connects to a Printer Port, however this isn't mandatory as a printer port front end can be built up very easily by the user.
It can easily be configured for AVR programming as well.

SPI Flash Programmer:
In the top right hand corner of the board, there is a simple SPI Programmer using a single 74HCT126 chip. This has a 16 pin SPI programming header and a 10 pin input header. Due to the design of crimp connectors and flat ribbon cable, the pins are double the normal count required, so that two wires on a flat ribbon cable connect to each signal. This makes it 5 input and 8 output signals.

The 5 input signals can be directly wired to a DB-25 male connector using a 10 wire flat ribbon cable and a 10 pin crimp connector. You can fit a "back shell" to save the wires breaking off. Alternatively, you can connect the DT206 board to a DT004 board using a pair of 30 pin right angle male and female connectors. (see pictures).

The 8 output signals match the ISP programming header on the DT103 and DT104 boards. This can be wired up with a short 16 wire flat ribbon cable and 16 pin crimp connector at the programmer end, and an 8 pin female header at the other.
You will need to either cut off every second wire, or solder two wires to the one pin of the header. Heat shrink will help these wires from snapping off with continual use. Please note *** Two signals aren't used in the cable, so it is really only 6 connections for output. The Dontronics X-Programmer (serial port driven) also uses the same connection method, but goes via DB-9 connectors. Perhaps something similar could be done by making up an adapter with a small vero board, a DB-9 female, and an 8 pin female header. All you need then is the 16 pin flat ribbon cable terminated to a DB-9 male connector.

The SPI Programmer gets its power from your target board, however a link is provided to get it from a DT004 board if required. Alternatively, you can also power the target board from a DT004 board.

My main reason for producing the ISP Flash Programmer, was to support the AT89S8252 when used with BascomLT, so there is already a driver for it built in to this product. BascomLT is a great Basic Compiler at ~$49USD available from Dontronics via web download.
http://www.fmi.cz/jak/prog.html is the Home Page original designer Jakub Jiricek . You will find windows and DOS drivers at this URL.

Parts List:
1 by DT206 PCB (both programmers on one board)
1 by 74HCT126 (E2)
2 by 1K Resistors .25 watt
2 by 5mm LEDs.
A set of 2 by 8 male header pins suitable for connecting a 16 pin crimp IDC connector and flat ribbon cable to.
Suitable simple hardware to connect this cable to your target board.

A set of 2 by 5 male header pins suitable for connecting a 10 pin crimp IDC connector and flat ribbon cable to. This can then connect to a DB-25 male connector with a back shell fitted.
Or alternatively, use a DT004 board as a front end.

J1 Header:
A set of four male pins can be fitted to the J1 header position if  you choose to use the following +5V power features.
The default setting is to have the Flash Programmer get it's power from the target board. By cutting the track on the solder side of the board from pin 3 to pin 4, and using the pins and test links, you can power the programmer from a DT004 board if you wish by placing a link on pins 1 and 2. You will see that pins 2 and 3 are connected together. If you connected all pins together with two test links, your target board can be powered from the DT004 +5V supply.

Current Status of the SPI Flash Programmer:
This section of the board has yet to be tried and tested. As the schematic is simple, we feel there shouldn't be any real problems, however feedback is appreciated. This section was done to fill in the blank space on the board and to provide a low cost SPI Parallel Port driven programmer.

25-May-1999 DT206 ISP Programmer INFO:
Hello Don,
I also noticed that with both IC's populated, it would not work. So one of the 2 chips must be removed. About ISP programming:  this is really a pain. Not all LPT-ports are compatible and  for some users, it will not work. Don's design is
compatible with the design I use.
Best regards, Mark Alberts (Author Bascom Products)

AT89C2051 Programmer:
The rest of the board is a very fundamental AT89C2051 Programmer that uses a single 74HC174 chip and a bit of power supply switching logic. I have only seen one that contains less parts. That is the Blowit Programmer by my good friend Antti Lukats. This does a blind program, however it has just been removed from the web (30-Aug-98??) as he has chosen not to support it any longer.

You can connect the DT206 board to a DT004 board using a pair of 30 pin right angle male and female connectors. (You will see the pictures when I get boards). This gives you the power supply front end and the DB-25 input. Sure you can build your own, but the DT004 makes it very simple, and is re-usable for other projects.

A mass of pins that may be daunting when first appraised, but again, this has been done to allow many options.
First, read hints.html and in particular, the part on ZIF to standard sockets.

Method 1:
My first recommendation is to get a good quality 40 pin machine pin socket, hopefully one of the types that has three struts in the center that can be easily removed, so that two strips of 20 pin headers can be made. Alternatively, you may be able to get 2 strips of 20 pins. This makes it easy. Solder the two strips into the socket area marked 1-20 and 21-40. This lines up with the number 1 in the string of 1-2-3 numbers. These are at .6" centers. Get an Aries 40 pin socket. This will push into the 2 strips you have installed. This allows you to remove the socket for other projects (even on this board) if you wish.

Method 2:
Solder a 20 pin Textool socket into the .3" positions marked 1-10, 11-20. Or using the methods in hints.html, go via 2 strips of 10 pin headers so that this socket can be removed for other projects as well.
What are positions 2 and 3??

By soldering socket strips into each location, it gives you 3 positions to install a 40 pin Aries socket. The first position is for the

The other 2 positions can be wired with 5 jumper wires from the socket strip positions 2 or 3, to the pins on the male 30 pin header at the Simmstick bus. These connections are then selected by moving the 40 pin Aries ZIF socket from position to position. You can now have a Jerry Meng, or Chris Morris AVR programmer. The two positions will allow you to configure for two different types of chips. This will cater for 8, 20 or 40 pin micros. No need to worry about diodes or resistors for power as the DT004 has its own power.

This multi-position 40 pin Aries socket idea, is one that I have kicked around for years and yet never got past the in-head design stage. If it appears to work, I may well start laying down other Simmstick programmer designs using the same technique. It's my belief that all DIP programmers should be based on 40 pin multi-pitch sockets such as the 40 pin Aries.

All built into the DT004 re-usable front end.
The wall-wart or plug-pack can be AC or DC as the input has a diode bridge, however the input voltage needs to be high enough to produce 12 Volts at pin 1 of the Micro socket. This means an input voltage of around 14 to 18 Volts.

As an alternative, two 9 Volt batteries can be connected in series to make up an 18 Volt power supply. A small wiring harness with two battery clips and a DC connector can be made easily for this task.

http://www.dontronics.com/pa_pgm.html is the software produced by Peter Averill, who also designed the circuit of the AT89C2051 Programmer. Peter teaches Electronics at the Western Melbourne Institute of TAFE in Australia.
We hope to be able to include Peter's driver in BascomLT in the future. BascomLT is a great Basic Compiler at ~$49USD available from Dontronics via web download.

Parts List:
1 by DT206 PCB (both programmers on one board)
1 by 74HC174 (E1)
R1     1 by 2K2 Resistor .25 watt (2K2 for global engineers is 2,200 ohms)
R2     1 by 1K   Resistor .25 watt  See Note 1 ***
R3     1 by 270  Resistor .25 watt  See Note 1 ***
R4     1 by 2K2 Resistor .25 watt  See Note 1 ***
R5     1 by 1K   Resistor .25 watt
R6     1 by 1K   Resistor .25 watt
R7     1 by 4K7 Resistor .25 watt
R8     1 by 100  Resistor .25 watt
R9     1 by 10K Resistor .25 watt
R10   1 by 100  Resistor .25 watt

Note 1 ***
These 3 resistors determine the programming voltages for the AT89C2051 Programmer, so care should be taken to ensure they are within the 5% standard tolerance of common resistors. 1% resistors could be selected if they are readily available, but not required. Just make sure yours are as close to the value as possible and within that 5% mark.

C1    1 by 0.1uf Ceramic (Bypass cap. Code 104)
C2    1 by 0.1uf Ceramic (Bypass cap. Code 104)
C3    1 by 0.1uf Ceramic (Bypass cap. Code 104)
C4    1 by    1nf Ceramic (.001uf          Code 102)

LM317T Adjustable regulator in a TO-220 Case.
These are generally cheaper and more readily available compared to the small TO-92 case variety. To say nothing of the current ratings.

Q1    BC548 (BC547) NPN Transistor
Q2    BC558 (BC557) PNP  Transistor

US Transistor types  can be used, but you will need to position the devices at 180 degrees to the overlay as shown. This means the flat side of transistors Q1 and Q2 will both be facing towards the LM317T regulator. It also means you will have to bend the center leg slightly in the opposite direction.
US types are:
Q1    2N3904 NPN Transistor
Q2    2N4403 (2N3906) PNP Transistor

Recommended Position 1 ZIF socket configuration:
2 by strips of 20 pin machine pin sockets.
1 by Aries 40 pin ZIF socket.

If you do happen to cut up and file a 40 pin machine pin socket for this task, take note of the thickness of the plastic and make sure that additional rows of header pins can be added to 'shoulder to shoulder' at a later stage. You may have to select the direction that the additional plastic is pointing.

You may also like to file the pins a whisker at pins 20 and 21 positions as you will see the Aries socket have a little lug near this spot. I normally don't worry as I install these sockets into any machine pin socket.

Operation with Peter Averill's software.
There are a few things to be aware of.

The Calibration program is designed to be used with Peter's original power supply design which has a system of pots to set the voltages accurately, however we have found that off the shelf resistors allow for reasonably accurate settings and the voltages can be checked prior to programming a Micro, by measuring the voltages at pin 1 of your programming socket.  The program allows for 12Volt and 5Volts, but not 0 volts, so don't be concerned if you don't see pin 1 go to zero during the calibration phase. These voltages should be +/- 5%. Resistors R2, R2, and R4 determine the voltages.

The programmer works with both a uni-directional (one way communication) or bi-directional (two way communication) printer ports, however there are some limitations with uni-directional ports.

If you can't set up a bi-directional printer port, you can do what is called a blind program, that is, there is no verify, or ability to read the contents of the AT89C2051 Micro.

If you do a blind program, try the walking LED program first and test for results by setting up a circuit the same as the DT203 board, or use a DT203 board as a test bed.

If you wish to burn another program, make sure that you do an erase before doing so, otherwise you will end up with programming errors. These won't show up with a blind program.

The Monitor program of Peter's that is part of his zip file, requires an 11.0592Mhz  crystal to run correctly at 9600 Baud.

Now Available:

1 by DT004 blank PCB  (Parallal Port Input and Power)
1 by DT206 blank PCB  (2051 and SPI Programmer)
A pair of male/female right angle 30 pin connectors to join the two boards together with.
$30AUD including World wide postage.
(Make sure you solder the female connector to the DT004 board).

11.0592Mhz  Crystal. Add $3AUD
24Mhz  Crystal. Add $3AUD
AT89C2051-24PC 20 pin DIP, 24Mhz, 2K Flash. Add $10AUD.
DT104 Simmstick Target board. Add $8AUD.

These above items will fit in a large Air Mail letter, so no additional postage costs are required.

Any more than this will bring it up to the small padded bag standard, so additional postage costs will be added to suit.

The DT003 may suit your needs also if you are going to use the on board UART (RS-232) section of the AT89C2051 micro. There is also a small kit of parts for the DT003 board. This called the DT003-K.

I will possibly make up other kits of parts as we go along, but that's it for now.

General Order

Feet Note ***  A set of rubber feet tops this project off.

Home  Products Prices Directory Order Contact New Books Files Links Other

DonTronics Home Page

mailto: don@dontronics.com_
Copyright © 1996-99 DonTronics
Top of Page