DS89C420 (8052) Dev Board

Posted · Add Comment

Basically, I wanted a tiny development board for learning how to use the DS89C420 and for embedding into projects. I looked at different boards they were all pretty big and at the time they seemed expensive. So, I decided to build my own.

Prior to using the Dallas/Maxim DS89C420, I tried the PIC 16Fxxx chips with not much luck. The programmers were expensive and the home-brew ones didn’t seem reliable to say the least. So, after giving embedded development a break, this chip was recommended to me. A simple yet reliable ICSP box can be built for around $15 and the basic schematics are provided in the data sheet.

This project has been in three phases.

  1. Eveything on the breadboard
  2. Breadboard and Separate Programmer
  3. PCB with SMT parts

The Breadboard

ICSP Box

  • (1) MAX232ACPE
  • (1) 74HCT125
  • (5) 0.1 uF Caps
  • (7) 2 pin terminals
  • (1) DPDT toggle switch
  • (1) Panel mount LED and resistor
  • (1) DB-9 female connector and housing
  • (1) Radio Shack proto board
  • (1) Radio Shack project enclosure
  • (4) Standoffs and screws
  • Wire
The finished programmer board.
The board and cover with DPDT switch and status LED(indicated program mode is enabled).
Finished programmer in a Radio Shack enclosure
Finished dev board with the 40 Pin DIP

PCB

The PCB

The board was designed with PCB123 and manufactured by them as well. Since I got a 25% off first order discount, I splurged and got the soldermask and silkscreen. Designing a board so small with *lots* of traces took quite a bit of time. I’ve designed boards before, but they have been large, had large components and not so many traces. Overall, I am satisfied with the design, I only made four mistakes.

  1. Left some inputs floating on the 74125 and MAX232
  2. Left some 90 degree angles on some traces, fortunately the traces were for 5V and DTR.
  3. I should have made the serial connector have 4 pins (1 for ground)
  4. I picked some uncommon headers an 18 pin expensive funky connector

Aside from the above mistakes, the board works quite well.
Special thanks to Geza and Bruce for helping me with the board design and teaching me how to surface mount solder.Assembling this was quite a challenge to say the least. This was my first real attempt at surface mount soldering. Fortunately, I have a great teacher. The board was assembled in sections. First the caps, then the MAX232 and 74125, and finally the 89C420 and crystal. I did test the board at each step for shorts and proper voltages and all seemed well, until… the processor was getting rather hot. I was able to connect to the loader and upload code, but the heat bothered me.

So, the hot processor dilemma. First instinct was either a short or incorrect board design. I checked the board layout again and found nothing. I then broke out the multimeter and went on a search. Turns out there was a 0.2 Ohm short on pin 26 PSEN. First I thought it was under the 74125 (the soldering was a little suspect(hey that was the first chip I soldered)), so off it came and there was no short. I then decided to measure the resistance from GND to pin 26 on just the chip, ~20M, far from 0.2. Next step was to get help. We lifted 26 from the pad and determined that there indeed was a short there. So, off came the chip and there was nothing visible but it was still shorted. Under the microscope it went and look at what was found: Turns out that the first board I grabbed had a manufacturing defect. The tiny short was removed and now it’s happy and not getting very hot.

The tiny short from the trace going to pin 26 to the ground plane.
The location of the short.
The removed short.
The finished PCB. The chip is 10mm X 10mm