Image by WikimediaImages from Pixabay, cropped.

Ordering a stack of parts from China always brings to my mind the idea of space-based mining operations loading packages of extracted minerals onto a linear accelerator, resulting in a line of packages drifting towards a rendezvous point to be collected on arrival. Since AliExpress is a brokerage for individual traders, placing an order like mine means almost everything comes in its own separate package.

The space rocks have been arriving at my Lagrange point since the start of December. My STM32F401 “black pill” board and LCD panel arrived first, followed by my Z180 processor and the PLCC extractor tool. Just before Christmas, my practice SMD kits and logic analyzer arrived, along with a brand new order from Digi-Key detailed below, followed shortly by a USB Blaster for programming a CPLD. The CPLD and some PLCC sockets are awaiting collection from my Lagrange point now.

Sadly, one space rock has been stuck in Sydney awaiting clearance since November. Unfortunately it will probably never arrive. Fortunately, though, it’s the PC/104 headers, which I can go without while I wait for the delivery window to expire, get a refund, and order more.

Damaged goods

Ordering from AliExpress is usually a mixed bag of results, and this set of orders is no different. The LCD panel has a lovely big impact fracture in it, obsuring ten characters. Despite this, it works, and I have the black pill STM32 driving it happily - all I/O ports on the STM32F4 are 5V tolerant, so there’s no problem controlling the 5V LCD panel from the 3.3V STM32. A refund should be processed shortly, but I don’t think I’ll bother ordering another - I’d need to order the I²C adapter as well, and it’ll take a month to arrive. I’ll work around the damage.

Taking a photo of a backlit LCD panel is surprisingly difficult.

The logic analyzer powered up its LEDs just fine, but wasn’t recognised as a USB device. It’s easy to take apart, but scanning over the circuit board showed no obvious problems. This device is quite simple, with a Cypress CY7C68013A USB controller with integrated 8051 μC at its heart. The μC is supported by a 2K EEPROM and a 24MHz crystal, and the usual scattering of resistors and such. With no obvious problems on the board, I took a peek at the USB socket. The ground pin was missing, which is a problem and a surprise - despite this missing pin, the board was powering up, so it was finding a return path somewhere.

This photo shows the part markings, with a hint of ghetto repair.

A $5 part is worth taking the risk on for a repair, so I took the shield off the USB socket and found the ground pin was present but not inserted correctly. It’s possible the board was getting an intermittent connection from it. I straightened the pin out a little and the board was recognised immediately, and could analyze my I²C link to the LCD panel. Of course without the shield and its solder connections, the remaining stub of USB socket quickly broke off, so I lopped the head off the supplied USB cable and soldered it directly to the board, which you can see at the bottom of the image, beside the exposed FR4 substrate where I ripped the pad right off removing the shield. Hot glue will provide sufficient strain relief for this device.

Soldering with fire

My SMD practice kits also arrived, so I took a moment to solder two QFP 44s, some SOT-23s, 0612 resistor arrays, and even some 0402 resistors. I tried drag soldering, heating solder paste with the iron, and heating paste with a butane hot air torch. The image below shows the hot air soldering on the QFP on the left, and the SOIC and SOT-23s at the top. Heating paste with an iron is the QFP on the right, and the SOIC/SOTs at the bottom. The drag soldering was an attept to correct the hot air QFP having been lifted slightly off the pads on one side, and since I dont have any flux that isn’t inside a solder wire or in the paste, it went very poorly. You can see a big ol’ solder bridge between the 4th and 5th pins from the bottom.

I don’t even know what these chips do. They’re probably not functional though, since they’re in a cheap practice kit.

The hot air soldering did a very neat job on the SOICs and the SOT-23s, and a reasonably neat job on the 0402s. I’ll still call 0603 my lower limit, but if I ever need a 0402 in a pinch I’m confident I could manage. The 0612 arrays (marked as 0606 on the board, but definitely not square parts) were surprisingly fiddly, but also went on okay. I singed the board in two places trying to fiddle with the arrays, though.

I’ll definitely use the hot air approach for most SMD work. The solder paste heated with an iron leaves a lot of mess behind that I suspect may corrode the board or cause bridges down the line, and I don’t see any reason to use flux paste and try again on the drag soldering given how quick and effective the hot air soldering was. The fact that one row of legs didn’t make contact means I’ll try again on the second practice board and see if it was insufficient paste, bent pins, or a lack of pressure on the chip, but I expect that a cheap butane torch is enough to run with QFPs and even stuff with thermal pads.

Christmas shopping

Meanwhile, I placed and received an order from Digi-Key, and I got a refund for the broken LCD panel. This puts me $5.32 up, and $66.28 down, or $124 through my $400 budget, with no operational circuits or PCBs yet. With Jaycar putting a hot air rework station on special, I need to pay close attention to my spending habits, lest I wind up $400 in with a bunch of loose parts and nothing else.

The Digi-Key order gives me a handful of 74 logic ICs from the HC and AHCT families - NAND gates, D flip-flops, multivibrators, and in/out shift registers. These logic ICs will allow my STM32F4 to link up to the system bus. With a 1MHz oscillator the processor will be running at 500KHz, giving me a whopping 2ms to establish /WAIT and process signals. The STM has 64Kb of SRAM, it can deliver 16Kb to the Z180 comfortably, and 16Kb of its 256Kb of Flash can serve as a ROM.

Item Price Purpose
AE11164-ND $6.24 2x right-angle 50-pin IDC header
ED3044-5-ND $1.20 5x 8-pin IC sockets, for oscillators
2015-CY7C1049CV33-12ZSXA-ND $6.96 2x 4Mbit 12ns SRAM, TSOP-II, total 1Mbyte
MCP2221A-I/P-ND $3.42 USB to I2C/UART IC, for serial comms
296-36142-5-ND $4.30 5x 74HC595 shift registers (DIP), debug board
296-8251-5-ND $3.60 5x 74HC165 shift registers (DIP), debug board
296-4632-5-ND $5.89 10x 74AHCT00 NAND gates (DIP), debug board
296-4772-5-ND $5.89 10x 74ACHT74 D-type flip flops (DIP), debug board
296-41620-5-ND $4.50 5x 74AHCT123 multivibrators (DIP), debug board
CKN12306-ND $1.50 10x through-hole tactile switches, debug board
CKN12219-1-ND $1.56 10x SMD tactile switches
H3DDH-5018G-ND $5.60 450mm 50-way IDC ribbon cable
H3DDH-5006G-ND $3.99 150mm 50-way IDC ribbon cable
110-MXO45HS-3C-1M000000-ND $3.26 1MHz oscillator, processor board
AE10059-ND $2.34 68-pin PLCC socket, processor board

The next task is to bust out the soldering iron to get some wires hooked up on the perf board. I can’t put it off forever: if I wait much longer I may as well have just ordered a PCB instead.

Project status update
Budget CPU Power Keyboard Video Memory Debug
$124.09 of $400 █─── ──── ──── ──── ──── ██──