+10 Arduino Expansion Kits  List ‚Ė∑ 2021

So that make the most of the Arduino tools it will be convenient that your learning does not stop growing day by day. To put everything you know into practice, it is recommended that you know the best expansion kits that adapt to you.

You will find this information below. We will show you, in detail, the most complete kits that will help you progress already know more tricks of the arduino board.

Do not miss anything! At the end you will see a list with the projects that you can carry out with Arduino. We will present you the components and the codes that you must use in each one.

List of the best Arduino expansion kits to keep learning

Check out the best Arduino expansion kits below to learn more about this programming world:

ELEGOO Advanced Set ES-EL-KIT-001

This kit includes a manual in Spanish to carry out different projects with your Arduino board. It includes the Arduino UNO Rev3 model, a power supply module, on the 16√ó2 LCD screen (this item will allow you to create clocks, temperature gauges, and more), a stepper motor, and a breadboard. Its more than 200 pieces of its 63 components They are ideal for working on 6.5v to 9v direct current projects. Its cost is ‚ā¨ 50.

UNIROI Expansion kit UA005-DE-FBA

For only ‚ā¨ 29.99 You will have a very useful Arduino kit for those who are just starting out in the Arduino world. It is heavy to carry out any project whatsoever compatible with a UNO board. Includes 45 components that can also be used in Mega 2560 and Raspberry Pi models. Among the items that stand out are, a 7-segment one-digit display, a 16√ó02 LCD display, a stepper motor, and a variety of connectors.

ELEGOO ES-EL-KIT-003 Kit

ELEGOO ES-EL-KIT-003 Kit

With this set of elements you will be able to carry out any mid-level plan, since you will have an Arduino UNO R3 board, a batch of 5v relays and an external power supply module. You will also have a servomotor to make robotic arms and a guide in Spanish to program inside the Arduino IDE. The price of this set is ‚ā¨ 33 and you can combine it with other tips that will help you increase the difficulty of development.

Arduino Starter INVEN

The INVEN kit is designed for anyone who wants to do work with Arduino boards, so it won‚Äôt matter if you‚Äôre just starting out. It has a Arduino ONE, a SG90 servomotor, a sound sensor and a temperature and humidity sensor, a stepper motor and an 830 dot breadboard. In addition, you can find three photovoltaic sensors, a 10 kő© potentiometer and an LCD1602 display. Its more than 40 pieces will allow you to carry out any type of work. Its price in the most important stores is ‚ā¨ 77.95.

Octopus Electronic Bricks Set

In this case, it is a 24-piece set designed for a beginner level. You will find an Arduino UNO board, tilt and sound sensors, a buzzer, a single channel relay, a plastic box and a 5mm Octopus LED brick. It includes a manual in Spanish with which you can guide yourself to make the connections and not make mistakes in the assembly process. Its price is ‚ā¨ 75.

Kit for Arduino Kuman K4-UK

Kit for Arduino Kuman K4-UK

In this set you will find more than 40 pieces that will help you learn electronics with Arduino. It has a breadboard, a stepper motor, various sensors, and a 4-digit 8 cm display. Also included in this kit is an LED module, different resistors, and a pair of passive and active buzzers. For only ‚ā¨ 30.99 you will have one of the best outfits on the market.

Freenove Starter Kit FNK0047 for ESP32-WROVER

You can find this set of elements for Arduino in the best online stores for only ‚ā¨ 49.95. It includes a folder with codes for programming the board in IDE, jumper cables, resistors, a 7-segment digit display, a 1602 LCD display and a set of LEDs of different colors. In this way you can choose any type of project and download programming manuals from the official Arduino website.

Smraza set for Arduino S19s

If you are interested in starting your way on Arduino, then You can choose this expansion kit with which you are going to carry out basic electronics projects. You can get this group of components for around ‚ā¨ 20. It includes a precision potentiometer, an active-type buzzer, different colored LEDs, cables, adapters for 9v batteries and a USB cable.

Quimat Arduino Kit for Beginners Model QK4-US

It is one of the cheapest kits that you can get in specialized electronics stores, its average price is ‚ā¨ 30. It includes, in addition to the tutorial in Spanish, an Arduino UNO R3 board, a group of wires to make the connections and a breadboard. Also featured in this set is a stepper motor, LCD display, key switch, and adjustable potentiometer.

