avana LLC

Networking and communication

10_04 to 17_04 2017

Design and build a wired &/or wireless network connecting at least two processors

Academy files

15_Week work

Eagle, Artcam, 2 Fabduino microcontrollers, jamper cable

Mini CNC Machine

FabDuino: Cristal kit, resistence 499, Resistence 10k, Led, capacitance 1uf, capacitance 0.1 uf, capacitance 10uf, botton, ATmega3284

Drive files:
Download week work

Archive files:
mot_duino.brd/ mot_duino.sch/ mot_duino.png/ master.ino / slave.ino


Fab Academy 2017_Networking and communication from Montserrat on Vimeo.



First we will configure our Arduino Master as a programmer. To do this, we simply have to load the "Arduino ISP" Sketch from the Arduino sample library. We load it in the Master like any other sketch. With this we have turned our Arduino into an ISP programmer.

RECORDING THE BOOTLOADER: - Now we can proceed to burn the bootloader on the Arduino. We connect the master to the computer through the serial port, maintaining the connection between master and slave.

- We set up the Arduino IDE. Select: - The COM port to which the master is connected.

The slave plate model

As a programmer, "Arduino ISP"

Finally we select "Burn bootloader" to start the recording process. After a lot of little lights and blinks on the LEDs of both boards we will see a message in the IDE informing that the bootloader has been recorded correctly.


I2C is used communicate between components on motherboards or in any other electronic system. We will program one master board to command the other slave board to blink an external LED once or twice depending on the received value.The code is split in two parts: the master code and the slave code, which run on two different Arduinos. In the setup function, we begin the I2C bus using the Wire.begin() function. If no argument is provided in the function, Arduino will start as a master.

Lastly, we send a character x, which is between 0 and 5. We use the following functions to begin a transmission to the device with the address 9. The slave Arduino code. We also include the Wire.h library here, but now we start the I2C bus using Wire.begin(9). The number in the argument is the address we want to use for the Arduino. All devices with address 9 will receive the transmission.

In loop()he slave code that interprets the characters sent from the master, we simply interpret that character to blink the built-in LED at different speeds depending on the received character.