Skip to content

Embedded Networking and Communication

This week’s assignment is to design, build and connect wire or wireless nodes with network or bus addresses.

Individual Assignment

  1. I decided to use a Raspberry Pi Pico and XIAO RP 2040 for this assignment.
  2. For background I watched this video that was suggested in the Global Open time. link
  3. The next task was to design a board for the XIAO to assist with this project.
    1. Here is the schematic and PCB design for my board in KiCad.
    2. Schematic
    3. PCB
  4. The theory was to pinout the entire XIAO RP2040 to maximize flexibility. I had to run the DRC a few times to get the board design clean enough to mill, but it wasn’t too difficult.
  5. After I was happy with the design, I exported the gerber files and milled the board on one of the lab’s OtherMill Pro machines using a 1/32” flat end mill with .15 mm trace depth and 1.5 mm trace clearance.
    1. Here is a picture of the milled board.
    2. Milled Board
  6. At that point I stuffed the board by soldering on the XIAO and the headers. I’ve learned from past mistakes and used a multimeter to continuity test my board before connecting it to the computer. I found and corrected a few mistakes before I declared the board ready for testing.
    1. Board and Parts
    2. Completed Board
  7. Once I completed the board, I used this tutorial to get wired networking going between the pico and the XIAO RP2040 on my development board using Thonny.
    1. Here was my setup.
    2. Setup
    3. View with both controllers hooked up to my computer.
    4. Computer Setup
  8. One issue that I encountered was that initially I could only open one instance of Thonny. Some internet research pointed to and easily changeable setting in Thonny as the culprit. I just needed to go to Tools–>Options–>General and uncheck the box for “Allow only single Thonny instance” select OK and restart the program. It worked.
    1. Thonny
  9. Once that issue was resolved, I was able to connect both microcontrollers to my computer and get to work. I used the code provided in the tutorial with the Pico and microcontroller A and the XIAO as microcontroller B.
    1. PicoSent
    2. Pico message sent
    3. XIAOReceived
    4. XIAO message received
  10. Each time I pressed the run button on the Pico the XIAO showed message received.

Learning

This week I learned how to design, build and connect a development board to a Raspberry Pi Pico with a wired connection. I believe that I saved myself a lot of time by checking for continuity on my development board and correcting any errors before moving forward with testing and coding for the week.

Here is a link to my files for the week.

Group Assignment

Here is a link to our group assignment