Producing the LX9co - a log of activity

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
Post Reply
User avatar
flynnjs
Posts: 830
Joined: Tue Jul 06, 2010 9:33 pm
Contact:

Producing the LX9co - a log of activity

Post by flynnjs » Thu Dec 18, 2014 3:09 pm

This is a sort of diary of how to get an idea made into a small batch of project boards.
First of all, we start with entering in a schematic diagram into Eagle:
lx9co-sch.png
Next, we lay out all the locations for the parts. The yellow lines are called air-wires and correspond the the logical connections shown in the schematic.
lx9co-brd-unrouted.png
Next we turn the air-wires into routed wires, or "tracks". Once all the air-wires have been used up we know all the right copper connections are in place:
lx9co-brd-routed.png
To reduce the amount of copper etched off the board (for various reasons) we flood the remaining space with copper which is often connected to power supply rails:
lx9co-brd-flooded.png
Eagle exports a set of "Gerber" files for use at the board house. Gerber contains data about where copper should be, where the solder resist should be and where drill holes and vias should be. This is used to etch, drill, plate and coat the boards but also used to laser cut a stainless steel solder stencil (more about that later).

Data also needs to be exported from Eagle to the pick and place machine software.
The data needed is:
Bill of Materials (BoM) - this is a text file with a list of all the components to go on the board
Item postition and rotation data
Package type data (what shape the component is)
Item name data
The P&P software combines this data to build up a picture of what needs to be put where.
The original workflow was to import BoM and Gerbers like this one:
gerbers.png
and use the groups of pads (in red) and component names (in green) the to identify component locations of the items in the BoM. As all that data is already combined in the Eagle database I now have a script for generating native combined data for the P&P.
Once in the first stage of the P&P workflow, it looks a bit like this: You can see the component shapes overlaid the gerber pads and rotation data for square parts so they don't get soldered on the wrong way around!
rvgerber.png
You can see two cross-hairs. These are used by the P&P software as alignment points and correspond to little round dots on the PCB called Fuducials which are used for optical alignment.

Next we set up the step and repeat detail. The board house is sending the PCBs in panels with repeated patterns on. This is much more efficient to handle in the P&P machine as you don't need to keep feeding it with empty PCBs.. it can do say 10 at a time before needing intervention. In this case I chose 5 wide by 2 deep. Not that we only use 2 out of the 20 fiducuals, the position of all the other boards is interpolated.
steprepeat.png
At this stage the P&P software knows what it has to pllace where but it doesn't know where the stock of unused component is. For that we need to define "feeders". Feeders are units that take component in bulk packaging and extract on for placement on a board. In this case I'm using a feeder that takes 10 lanes on 8mm carrier tape and another feeder which had 6 lanes on a mixture of 12mm and 16mm tape.
I'm also using a vibratory feeder which shake components out the end of an antistatic tube
and "passive feeders" which are not feeders at all but just a matrix tray. More real photos of the actual components in the feeders soon but this is how they are set up in software.
feeders.png
At last we have all the data ready to export a "job file" to the placement stage of the software which deals with the calibration of locations and placement.

The next stage is to head on over to the machine with all the components and start
putting them in the places we said we would in the setup software.

More later.

User avatar
roland
Posts: 3584
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Producing the LX9co - a log of activity

Post by roland » Thu Dec 18, 2014 4:10 pm

Thank you for this interesting story. Can everybody at this forum contact you for placing the components with the P&P machine?

During the development of the new Atom main board I also had several conversations with people who have worked in a pcb factory before, and the also told me how the production process works and what you have to keep in mind when designing a new pcb.

I have some useful additions for the step where you start to design your pcb. My design had mostly plated-through holes, tons of via's (connections between bottom and top layer) and one surface mount device. However, I think the next practical tips apply to whatever design you are creating:

1. First of all, check if the design rules (like drill diameter, minimum track with, minimum spacing width, etc) from the manufacturer are setup in Eagle. Otherwise you might end up with a useless pcb design.

2. Especially when you use libraries from third parties, place all the components at the position where you want to place them, print the preliminary design and verify that the component fits on the footprint (= the drawing of the pins of the component). In my design I had to edit several components and believe me: it's a lot easier before the pcb is made.

3. Start with the power rails (a tip that I got from forum members here).