SUNFOUNDER UK-Vincent for Arduino Mega2560

This dispersion kit is characterized by having an Arduino 2560 board, which makes it a set of components very versatile to carry out any electronics project. You will have to pay around ‚ā¨ 51 to have in your hands an LCD screen, a generic breadboard, cable kits, transistors and resistors, led pins of various colors and motion and humidity sensors. It is ideal for getting started on Arduino.

Meet the best Arduino projects to learn how to develop your own devices

So that you can put your Arduino knowledge into practice, you can develop the projects that we show you below:

Parking alarm

Parking alarm

With this Arduino project you will be able to park your car in a calm way because every time you put in reverse the device will activate alerting the distance that exists between your car and an object. Its development is very simple, You just have to get a UNO version plate, an HC-SR04 type ultrasonic sensor, three LED lights, a generic breadboard and a buzzer. Do not forget about a 220 Ohm resistor and the cables for the connection.

Once you have all the elements you will have to join the 5V pin of the board with the VCC of the sensor, then you must connect the GNDs to each other and from pin 9 you will have to take a cable for the TRIG. Finally, you are going to have to connect the digital pins of the Arduino board to the LEDs. You can see this scheme in the image that we present to you.

When you have made the connections correctly, you must enter the Arduino programming environment and type these commands:

intl1 = 5 ; // led verde

intl2 = 4 ; // led naranja

intl3 = 3 ; // led rojo

intzumbador = 6 ; // timbre

inttrig = 9 ;

intecho = 7 ;

configuración vacía ()

{

Serial . comenzar ( 9600 );

pinMode ( l1 ,SALIDA );

pinMode ( l2 ,SALIDA );

pinMode ( l3 ,SALIDA );

pinMode ( zumbador ,SALIDA );

pinMode ( trig ,SALIDA );

pinMode ( eco ,ENTRADA );

}

bucle vacío ()

{

digitalWrite ( trig ,LOW );

delayMicroseconds ( 5 );

digitalWrite ( trig ,HIGH );

delayMicroseconds ( 10 );

digitalWrite ( trig ,LOW );

inta = pulseIn ( eco , ALTO );

intdistancia = a * 0343 / 2 ;

Serial . print ( "Valor del sensor de Espa√Īa" );

Serial . println ( distancia );

si( distancia < 50 )

{

escritura digital ( l1 ,ALTA );

escritura digital ( l2 ,BAJA );

digitalWrite ( l3 ,BAJO );

digitalWrite ( zumbador ,BAJO );

}

si( distancia < 30 )

{

escritura digital ( l2 ,ALTA );

escritura digital ( l1 ,BAJA );

}

si( distancia < 10 )

{

escritura digital ( l2 ,BAJA );

escritura digital ( l1 ,BAJA );

escritura digital ( l3 ,ALTA );

digitalWrite ( zumbador ,ALTO );

retraso ( 150 );

digitalWrite ( zumbador ,BAJO );

retraso ( 150 );

digitalWrite ( zumbador ,ALTO );

retraso ( 150 );

digitalWrite ( zumbador ,BAJO );

retraso ( 150 );

}

}

Automatic irrigation system

Automatic irrigation system

This project consists of creating an automatic irrigation system using three sprinklers. For this you will need an Arduino UNO board, a DS3231 real time clock, an LED module, a four-channel controller, two buttons (one red and the other black), a waterproof plastic case, a breadboard, and jumper cables. You will also use a 12v solenoid valve, a 12v power supply, a water flow sensor and items necessary for the faucets.

Use the diagram of the graph to join all the materials, then write these instructions in the Arduino IDE:

#include <DS3232RTC.h>

#include "Constants.h"

#define AWAKE_INDICATION_PIN DEEP_SLEEP_SCHEDULER_AWAKE_INDICATION_PIN

#define DEEP_SLEEP_DELAY 100

#define SUPERVISION_CALLBACK

#include <DeepSleepScheduler.h>

#define EI_NOTPORTC

#define EI_NOTPORTD

#include <EnableInterrupt.h>

#include <EEPROMWearLevel.h>

#include "WaterManager.h"

