Well, our CNC drilling machine challenge is certainly generating a bit of interest, both across the 'net and down at BuildBrighton, our local hackspace.
Nowhere in our "rules" does it state that outside help is not allowed - in fact, we even encouraged other people to get involved - so it was great to have a link sent by one of the group asking if it was of any use. The link was to a laser-cut CNC linear rail on Thingiverse at http://www.thingiverse.com/thing:3554
As we've not really given much thought to our z-axis, we figured we could build this on a gantry over our moving bed (y-axis) to give us an x-axis movement, then simply mount something either on the underside, or on top, overhanging one edge, with a simple raise/lower mechanism on it for the drilling head.
The first job then was to make up the laser cut linear rails:
The carriage bolted together quite easily, and with the cogs and gears held in place by only a few turns of a screw, we thought we'd try the carrier assembly on the rails:
A neat trick we learned (well, it would have been neat if we'd had the proper tools and not spent four times longer than we needed to trying to cobble it together) was to create the holes in the acrylic at 2.5mm, not 3mm, to accept the M3 bolts.
Running an M3 tap through the hole (this is where we needed the proper tap-and-die sent, and not just a single tap and a pair of rusty pliers!) created a lovely threaded hole in the acrylic, so all the bolts held themselves in place and didn't simply fall out when you picked the whole thing up!
The green cog in the centre is the one that will be connected to the stepper motor. As this centre gear turns, it causes the other gears to turn against the rails, causing the entire carrier to move left/right.
All we need to do now is stick the lid on and hook up the stepper motor and we're good to go!
And why the garish green/orange colour combo?
Simply put, they were was the first two sheets of acrylic in the pile.
Tuesday, 14 August 2012
Sunday, 12 August 2012
ExpressPCB to NC Drill files
As part of the CNC drilling machine challenge, one of the things we have to be able to do is parse NC drill files. The idea being that using an industry standard file format makes the machine compatible with a much wider range of PCB layout software.
One of the problems we have is that Eagle sucks.
Yes, that's quite an inflammatory comment but, compared to ExpressPCB, we've seen loads of people have trouble with Eagle-drawn circuit boards.
The first thing is those stupid lozenge shaped pads. And the default hole size seems to be too small. And the pads are ridiculously small. And when you've finally etched your board and drilled it, it's all too easy to ruin a pad because your 1mm drill bit has ripped up all but the tiniest thread of copper left around the pad (right-most-pad, below). One slight wobble with the drill or mis-aligned pad and the whole board can be ruined!
Over at Nerd Towers, we defy convention and refuse to get drawn in to the everyone-uses-Eagle-so-we-must argument. Although it's less of an ideological standpoint and more to do with the fact that it's just so complicated to use when no-one has ever shown you how!
Our tool of choice is ExpressPCB. It's not only free but it's simple to use.
For the hardcore gerber-loving geek crowd, the very things we laud it for may well be it's Achilles Heel too - but it is very simple to use and you can get a PCB thrown together very quickly, all with 2mm pads with 1mm holes (ok, the default is 0.89mm but what's a tenth of a millimetre between friends?). No worring about mirroring, or not mirroring, or which-do-I-mirror before printing for toner transfer - just draw on the top (red) layer and print it out!
To produce PCBs for etching, we usually print to a virtual printer, such as CutePDF and make a PDF file for editing in Inkscape but one thing we recently discovered was the "export to DXF" option
This is quite exciting, as it allows us to generate a file which can be parsed and turned into a drill file. The export to dxf option in ExpressPCB can send just the pad data to a single drawing. Simply loop through the text-based dxf file, find all instances of CIRCLE and write the co-ordinates out to a NC Drill compatible file format!
After a cursory glance at the generated dxf file we can see all our pad data quite easily:
Every pad is a circle entity so we fiddled with a few values and loaded the resulting dxf into Inkscape until we found which entries corresponded to the X and Y co-ordinates. Ultimately it is these values that we'll be interested in to create our own NC drill file.
(comments in the above image were added one we'd identified which values did what, they were not present in the original, generated dxf)
To try out our idea, we picked a circle and set the X/Y to zero and the radius to 4
Interestingly, Inkscape does not position circles from their centrepoint, but from the bottom left corner of the shape. So we expected to see our shape at -4,-4
Inkscape seems to include the stroke (shape outline) width in the X/Y co-ordinates for each shape. So we reduced the stroke width and indeed the X/Y co-ordinates updated accordingly.
We can only assume that with a stroke width of zero, the shape would indeed line up to -4,-4 and thus prove that the values we changed in our dxf file were indeed the correct x,y and radius values.
With this in mind, we're off to write a simple script to convert metric x/y value pairs into an NC Drill file.....
One of the problems we have is that Eagle sucks.
Yes, that's quite an inflammatory comment but, compared to ExpressPCB, we've seen loads of people have trouble with Eagle-drawn circuit boards.
The first thing is those stupid lozenge shaped pads. And the default hole size seems to be too small. And the pads are ridiculously small. And when you've finally etched your board and drilled it, it's all too easy to ruin a pad because your 1mm drill bit has ripped up all but the tiniest thread of copper left around the pad (right-most-pad, below). One slight wobble with the drill or mis-aligned pad and the whole board can be ruined!
Over at Nerd Towers, we defy convention and refuse to get drawn in to the everyone-uses-Eagle-so-we-must argument. Although it's less of an ideological standpoint and more to do with the fact that it's just so complicated to use when no-one has ever shown you how!
Our tool of choice is ExpressPCB. It's not only free but it's simple to use.
For the hardcore gerber-loving geek crowd, the very things we laud it for may well be it's Achilles Heel too - but it is very simple to use and you can get a PCB thrown together very quickly, all with 2mm pads with 1mm holes (ok, the default is 0.89mm but what's a tenth of a millimetre between friends?). No worring about mirroring, or not mirroring, or which-do-I-mirror before printing for toner transfer - just draw on the top (red) layer and print it out!
To produce PCBs for etching, we usually print to a virtual printer, such as CutePDF and make a PDF file for editing in Inkscape but one thing we recently discovered was the "export to DXF" option
This is quite exciting, as it allows us to generate a file which can be parsed and turned into a drill file. The export to dxf option in ExpressPCB can send just the pad data to a single drawing. Simply loop through the text-based dxf file, find all instances of CIRCLE and write the co-ordinates out to a NC Drill compatible file format!
After a cursory glance at the generated dxf file we can see all our pad data quite easily:
Every pad is a circle entity so we fiddled with a few values and loaded the resulting dxf into Inkscape until we found which entries corresponded to the X and Y co-ordinates. Ultimately it is these values that we'll be interested in to create our own NC drill file.
(comments in the above image were added one we'd identified which values did what, they were not present in the original, generated dxf)
To try out our idea, we picked a circle and set the X/Y to zero and the radius to 4
Interestingly, Inkscape does not position circles from their centrepoint, but from the bottom left corner of the shape. So we expected to see our shape at -4,-4
Inkscape seems to include the stroke (shape outline) width in the X/Y co-ordinates for each shape. So we reduced the stroke width and indeed the X/Y co-ordinates updated accordingly.
We can only assume that with a stroke width of zero, the shape would indeed line up to -4,-4 and thus prove that the values we changed in our dxf file were indeed the correct x,y and radius values.
With this in mind, we're off to write a simple script to convert metric x/y value pairs into an NC Drill file.....
Friday, 10 August 2012
CNC drill machine challenge rules
A few people have been asked about the CNC drill machine challenge and it seems that not everyone has access to the BuildBrighton Google Groups page. So here's the preliminary post, outlining the basic rules for the challenge:
After making what felt like millions of boards for the midi workshop, we've decided to make a cheap, little drilling machine for making homebrew boards.
After making what felt like millions of boards for the midi workshop, we've decided to make a cheap, little drilling machine for making homebrew boards.
As the discussion went along, we decided to see if we could make the smallest, cheapest machine we could. Almost immediately we couldn't agree about a single thing for our machine, so we've decided to make one each and compare them.
Matt gets loads of stuff cheap off ebay by buying in bulk.
Chris gets stuff cheap by extracting it from old hardware using hammers.
Matt uses Eagle and could create NC Drill files directly from it to drive the machine
Chris uses ExpressPCB and a convoluted print-to-pdf-then-convert-to-
svg method of generating drilling data
Matt wants to make a machine that can drill large, panellised pcbs - double eurocard size (200x160).
Chris wants as small a machine as possible to fit on a shelf when not in use, and rarely makes boards bigger than a 50 pence piece.
Chris doesn't get the whole open hardware movement and still prefers PIC microcontrollers over AVR.
Matt thinks an Arduino-based machine would be much more open to hacking if other people used our plans to make their own boards.
Matt can get cheap linear bearings and has experience of making a gantry-based cnc device
Chris thinks he can cobble something together out of ball-bearings and sellotape
The list goes on and on....
So, we've come up with our own hacker challenge. Hopefully this could be the first of many - little projects that we can work on in small groups or individually, then present back to the group.
It would be really cool if other people joined in (or maybe even joined forces) to come up with alternative ideas for this first challenge.
We'd love to see some alternative ideas to make a drilling machine - we've come up with some parameters (it's not really a contest, so it's not fair to call them rules) but here's what we've eventually agreed to work towards. Because it's a machine that we're hoping others will want to try and make (assuming either design eventually works) our first rule is about cost and availability of parts.
It's easy to hit ebay and Rapid and Farnell and blow a small fortune, but that puts it out of reach for a lot of people. Similarly, it's possible to smash open some old hardware and salvage some cool stuff but no-one else might be able to get hold of the same equipment, and would need to find alternatives. So the rules are
- If buying all new components, not more than £50 on the entire build (just think about it, a cnc based device for under £50!)
- If using salvaged hardware (stepper motors from old printers, for example) not more than £20 total build cost
- As we're building a small machine, the footprint of the device, when put away, should not exceed A4 size (210x297mm)
- But it'd be useless if it could only drill tiny pcbs, so it has to be able to drill up to half eurocard sized boards (100x80mm)
- Any bought components should be accessible to everyone and you should reasonably expect to be able to purchase the same components from the same, or alternative suppliers 12 months from now (so you can't win a job lot of motors from some bloke off ebay and put cost of materials down as 50p)
- Overseas suppliers can be used to keep costs down, as their price per unit is often much less than UK suppliers.
- The device is to be platform independent - it can use any microcontroller and any software can be used to control the machine, including homemade software/drivers.
- It has only to work on any one platform, not all
- For accuracy, the drilling machine should be able to drill a 1mm hole in a max-sized 2mm pad and leave a complete copper ring intact around the hole
- For building materials, assume a price for acrylic sheets as £1 per mm thickness, per A4 sheet
- Cheaper alternatives (such as mdf or laser ply) can be used instead of acrylic for the chassis if required
- Trivial components and the cost of pcb etching, running a laser cutter etc and consumables will not be used to calculate total build cost
- The price for delivery of all components bought online will be included in the final cost
More rules may be added as the build goes on, but only to clarify any points that may arise, not to act as a restrictive force to deter alternative ideas.
So there we have it. Another stupid challenge that probably won't get finished (or much beyond the planning stages) But there's nothing like seeing someone making more progress on a project than you, to act as a catalyst and get things moving along. So who else fancies joining in?
The prize? We'll use the "best" design for a "proper version" of the machine for use in the hackspace for all members making their own pcbs. Better than money or other tangible goods, you get to win kudos!
CNC drill challenge update
At an epic BuildBrighton session last night, there was loads going on. Including a new design for our CNC drilling machine challenge.
One of the things we're keen to stick to is repeat-ability (the other is, of course, a shoestring budget). So instead of expensive (and as a few people have pointed out, extremely accurate, precision-made) pulleys and belts, we're going all out with laser-cut acrylic and little, cheap stepper motors.
The previous platform we built was nice and sturdy, but during it's construction we came across a little problem. It's not a major problem, and can surely be remedied easily by anyone with the proper tools and a bit of time and effort, but it does stand in the way of repeat-ability. Basically, getting the two runners exactly parallel is a little bit difficult.
If the runners are not exactly equi-distant, along their entire length, the platform "binds" as it reaches the end of its travel in both directions. This isn't really a major project if the length of travel is kept to about half the total length of the bed (in fact, this is about the maximum we're expecting our bed to travel) but there's just something about the fact that it's so easy to mess this part up that we're not happy with.
So we're going with a much easier (and some would say, slightly shonky) design:
It's a single runner with the platform bolted along the centre-line. The single runner can be mounted onto a scrap of wood (exactly what we used here!) and it's not really important how square this mounting is (we mounted it along a centre-line along the wood for neatness, but it's not critical).
The only bit that's really important is getting the gantry mounts on the sides square with the runner.
BUT - having mounted the runner onto the board, the runner is fixed nice and securely. Using a set-square the gantry mount can be placed and fitted from the same side of the board. In our previous design, having to bolt everything together meant lifting the whole assembly up, and this is where things slipped out of alignment.
With this design, it's quite easy to get the runner and gantry at 90 degrees.
With the two gantry supports fitted, the top/cross piece just clips into place.
In theory, everything should be nice and square. Next we need to fit the stepper motors and actually get something moving to see if this design actually works ;-)
One thing that isn't immediately obvious from these photos is just how teeny tiny this little machine is. It's almost comical. In fact, a few BuildBrighton regulars have decided that it's not only comical but unusable - and have already started a book on how long before this design is abandoned and v3.0 started. We'll show 'em....
One of the things we're keen to stick to is repeat-ability (the other is, of course, a shoestring budget). So instead of expensive (and as a few people have pointed out, extremely accurate, precision-made) pulleys and belts, we're going all out with laser-cut acrylic and little, cheap stepper motors.
The previous platform we built was nice and sturdy, but during it's construction we came across a little problem. It's not a major problem, and can surely be remedied easily by anyone with the proper tools and a bit of time and effort, but it does stand in the way of repeat-ability. Basically, getting the two runners exactly parallel is a little bit difficult.
If the runners are not exactly equi-distant, along their entire length, the platform "binds" as it reaches the end of its travel in both directions. This isn't really a major project if the length of travel is kept to about half the total length of the bed (in fact, this is about the maximum we're expecting our bed to travel) but there's just something about the fact that it's so easy to mess this part up that we're not happy with.
So we're going with a much easier (and some would say, slightly shonky) design:
It's a single runner with the platform bolted along the centre-line. The single runner can be mounted onto a scrap of wood (exactly what we used here!) and it's not really important how square this mounting is (we mounted it along a centre-line along the wood for neatness, but it's not critical).
The only bit that's really important is getting the gantry mounts on the sides square with the runner.
BUT - having mounted the runner onto the board, the runner is fixed nice and securely. Using a set-square the gantry mount can be placed and fitted from the same side of the board. In our previous design, having to bolt everything together meant lifting the whole assembly up, and this is where things slipped out of alignment.
With this design, it's quite easy to get the runner and gantry at 90 degrees.
With the two gantry supports fitted, the top/cross piece just clips into place.
In theory, everything should be nice and square. Next we need to fit the stepper motors and actually get something moving to see if this design actually works ;-)
One thing that isn't immediately obvious from these photos is just how teeny tiny this little machine is. It's almost comical. In fact, a few BuildBrighton regulars have decided that it's not only comical but unusable - and have already started a book on how long before this design is abandoned and v3.0 started. We'll show 'em....
Buildbrighton drawing machine
Last night's BuildBrighton meeting was pretty cool, with a great turnout, and people actually getting on and making stuff (standing around drinking beer, talking nerd and eating pizza may be cool, but the real cool kids just get on with it!)
Seb was busy trying out his stepper-driven drawing machine.
This is just a proof-of-concept to try out the software and hardware kit, but the final idea is to scale this up and use bike chains/sprockets and draw across a 5m surface!
After a successful test, Seb tweaked the software and started producing some real works of art....
It can even draw images - albeit slightly abstract ones...
No, the machine didn't suddenly start drawing upside-down.
Some of us probably need some remedial how-to-use-your-smartphone lessons. Still, a great looking print, even if the photo is a bit wonky!
Seb was busy trying out his stepper-driven drawing machine.
This is just a proof-of-concept to try out the software and hardware kit, but the final idea is to scale this up and use bike chains/sprockets and draw across a 5m surface!
After a successful test, Seb tweaked the software and started producing some real works of art....
It can even draw images - albeit slightly abstract ones...
No, the machine didn't suddenly start drawing upside-down.
Some of us probably need some remedial how-to-use-your-smartphone lessons. Still, a great looking print, even if the photo is a bit wonky!
Buildbrighton stompbox grinding
Here's Joel from the earlier BuildBrighton Stompbox workshop getting busy with a new enclosure for a variation on the Fuzz Factory pedal we made. The box is actually an old (and he tells us, quite crappy) effect pedal, but with space for four knobs and a nice big stomping area, it's the perfect box to put his modified fuzz factory in.
The first job, of course, is to clean up the artwork and design a custom decal sticker. Joel attacks his enclosure with a wire brush mounted on an angle grinder....
Showing us how to do it properly - note the dust mask and safety goggles
The first job, of course, is to clean up the artwork and design a custom decal sticker. Joel attacks his enclosure with a wire brush mounted on an angle grinder....
Showing us how to do it properly - note the dust mask and safety goggles
Sunday, 5 August 2012
BuildBrighton Guitar Stompbox Workshop
It's been a long, exhausting, but ultimately satisfying day, after running the BuildBrighton guitar stompbox workshop today. There was a sell-out crowd (plus a couple of last-minute attendees, squeezed in on the day) and we had a fantastic success rate - of 12 boxes, 10 were (eventually) working by the end of the workshop!
The boxes were based on the Dallas Fuzz Factory schematic, with a couple of tweaks. Firstly, as only two pots were to be exposed on the box (drive and volume) the others used were trimmer pots (compression and gate) so each person could create their own unique sound and capture it inside the box!
Fuzz Factory Schematic
As well as making the circuits on stripboard, everyone had a go at drilling their alloy enclosures in the BuildBrighton "dirty workshop" as well as fitting all the hardware and wiring everything up.
Jamie Matthews was the first successful candidate to rock out with his fuzz pedal
Note how you hear the tone/flavour of the pedal changing as Tom tweaks the compression and gate trimmer pots. These pots allowed us to tailor each pedal without having to swap out lots of different components
It didn't take long for others to follow:
Though not everyone was successful on their first attempt. Jon (in this video) actually managed not only to make a crackly pedal, but a direct short across the drive pot terminals in this pedal actually caused it to smoke (shortly after this video ended). When a tiny flame appeared, it was decided to replace his pot and capacitor, just to be sure!
Not so much smoke on the water as "smoke in the pedal"
Here's the documentation that everyone was following. Use it to create your own fuzz-factory clone!
Stompbox Workshop
The boxes were based on the Dallas Fuzz Factory schematic, with a couple of tweaks. Firstly, as only two pots were to be exposed on the box (drive and volume) the others used were trimmer pots (compression and gate) so each person could create their own unique sound and capture it inside the box!
Fuzz Factory Schematic
As well as making the circuits on stripboard, everyone had a go at drilling their alloy enclosures in the BuildBrighton "dirty workshop" as well as fitting all the hardware and wiring everything up.
As well as creating a circuit board from the schematics using stripboard (veroboard), everyone had to wire up all the pots, footswitch and sockets and it was amazing to get ten fully-working pedals after about six hours hard work!
Jamie Matthews was the first successful candidate to rock out with his fuzz pedal
It didn't take long for others to follow:
Though not everyone was successful on their first attempt. Jon (in this video) actually managed not only to make a crackly pedal, but a direct short across the drive pot terminals in this pedal actually caused it to smoke (shortly after this video ended). When a tiny flame appeared, it was decided to replace his pot and capacitor, just to be sure!
Not so much smoke on the water as "smoke in the pedal"
But it was great to see genuine smiles break out - the real ones that you just can't hide - as more and more pedals fuzzed and buzzed into life
For that authentic rock sound, we were using 2 x germanium transistors in each pedal. Germanium transistors are not as stable nor consistent as silicone ones, so some have a higher gain than others. Real pedal enthusiasts have been known to sit and try out loads of different transistor combinations, to get that "just right" tone. We included sockets for our transistors to all people to do this if they wanted. As time was tight, Jason spent a few hours testing all our germanium transistors and sorting them into (relatively) high and low gain. We used a low gain for Q1 (see schematic) and a high gain for Q2.
Joel, from GAK specifically asked for two high gain transistors to make really "hot" pedal. You can hear his pedal going crazy when pushed to the top end of the range
Here's the documentation that everyone was following. Use it to create your own fuzz-factory clone!
Stompbox Workshop
Subscribe to:
Posts (Atom)
















