Leilani | How to Make

Creative

Networking and Communications

Desiging and Milling a Bus and Nodes

I decided to start by mimicing Neil's network bus and nodes. I re-designed them in KiCad, where the traces are seen below:

bus traces node traces

I milled all of the boards using the other mill, so I had to export the gerber files (and so the text was not included). I milled 3 nodes and 1 bus board. During milling, I noticed that the milling was a bit messy on the traces of the bus board. But, due to time constraints, I kept going.

Milling

Stuffing and Problems

I was able to attach many of the parts using solder paste, which worked well. However, when I first plugged in the bus, the AVRISP2 blinked red, despite all traces being fine. I checked the design files, and asked a TA for help.

  • First, we tried to clean up the copper and spare wires in the well. We noticed that some of the messy copper from the milling may mess this up. After cleaning the board by tweezing out copper under a microscope, we tried the board again. Still, I got the red blinking light on the AVRISP2.
  • Secondly, we tried to clean the traces under parts. We what traces could be bridging and remove components Use the rework station. (Which was used to heat and reheat solder). Stray copper - v line to reset line seemed to be bridged.

It seemed that the trouble was with the traces under the attiny45. We removed the attiny with the solder paste heating machine. Once I cleaned that up, the AVRISP2 was green (yay!).

hello working

Programming

I successfully got 3 of the node boards to be prorammed. I was able to do this by loading Neil's code and changing the node id to 1,2, and 3 respectively.

#define node_id '1'
//#define node_id '2'
//#define node_id '3'

There was some trouble with the bus board. At first, we noticed that the lights on each of the node boards was lit when sending over code with the command make -f hello.bus.45.make program-avrisp I confirmed that the light is connected to mosi so it should go on when programming. However, with the bus board, when changing the node id: #define node_id '0', and running the make command, I received the error: lfuse changed, as seen below:

hello working

After much deliberation, we found that the board would only get 64 bytes and then stop. We could only write one byte at a time, and then it refuses to write on the chip. And AVR dude is core dumping.

I was not able to get the network running since I could not program my bus board, but I am going to mill a new bus and check it this weekend, and hopefully get it working for the final project.