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