#include "SerialManager.h"

SerialManager *serialManager;

WaterManager *waterManager;

void setup() {

if (!superviseCrashResetCount()) {

return;

}

serialManager = new SerialManager(BLUETOOTH_ENABLE_PIN);

waterManager = new WaterManager();

serialManager->setWaterManager(waterManager);

initRtc();

pinMode(START_AUTOMATIC_PIN, INPUT_PULLUP);

enableInterrupt(START_AUTOMATIC_PIN, isrStartAutomatic, FALLING);

pinMode(MODE_PIN, INPUT_PULLUP);

enableInterrupt(MODE_PIN, isrMode, FALLING);

serialManager->startSerial();

}

void loop() {

execute();

}

#define MAX_RESET_COUNT 100

class SupervisionCallback: public Runnable {

void run() {

int resetCount = 0;

get(EEPROM_INDEX_WATCHDOG_RESET_COUNT, resetCount);

put(EEPROM_INDEX_WATCHDOG_RESET_COUNT, resetCount + 1);

}

};

/**

return false if not too many crash resets, true if system should stop.

*/

inline bool superviseCrashResetCount() {

begin(EEPROM_VERSION, EEPROM_INDEX_COUNT, EEPROM_LENGTH_TO_USE);

int resetCount = 0;

get(EEPROM_INDEX_WATCHDOG_RESET_COUNT, resetCount);

if (resetCount > MAX_RESET_COUNT) {

// too many crashes, prevent execution

pinMode(COLOR_LED_GREEN_PIN, OUTPUT);

digitalWrite(COLOR_LED_GREEN_PIN, LOW);

pinMode(COLOR_LED_RED_PIN, OUTPUT);

digitalWrite(COLOR_LED_RED_PIN, HIGH);

pinMode(COLOR_LED_BLUE_PIN, OUTPUT);

digitalWrite(COLOR_LED_BLUE_PIN, LOW);

begin(9600);

// wait for serial port to connect

while (!Serial);

println(F("too many resets"));

return false;

} else {

// no problem, execute as normal

setSupervisionCallback(new SupervisionCallback());

return true;

}

}

inline void initRtc() {

// reset alarms if active

alarm(ALARM_1);

alarm(ALARM_2);

delay(1000);

pinMode(RTC_INT_PIN, INPUT_PULLUP);

enableInterrupt(RTC_INT_PIN, isrRtc, FALLING);

}

void modeScheduled() {

waterManager->modeClicked();

serialManager->startSerial();

// simple debounce

delay(200);

removeCallbacks(modeScheduled);

}

void isrMode() {

if (!scheduler.isScheduled(modeScheduled)) {

schedule(modeScheduled);

}

}

void startAutomaticRtc() {

println(F("startAutomaticRtc"));

waterManager->startAutomaticRtc();

serialManager->startSerial();

}

void rtcScheduled() {

// println(F("rtcScheduled"));delay(150);

if (RTC.alarm(ALARM_1)) {

schedule(startAutomaticRtc);

}

if (RTC.alarm(ALARM_2)) {

schedule(startAutomaticRtc);

}

}

void isrRtc() {

schedule(rtcScheduled);

}

void startAutomatic() {

println(F("startAutomatic"));

waterManager->startAutomatic();

serialManager->startSerial();

// simple debounce

delay(200);

removeCallbacks(startAutomatic);

}

void isrStartAutomatic() {

schedule(startAutomatic);

}

Light switching through a motion sensor

Light switching through a motion sensor

You will be able to turn lights on automatically when the motion sensor, created by an Arduino board, comes into action. For this project you will need an Arduino UNO board, a PIR type motion sensor, a breadboard, a 12 volt 29 amp power supply, a sparkfun led strip and jumper cables. Your union must be done taking into account the diagram that we present in the image.

Write the following sequences in the IDE:

/ * # define Bpin 8;

# definir Rpin 9;

# definir Gpin 10; * /

/ * int Bpin = analogRead (A0);

int Rpin = analogRead (A1);

int Gpin = analogRead (A2); * /

int Bpin  =  A0 ;

int Rpin  =  A1 ;

int Gpin  =  A2 ;

int Motion  =  2 ;  // sensor PIR

