Moving pcb

From XinCheJian
Jump to navigation Jump to search

We got two PCB's with motors up and running. They contain one Attiny2313 as the brain and one L293 as motor driver. They are used to test the sensors and the programming. One is already equipped with a sensor shield include four 38kHz IR receiver for the navigation. The idea is to arrange these four receivers in a way that the robot does not have to make a 360° spin to find the IT beacon. One sensor (the straight forward one) is facing straight forward and acompanied from one on each side arranged to cover a forward angle of ~ 120° the fourth sensor is facing backwards to cover the rear side of the robot.

Once one sensor sees the beacon the programming turns the robot in the direction where the sensor is looking to. The robot is turning as long as the straight forward sensor detects the beacon. Then the robot will move torwards the beacon.

See the two different types of test robots. The left one in the first picture is V2 and the right one V2 with a much smaller PCB of just 3x4cm. The second picture shows the Soccer Bot V2 in high resolution.

Soccer bot comparison V1 & V2
Soccer bot V2

PCB Design

As we still need to put everything into a tiny little box we need to design a PCB. It's also necessary for "mass production" when 30 robots have to be assembled. First try was the open source software KiCad and we was facing the typical beginner problems when not reading the tutorial :-)

After hours of work the PCB is still not done but we are very close. The PCB will be etched in a small quantity first (4 pieces) to check for errors. Later we could let them produced in bigger quantity when we are going to use it for the Swarm_robots project later.

First PCB Layout

Soccer bot PCB V0.1
Soccer bot PCB V0.1

After some drawbacks in KiCAD we got the PCB finally done. Or let's say we got one PCB design done. I am sure we still can/will/have to improve it but for now we keep that for our test robots. The PCB is one layer with just a few jumper wires on the top.

We included a standard ISP 6-pin header for easy re-programming and two 8-pin headers for attaching the shield on top of that main board. Those fancy LEDs are 1x power LED, 1x RX LED and 1x TX LED. A 5V regulator will provide a stable power supply (not sure if we keep that since when we are going to use just a single LiPo battery we just got 3.7V). Additional there are two motor connectors where the wires from/to the motors will be connected to.

First PCB

We finally got the first PCB printed and etched. The process took a long time since we probably did not have the strongest solution of FeCl3 and also not warm enough but we got the copper off the PCB. The quality is not the best since we are dealing with thin traces which are very narrow to each other. The layout should be good enough to let them produce since the factory can produce a better quality than we as we just had a laser printer and toner transfer paper. The holes are drilled and we are going to populate it for a first test run.

PCB is populated and after fixing some broken connections we could manage to upload the first test program to the Attiny.


  1. widen the traces
  2. increase the distance between the traces
  3. re-design to board to 4.5cm*4.5cm
  4. print silk screen on top of the board to mark the connectors
Soccer bot PCB without the chips
Soccer Bot PCB backside with two additional jumper wires
Setup to program the Attiny board via Arduino Nano 168 with a ISP cable
one version of Schematic
Simple Schematic of IR shield

Batch of 30 PCBs

Now THIRTY of the motor PCBs have been delivered and there are parts on hand to assemble at least 5. Some brief assembly instructions and a photo are on Swarm robots/Motor PCB 1st batch of 30 page.