Tuesday, 3 July 2018

PCBWay service review (2018)

Following my recent review of Seeed PCB service, I was contacted by PCBWay asking if I wanted to review their service too. Again, I was provided with a discount coupon in exchange for this. Looking at their website this is actually something they seem to offer to all customers - see link here.

The PCBWay website is noticably better than all other PCB companies that I've used - from deciding what to order to the order status as your boards are manufactured (more on that in a bit) is very detailed.

So I put together a quick layout and sent it in. They also offered matte black soldermask, woohoo! During the ordering process I was given the option to gamble and perhaps be upgraded to ENIG for free. This made the wait much more exciting!

Once the gerbers were submitted, before payment is taken they are manually reviewed by the staff at PCBWay. This must save them some headaches from idiots that send in half a set of files or an unmanufacturable board.

I sat for a few minutes refreshing the page every now and again, and then the website broke!

Luckily it came back online a short while later and had the status of "Being reviewed" on my actual gerbers:

That took around 5 minutes (and I passed!) which then took me through to payment (or in my case, discount coupon application)

Over the few days following that, they offer a live status update "View Technological Process" which tells you exactly where your boards are at. Here's what mine looked like:

Then a couple of weeks later I received this in the mail. Well, kind of... this is my one and only minor gripe with this service - the box was much too big for the items it contained. From other companies when ordering just 5 or 10 PCBs they just package in a small bubble padded envelope, but this large box meant that it didn't fit through my letterbox and I had to go and collect it from the post office.

Lots of empty space inside the box!

The PCBs arrived safely vacuum packed in the usual manner, although with an elastic band on the inside too:

So I didn't win a free ENIG upgrade this time, but I did get 11 boards and not the 10 I ordered. Sorry for the lighting in the following pics. Matte black PCBs are very hard to photograph! There was a small order number added to the boards, but they thoughtfully put it underneath an IC so it will not be visible once soldered.

Two of the boards had a strange pattern of circles on the back. It looks like it'd clean off with some alcohol but it didn't. I'm not sure what it is.

The silkscreen quality is typical of low cost boards. As shown in the technological process status the boards are tested and the probe marks can be seen in the centres of the pads:

Finally, the soldermask alignment was very good:

I really like the PCBway website (oh, it has a mobile layout too, that's worth mentioning) and the fact that anyone can get free PCBs by posting a review or video about their services is good if you are short of cash but can afford to spend a short while writing a review. My only suggestion for improvement would be to make the packaging smaller when possible so that orders for a small quantity of boards will fit through a letterbox!

Friday, 18 May 2018

Seeed Fusion PCB service review (2018)

Seeed Studio contacted me asking if I wanted to review their Fusion PCB service, of course I said yes :) Full disclosure: they provided a discount coupon for me to use on this service in exchange for the review here.

It took me a while to think of something to have manufactured, but I stumbled across an interesting project here AVR-PCI bridge that I thought could be interesting to play around with.

Seeed offer the "standard" hobbyist level PCB spec, but also give the option to get smaller drill sizes and/or trace widths for a relatively small extra cost directly from the ordering page, rather than having to pay for their "advanced" service. For this board though, the standard specs were more than good enough, so I had it finished in ENIG just because I could! One notable missing option from the standard list was for a matte black solder mask (specifically matte, not shiny black). Elecrow offer this for an extra $20 or so.

So a timeline:

29th April - I placed my order.

2nd May - Board went in to production

8th May - Boards shipped, a somewhat useless(!) photo came with the notification email:


Normally I like the pre-shipping photo, it gives me a slight comfort that I haven't done something really silly with the Gerbers... but this one I can't see anything!

15th May - Boards arrived

I forgot to mention this was using their cheapest shipping option "Post Link". For me in the UK that resulted in the parcel being shipped internationally by 4PX (trackable), and delivered to my house using Royal Mail Tracked. For my purposes, this is great, I have no need for a faster delivery service (this only took 1 week anyway).

The boards had the quantity written in marker on the side for some reason. Not a problem, just an observation!

As you would expect, all of the boards were usable (excuse the shadow of my phone in the reflective solder mask). Just below C5 on the back of the board is the Seeed production code. They do warn about this being added in their FAQ (here).

It's hard to tell in those photos, but 3 of the 10 boards have no solder mask on some of the vias. Here is a close up (top board normal, bottom board missing solder mask). I guess it was just spread too thinly or something, not really sure to be honest. It was the same on both sides of the 3 affected boards. In this application, just a minor cosmetic issue though and will not affect the functionality.

 Here's a close-up of some of this board's finer detail. Looks good:

The silkscreen quality isn't too great, but is no different to other manufacturers at this price point. The alignment is good.

