Back to Mejdi_FabAcademy_FollowUp

Week15: Networking and coms

Assignment:
- design and build a wired &/or wireless network connecting at least two processors
- send a message between two projects
Part of my final project.

Making a custom ATmega32U4 PCB

The ATmega32U4 has a USB core. No need for a FTDI chip! What I want this PCB to do:

Design v1

As usual, I used KiCAD to design my PCB:

KiCAD project directory is here
The essential fabrication files are the shematics and the svg.

Design v2

A quick print to check the footprints.

Few retakes on PCBnew: more space around crystal, pins anotation, cleaner ground plane.

Production









Using my a custom ATmega32U4 PCB

Wake up

Bootloading with arduino IDE, via external ISP programmer

Following this tuto, I flashed an Arduino Uno to make it a ISP Programmer.
Then, I used the Uno to burn the Arduino bootload on my ATmega32U4 (via the ISP connector), as if it was a Arduino Leonardo board. I used my Anolog Discovery to monitor the clock of the ISP bus: the burn takes few minutes and I wanted to be sure data was actually being transfered ^^.

Flashing with Arduino IDE, via USB

Using the Arduini IDE, I can now programme my pcb as if it was the Leonardo board. Both my board blink!

nRF04L01 module

A nice tutorial, with video, on how to use the nRF24L01 module with the Arduino IDE.
It uses this library, that you "install" by extracting the repo in the Arduino/library/ folder. In my case, it is C:\Users\Mej\Documents\Arduino\libraries\

RF com between 2 pcb

I achieved RF communication!
The video, is actually from the 1st version of the code, whith bad synchronisation.

It works perfectly with this code on the "emmiter" board and this code in the receiver board.
NB: The maximum payload size (ie the size of the biggest packet you can send) is equal to 32 chars (32 Byte). Big data transfert should be done one packet at a time.


Back to Mejdi_FabAcademy_FollowUp