NETWORKING AND COMMUNICATIONS

This week's focus was on establishing communication between multiple microcontrollers. Networking is a fundamental skill in embedded systems that allows for distributed processing, for example, using one specialized board for sensing and another for acting.

Learn more about Communication Protocols

I2C Communication

For the individual assignment, I implemented I2C (Inter-Integrated Circuit) communication. I used a Seeed Studio XIAO RP2040 from the output week as the Main node and another RP2040 board from the Input Devices week as the Secondary node.

Then Saheen told me that I would need atleast two secondary modules coonectd to the main module so I could see the main board controlling each module seperately.

So I decided to design a simple board with an OLED display this week.

Main-Secondary I2C Hardware Setup
Schematic Design
I2C wiring details
PCB Design
Soldered Board

I noticed a problem only after I finished my board. So the JST connector in my secondary board was meant to be for the servo motor. So obviously I couldn't use it.

But luckily I had initially designed an I2C interface for the OLED display. But I made a mistake while assigning the connections. I swapped the ground and vcc and thus couldn't add the pins that week. So I decided to use it this week.

I used wires to connect the board to the chain.

Then I realized there was a mistake in the main board. I had swapped the SCL and SDA pins in the I2C.