8. Electronics Production

For this week the assignment was to make and test a microcontroller board.
I chose to create the STM32 because it was faster than the arduino that I purchased.
I included a 24 page Word doc that I talk out aot of the details and processes on
creating the STM32 microcontroller boards in Kicad version 6


Here is a link that also details my journey and methods
that I used to create an STM32 microcontroller pcb. Some parts are very
detailed and the combined total of approx. 23 pages would have been too long
for this page. So I figured the doc file would be the easiest solution

I will update this area later when I get back to my desktop. Which has
files and docs that I haven't added to my git repo. So I will have to wait
until I get home to update the info of finishing a board in Kicad and
getting it uploaded to a site like jlcpcb to get it printed and shipped
back to the creator. I will show you how I did this with my RP2040 board.

Link to the site

Gallery

Below are my shots of the week

Here are pics of the schematic, 3d render of the pcb, and screenshot of the pcb editor

Finished Schematic
Traces made in pcb
mounting holes in pcb

I wasn't able to use this microcontroller board when I worked on it. I got stuck on the final
stage of development. I was stalled out by not being more versed in Kicad. Although I have learned
more each week, at the time the board was needed I didn't have the skill to overcome the obstaceles
such as footprints & components not showing up. Then there were differnt versions of the files for
different versions of Kicad. In addition to this I could not figure out how to place a ground layer
to finish a seperate microcontroller board design. By the time I had alot figured out, there was so
much time passed, and it was time to move on to other weeks. As a result I was left using an Arduino
Uno R3 board that I purchased from a kit on Amazon. I have been switching between this Arduino Uno R3
and an Rp2040 Xaio. If I get enough time I will attempt to finish devboard that I was designing for
the Xaio. I ran into this issue 3 times working on microcontroller boards, some of it was overthinking
and some was just not knowing enough, soon enough.

Soldering

Here are a few shots of a soldered prototype board for my rp2040 Xaio

25% Finished
75% Finished
Cleaning board with alcohol & toothbrush
So fresh and so clean

Here is the board that I designed & the specs

Justyn's PCB
Proeduct Details

I still have to add the socket connections. Which will be done when they arrive.
I placed an order for them from digikey. Ordered 2 slot, 3 slot, 4 slot, 5 slot,
and 6 slot pinheader sockets. So that multiple boards can be completed for fututre
projects. The parts that were ordered are the BG300 female socket pinheaders.
Below is a picture of the ones that I ordered. I will solder these to my board
and run tests so that I can use them for my final project(s).

I noticed after I got the board in the mail that I mislabled the d5 pin. I labeled
the pin as d6, which that is not correct. It should be labeled as d5. I will make
the edit in Kicad before I submit again. This is why it is always a good idea to
make a final check before submitting anything. This isn't a big deal for me at
at this time because I am learning & this board is for me. If I were to design
a board for a client or collegue, this error would not be acceptable and an
edit/update would be needed immediately. And it is a very easy thing to fix.

BG300 Socket headers


Soldering socket onto custom pcb




Custom pcb and led board illuminated

I was finally able to get an rp2040 xaio board created. I also created another led board
from prototype board that I had in my inventory. The connections are good, I tested the pins
for continuity and everything checked out. I powered on an led to test the board.
Unfortunately, I have been running into non-stop issues with Arduino Ide. I keep getting
an exit 1 error message. This error only began ocurring recently. I get it no matter
which board I use, or the cable used. I had this same error trying to connect
two esp 32 boards, when I discovered a faulty usb-c cable. I was using 2 similar cables
one stopped working, while the other worked just fine. Now today on a rp2040 xaio
it wont load any code. Regardless of the cord or COM port. I only get to select COM1
which never works. I have had success with COM5, but I do not know how to use that port.
I attemped to use one of the default examples in Arduino Ide. So at this point I can't
rely on Arduino Ide to run code.


Exit 1 error