Electronics Production

Electronics Production


A fun week with lots to learn. Mostly how many ways you can try to break the milling machine. And how many ways to mess up soldering.

What I thought I knew before

I learnt to solder at school £$@£ amount of years ago. Hopefully its like riding a bike - you never forget.

Learning Outcomes

Theory and use of things i learnt from this assignment:

  • (Small) Milling Machine.
  • UDP, FTDI and their uses etc.
  • Soldering tiny components to a PCB.

Lessons to take away

  • Don’t assume the last user of a machine has correctly set it up. Always check every variable that you need before using a machine.
  • Be aware of the nature of parts that are likely to wears out. Be sure to understand what parts are likely to wear out with normal use, now long and how to recognize this.

Milling Machine

The Milling Machine

ROLAND ModelA MDX-20 3D Milling Machine

Max-work area (X) 203.2 mm
Max-work area (Y) 152.4 mm
Max-work area (Z) 60.5 mm
Max-table load 1kg
Misc plaster
chemical wood
Machinable Wax
Foam High Density Urethane Foam
Styrene foam
Plastics Acetal/ Delrin
Sandomur SS
Metal (Non-Ferrous) Brass

Risk Assessment

Appendage damage You There is a lid that must be closed to for the machine to activate. LOW. Don’t try to place parts of the body into the machine while the drill head is rotating.
Lung damage You none LOW Close the safety lid to keep dust down, and remove the dust regularly.

Most used settings

Speed The rate at which the machine moves the drill bit moves when cutting material.
Jog The rate at which the machine moves the drill head when the drill bit is not cutting the material.
Origin X,Y. Where on the piece of material the machine should start milling.Bottom left is 0,0.
Cut Depth How deep to lower the drill head when milling. When tracing the image, it should be just enough to mill the copper layer.
Max Depth The maximum depth the drill head should mill. When cutting out the desired piece, it is usually the thickness of the material.
Offset no. How many passes the machine will take along the path (e.g 4). A value of 0 removes all excess material.
Offset step How far from the last path the head should start. (e.g. 0.5 = radius of the milling drill bit.)
TRACES Speed 1 mm/s
Jog 2 mm/s
Cut Depth 0.003 in
Max Depth 0.003 in
OUTLINE Speed 4 mm/s
Jog 4 mm/s
Mill Bit Diameter 0.8 mm
Max Depth 1.55 mm (thickness of board)


Thinnest copper track possible (by milling either side of it): 0.01 inches (0.0254 mm)

Thinnest milled line possible: Diameter of the milling bit you are using at the time (e.g. 0.8 mm or 0.4mm).


Milling machine controls


GREEN The standby button.
VIEW Temporarily stops the machine, lifting the head and moving the material bed towards the front to view the work. Pressing again will return the head to the origin if it had finished the job, or resume the job from where it was stopped.
UP Moves the head up.
DOWN Moves the head down.


Should you see a problem occurring, it is best stop the job immediately, saving time and material. This is done using the machine’s buttons in the order: [VIEW] raises the the drill head and moves the material to the ‘View’ position. Pressing the [UP] + [DOWN] buttons at the same time and holding for 10 seconds, until the lights start flashing. Once the lights have finished flashing the job has been removed and the memory is blank ready for the next ojb to be sent to it. Otherwise the machine will continue with the old job from where it was interrupted.

Levelling the machine:

To be sure the the machine can work optimally, it is necessary to make sure it can cut level. Usually this is done with a spirit level and the machine positioning is adjusted. If that is not possible, one possible solution is to run a milling job that measures the whole dimensions of working bed on a piece of material that then becomes part of the base plate. Upon which you can then attach your material knowing its completely level. (3) in following image.

Working beds, Base plates, Sacrificial material and attaching material:

Milling Machine Base (image from Douwe)

The working bed is the part of the machine that moves your material under the drill head (1). Upon which a ‘base plate’ of material is attached (2). This is made of a material that can be lost (sacrificed) when cutting out the piece you want to keep. It is usually easier and cheaper to add your own ‘sacrificial layer’ on top of this instead. The sacrificial layer will need replacing over time as it disappears (4). On top of this is placed the material needed for the milling job (5). The easiest manner in which to attach these layers to each other and to the base plate, is to use double sided tape. Edge to edge, and in rows going from top to bottom with the tape as much as possible will give a good bond and minimise lift between the layers. Removing cut pieces and the end of a job run can be done with the use of a small screw driver to prise it off the sacrificial layer.