int estado  =  BAJO ;

int val  =  0 ;

configuración vacía () {

pinMode ( movimiento , ENTRADA );

pinMode ( Bpin , SALIDA );

pinMode ( Rpin , SALIDA );

pinMode ( Gpin , SALIDA );

//Serial.begin(9600);

}

bucle vacío ()

{

val =  digitalRead ( movimiento );

if ( val ==  ALTO )

{

Serial . println ( "Menyala" );

if (state == LOW)

{

state = HIGH;

}

// Ingresa tu código aquí

for(int fade = 0; fade <=255; fade +=5)

{

analogWrite(Bpin,fade);

}

for(int fade = 255; fade >= 0; fade -=5)

{

analogWrite(Bpin,fade);

delay(10);

}

for(int fade = 0; fade <=255; fade +=5)

{

analogWrite(Rpin,fade);

delay(1000);

}

for(int fade = 255; fade >= 0; fade -=5)

{

analogWrite(Rpin,fade);

delay(1000);

}

for(int fade = 0; fade <=255; fade +=5)

{

analogWrite(Gpin,fade);

delay(1000);

}

for(int fade = 255; fade >= 0; fade -=5)

{

analogWrite(Gpin,fade);

delay(1000);

}

}

else

{

println("Tidak Menyala");

if (state == HIGH)

{

estado =  BAJO ;

}

int dim  =  BAJO ;

analogWrite ( Bpin , tenue );

analogWrite ( Rpin , tenue );

analogWrite ( Gpin , tenue );

}

}

Alarm clock

Alarm clock

With an Arduino Micro kit you will be able to create your own alarm clock and add the timer function. Its programming and assembly is not difficult, since you will need a SparkFun 5 V 16 MHz board, a mini MP3 player, a Micro SD card and a 12√ó16 LCD screen.

You will also need to have a Pi RTC clock chip, a 4 ohm 3 watt speaker, a push button switch, a power supply and a stripboard. If you want, 3D print a plastic box or buy one to contain the electronic device. Its installation is a bit complicated in terms of wiring, so you should be guided by the image that we show you so that you do not make mistakes.

Next, you are going to have to write these codes in the Arduino IDE to program your clock:

#include "RTClib.h"

// LCD I2C

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

// Tarjeta de sonido DFPlayer

#include "Arduino.h"

#include "SoftwareSerial.h"

#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial ( 8 ,  9 );  // RX, TX

DFRobotDFPlayerMini myDFPlayer ;

#define ALARM_SECONDS 10 // segundos

#define ALARM_REPEAT_DELAY 2000 // milisegundos

#define ALARM_VOLUME 15 // 0 a 30

#define SESSION_TIME 30 // minutos

// botones de ajuste de tiempo m√°s / menos. BAJO cuando se presiona Conectado para interrumpir entradas, software antirrebote.

#define TPLUS_PIN 0

#define TMINUS_PIN 1

volatile int  TPLUS_button  =  falso ;

volatile int  TMINUS_button  =  false ;

RTC_DS1307 rtc ;

LiquidCrystal_I2C lcd(0x27, 20, 4);

char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

void playalarm() {

volume(ALARM_VOLUME); //Set volume value. From 0 to 30

play(1); //Play the first mp3

}

void setup () {

begin(57600);

//while (!Serial); // for Leonardo/Micro/Zero

println("Shoni's Clock");

pinMode(TPLUS_PIN, INPUT_PULLUP);

pinMode(TMINUS_PIN, INPUT_PULLUP);

init();

backlight();

setCursor(0, 0);

print(" Shoni's Clock");

delay(1000);

begin(9600);

if (! rtc.begin()) {

println("Couldn't find RTC");

clear();

setCursor(0, 0);

print("RTC error!");

delay(3000);

}

if (! rtc.isrunning()) {

println("RTC is NOT running!");

clear();

setCursor(0, 0);

print("Clock time error!");

delay(3000);

}

// following line sets the RTC to the date & time this sketch was compiled

adjust(DateTime(F(__DATE__), F(__TIME__)));

// This line sets the RTC with an explicit date & time, for example to set

//rtc.adjust(DateTime(2019, 10, 12, 11, 59, 50));

if (!myDFPlayer.begin(mySoftwareSerial)) { //Use softwareSerial to communicate with mp3.

println(F("Unable to begin:"));

println(F("1.Please recheck the connection!"));

println(F("2.Please insert the SD card!"));

while (true) {

delay(0); // Code to compatible with ESP8266 watch dog.

}

}

volume(ALARM_VOLUME); //Set volume value. From 0 to 30

playalarm();

attachInterrupt(digitalPinToInterrupt(TPLUS_PIN), TPLUS_button_interrupt, LOW);

attachInterrupt(digitalPinToInterrupt(TMINUS_PIN), TMINUS_button_interrupt, LOW);

}

