Even though I’ve been an advocate for using the CNC at Robots & Dinosaurs for etching PCBs, there are some challenges using this for just any old PCB – I’m sure a number of these can be overcome with experience, setup adjustment, time, and patience, but all of those are in short supply for me :) It certainly is a lot more work to do double sided PCBs, and just because of the way you can’t easily do proper plated thru-holes or vias, it’s very hard to place vias underneath other components without running into problems, as you always end up with a bulge that could potentially short out the top mounted device, or not allow it to sit properly on the pads. I do believe there are still reasons to use “proper” PCB manufacturing services for early design evolution / prototyping – but not all the time. My particular beef with using these services is I just hate the idea of having 10 PCBs made only to find that there’s a design flaw and they become coasters (and because I don’t use coasters, there’s no point having this set of nerdy coasters! ). So I was interested to see a new PCB pooling service, Breadboard Killer, were based in Australia – that should be a good thing for turnaround time, given my previous experiences with other international services. I’m going to document my first experience with them here.
What is a PCB Panel Sharing Service?
PCB panel pooling / sharing services take multiple orders from different customers, and create a higher density panel full of those individual customer designed boards laid out on it, sharing the space of the full panel. The services’ intent is to try to minimise the “wasted space” on PCB panels by having lots of smaller PCBs laid out across the full size of the panel, and by doing so they can try to keep the cost down to the purchaser – there’s probably a good chance they have a negotiated rate per panel that doesn’t vary, so the more of the total space they can fill the better margin there is in the service for them. These explicit panel sharing services offer a flat rate based on the area of your board – both OSHPark and Breadboardkiller offer a $5 per square inch for two-sided boards, and deliver you three copies of that board. One challenge with these services is that to get a full panel made, they have to wait around for enough orders to come in to fill up the whole panel, before they can send the panel off to manufacture, so in the early stages of a services’ lifecycle it can take a long time because they aren’t that popular or well known, or just don’t have a large potential customer base. I remember the first OSHPark order I made (before they were OSHPark but just an offshoot of Dorkbot PDX) I had to wait close to 2 weeks before my panel had filled up, but nowadays as their quantity of customers with boards to produce they are sending off a standard 2-layer board every day or so – maybe more often! This means, because Breadboard Killer is a new service, plus they are an Aussie company and I suspect will be unlikely to attract significant overseas orders, they possibly will have longer average turnaround times – they initially are targeting a 2.5 week turnaround to get the boards to your door.
What are other options?
There are now a plethora of services able to offer small-run PCBs – too many to list. Typically they offer 10x PCBs per order, and have multiple sizes that you must fit within to get that pricing – 50mm x 50mm being typically the smallest offering, 50 x 100mm and 100 x 100mm are other “regular” sizes. If you have a board that fits nicely into one of those sizes, then they can be a great match to your needs – again, as long as you don’t mind 10x boards if you mess it up. Many of these services are run from China. You send your board files off, they send them to the fab and have the resulting boards sent back to you. Again, international shipping tends to be the slow point, but most suppliers offer a variable cost option to speed that up – something you can’t do with a panel sharing service. I have many friends who use DFRobot.com‘s service, but I have also heard good things about Mitch@Hackvana (an Aussie) as well as ITead Studios and Seeed Studios. And for the big boys (or those must-have-it-now times) there are an even larger number of suppliers wiling to take your cash and expedite the manufacturing process just for you, but be warned, an emergency on your part just turns into business opportunity to them :)
two several things that make these full-service PCB manufacturers stand out above a panel sharing service in my view. First is the flexibility of the service; you can change the material thickness, soldermask colour, silkscreen colour etc, to suit your specific desires/needs. Second is the disconnection from the panel filling up to when it’s manufactured, which in general means the time between when you order and when you should get your boards will be more predictable and speedier, all things being equal (which we all know is never the case). Third is the cost – with a flat rate per square inch your costs can increase quite dramatically once you get past the 2″ square pricing, so if your board is larger than this you can find a point where these services are more cost effective than a panel sharing service – although if you go outside the standard size offerings you will pay a premium!
Onto my actual experience with Breadboard Killer
TLDR; I like their PCBs, I like the service, and I hope they can stick it out because I’d certainly use them again!
Time to satisfaction.
This is important, right ? The time between clicking BUY and having the goods in your hands really can change the way you think about a transaction. For me, I was in no hurry for any of the PCBs I’ve had manufactured, and I am a cheap ba$tard so in a cost vs time tradeoff, cost usually wins.
As I mentioned, I’ve used OSHPark a couple of times in the past. Their service has always been pretty good, although not what I’d call “quick” to Australia. It always seemed that the international freight from OSHPark to me was the slowest part of the process (ok, so more likely the slowest part was me designing the board, but we’ll ignore that ok). I always thought there was between 2 and 3 weeks before I’d get the boards after I knew others on the same panel were getting theirs days after they were cleared from OSHPark – hard to take right? Well, with an aimed 2.5 week turnaround I was hoping to shave a bit of that wait time off, but that wasn’t really the case.
I had a PCB ready to go and I checked in with the Breadboard Killer team on Twitter to see what turnaround was like – on 5th September they said it was more like 3.5 weeks than 2.5 weeks, which kind of played into my expectations, they’re still ramping up as people haven’t used them much. Late on the evening of Saturday 6th Sept I sent off the files for my board, and I was order # 63 from their online system – everything seemed automated and quick, so top marks for that from me. My board was 36.58mm long by 24.0mm wide, and for the 3x copies I ordered, I paid the paltry sum of $6.80, which included postage back to Sydney. Later that week I had a revision of the board with more spacing and mounting holes, and on Saturday 13th I submitted a board of size 27mm x 52mm, and for my ordered 3x copies I paid a little more, this time $10.90 including return postage – from the order confirmation email, this was their order #65. I tweeted that I’d sent off my 2nd order in a week, and they replied that the order was in and organised onto a panel, and the panel had been submitted to manufacturing ! Awesome, service on a Saturday!!
So again, now the move to waiting….. And eventually, a surprise was waiting for me in the post box ! Arrival in Sydney was on 9th October, so a total elapsed duration of my first order of 33 days, or 26 from the last order. Was this anything special to write home about ? Probably not. Was it anything to whinge and moan about ? No, again I had no expectations of getting them earlier, and there was also a Chinese holiday week in the middle of this as well, so assuming they’re using a Chinese manufacturer (not a stretch, you’ll see why in pictures soon) there was probably an effect there as well. It turns out that the PCBs were packaged (presumably in the factory) on 18th September, and shipped out of QLD on their way to me on the 3rd October – I was a little surprised they took the better part of a week to get from a mail centre in Brisbane to Sydney – but again there was a public holiday in the mix, and the mail was only a standard mail service small package.
There’s often a concern that cheap means lower quality, and in PCB manufacturing that can cause you problems. For the run of the mill board, as long as you’re not trying to design towards the lowest end of the manufacturing tolerances, the factors that can be at play are not usually fatal to a board, but if you’re on the limits (or the manufacturing equipment and process isn’t up to the task) then you can get into trouble. My review here is through a manual visual inspection from an ageing geek who wears glasses, so take it with a grain of salt.
Packaging. Boards were packed in vacuum sealed bags per order. One had a silica gel sachet in it, one did not. The good thing with this vac sealed packaging is that the boards don’t move and can’t abrade each other during shipping. Awesome decision for whoever opted for that !
Quantities. Lucky for me, someone can’t count ! I had ordered 3x of each, but ended up with 6x one and 5x the other. Obviously since they’re relatively small, the extras have been thrown onto the panel to take up the extra space. Great value add, but not something you should count on happening ever again.
Electrically testing. The service doesn’t distinguish whether e-testing is included or not, but most services seem to be moving to 100% e-test. All boards I received came back with texta marks on the side, which usually signifies e-test.
Edge finish. Extra bonus here to Breadboard Killer, they offer fully routed boards (OSHPark don’t, or at least didn’t on my last order). All edges were very nicely routed and clean.
Soldermask. The boards don’t have an option except a green soldermask – many of the full service suppliers give you choices, or OSHPark give you their purple (which apparently polarises people. either you love the unique colour or you hate it). On my boards, the soldermask appears consistently applied and the masked areas seems accurate. On my second board I decided to remove a few of the masks over the vias, to make tented vias; they worked fine and I’d probably do that on more vias in the future.
The boards again have no option but HASL (lead-free). HASL is Hot-Air Solder Levelled, and is basically molten solder blown off the board leaving a layer on the exposed copper surfaces. This leaves a wavy surface on the exposed faces, which is not unusual. OSHPark by comparison offer an ENIG finish – Electroless Nickel Immersion Gold, which has a much more smooth finish and is considered a higher quality result – but to me there was no challenges with the finish.
Silkscreen. The boards also only have the option of white silkscreen (top and bottom). I don’t have a lot of experience in manufacturing boards, and I think the decisions you make in board setup of silkscreen about size and font can greatly influence the outcome. So here, I say there’s a couple of things I’d do differently to fit in with the manufacturing process – they aren’t manufacturing issues, they’re more me going beyond the capabilities. There’s a few areas on the boards where the silkscreen was way too small – I suspected I would be pushing it, so I just need to increase the minimum size I used. My open hardware logos (filled) appear quite good, but my text appears a little old-skool dot-matrix-esqe in parts, when you look closely at the header labels.
The other area many people worry about is hit registration for the vias and other drill holes like my header holes. In all the boards there’s no significantly off-centre holes that would be a concern about the manufacturing limit – I’ve seen published some online comparisons before, and I’d say these boards are far from the worst I’ve seen. They’re not perfect, but with my soldering skills and for my total outlay, *more* than adequate!
Show us the money (shot) !
Here are the bags as-shipped – front and back. Note what I assume is the date packaged, 18 September.
The boards. Note the off-colour HASL pads in the right side boards is actually a reflection from my Lumia 920 phone/camera :)
Close-up of one of the boards – again the yellow tinge is reflection from my phone, the surface is a consistent silver all over.
I’m really happy I used these guys. Even had I got my 3x boards of each design, I’d still be impressed with the value for money they offer, but with the extras they delivered, I’m extra happy (well I’ll be happier when I know they work but that’s a later task!). I can now test out my design and see if it works before committing to it any further, and I know the design I used is suitable for manufacture on a “standard” spec PCB house. I really like the communication they provided during my order process, although like most impatient people I would have liked to have more updates along the way – at least one follow up email when they delivered the packages to the post office when (I assume) they would be processing their order as “posted”. The end-to-end service was a little slower than they were hoping to achieve but that’s understandable given the order numbers they’re probably doing at the moment, and I look forward to those times coming down as more and more people leverage their services. I really hope they make enough money and get enough throughput to continue offering this service to Aussies – more users means more often dispatch to manufacturing, and faster average turnaround.
It’s awesome that these services exist, and better still that they are enabling the design whims of enthusiasts like myself for such a low cost of entry ! Breadboard Killer, give them a try !
Back in July 2012, I saw a post on Dangerous Prototypes that highlighted EMIC-2, a new board available from Parallax that was designed by Joe Grand of Grand Idea Studios. EMIC-2 is a speech to text module, that allows you to add speech output to microcontroller projects – well actually, anything that has a serial UART – and it’s as simple as sending it the text that you want it to say, and it speaks !
I was really interested by this – not for any particular project I had in mind, but just in a general sense. It however was going to be yet another project to go on the long long list….. But being the way I am, I checked online and saw that the EMIC-2 module was out of stock – wow, first run batch sold out very quick, so I guess I can ignore that for a while
Anyway I was listening to a podcast in the car one day (Gadget Gangsters – now seemingly gone the way of the dodo) and they mentioned Joe Grand and the light went on again. When I got home I checked the web, and found that the EMIC-2 was in stock – so I went and ordered one. Of course, the next day I get an email saying that they had no stock and my order would be a few weeks before it’d be able to be delivered – so the project really went to the bottom of the list.
Eventually I get a parcel note at the post office, and on collection it turns out it’s my EMIC-2 – so of course, all other projects go on hold and the EMIC-2 takes pride of place on the “most current project board”, i.e. the centre of the desk.
Starting to talk to EMIC-2 was pretty much a snap. As a UART device, I find the simplest way to avoid any mishaps or unknowns is to use a USB to serial module and a terminal program – connect the UART device to the USB–>Serial and start typing. So out comes my cheap-as CP-2102 USB adapter (under $3 each on eBay, buy a few!) and connect it up. Yes, as usual, I suffered UART Dyslexia so a quick switch of the wires and I was able to press Enter on the PC and see a response in the terminal program
Now, onto *really* talking to this device. It has a pretty simple protocol, as the datasheet describes. All commands take a single character as the command, followed by more characters for the command parameters. So for example, to set the volume you simply send a “V” and the number you want to set the volume to, so a real command would be “V10” to set the volume to 10. So in the terminal window I just type V10 and press enter, and the module should return “:” sans quotations to confirm the command. Then, to make it say something I had better get the audio out connected up !
Here’s where I hit my first snag. The module has two speaker connectors; one is two pins on the set of header pins which are for the + and – connections of a speaker, and one that is a barrel connector for a headphone jack. I plugged in a set of earbud headphones into the existing barrel connector, and told the module to play it’s demonstration message (Command: D0) but nothing happens ! I see the LED turn red while it’s speaking, the terminal come back with the : prompt once it’s done, but no sound. I tried a few different pairs of earbud headphones, as well as a hand-made connection to a stereo plug from jaycar and a little 8ohm speaker, but nothing worked. So I asked around on the Parallax forums and eventually figured out that if I connected to the SP+ and SP- pins on the header the sound worked fine, so the barrel connector was crook. I let Parallax know and they’re great, they dispatched a new module, although again there was going to be a bit of a wait because they were out of stock (man, they’re obviously popular!).
What I really wanted for this module was a Gadgeteer module, so my TinyCLR.com friends could plug it into a Gadgeteer mainboard. So out comes Eagle….. a few days later, out pops a design I was happy enough with, and I send it off to be made at OSHPark, the evolution of Laen’s Dorkbot PDX PCB manufacturing runs. The board as originally designed (it has been refined since) was 25mm x 25mm, and for a set of three boards the price was under US$5, plus the usual postage costs to AU.
While the boards are being made and posted back, and the replacement module is coming from backorder and being posted back, I set about making a pseudo driver for the device. Being great with ideas, less so with code, I cobbled something together that worked for most of what I wanted – it doesn’t have any of the character set mapping that the dectalk parser is more in need of, but generally it’s not too bad to just get the module to do the core thing it does – take text input and turn it into speech.
Eventually my OSHPark Gadgeteer adapter boards arrive back – looks pretty in purple !
One good thing about a proper board like this is you can choose what direction you want the EMIC-2 board to sit atop the Gadgeteer adapter – if you swap the side the female 0.1” connector goes on, you can have it either overlapping the whole adapter board, or you can have it extending past the board boundaries where it’s easier to get to the Gadgeteer connector. I chose the latter to solder mine up. Based on my last experience with hand soldering Gadgeteer headers, the footprint I was using was expanded so the pads were much longer, which was so much easier to solder onto – yay !
So then, the last thing to do is to plug the EMIC-2 module in and wire up my speakers to the screw-down terminals, connect up a mainboard and write a demo of it’s features for you all to enjoy.
Well ok, so I did most of that way back when, and actually I was testing it on a Panda – then I did some other things…. But someone recently dug up the old chatter on the forum about this module so I *finished* doing what I was going to do, and now have published it.
<cue drumroll> ta da.
I’ve put a little bit more effort into the “driver”, but not into code comments I’ve also put some effort into the demo app, moving it up to the SDK 4.2 from Panda days. You’ll find the driver code published on the tinyCLR codeshare here (edited for new URL). You’ll find the usage example there too.
Above is the video where you can hear the module at work. Sorry it’s a bit long (and boring) but it shows off a few features like the many voices the board supports.
Code comments and suggestions best left on the tinyCLR forum; see you over there soon !
PS: The replacement EMIC 2 module arrived from Parallax not that long after the OSHPark boards arrived. Plugged it into my test rig (aka USB to serial adapter) and connected up my headphones, and it worked first time. So the headphone socket on the original board was what was dodgy. I hit it with the soldering iron once I had a working one, and lo-and-behold, I made it work. Double bonus! I gave it to a friend, and I hear it’s now used as the evil voice in a robot Too Cool !!
Yes, that’s right, the wait is over….. my PCBs from Dorkbot PDX have arrived in the post ! Here they are in all their purple loveliness.
Sorry about the photography, this is my electronics blog not my photography blog, so point-n-shoot camera came out and handheld “macro” mode with no flash was the chosen mode.
Man that MPR121 is a *small* package. It’s a QFN20, and a pad pitch of 0.5mm. It makes the pads on the .05” connector look huuuuuge !
When it comes to soldering the QFN20 onto the PCB, the fact that “QFN” stands for Quad Flat No-leads really becomes apparent. You can’t get your normal soldering iron onto anywhere that you could possibly hope to get some solder, the chip, and the pads to meet in that joyous harmony called “properly soldered”. So since I don’t own commercial wave-soldering machine, and I don’t have a toaster oven I could repurpose to be a reflow oven, and I didn’t have a spare frypan around that I could convert/sacrifice to be a soldering skillet, I whipped out the (new*, so far unchristened) Atten 858D+ hot air rework station, whacked a bit of solder paste on the pads, plonked the chip down, fired up the heat, and hey presto, a few minutes later the chip appears soldered to the PCB ! I guess we’ll only see once we get a chance to connect it up to my Fez Hydra and start looking at the driver (although luckily there’s at least one sample out there ). That maybe something for the weekend – bring on the weekend !
* Here’s a great plug for the eBay supplier of my new Atten 858D+. Looking around on eBay, I found lots of eBayers that ship from Hong Kong or China, and the buy-it-now price for this unit was around $59. Then I came across one located in Sydney, and wow, the buy price was only $63. Wow, a $4 “premium” for having someone in AU to buy from. Wow. (Yes, I was impressed). But that’s not where it ends. Clicked buy one afternoon, sometime about 3, and paid with paypal. Before the end of the day, I had an email from Aus Post that a parcel had ben dispatched to me, and it arrived at the PO Box by 8am the next morning. W. O. W. What a great eBay seller. If you’re in AU and want something fast and Carmates has it, my experience says you’d be lucky to find a better dealer.
I needed to make a touch keypad for a project I am doing at home. Looking around, SparkFun have one, here, that I liked the look of – except for my use, I wanted it to be simpler – it had to have up, down, left, right, and OK buttons only.
Errol GMod, the artist formerly known as Errol, over on TinyCLR forums has used the MPR121 to build a touch keypad for the CANxtra, one of the devices that GHI had on run-out sale last year. It seemed pretty easy to understand this design (ha !) so what else was I to do, but design one of my own.
So armed with my knowledge (double ha !) I took some design input from these two sources and threw something together.
My only real requirements were that it needed to have a simple button structure, to fit alongside an LCD display (a standard text-based display with 20×4 characters using an HD44780 controller chip). I decided to use a Gadgeteer standard connector so that I could use it also on a Gadgeteer compatible mainboard if I wanted to.
No fancy 3d renders, no fancy pictures, nothing. Just a set of screen capture images from a preview of the gerber files that I created.
Now the proof will be in the pudding – the gerber files for the boards were submitted to the Dorkbot PDX PCB service, and some time in the future they should arrive back here. Now for the suspenseful part, waiting for the package to arrive, who knows when, and then the joy of trying to solder that miniscule processor onto that board, and test it out ! Here’s hoping it all works !
I’ll update the post when the boards arrive and when I break out the soldering iron !
If anyone thinks they would like the original Eagle files, leave a comment. I’ll get them cleaned up and posted here when I get a chance.
Yes, there’s new content here. Wow, I never thought it’d come true either !
Over the weekend I was playing in Eagle, an electronics circuit CAD package. I’m creating a touch keypad for .Net Gadgeteer, to actually connect to my Fez Panda (not a Gadgeteer device). This will be released as an open hardware project. No details or pictures yet, just this post to remind myself to actually spend time and ship it to the board house.
You can only take my word for it, as by now even the radar loop has probably moved past this shot.