I am designing a PC Controlled 8 channel Relay using AVR microcontroller.

Here, the relays are on the right side of the board and are controlled by the AVR micro on the left side.

The eight TTL outputs from AVR are connected to a high current darlington pair IC like ULN2003A.

I may use either USB or RS485 interface to connect the board with PC.

Each relay is rated up to 7 A AC switching and there are eight of them. The relays are used to control AC electrical equipment.

PCB is double layered FR4 material.

The green layers in the below image represents the ground plane. The AVR microcontroller section has ground plane on both sides.

Block diagram

I want the circuit to work reliably in a high noise environment without resetting the AVR micro.

Both Micro and relay drivers are powered by a single 12 V DC adapter. 12 V DC to 12 V relays and 5 V to micro through a linear regulator.

Now my questions are:

  • Should I keep the ULN2003 close to the relays, so that the length of the high current traces going to the relay remains short and make the TTL 5V lines to the ULN2003 long or vice versa? Which is better?

  • Do I have to extend the Microcontroller ground plane under the TTL 5 V lines going towards ULN2003 as shown in the above image also or should I leave them without a ground plane (under the TTL 5 V lines only)?

  • Do I have to provide a ground plane under ULN2003A IC and the relay DC contacts?

Other Suggestions about proper ground designs are welcome.


I once assisted a consultant who had ICs burning out, because his PCB was located only 40 milliMeters from a 5,000 volt power buss that switched 2,000 amps in 1 microsecond.

The upset in the Ground plane was computed, assuming 4" by 4" loops in the Ground, as

V = [MU0*MUr*Area/(2*pi*Distance)] * dI/dT

which simplifies to

Vinduce = 2e-7 * Area/Distance * dI/dT

and inserting numbers, we have

Vinduce = [2e-7 * 0.1meter*0.1meter / 0.04 meters] * 2e+9 amp/sec

Vinduce (that is, voltage induced into loops in the Ground plane) = (2e-7 * 1/4) * 2e+9

Vinduce (from this 10MegaWatt bus) is

100 volts

So you need to identify your rate-of-change of currents, and compute how much GROUND UPSET can be generated.

Oh.....how much credibility does this math have? 100 volts around 4"by4" loop. I had the "consultant" make a 1"by1" loop, attached to coax cable; note this is 1/16 of the area I used in the math, so we could expect 100/16 = 7 volts.

What did the consultant measure? 3 volts, or 4 volts in some locations on the PCB. Versus 7 volts predicted. For a 2,000 amp flat buss (air cooled, I recall) located 4cm away.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.