Reflection Technology

DT206 AT89C2051 & SPI Flash Programmer

The DT206 is a programmer for the Atmel 89C2051 (a variant of the hugely popular 8031/51 microcontroller combined with 2K of Flash memory). The 8051 family is produced by Intel, Signetics, Atmel and others. There is a huge amount of software available for this processor.


  • The DT206 is basically two programmers on the one board and was designed to mate with the  DT004 board which connects to a Printer Port.
  • It can easily be configured for AVR programming as well.

This programmer board was designed to be used with the DT004, alternative printer port front ends can be built very easily.

Circuit - click here

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.

Input - SPI Programmer
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).

Output - SPI Programmer
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.

Power - SPI Programmer
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.

Software  - SPI Programmer
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.

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

J1 Header - SPI Programmer
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.

Optional - SPI Programmer
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.

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.

Input - AT89C2051 Programmer
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.

Output - AT89C2051 Programmer
A mass of pins can be daunting initially, but allows many options.
First, read hints.html and in particular, the part on ZIF to standard sockets.

Output Method 1
This option uses two single strips of 20 pin sockets. If you can get strips of twenty if you can get them, or cut a good quality 40 pin machine pin socket in half (the ones that have three struts across the socket are easiest to split).
   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 ZIF 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.

Output 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 AT89C2051.

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 ZIF 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.

Power (for AT89C2051 Programmer)
All built into the DT004 re-usable front end.

Software for AT89C2051 Programmer: 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.

For program development, BascomLT is a great Basic Compiler at ~$49USD.

Parts List

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

Note 1

The resistors R1, R2 & R3 determine the programming voltages for the AT89C2051 Programmer, so make sure 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 x 0.1uf Ceramic (Bypass cap. Code 104)
C2    1 x 0.1uf Ceramic (Bypass cap. Code 104)
C3    1 x 0.1uf Ceramic (Bypass cap. Code 104)
C4    1 x    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 x strips of 20 pin machine pin sockets.
1 x Aries 40 pin ZIF socket.

All rights reserved 1999-2005 Giovanni Moretti Palmerston North, New Zealand

  Privacy Statement Contacting Reflection Technology Product Return details