This week I decided to make the PCB I worked on in week 4 and program the GPS module. Future modules will be programmed in future weeks.

I first milled the PCB design.

Bear_CAD

I then proceeded to follow the initial design presented in Week 4 and solder pieces onto the board.

Bear_CAD

The product. Most components are through hole and therefore soldered from the bottom.

Bear_CAD

Bear_CAD

Unfortunately, numerous errors exist in the original PCB. For example, the TX and RX pins of the GPS were connected to the TX and RX pins of the Pico W. I also soldered the GPS into the compass position and vice versa.
Furthermore, other pins in the compass were wrongly connected. There was also a microscopic crack in the copper traces, which had to be repaired with some solder.

This meant I had to use a number of jumper wires to bypass PCB routes, and disconnect certain PCB traces. The final board looks something like this:

Bear_CAD

After making all relevant connections, I then programmed the GPS module. See the code below, it prints out the latitude and longitude.

Bear_CAD

I then read from the GPS module, reading the latitude/longitude. The reason I was able to do so indoors at the EDS lab was because their is an antenna on the roof that streams down such connection to the 5th floor amongst other floors.

I was able to read these coordinates and verify that they were the same as building 36! Unfortunately I didn't capture video evidence of this working, but Anthony did see/confirm it working. I've included the GPS code downloadable below for reference. It is written in micropython.

Download the code here