Week 10: Networking

PART I | Design and Making

  1. design

    This week we are supposed to make two boards talk to each other.

    Based on Neil's serial bus boards, I made some modifications so that the master and slave boards were both simplified to the minimum, without LEDs.

    My goal is just to make the two boards take turn signaling: if master board say 0, then the slave board would say 1, and this cycle repeats.

    I designed the boards in Eagle, and the two boards are almost identical besides that the master board has an extra FTDI component to connect to computer.

    Then I exported them as png for milling.

  2. making

    With the help of solderring flux, I made the board. (My soldering skill is getting a lot better, no need to trouble-shoot the board anymore!)

PART II | Programming and Testing

  1. programming

    I was looking through past years' pages and found that Teja was doing something similar to mine, so I went to talk to him and got copies of his c and python codes.

    The make file is just the same as Neil's original one.

    I connected the avr programmer to the ISP head on the board, and powered the board through FTDI. The light on the avr turned green, yeah!

    Time to program! Again, I just followed the same tutorial for the embedded programming week.

    sudo make -f filename.make program-avrisp2

    Then with the same procedure, I programed the slave board.

    The difference between programming the master and slave boards is in the c code: the master board is assigned to be node 0 whereas the slave board is assigned to be node 1.

  2. more programming

    Now it is the time to connect the two boards and communicate!

    Unfortunately, I run into problem opening the python file, so I need to figure this out before making them talk to each other.