Assignment #14
networking and communications
The 14th assignment of the Fab Academy consists of designing, building, and connecting wired or wireless node(s) with network or bus addresses.
1 – schematics
Because I cannot access the lab during the pandemic, I used two Arduino Nano boards and two NRF24L01 modules to create a network. One node has an input device, a button, while the other has an output device, a yellow LED. I assembled the circuit on two breadboards, soldered wires to the modules, and connected the components. An interesting part of the setup was using a 10 µF capacitor to stabilise the radio module’s power supply.
2 – Code
The code is quite straightforward. I used the commands of the RF24 library to define a radio channel, establish communication between the two devices, and send the button’s state to the receiver, which uses it to switch the LED on or off. Each controller needs its own program:
transmitter code
receiver code
The network is simple, but it works, and I can see plenty of possibilities to explore. To learn more about this technology, take a look at this tutorial that I consulted to make my assignment
3 – Receiver Board Design
Although pandemic restrictions prevent me from milling the PCBs, I can still design them to complete the assignment.
The first PCB will be the receiver. I’ll use an ATmega328P and check its pinout to connect the components, although I’m now quite familiar with this controller!
Then I used KiCad to design the schematics:
Then I switched to the PCB design features, and routed everything.
To explore the software’s capabilities, I made a circular PCB and added text. Since the circuit was fairly complex, I used a two-sided layout.
Here is the result in KiCad’s 3D viewer:
4 – Transmitter Board Design
The same principles were applied to the design of the transmitter board
I used KiCad to design the schematics:
Then I switched to the PCB design features, and routed everything.
This time, I chose a polygonal board rather than a circular one and added text again.
Here is the result in KiCad’s 3D viewer:
Source files
Here are all the source files for the Network and communication week:
1 - transmitter code
2 - receiver code
2 - receiver PCB
2 - transmitter PCB