Milling bits

Bits can be categorized by their diameter (we have 0.4 mm for tracing and 0.8 mm for cutting), and by the number of flutes that defines the cutting ‘shape’ of the bit. Flutes are the ‘spiral’ channel(s) that runs around the bit from its tip the start of the shaft. At the tip there is the cutting profile that will remove the material, pushing it up the route of the channel as it spins, taking the swarf away and leaving the tip free to cut again. We have bits with 1 and 2 flutes.

Made from high carbon steel, usually carbide, these bits are stronger and more brittle than ordinary steel. Even letting the bit drop to hit the material when changing bits can break them. Care must be taken at all times when handling them.

Deburring and cleaning the finished piece

Once detached, the dust and debris can be removed from the machine. Rubbing with a piece of paper or cloth can smooth off the minuscule raised edges and burrs of the copper tracks. A wash with soap (or cleaning solution such Isopropyl) can take off any dirt and oily finger prints that will inhibit the adhesion of solder.

Operating instructions

1) Zero the Z axis of the drill head

  • After turning on the machine [Green button] and its self test, you’ll need to insert a drill bit. Use the [VIEW] button to move the head if you’re unable to reach the securing screws of the drill bit.

  • Insert the drill bit as far as it can go (but don’t get it stuck!), and tighten the screws. If the drill head is not over the material then press [VIEW] again to return the head, or if drill head is already over the working bed but not in a good position, then use Mods program -> [ROLAND MDX] to adjust the [X,Y] origin settings.

  • Using the machine’s buttons (not the Mods program) [DOWN], move the drill head down as far as possible. Then move the head up ([UP]) approximately the height of the material’s thickness that you’re going to mill. Loosen the securing screws and lower the drill bit till it touches the material. Continue placing pressure on the drill bit as you tighten the screw so it doesn’t rise up.

  • The Z axis is now at 0, and ready to mill.

2) Mods program

Milling Mods

  • Depending on the type of communication your machine will be using, choose either [PYSERIAL] or [SERIAL].
  • [READ PNG] Import the black and white .png file. The white of the image equals the copper layer left behind.
  • [PCB PRESET DEFAULTS] Choose which task you want to perform (e.g. [MILL TRACES]).
  • [MILL RASTER 2D] Adjust the presets where necessary to best fit you’re particular machine/model or diameter of drill bit. And press [CALCULATE]!!.
  • [ROLAND MDX] Check the cutting and jog settings of the drill bit.
  • [WEBSOCKET] Choose which type of websocket you’re using to communicate with the machine. [PORT OPEN], then [SEND FILE] to start the run.

UPDI + FTDI success

Group Assignment

Electronics Production (image from Douwe)

  • Characterize the design rules for your PCB production process: document feeds, speeds, plunge rate, depth of cut (traces and outline) and tooling.

What we did

With there only being a couple of tasks in the procedure to run a milling job, only a couple of us would be handling the machine and operating the settings. Luckily we made enough mistakes (see below), that it meant we all had a turn setting up the machine or operating the Mods program.

We gathered together all our notes we had made watching the instructor demonstrating how to use it, and discussed the procedures and settings we needed to setup to complete the job.

The image file we were going to mill was sourced and loaded into the Mods program. This image contained an image that would provide the answer to the questions: ‘What is the thinnest line of copper the mill can leave behind?’ (The thinnest copper track possible to conduct electricity), and ‘What is the thinnest channel it can mill out?’ (The smallest gap between two copper tracks.)

Only when we had finished and looked at the numbers at the top of the piece and the width of the lines and channels that we realised something didn’t match up considering the value of the milling bit radius. After a little confusion, we realize that the numbers from the image file ranged from 0.001 to 0.02 in inches! not millimetres. 90% of the world doesn’t use inches, but Fablab apparently does. We have to remember to convert these values when designing tracing images.

Mistakes & Issues

Trying to 0 the Z axis using the settings in Mods. This didn’t work properly, as upon running the job the milling drill stayed in mid-air. Zeroing the Z axis for the machine only works if you use the dedicated up/down buttons on the front of the machine.

Getting the drill bit stuck inside the chuck. By a combination of pushing the drill bit too high in the chuck, and tightening both the grub screws holding the bit in the chuck wrongly, we managed to get the bit stuck. The main problem being that only one grub screw was supposed to be used to tighten loosen the drill bit in place. This was coloured green with a pen. However, due to so many fingers touching this green dot it had rubbed off. So out of confusion, other users had been tightening/loosening different screws each time. Also someone had tightened one screw so much that it had travelled so far in that we believed that it had been lost, and tried to insert a new one.

