Skip to content

14. Networking and communications

This week’s assignment:

group assignment:

send a message between two projects

individual assignment:

design, build, and connect wired or wireless node(s) with network or bus addresses

Group assignment

We connected Katie’s board to my LCD board. Her code was as follows:

/* FSR simple testing sketch.

Connect one end of FSR to power, the other end to Analog 0.

Then connect one end of a 10K resistor from Analog 0 to ground

For more information see */

int fsrPin = 4;     // the FSR and 10K pulldown are connected to a0

int fsrReading;     // the analog reading from the FSR resistor divider

void setup(void) {

  // We'll send debugging information via the Serial monitor



void loop(void) {

  fsrReading = analogRead(fsrPin); 

  Serial.print("Analog reading = ");

  Serial.print(fsrReading);     // the raw analog reading

  // We'll have a few threshholds, qualitatively determined

  if (fsrReading < 10) {

    Serial.println(" - No pressure");

  } else if (fsrReading < 200) {

    Serial.println(" - Light touch");

  } else if (fsrReading < 500) {

    Serial.println(" - Light squeeze");

  } else if (fsrReading < 800) {

    Serial.println(" - Medium squeeze");

  } else {

    Serial.println(" - Big squeeze");




You can see the setup working in the above video.

Individual assignment

For this week’s individual assignment, I continued my Serial Display project that I began in week 12 with the assistance of Maxine! I documented it fully here on my week 12 page, but here’s a recap:

  • Sending device: Satshakit with TMP36 temperature sensor from week 11 (My Satshakit Design Files)
  • Receiving device: LCD board with 16x2 LCD from week 12 (My LCD Board Files)
  • Data: Temperature read by TMP36
  • Method of communication: Serial TX on Satshakit/Software Serial RX on LCD board

You can see the display functioning in the above two videos.

UPDATE (6/24/19)

Above, I have included a basic diagram that demonstrates the connections between the various components in my wired communication project shown above.

Wireless communication

To work towards my final project, I decided to work on connecting the aforementioned boards wirelessly to move towards my final project. To that end, I found that our Lab had Microchip’s MRF24J40MA 2.4 GHz IEEE 802.15.4 radio transceiver modules. I found the datasheet here.

My first issue was that the modules run on 3.3V, not the 5V that I run my boards on. Therefore, I had to find a solution to convert the power and all signals from the board to the module from 5V to 3.3V (the boards should be able to interpret signals at 3.3V just fine). I settled on a Logic Level Converter.

I found a library for the transceiver here.

First, I had to solder on pin headers to the boards so that I could begin prototyping with them.

UPDATE (5/19/19)

I finished soldering this board recently after a pause. I will likely be using it for my final project.

Above, the finished product. Note the female pin header in the top right corner to insert the TMP36 temp. sensor (which only uses 3 of the 4 pins in case you were wondering).

UPDATE #2 (6/24/19)

Due to many, many unresolvable issues with the MRF modules (documented here), I eventually went with the ESP8266 WiFi modules. You can see my successful results with these modules here.