> | > PCB Design and Manufacture

PCB Design and Manufacture

Posted on Friday, 11 January 2013 | 1 Comment

In order to make the robot implementation more robust and neater, a PCB was designed.  The software used was the EAGLE design suite.  The tested prototype circuits were analysed and transferred to a schematic with connectors to interface the PCB with the Arduino and the rest of the robot.  This schematic can be seen below.
PCB Schematic
Each subsystem can be seen; the connector for the Arduino control signals is on the left, the motor chip middle centre, four LEDs for robot status to the right of the motor chip, three LDR detector transistor circuits, and then finally the Molex connectors on the far right.  At the bottom are two connectors to allow the two power supplies to be connected to the board.

When switching to the board view, the layout of the physical connections can be designed.  Connectors and components can be dragged and dropped into appropriate places, minimising wire crossing - as the manufacture process means that conductive tracks cannot cross.  In order to do this, careful route planning was made to use no vias, which are small holes drilled into the board to allow a track to cross from one side to the other.  In addition to this, it was important that many of the components were in particular places on the board, for example status LEDs and LDRs.  This made it more difficult.  A screenshot of the board view is below. In addition, tracks have to be at least 1mm wide, with a clearance between tracks and components of 1mm.  This is a limitation of the manufacturing process within the university.  A design rule checker was run to ensure that the board adhered to these specifications, and all errors corrected.
Board view of the PCB, with top tracks in red, and bottom in blue
This design was then printed, and taken to the EEE workshop.  The advice from them was to make sure that no tracks terminated at components on the top, as the plastic mounts can make soldering onto them very difficult.  This then meant that vias were placed in certain positions to facilitate this, particularly around the motor chip.  Text was also added to identify each robot, this text is copper on the final board.  A marking for the width of the servos at the front was also added to allow it to be drilled out and slotted in. The board was altered, and the final designs are below.
Bottom of PCB
Top of PCB
Note in the diagram above, three tracks on the PCB have been left on the top of the board.  This was missed during checks, and only noticed once the final designs had been sent to manufacture. This was not a huge issue, it just makes it much more difficult to solder on.

The PCB masks were then printed (minus the component labels and markings as these would also be masked) on paper, and then photocopied onto acetate slides ready for manufacture.  They were made overnight, and were ready to be picked up along with the connectors required from the workshop the next day.  The freshly made boards can be seen below.
Manufactured PCBs
In addition to this, the workshop helpfully drilled out the slot for the servos in the front...
Slot drilled out
The Molex connectors chosen matched sockets already connected to lasers and servos, however a mistake in the PCB design led to the wrong pitch of Molex being chosen.  This meant that the connectors did not fit directly onto the board, instead requiring wires to be soldered onto the board, and having the connector flying.  This solution is not ideal, as it means that each connection is much more fragile and less neat.  However this is something that can be easily fixed in the next iteration of design.  Heat shrink was used underneath the connectors and when wires had had to be split to prevent any shorting between connections.

A day was spent soldering components onto one of the boards - only one was done to test it, and check that it works before spending time doing the other one.  It was tested on one of the robots using some test code written to check each circuit in turn.
Completed PCB
The Arduino control signals are the coloured wires on the left as listed below, with the motor driver and X axis servo on the right.  The legs of the socket were bent out on the top three on the right hand side to enable soldering onto the tracks.  Another day was then spent soldering and constructing the second robot PCB.

Arduino Pin - Wire - Function
2 - Grey - Interrupt side
3 - Light Blue - Interrupt Back
4 - White - Headlights
5 - Yellow - Servo X
6 - Purple - Servo Y
7 - Green - Right Lights
8 - Orange - Left Lights
9 - Black - Motors Left  1
10 - Red - Motors Left 2
11 - Pink - Motors Right 1
12 - Dark Blue - Motors Right 2
13 - Brown - Laser Control Signal


  1. I am very much pleased with the contents you have mentioned. I wanted to thank you for this great article. I enjoyed every little bit part of it and I will be waiting for the new updates.


Theme MXS. Powered by Blogger.