Solar Li-ion Charger and Power Supply for Arduino

1. Description

The most Arduino-based projects are powered by external power supplies or battery-packs. The use of such power supplies might be sometimes impractical (i.e. remote microcontroller system placed in a less accessible area). In such cases, a solar power supply backed-up by a rechargeable battery could be more suitable. The purpose of this tutorial is to show how to build such a power supply.

Difficulty level: beginner.

Continue reading “Solar Li-ion Charger and Power Supply for Arduino”

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”

Infrared Remote Control Converter (Arduino Uno)

1. Description

This project shows how to build an infrared remote control (IR RC) converter that allows emulating an IR remote control (emulated IR RC) using a different one (physical IR RC). The basic principle is the following: IR codes sent by the physical IR RC are intercepted by an IR receiver, translated into the physical IR RC corresponding codes and sent through an IR transmitter. The translation table that maps the physical to emulated IR RC codes is permanently stored in the microcontroller’s internal EEPROM; it can be easily (re)initialized by putting the system in setup mode (hardware interrupt generated by a button press).

Difficulty level: advanced.

Continue reading “Infrared Remote Control Converter (Arduino Uno)”

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)”

RF 434MHz ASK Transmitter and Receiver

1. Description

This tutorial shows how to establish a basic RF communication link using cost effective wireless modules (434 MHz transmitter and receiver). The use of low-cost RF modules could be practical in systems with multiple remote sensors and/or other remote devices. On the other hand, this type of modules do not offer advanced security features as it might be the case for the more expensive RF modules.

Difficulty level: beginner.

Continue reading “RF 434MHz ASK Transmitter and Receiver”

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”

Temperature and Humidity Sensor to HTML using JavaScript gauges

1. Description

This is a slightly variation of the setup in the previous post (Sensor Reading Part 2: Temperature and Humidity Sensor to HTML). Readings from a DHT11 temperature and humidity sensor are periodically sent to the client’s browser and displayed using JavaScript gauges. The webpage is hosted on a SD card, data refresh in the client browser is performed through AJAX and XML.

Difficulty level: intermediate.

Continue reading “Temperature and Humidity Sensor to HTML using JavaScript gauges”

Temperature and Humidity Sensor to HTML

1. Description

The setup allows periodic readings from a DHT11 temperature and humidity sensor using an Arduino Uno development board and an Ethernet shield. Sensor readings (temperature and humidity) as well as computed values (heat indexes) could be accessed via a minimalist webpage hosted on a SD card. The webpage refreshes sensor data using AJAX and XML.

Difficulty level: intermediate.

Continue reading “Temperature and Humidity Sensor to HTML”