4. Eagle is a very good application for this job, but the free edition is limited to half a euro card (10 x 8 cm, about 4 x 3,14 inch). Of course we do not use or even promote the cracks for Eagle [-X so KiCad is a good, free, open source alternative. It has some flaws, especially on a Mac but it works. The produced pcb's are of good quality (which also depends on your manufacturer).
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

Prime
Posts: 2824
Joined: Sun May 31, 2009 11:52 pm
Contact:

Re: Producing the LX9co - a log of activity

Post by Prime » Thu Dec 18, 2014 4:23 pm

roland wrote: 3. Start with the power rails (a tip that I got from forum members here).
Oddly I often do the power rails last, as when hand making the board you want to minimize the number of vias and extra holes to drill, so it it's often easier to route buses first and then route power last....may be a case of changing layers on one signal rather than a whole bunch.
4. Eagle is a very good application for this job, but the free edition is limited to half a euro card (10 x 8 cm, about 4 x 3,14 inch). Of course we do not use or even promote the cracks for Eagle [-X so KiCad is a good, free, open source alternative. It has some flaws, especially on a Mac but it works. The produced pcb's are of good quality (which also depends on your manufacturer).
I did try KiCad at one point but didn't think much of it, though that was a few years ago. I do have the Hobby version of Eagle so I can make boards up to a Eurocard (160mm x 100mm).

Another thing worth doing is check each signal layer individually for crossed signals, this has bitten me a couple of times, the last one was I had a data buffer controlled by an inverted copy of the R/W line (on the QL, but works the same way as on the 6502), problem was I'd crossed it with the non inverted R/W, so that was never going to work !

Cheers.

Phill.

User avatar
flynnjs
Posts: 830
Joined: Tue Jul 06, 2010 9:33 pm
Contact:

Re: Producing the LX9co - a log of activity

Post by flynnjs » Thu Dec 18, 2014 6:42 pm

roland wrote:Thank you for this interesting story. Can everybody at this forum contact you for placing the components with the P&P machine?
Sure, as long as people realise a few things:
- It's not worth me doing small numbers of boards if there are many component values. Of course, if you wanted 1 board with 500 LEDs on it then it might be sensible but one recent board I did had 150 components on of which there were 50 different values and the time to load 50 components onto the machine is significant and therefore the minimum run was 100 units.
- Unless the PCB is very large I won't work with single boards, it's too time consuming to individually paste and align them. Boards need to be in panels.
- It's a sideline, not my main job so has to fit in with family commitments (and bouts of 'flu!)
- It doesn't do through-hole components
- Components on both sides is tricky with my setup
roland wrote: 1. First of all, check if the design rules
Of course. I wasn't really wanting to focus on the pre-P&P stages in this thread.
roland wrote: 3. Start with the power rails
I tend to do power rails last. If the design is very dense then a 4 layer board with 2 layers dedicated to power is easiest.
Last edited by flynnjs on Fri Dec 19, 2014 8:54 am, edited 1 time in total.

User avatar
1024MAK
Posts: 9613
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Producing the LX9co - a log of activity

Post by 1024MAK » Thu Dec 18, 2014 11:22 pm

Power rails first vs. last does depend on the circuit. Where the inductance and/or resistance of the power rails is important (high speed digital or high current circuits) I recommend that the power rails be done first (unless it is a multilayer board and one layer can be dedicated to each power rail).

By doing the power rails first, the most direct and shortest paths using wide tracks can be put in with ease. Trying to fit such tracks in after a lot of signal tracks could be tricky.

At least that is my thoughts... :wink:

Right, sorry about the side track (sorry :oops: ), as you were... :mrgreen:

Mark

User avatar
flynnjs
Posts: 830
Joined: Tue Jul 06, 2010 9:33 pm
Contact:

Re: Producing the LX9co - a log of activity

Post by flynnjs » Sun Dec 21, 2014 11:33 pm

Part 2:
Now we're actually doing something hands-on at the machine.
First of all we load all the components on 8mm tape (mostly Rs and Cs) into the 8mm feeder:
8mm.jpg
Then we load the larger components which come on 16mm tape into a different sized feeder unit:
16mm.jpg
Finally we place the feeders into the right hand side of the machine and lock them into place. The 3rd feeder, at the back, is a vibratory feeder which has tubed components and shakes the tube in a way that the components move along the tube to the opening. The two reeled feeders use a stepper moter to tractor feed the tape along using the holes in the tape.
feeders.jpg
Next we put the anti-static waffle trays down near the placement area. Then we run through the calibrate routing teaching the machine any small offsets in either pick or place location.
loaded.jpg
As you can see, there are now lots of juicy components ready to be picked and placed.
I've got some video clips of the above checks and setting up which I'm just editing up before I post.

More later.

User avatar
flaxcottage
Posts: 3847
Joined: Thu Dec 13, 2012 8:46 pm
Location: Derbyshire
Contact:

Re: Producing the LX9co - a log of activity

Post by flaxcottage » Mon Dec 22, 2014 8:08 am

An interesting and completely amazing narrative. It just shows how far technology has come since I started with vacuum tubes. :shock:

Mind you, if anyone needs a flip-flop using ECC82s then I'm your man! :lol:
- John

Image

User avatar
1024MAK
Posts: 9613
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Producing the LX9co - a log of activity

Post by 1024MAK » Mon Dec 22, 2014 8:32 am

flaxcottage wrote:Mind you, if anyone needs a flip-flop using ECC82s then I'm your man! :lol:
At least this would be a static "RAM" cell, unlike the awkward dynamic RAM used in the NMOS 6502 which means you cannot pause it for too long or it will forget all the values in the internal registers... (CMOS versions are different and can be stopped for as long as you like).

Mark

User avatar
berendvosmer
Posts: 18
Joined: Mon Jan 12, 2015 9:52 pm
Contact:

Re: Producing the LX9co - a log of activity

Post by berendvosmer » Sun Feb 01, 2015 5:13 am

Wow!

Thanks for sharing. =D>

Post Reply