Networks

I designed and routed a circuit (in Eagle) that is directly analogous to Neil's RS-232 circuit, but with extra buttons (so that the nodes can send messages to each other):

Bridge:

Traces, Outline

Node(s):

Node1 Traces, Node2 Traces, Outline

C Makefile

Three nodes; each blinks at a different frequency and sends a different string down the serial channel when it blinks. The led on the middle board is broken. Processors having a conversation!

I had a number of issues with the above boards. First, I did not realized that I had made the board tolerances too tight and so the left two traces on the node boards were actually connected together. This had the bizarre effect of the bridge board being programmable, but both the FTDI and the programmer instantly disconnecting (due to a short) whenever I connected one of the other boards to the cable (since the other boards have to be powered through the long cable to be programmed). I used an Xacto knife to separate the traces, and that fixed this problem. However, I then found that there were strange problems with the LEDs on the boards, and the boards could not talk to me together, although they could talk to me if the other had an empty while loop as a program. It turned out that this was because I did not realized that the serial pins have to be set to input whenever they are not being used for output, since setting them to output sets the line high and blocks communication from other nodes. After figuring out this problem, everything worked beautifully!