• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

AT89Cx051 Programmer not working correctly - Increase waiting time?

Not open for further replies.


I have attempted to make an easy AT89C2051 programmer using the schematic I made below:

I have manually tested all possible configurations with software, and the circuit functions correctly to the software but I tried one atmel chip with it and it does not program correctly. It seems to be stuck in an erased state.

As for waiting period, I rely on the busy signal to change to correct state each time and that is a success.

I tried erasing the chip then tried downloading a 300 byte file to the chip and on my Pentium 4 it took about 1/10th a second to complete everything.

Could it be that the waiting period provided by atmel documentation is incorrect or are all AT89cx051 chips from ebay that terrible? or should I just manually increase the waiting period and ignore what Atmel has to say?

Here are the values I used:

All pull-up resistors: 10K
Resistor marked 0: 0 ohm (so eagle could route the damn thing)
Resistor from busy to circuit: 0 ohm
Resistor from IC VCC to +ve: 0 ohm
Decoupling capacitor for ICs: 47nF
Decoupling capacitor for power (C1): 100uF
All transistors: 2N3904
Resistor connecting to 12V: 100K (to be within the 250uA current limit for programming)
555 timer resistors: 10K
Capacitor between ground and timer pin 2: 1nF
Capacitor between timer pin 2 and transistor: 1uF (to enable 10mS timing for programming)
Other resistors: 2K
X1M = Large Grounding pins for parallel port = Ground

So what could I be doing wrong?

This is the information I relied on when creating my programmer:

Not open for further replies.

Latest threads

EE World Online Articles