W13 ¦ Networking and Communications

Assignment for week 13

Making the boards

I am using this week to prepare for my final project. There I will need 30 motors and 30 boards to control them. I need to be able to give each board a command to move the motor to a new specific location. I am continuing with the board from OutPut week where I used I Hall sensor and a Stepper Motor. This week I made some alteration to the design so they could all be connected together.

  1. I began by drawing up the schematics in Eagle. This time around I will not be placing the regulator on the board but my instructor advised me to keep the layout for that possibility.

  2. The board layout.

  3. I milled out 4 boards for the motor and hall sensor board.

  4. Gathering all the components together.

  5. The four board ready.

  6. Here are the two board layouts together. One from last week and one from this week. The main difference is the spacing. Last time I found out that I could not physically fit two connectors on to the board at the same time since the connecting pins were so close together.

  7. To be able to connect the board up for serial communication I needed to make a connection board.

  8. I had bit of a trouble communicating with the board through the serial port. We then found out that I needed to disconnect the red power wire and break the green connections. Then I was able to send commands and get a response back.


This week I finished watching the C Essential Training with Isac Artzi on Lynda.com. After the frustration in output week I made the decision to program within the Arduino environment.

  1. Programming the board with the FabISP.

  2. All wired up for communication. For this week I am using the Sofrware Serial library in Arduino. That allows for communication between the boards This library uses the Serial protocol RS-232. Further information on the Serial Data Standards can be found here. Later in week 14 I had to change to a new Serial library as this one did not facilitate multiple nodes all connected in a daisy-chain. The library that I later used is called SoftwareSerialWithHalfDuplex.

  3. Here is my program that allowed me to communicate with my board. Still early days but at least we are talking. Download: Stepper

    In week 14 I got the code to work a lot better, and there I use the other Serial library mentioned above. Here is a link to that code.

  4. Space control for major Tom...

Files to download from this week

Lesson 13: Networking and Communications

Here is this weeks lecture on Networking and Communications on Vimeo.

Review 13: Networking and Communications

Here you can find the homework review for Networking and Communications on VIMEO

SoftwareSerial Library

Here is good documentation on the Software Serial library in Arduino.


Skills Acquired:

  • An understanding multi-node communication
  • A grasp the concept of  “addressing” and execute it
  • Get microcontrollers to talk back and forth.
  • Understanding the differences between:
    • Synchronous vs asynchronous communication
    • Broadcasting vs addressing individual node
  • Basic knowledge of common serial data standards:
    • RS-232
    • I2C, TWI
    • SPI
    • USB

Documentation Required for Completion:

At Minimum (electronics beginners):

  • Fabricate the “hello world” networking example board(s)
  • Program them in as many languages as possible
  • Document:
    • each board created/device used
    • what it does
    • what protocol it uses and how it works
    • what you learned

Students with Previous Electronics Experience

  • Above requirements, plus….
  • Design your own networking board(s)
  • Provide the design filesUse new and unfamiliar protocols