Finally, the solder mask alignment is a little out, but not by any problematic amount. Maybe 2-3mil (at a guess based on the 12mil vias)

In conclusion, I'd definitely use Seeed again. Their pricing is as good as other companies for the low cost, low quantity boards that hobbyists need! The only improvement I could suggest to this service would be the addition of matte black solder mask option to the website (at a small extra cost of course). I'll do a follow up post when I get the remaining parts delivered and soldered on.

Wednesday, 1 June 2016

Mercury MTTR01 Digital Multimeter (600.104)

I was after a multimeter that had a PC connection of some kind for data logging purposes. The usual suggestions start from about £40 e.g. Uni-Trend UT60E, but I wanted cheaper! Ebay came to my rescue again with another Mercury product, the MTTR01 "True RMS Multitester with USB Interface", at £30 delivered! Note it is a "multitester", I imagine them using that to describe it hurts sales quite a bit.

It looks like this, outside and inside:


It seems fine as a meter, with one functional exception - the continuity tester is completely useless due to a delay on the detection/beep. At a guess (but no data to verify ...actually maybe that's in the datasheet. I should check)  it's done in software and polled every 250ms or so.

As I write this, there's just 8 minutes left before the provided half-unwrapped battery expires!
Also the fuses are not up to spec (250v not 600v) so this is not safe for high voltage stuff.

It's based around the FS9922-DMM4 (datasheet linked at the end), with the USB interface provided by a nicely opto-isolated CP2102. I looked at the USB connector thinking "huh?" and wondering how on earth it actually worked, but for some reason (via symmetry?!) they bridged D+ and ID:

It spits data out at 2400bps (format spec in datasheet), and the included software will run in WINE if you must. Note that on a real Windows PC it does not connect with a high COM port number. I was given COM21 as default and changing that to COM2 it worked fine.

The FS9922 is used in a bunch of other meters so is already supported by sigrok. It currently needs adding to the list of supported meters but I'll submit a patch after posting this. E.g.

diff --git a/src/hardware/serial-dmm/api.c b/src/hardware/serial-dmm/api.c
index af70fc3..905b239 100644
--- a/src/hardware/serial-dmm/api.c
+++ b/src/hardware/serial-dmm/api.c
@@ -560,4 +560,10 @@ SR_REGISTER_DEV_DRIVER_LIST(serial_dmm_drivers,
         2400, DTM0660_PACKET_SIZE, 0, 0, NULL,
         sr_dtm0660_packet_valid, sr_dtm0660_parse, NULL
+    DMM(
+        "mercury-mttr01-ser", fs9922,
+        "Mercury", "MTTR01", "2400/8n1/rts=0/dtr=1",
+        2400, FS9922_PACKET_SIZE, 0, 0, NULL,
+        sr_fs9922_packet_valid, sr_fs9922_parse, NULL
+    ),

Manual: https://www.esr.co.uk/manuals/121-104.pdf
Datasheet: http://www.ic-fortune.com/upload/Download/FS9922-DMM4-DS-14_EN.pdf

Thursday, 11 February 2016

BGA on a budget

After months of trying to find a reasonably priced PCB manufacturer that offered a spec good enough for 0.8mm pitch BGA parts, I gave up and cheated! As soon as you want below 6mil (or 5 for oshpark I think), or below 12mil vias, the price goes in to the $100+ range for a small board. I wasn't going to spend that amount so I thought I'd push my luck a bit and go under spec and see what I got back. Their website specs I was presuming allowed for a better yield so costs stay down for them. I was honest and left a comment saying I was under spec and would accept any/all failed boards... so there was no risk or loss for them even if the whole batch was unusable. Obviously I didn't reduce drill sizes or anything.

Left: Official DRC in place, 6/6/12 (>=6 annular rings)
Right: Adjusted rules, 6/4/12 (4mil annular rings)

For the real boards I only reduced the specs where necessary, under the BGA part. The rest of the board met the requirements. Here's what I ended up with (success!)

All of the 10 were OK for the BGA part (some better than others), but weirdly 3 were unusable in other (in-spec) areas because of drill alignment problems. Even though I only went for HASL finish and had never previously soldered a BGA part, it went straight on and works fine. Not really sure what all the fuss is about! People complain about the fact you need an xray to check for faults... but these things have boundary scan... I mean that's what JTAG was invented for, right?

Wednesday, 23 September 2015

FT2232H stick & 0gb microSD cards

Not particularly interesting, but if you're at all curious about what's accepted for PCB manufacture in terms of multiple boards separated by anything other than silkscreen (it's not possible to get a straight answer from anyone - I tried!) then this had no problems whatsoever:

Although the other bits don't really count as "boards", and of course YMMV.

It's a tiny FT2232H JTAG/UART adapter using the QFN package variant. The schematic is just the reference design from the datasheet like the rest. The GPIO reset pins are "Floss JTAG" compatible IIRC, although probably not required. The board size was chosen to fit those Chinese metal flash drive casings

I also screwed up (finally)! I completely missed a connection to VREG_IN, so it's got a microscopic bodge wire:

The fake micro sd cards worked well - 0.8mm being the upper limit from the specs so might be tight in some sockets without sanding it down. One unavoidable problem is there is 1 corner that a 0.8mm milling bit cannot quite cut far enough (because it's round...) but it doesn't seem to make any actual difference in use, and nothing that couldn't be fixed with a small file.

Allwinner Axx SoCs have JTAG and UART mux'ed on the SDIO pins, so these adapters are meant for debugging "China-pads". The dummy card and eMCP test were really just to fill space :) I would not recommend trying to get a 0.5mm pitch BGA using NSMD pads on a cheap PCB - it was that badly aligned it wasn't usable. Having said that you also wouldn't have space to route more than a few traces anyway... 0.8mm isn't possible if you intend it to pass a DRC :(

Monday, 14 September 2015

More PCBs (6500 Rev. B)

I finally got around to fixing any problems that I found with my first set of boards (which actually wasn't anywhere near as many as I expected!), so here is revision B:

(again, ignore the silkscreen date/rev C - I forgot to take a screenshot before changing the text)

Which might look ok at a first glance... except they thought they knew better than me about what I wanted fabricating and decided to mess with my design files! They handled it well though and even though I sent just a polite query, they accepted responsbility for it and gave me around a 25% credit which was nice. Some details of the changes at the end of this post.

Spot the difference(s) (or scroll down for the list):

Something that I haven't seen / isn't written about in anything that I've read so far is how handy UV reactive flux is. These were after cleaning with IPA and a brush!
It's not easy to photograph though, and looks much better/clearer IRL.

After cleaning it a couple more times, smoke test time... and nothing. After I had re-done most of the power bits I shouldn't have been surprised! After much probing and confusion it turned out to be a faulty/damaged USB mux and not my design. Maybe caused by the fact that they arrived loose in a plastic bag, with styrofoam padding, and then clingfilm around it :/ Anyway, replaced that and it worked OK:

2015-09-13T02:31:18 INFO src/stlink-common.c: Loading device parameters....
2015-09-13T02:31:18 INFO src/stlink-common.c: Device connected is: F2 device, id 0x20076411
2015-09-13T02:31:18 INFO src/stlink-common.c: SRAM size: 0x20000 bytes (128 KiB), Flash: 0x80000 bytes (512 KiB) in pages of 131072 bytes
2015-09-13T02:31:18 INFO gdbserver/gdb-server.c: Chip ID is 00000411, Core ID is  2ba01477.
2015-09-13T02:31:18 INFO gdbserver/gdb-server.c: Target voltage is 3227 mV.
2015-09-13T02:31:18 INFO gdbserver/gdb-server.c: Listening at *:4242...

Back to the changes they made:

- No soldermask between pins


- Randomly decided to add some soldermask where there was not supposed to be any

...and just on one as well, the rest went unmodified!

I tried to remember to note any changes that I made, although there will be some I missed. Here's the list:

- Annotated more stuff
- Added missing TPs for I2S SPK out
- Fattened cap traces for mag sensor (datasheet advice)
- Removed via and copper from under mag sensor (datasheet advice)
- Rearranged traces under FPC connector for better ground plane
- Neatened up a few uneven tracks
- Rotated text on bottom silkscreen
- Swapped PIC pins 1&6 (6 can only be an input)
- Fixed volume switch pinout
- Moved USB capacitor a tiny bit
- Increased BOOT1 pull-down to 10k
- Added footprint for SOT23-5 EEPROM (in addition to SOIC)
- Added SJs for non-essential IC power (NC)
- Added xtal (DNF) for I2S, and routed MCLK to XIN
- Added resistor divider as a battery charge measuring test
- 1k5 USB DP resistor (oops...), and pre-biased PNP switch
- 2mm pads for ext V_IN
- GND RFU to ease transition to F4xx
- 100k pull-ups on SD unused DAT pins
- Diode footprints changed to SOD-323
- Swapped a few tantalums for ceramics
- No mask around top back mount holes
- Re-routed 3V3
- Changed JTAG connector to 1mm pitch JST 8-pin
- Added power switch
- Added a missing decoupling cap
- Routed HP audio to USB MUX
- Replaced PIC with a PNP transistor inverter - CBA
- Had to go to 6/6 for top keypad, I2S, and some others
- MCU decoupling caps down to 0402