When we realised that the conical part of the drill bit was being held up by this screw that was inserted too far, we loosened both screws to let the drill bit down. Tightening the screws to an equal position gave the drill bit shaft the required clamping.

Z Axis not zeroed properly: A combination of bad technique when tightening the grub screw to hold the bit, not tightening down the base plate enough and raising the drill bit head too much before running the job meant we couldn’t mill deep enough.

When lowering the z axis of the drill head to the machine’s 0 point, and then raising it slightly to bring the drill bit down to meet the material, be sure not to raise it higher than the max-depth set in the Mods program. Otherwise the machine will not mill deep enough. This had to be done using the machine’s buttons (2 steps was enough).

Without applying pressure to the drill bit to keep it in contact with the material when tightening the securing grub screw can cause the bit to elevate a fraction. Tightening the base plate, sacrificial material and the working material to the moving bed of the machine can also add inaccuracies to the z axis.

FLUX!!! Although a rarely mentioned technique used in the soldering process in the lab, adding flux to the pads/ track and legs of ATtiny412 dramatically improved the ease/quality and amount of solder used when soldering. It was a revelation! The difference was like night and day. Even when too much solder or legs were stuck together, adding flux before using techniques to remove the solder just worked in no time at all! Suddenly the ‘solder wick’ accessory had good results. A must for my Xmas present or any birthday list!

Mods not communicating with the milling machine: If, in the Mods module for the communication a ‘no serial connection’ is present and no amount of opening or closing of ports and sockets works (be sure to close all the things in the alternative communication module), then check to see if multiple versions of Mods is open in the web browser. Mods will only connect with one at a time. If this still persists, close the browser, make sure the machine is on and have waited for it to self test. Make sure the machine is not in ‘View’ mode. And then start Mods from the Terminal. > Mods . This starts the program (s) and automatically makes the connection.

Making sure the working material is flat on the plate: Ensuring that the work material attached in a correct manner, the board is not bent or wavy, and the plate is secure to the machine will give the best chance of the milling process being successful. If not results can leave areas where not enough copper has been removed.

Emergency Stopping of the machine: If you need to stop the machine pressing the power button will do that. It will raise the milling bit and stop. When you press the power button back on, the machine will try and finish the job (with the milling bit in a higher z axis). To ‘Flush’ the file from the machine it needs to be in ‘view’ mode and then press the ‘up’ and ‘down’ buttons simultaneously for up to 10 seconds. A green light above the buttons will flash as feed back. Let go after 10 seconds and wait for the flashing LED to stop. Put the machine back in it’s ‘ready to work’ mode (press ‘View’ again). Then you can start the process of restarting Mods (from the terminal for best results!).

Individual Assignment

Individual Assignment

  • Make an in-circuit programmer by milling and stuffing the PCB, test it, then optionally try other PCB fabrication process.

The IC circuit i would be building is a FTDI PCB. FTDI, (Future Technology Devices International Limited), is a commercial company, specialising in Universal Serial Bus (USB) technology. This PCB board would act as a communication bridge between the computer (via the USB port) and other PCB boards. This involved soldering a collection of 3 resistors, 3 capacitors, FT230X IC and a small 2 pin female connection.

What I did


Milling Files

1st try - Failed due a broken milling drill bit. I hadn’t realised that the bit was already broken and continued to mill with it. It managed for the most part to mill the paths, but just at the end it totally failed and the milling of the paths were not completed.

2nd try - Using a well used, complete bit with only 1 flute, I successfully milled the complete image and cut out the piece using the bigger diameter (0.8mm) drill bit.

3rd try - This time with a brand new 2 fluted drill bit I successfully milled the complete image and cut out the piece using the bigger diameter (0.8mm) drill bit.


Soldering Problems

1st try - This wasn’t successful in a number of ways. The biggest problem was the use of a vacuum pump when using the ‘ribbon’ method of soldering the multiple legs of the IC. Usually, soldering each joint would consist of ‘tinning’ or applying a thin layer of solder on the parts separately about to be joined. And then placing them together, heating the ‘tinned’ layers and applying more solder to secure the joint.

