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¶
- I decided to use a Raspberry Pi Pico and XIAO RP 2040 for this assignment.
- For background I watched this video that was suggested in the Global Open time. link
- The next task was to design a board for the XIAO to assist with this project.
- Here is the schematic and PCB design for my board in KiCad.
- 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.
- 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.
- Here is a picture of the milled board.
- 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.
- 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.
- Here was my setup.
- View with both controllers hooked up to my computer.
- 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.
- 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.
- Pico message sent
- XIAO message received
- 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