void TPLUS_button_interrupt() {

TPLUS_button = true;

}

void TMINUS_button_interrupt() {

TMINUS_button = true;

}

void check_buttons() {

int dir;

if (TPLUS_button | TMINUS_button) {

if (TPLUS_button) {

dir = 1;

//Serial.println("Adjust time -1 minute");

delay(50);

TPLUS_button = false;

}

if (TMINUS_button) {

dir = -1;

//Serial.println("Adjust time -1 minute");

delay(50);

TMINUS_button = false;

}

DateTime newtime = rtc.now() + (60 * dir);

adjust(newtime);

}

}

char d[16];

int prevmin = 99;

int alarmplaying;

void loop () {

int minleft;

int updateDisplay = true;

check_buttons();

DateTime now = rtc.now();

// update display only if the minute has changed

if (prevmin == now.minute()) {

updateDisplay = false;

}

else {

updateDisplay = true;

prevmin = now.minute();

}

if (now.minute() == 0) {

minleft = 0;

}

else if (now.minute() > 30) {

minleft = 60 - now.minute();

}

else {

minleft = 30 - now.minute();

}

// Display current time

if (updateDisplay) {

sprintf(d, "%2d:%02d", TwentyFourToTwelve(now.hour()), now.minute());

println(d);

clear();

setCursor(5, 0);

print(d);

}

// Display time left in session

if (minleft == 0) {

if ((now.second() < ALARM_SECONDS)) {

if (!alarmplaying) {

playalarm();

alarmplaying = true;

}

setCursor(0, 1);

print("--Session over--");

println("--Session over--");

delay(ALARM_REPEAT_DELAY);

}

else {

minleft = SESSION_TIME;

alarmplaying = false;

}

}

setCursor(0, 1);

sprintf(d, "minutes left: %2d", minleft);

print(d);

//Serial.println(d);

delay(500);

}

int TwentyFourToTwelve(int hour) {

int h = hour % 12;

if (h == 0) {

h = 12;

}

return h ;

}

Lighting system control

Lighting system control

Thanks to this project you will be able to control a strip of LEDs that will move according to the music or any other parameter. You will need the Arduino UNO model, dmx cables, an adapter for the Grove interface to the dmx, LED bulbs, and jumper cables. The connection must be made taking into account the connection diagram in the image.

Access the Arduino programming environment and write the following commands:

#include <DmxSimple.h>

configuración vacía () {

usePin ( 3 ) ;

//DmxSimple.maxChannel ( 6 ) ;

write ( 1 , 255 ) ;

}

bucle vacío () {

{

write ( 1 , 12 ) ; // Canal 1 - Selección de función - encender

write ( 1 , 151 ) ; // Canal 1 - Selección de función - sonido para cambiar

write ( 3 , 151 ) ; // Canal 3 - Selección de función - sonido para cambiar ajuste de velocidad

write ( 2 , 48 ) ; // Canal 2 - Coincidencia de color de los leds - pudrición

retraso ( 5 ) ;

write ( 2 , 52 ) ; // Canal 2 - Coincidencia de color de los leds - verde

retraso ( 5 ) ;

write ( 2 , 62 ) ; // Canal 2 - Coincidencia de color de los leds - azul

retraso ( 5 ) ;

}

}

If you have any questions, leave them in the comments, we will answer you as soon as possible, and it will also be of great help to more members of the community. Thanks! ūüėČ

Felix Bathrobe

Author: Félix Albornoz

I have been working in the technology sector for more than 20 years helping companies and users to develop and train in this field. Always learning new things.

You may be interested:

Leave a Comment