The ribbon method is used when there are multiple points that are close together, where individually soldering them is very difficult. This method involves adding enough solder to join all the points together in a ribbon of solder, and then using a vacuum pump to suck sway the excess solder to leave only what has stuck to the metal points. The problem was that the force of the kick back from using the vacuum pump would knock the IC from its position on the thin tracks. I would then have to start from the beginning again. This happened a couple of times, each time damaging the thin delicate copper tracks.

I spent a lot of time trying to save the board even though some of the tracks had broken off due to their repeated (and excessive) heating. I cleaned the IC’s legs as much as I could of excess solder and tried to make ‘jumper’ wires to bridge the gap between broken tracks and components.

I scrapped away excess copper material around the USB tracks so that they would not get in the way when using the USB port.

(I later noticed that the IC had been wrongly positioned, with the registration dot being at the bottom right corner, when it should be at the top left. Further confirming the best decision was to start again, as removing, re-orienting the IC and soldering would have the same problems I faced before.)

2nd try - The soldering went much better, the most difficult part was fitting the IC onto the thin tracks. Then working from the inside out, smallest to largest, soldering the different components. Making sure not to heat anything too much or too many times. It looked much neater.


  • Tested using a magnifying glass to check soldering visually, and a multimeter, either side of all the soldered joint to see if voltage/current would pass across.

    1st try - Everything point seemed to pass a current/voltage with the multimeter. 2nd try - Everything point seemed to pass a current/voltage with the multimeter.

  • Inserting the board into the USB slot on my computer and checking if the computer recognizes the board.

    1st try - It was at this point I decide that I had wasted too much time on trying to save the board. For which it looked extremely ugly and had many faults, and would take up a lot more time trying to diagnose and fix the problem. Milling a new board and soldering everything again, whilst learning from my previous soldering mistakes would be quicker and more efficient way to go.

    2nd try - The multimeter tests worked out, but again the board wasn’t recognised by the computer. USing a microscope camera it looked like two of the IC pins were connected under the body of the IC. I used my technique of using the tip of the tweezers to get in between the legs to the excess solder, and heating the tweezers as close to the tip with the bigger tip of the soldering iron. Slowly pulling the tip whilst heating it at the same time,cleaned (or pushed) the excess solder apart, solving the short circuit problem. Inserting it into a USB port on my computer showed a new FTDI device had been attached (in Systems Report). Success!!

FTDI Recognition (image from Douwe)

What I should’ve done

Basically, i should have saved my time and milled a new board to start again. Instead of desperately trying to save the board. The lifting/breaking of essential copper tracks meant that any repair was never going to be as good as a new milled board.

There was not so great a need for having as much patience as I had. This lead to more heating of the pads and components than was necessary, causing the copper layer to separate from the board in several places.

Improvements in technique will come through practice over time!

Mistakes & Issues

Milling Problem

Recognising a broken bit: My first solo attempt at milling the traces on the board looked like it was going well until the last cuts. Upon querying the possible results with the supervisor, i (and the previous user) learnt that the drill bit had been broken before we started, as the length of the bit was half the length of other bits.

A drill bit will shear off and not grind down in the way we had expected. The cutting edge of the bit (incredibly small) will also get dull based on the material milled, as well as the amount its been used.

Soldering small components: Soldering such small components mean that they heat up very quickly, and can unsolder the opposite joint that you’ve just completed.

Excessive heating: Excessive heat applied to the copper tracks/ pads can cause these to tarnish and also lift off the backing board.

Vacuum pumping excess solder away: The force of the sudden release of the internal spring can cause the component and/or the copper track to lift if damaged. Care must be taken when positioning the vacuum pump nozzle. A heated vacuum pump was more successful than a manual one.

IC legs so close together: I had trouble removing the solder between some of the legs after ‘ribbon’ soldering the component. The vacuum pump wasn’t able to clear it from between all the legs. However, i used a technique to place the tip of the thinner tweezer in between the legs whilst heating the tweezer tip instead. Dragging the tweezer tip down the length of the leg pushes the solder either side leaving a clear gap.

Assembled piece not recognised by computer: Trying to get my FTDI to be recognised, i tested it in my own computer:

  • with different adapters (USB to USB C) to see it that helped.
  • Tested other’s working FTDI’s on my machine (which worked.)

IC wrongly positioned: Thought I had made sure that the identifying ‘dot’ on the IC is at the op of the IC. It wasn’t :(.


I now feel very comfortable using the milling machine to produce a PCB board and solder tiny components on to it. Mainly from the unintentional strategy of making almost all the possible mistakes.