AES Encryption/Decryption using Arduino Uno

1. Description

This tutorial shows how to implement AES encryption and decryption on Arduino Uno/standalone ATmega328P-PU microcontroller systems. This technique could help in securing the communication between this type of devices in order to avoid sniffing and replaying signals by a third-party.

Difficulty level: intermediate.

Continue reading “AES Encryption/Decryption using Arduino Uno”

In Circuit System Programming (ICSP) using USBtinyISP and Arduino IDE

1. Description

This tutorial shows how to use Arduino IDE (1.8.2) and an USBtinyISP programmer to upload code (bootloader and/or schetches) into ATmega328P-PU microcontrollers without using a serial/USB connection.

USBtinyISP is an inexpensive open-source external programmer that can be used to easily upload code into Arduino Uno R3,  stripped-down AVR development boards and/or standalone ATmega328P-PU microcontrollers.

Difficulty level: intermediate.

Continue reading “In Circuit System Programming (ICSP) using USBtinyISP and Arduino IDE”

Remote Sensor (Temperature and Humidity) Monitoring over RF Link

1. Description

The purpose of this project is to build a system that periodically sends sensor data from a remote device (standalone ATmega328 microcontroller) to a central monitoring device (Arduino Uno R3 development board) over a RF link. Some power-saving techniques have been used in order to preserve remote device’s battery life. For the purpose of simplicity, a simple temperature and humidity sensor has been used at the remote device; it could be easily replaced with any other sensor. The simple topology (one remote device to one monitoring device) could be extended (multiple remote devices to a single monitoring device).

Difficulty level: advanced.

Continue reading “Remote Sensor (Temperature and Humidity) Monitoring over RF Link”

ATmega328P-PU Power Saving (Sleep Mode and Watchdog Timer)

1. Description

This tutorial presents some power-saving techniques available for ATmega328 based designs.  They could help in lowering the overall power consumption and preserve battery life (in case of using batteries as a power supply). Even though the examples presented below are originating from a basic sketch (periodic LED blinking), they could easily be ported to various other applications.  Each scenario indicates the current consumption measurement and an estimation of the battery lifetime – this could be useful in choosing the right and most effective power-saving technique(s) for your specific applications.

Difficulty level: intermediate.

Continue reading “ATmega328P-PU Power Saving (Sleep Mode and Watchdog Timer)”

Standalone ATmega328P-PU w Reset Button and LED

1. Description

This tutorial shows how to setup a standalone ATmega328P-PU microcontroller (breadboard or PCB) in an Arduino compatible mode.
The microcontroller should be pre-loaded with the Arduino bootloader in order to be able to easily upload Arduino
sketches using an additional Adruino board. The setup helps to reduce costs and power conpsumtion, in particular for
remote devices (i.e. remote sensors).

Difficulty level: intermediate.

Continue reading “Standalone ATmega328P-PU w Reset Button and LED”