Project thumbnail - null

First pcb project

Let me tell you about my adventure with assembling my own PCB and how quickly it went downhill.

Design

It is scientifically impossible to design the PCB so that you won't have to do any fix-ups after it arrives. It's just not.

So what did I do wrong?

Some notes for my future self before I submit the files for production.

Now that I think about it, it is not that bad, as I managed to work around all of these problems. That said, it absolutely wasn't the end of them...

The assembly plan

But first, to comprehend the torture I went through, you first need to see my plan for the assembly. 

  1. Assemble the board—solder all capacitors, resistors, etc.
  2. Hook up the flash pinout to a Raspberry Pi and flash the audio files using a specially written script.
  3. Then, hook up the UART to the USB bridge board thingy I had and program the STM32.
  4. Profit.

Things that went wrong during assembly

Immediately I decided to assemble one of the boards. Seems quite intuitive, right? Well, here are the things that went wrong and right and my thought process in order.

I was instantly faced with the 1mm gold pin holes instead of the correct ones, fortunately, I had a lot of tiny wires that happened to fit perfectly, so I soldered gold pin endings to them so I could hook them up wherever I needed. After soldering all the elements and finishing the board, I decided to flash the memory chip. I ran the script on the Raspberry Pi, and... it says that flash validation failed. I decided to recheck the connections. While touching the end of a cable, I feel a slight tingle. Even after disconnecting every cable, I could. I still have no idea what exactly caused this, besides knowing it only happened after running the script. (I still wasn't aware of the SPI mix-up). I decided to abandon the Raspberry Pi and switch to an Arduino Uno to at least test that the chip was still working and hadn't been fried. It didn't. The chip, almost for sure, is fried.

I decided to not think about the fact that the PCB was fatally flawed; instead, I wanted to at least check if the microcontroller was alive, and if it was being detected by the flashing software. Immediately my hopes are once again crushed. The UART/USB bridge I mentioned earlier just did not work. I couldn’t open the COM port even after installing the drivers and fiddling with it. Now I needed a plan. First, how to solve the issue of the board being fatally broken from the design. Second, how I’m going to flash the software.

Beginning of the redneck engineering 

Modifying the PCB by cutting traces and soldering wires to chip contact pads is something that’s actually normal, and I’ve seen a lot of people with much more experience doing fixes like this, so I pretty much expected them on my first PCB.

The task actually wasn’t as hard for me as it could have been. That’s because of the SPI pin holes I provided for myself. All I had to do was cut the MISO and MOSI traces that were connected to the flash chips. Then, soldered two wires to the input and output legs of the chip and the wires to the correct pin holes. First I tried on the board where I deemed the flash fried, then on a new one, this time before soldering anything onto it .

PCB board with two small wires soldered to the legs of an smd chip and a visibly cut trace

The flashing (of light)

I needed to buy a new USB bridge, so I decided that if I’m getting a new one, I’ll get an ST-Link-capable one. The problem was, to use the SWD protocol, I needed access to the SWDIO and SWCLK pins, which I have not made a breakout for. But I came up with a genius plan. I had two spare multimeter probes, which I put into my soldering helping hand and carefully positioned so they touched the pins.

Here is my marvel of engineering.

After a couple of failed attempts and finding another way of easily providing the 3.3V, I got the green light of hope and correct chip identification!

This is where currently, my adventures end, interrupted by my exams. I will release an update somewhere during summer, as I'll slowly get back to my projects.

Back to top