fbpixel
Shape and color recognition with Python

Shape and color recognition with Python

, The OpenCV library is used for image processing, in particular shape and color recognition. The library has acquisition functions and image processing algorithms that make image recognition fairly straightforward, without the need for artificial intelligence. This...
Creating an ESP32 network with ESP-NOW

Creating an ESP32 network with ESP-NOW

In this tutorial, we’ll look at how to set up a network of several ESP32s using the ESP-NOW protocol. The ESP32 is a Wifi-enabled development board. It can therefore connect and exchange data with devices connected to the same network. Hardware Computer NodeMCU...
Communication between two ESP32s with ESP-NOW

Communication between two ESP32s with ESP-NOW

In this tutorial, we’ll look at how to configure two ESP32s to establish communication using the ESP-NOW protocol. The ESP32 is a development board integrating Bluetooth and WiFi. It can therefore connect and exchange data with devices connected to the same...
Using a DRV8825 stepper motor controller

Using a DRV8825 stepper motor controller

In this tutorial, we’ll show you how to drive a bipolar stepper motor using a DRV8825 driver. This tutorial is compatible with stepper motor drivers commonly used in digital milling or 3D printer projects (DRV8825, SilentStepStick, etc.). Hardware Arduino UNO...
Using an A4988 stepper motor driver

Using an A4988 stepper motor driver

In this tutorial, we’ll show you how to drive a bipolar stepper motor using an A4988 driver. This tutorial is compatible with stepper motor drivers commonly used in digital milling or 3D printer projects (DRV8825, SilentStepStick, etc.). Hardware Arduino UNO...
Installing OctoPi on Raspberry Pi

Installing OctoPi on Raspberry Pi

To control and monitor your 3D prints remotely, you can use OctoPi on the Raspberry Pi. With OctoPi, you can launch a 3D print remotely, monitor the temperature of the print head and print bed, and watch the print using a camera. In this tutorial, we’ll look at...
Setting up a fixed IP address for your Raspberry Pi

Setting up a fixed IP address for your Raspberry Pi

For some projects, it may be necessary to configure a fixed IP address for your Raspberry Pi. This is because a dynamic IP address can be changed each time the power is switched on. A fixed IP address can come in handy when you’re connecting remotely to your...
Configuring port forwarding

Configuring port forwarding

When you want to connect to a device outside your Wifi network, you need to set up port forwarding. Once your Raspberry Pi or ESP is connected to your Internet router, you can access it from anywhere by configuring port forwarding. N.B: For cybersecurity reasons, it...
Tools for testing UDP communication

Tools for testing UDP communication

, With one or more devices connected to a Wifi network, it’s often useful to have tools to test the UDP communication protocol. It’s possible to communicate between different devices such as computers, Arduino, ESP32, ESP8266, using the UDP protocol. There...
Communication between two ESP32s via UDP

Communication between two ESP32s via UDP

, The NodeMCU ESP32 is a small microcontroller with a WiFi chip. It is possible to establish communication between two ESP32s, when they use the same network. In this tutorial, we’ll look at an architecture with two NodeMCUs exchanging data via the UDP protocol....
Setting up a UDP server on Raspberry Pi

Setting up a UDP server on Raspberry Pi

, When the Raspberry Pi is connected to the Wifi network, it can communicate with other devices on the network using the UDP protocol. This makes it possible to control the Raspberry Pi from another device or to manage other microcontrollers using UDP requests. It can...
UDP communication between Raspberry Pi and ESP32

UDP communication between Raspberry Pi and ESP32

In this tutorial, we’ll look at how to communicate between a Raspberry Pi and an ESP32 using the UDP protocol. When devices are connected to the same Wifi network, they can communicate very simply by exchanging data packets using the UDP protocol. As both the...
Stream video from a Raspberry Pi to a web browser

Stream video from a Raspberry Pi to a web browser

, , , In this tutorial, we’ll look at how to stream video from a PiCam on a Raspberry Pi to a web browser. When a camera is connected to a Raspberry Pi, it’s important to be able to access it from anywhere. To do this, you need to set up a server and send...
A quick look at the C pointer

A quick look at the C pointer

, The C language pointer is a very powerful tool for carrying out certain tasks. It’s a concept you need to grasp if you want to improve your C skills. Some algorithms will be more complicated or even impossible to write without the use of pointers. Introduction...
Create your image bank with Python

Create your image bank with Python

, , To train a neural network in object detection and recognition, you need an image bank to work with. We’ll see how to download a large number of images from Google using Python. To train a neural network, you need a large amount of data. The more data, the...
Remote access to the Raspberry Pi with NoMachine

Remote access to the Raspberry Pi with NoMachine

In this tutorial, we’ll look at how to access the Raspberry Pi desktop remotely using NoMachine. It can be very interesting to communicate with your Raspberry Pi microcomputer remotely, whether to avoid having to walk around with a screen, keyboard and mouse, or...
Communication between two ESP32s with ESP-NOW

Communication between two ESP8266 with ESP-NOW

, In this tutorial, we’ll look at how to set up two ESP8266s for communication using the ESP-NOW protocol. The ESP8266 is a development board integrating Bluetooth and WiFi. It can therefore connect and exchange data with devices connected to the same network....
eSpeak voice synthesizer on Raspberry Pi

eSpeak voice synthesizer on Raspberry Pi

You can turn your Raspberry Pi into an intelligent assistant by using a voice synthesizer like eSpeak. Thanks to this tutorial, you’ll be able to make your robot or application talk. Hardware Raspberry Pi 3 avec Raspberry Pi OS Internet connection and remote...
Using the SD module on the TFT shield with Arduino Mega

Using the SD module on the TFT shield with Arduino Mega

The TFT shield consists of a touch screen and a micro SD card module which is not compatible with the Arduino Mega board. We have seen in previous tutorials how to use the shield screen and its SD card module. We’ll now look at how to modify the SD library to...
Object recognition with Python

Object recognition with Python

, , In this tutorial, we’ll look at how to perform object recognition with Python, using a neural network pre-trained with deep learning. We saw in a previors tutorial how to recognize simple shapes using computer vision. This method only works for certain...
Using a Tilt switch with Arduino

Using a Tilt switch with Arduino

A tilt switch is used to detect the orientation or tilt of a system. It is often used to indicate if a system (such as an agricultural vehicle) is beyond its operating tilt range, or to detect the orientation of a display and thus change its layout. It does not...
Program an ESP8266 with MicroPython

Program an ESP8266 with MicroPython

, , We have seen that the ESP8266 NodeMCU is easily programmable using the Arduino IDE. We will see how to program it with MicroPython. The advantage of using Python to program an ESP8266 is to use it to its full potential. Before following this tutorial, you must...
Turn your Arduino into an HID device

Turn your Arduino into an HID device

It is possible to interface Arduino with the computer and turn it into an HID device. It is thus possible to transform an Arduino into a computer controller in the same way as a video game controller, a computer keyboard or a mouse. Material Arduino UNO push button...
Programming a Teensy board with Teensyduino

Programming a Teensy board with Teensyduino

In this tutorial, we will see how to program a Teensy board with Teensyduino and the Arduino IDE. Teensy microcontrollers are development boards with an ARM architecture. They have a high computing power, a large number of inputs and outputs and communication...
Using an Arduino CNC Shield V3

Using an Arduino CNC Shield V3

In this tutorial we will see the use of the CNC Shield V3 for Arduino. To be able to manage a machine like a CNC or a 3D printer with several stepper motors, it is interesting to have a board that facilitates the connection of the different elements of the machine....
Program an ESP8266 with MicroPython

Program an ESP32 with MicroPython

, , We have seen that the ESP32 NodeMCU is easily programmable using the Arduino IDE. We will see how to program it with MicroPython. The advantage of using Python to program an ESP32 is to use it to its full potential. Before following this tutorial, you must first...
Some Linux terminal commands

Some Linux terminal commands

In this tutorial, we will look at some essential Linux commands for using a Linux machine and a Raspberry Pi in particular. Machine information uname allows you to obtain system information (kernel name, kernel version, OS, etc.) pi@raspberrypi:~ $ uname Linux...
Multitasking program with ESP32 and FreeRTOS

Multitasking program with ESP32 and FreeRTOS

, The NodeMCU ESP32 is based on the Xtensa 32-bit LX6 dual-core microprocessor that embeds the FreeRTOS OS. When using the Arduino IDE, the program runs by default on core 1. To multitask, it is interesting to use all the resources of the microprocessor. In this...
Using an 8×8 LED array with Arduino

Using an 8×8 LED array with Arduino

The 8×8 LED array has 8 rows and 8 columns of individually controllable LEDs. LED arrays can be useful for advertising signs, temperature display, and so on. Material Computer Arduino UNO USB A Male Cable LED array Principle of operation The LED matrix module contains...
Using a transistor module with Arduino

Using a transistor module with Arduino

The transistor module is composed of an electronic component, which can be seen as a controllable switch, which lets pass a current proportional to the voltage at its terminals when it exceeds a certain threshold. It allows, with a very low power signal, to supply a...
Using a Reed Switch (ILS) with Arduino

Using a Reed Switch (ILS) with Arduino

A reed switch or ILS is a magnetic sensor that detects the presence of a magnetic field. This switch will be activated by approaching a magnet. It can be used to know if a door is closed or open or to detect the presence of an object. Material Computer Arduino UNO USB...
Send a mail from a Python script

Send a mail from a Python script

One of the main interests of programming languages, like Python, is to automate tasks like sending mail. In this tutorial we will see how to write a Python program to send an email from a Gmail account. This tutorial can be applied to any computer including a...
Using a HC-12 module with Arduino

Using a HC-12 module with Arduino

Le module HC-12 permet la communication sans-fil semi-duplex entre deux appareils via les fréquences radio. Il travaille sur la mêmes plages de fréquences que le module RF433 mais permet d’atteindre des distances de communication beaucoup plus importante (<1km). De...
Using a RF433MHz module with Arduino

Using a RF433MHz module with Arduino

The radio frequency 433MHz (RF433MHz) is widely used in the field of radio transmissions for remote control or data transmission. It can be found in remote controls or home automation. Material Computer Arduino UNO USB A Male Cable Reed Switch (ILS) Principle of...
Get started with TE0720 and Xilinx Vivado

Get started with TE0720 and Xilinx Vivado

In this tutorial, we go through the steps to program a TE0720, development board integrating a Xilinx Zynq-Z020 SoC, with Vivado and Vitis part of Xilinx software suite. Material Computer with Xilinx Vivado 2020.2 installed TE0720 Starter kit TE0720 Overview The Trenz...
Management of several sensors with a shift register

Management of several sensors with a shift register

In this tutorial, we will see how to manage several sensors with a shift register. We saw in the last tutorial on the subject, that the register could be used to drive LEDs. We will see here, how to read the value of 8 sensors on a single analog input. In electronics,...
Multitasking program with Arduino Due and Scheduler

Multitasking program with Arduino Due and Scheduler

The Arduino Due board allows multitasking using the Scheduler library. It is based on an ARM Cortex-M3 microcontroller in 32 Bits with 84MHz. It is therefore much more powerful than an Arduino UNO. These characteristics allow it to create more powerful multitasking...
Managing an IP Camera with Python

Managing an IP Camera with Python

Whether you want to monitor your flat or the progress of your 3D printing, it can be useful to use an IP camera to have the images available from anywhere. In this tutorial, we will use an IP camera from which we will retrieve the images via Python. This tutorial can...
Creating (more beautiful) components in Fritzing

Creating (more beautiful) components in Fritzing

We have seen in a previous tutorial how to create a component in Fritzing. Now we will see how to improve the design and the import of the model. Material ComputerInkspaceFritzing Use Fritzing’s SVG files to compose your own Rather than redrawing all the...
Creating a graphical interface with Processing

Creating a graphical interface with Processing

In this tutorial we will see how to build a graphical interface with Processing. There are several tools to create a graphical interface: programming language (C, C++, Python, Java, etc.)Web language (HTML/CSS/PHP/Javascript)Software (LabView, Processing, etc.) The...
Using a 0.91in OLED display with Arduino

Using a 0.91in OLED display with Arduino

The 0.91in OLED display is a compact graphic display with a resolution of 128×32 pixels that allows you to draw and display text to create a graphical interface. Among all the displays available for the Arduino, the OLED display is taking more and more space on the...
Computer vision with Arduino and the Pixy2 camera

Computer vision with Arduino and the Pixy2 camera

The Pixy2 camera is a computer-aided visual recognition system. It allows your microcontroller to detect colors or lines to create a line-following robot for example or to catch colored objects. Material ComputerArduino UNO, Mega or NanoUSB cable A Male/B MalePixy2...
Using a water level sensor with Arduino

Using a water level sensor with Arduino

The water level sensor is designed to detect water, it can be widely used to detect precipitation, water level in a cavity or even liquid leakage. The sensor is mainly composed of three parts: an electronic connector, a 1 MΩ resistor and several lines of bare wire....
Using a flame sensor with Arduino

Using a flame sensor with Arduino

The KY-026 flame sensor module detects flames using an infrared receiver that will pick up light emissions from heat sources. This tutorial is applicable to all Arduino compatible boards. Material ComputerArduino UNOUSB cable A Male/B MaleFlame sensor KY-026 Principle...
Using the Arduino Timers

Using the Arduino Timers

The use of timers in Arduino is an advanced method to execute code without disturbing the rest of the program. They allow to activate functions at specific time intervals. Timers are used in many libraries in a completely transparent way for the user (millis(),...
Using an L298N module with Arduino

Using an L298N module with Arduino

The L298N module is a development board based on the L298N integrated circuit allowing the driving of a DC motor or a stepper motor. We have already seen the use of the H-bridge. It can be found as a convenient module to use with different performances depending on...
Using a Hall effect sensor with Arduino

Using a Hall effect sensor with Arduino

The KY-024 Hall effect linear magnetic sensor reacts in the presence of a magnetic field. It is equipped with a potentiometer to adjust the sensitivity of the sensor and provides two analog and digital outputs. Material ComputerArduino UNOUSB cable A Male/B MaleHall...
Configure an ESP8266 as a Wi-Fi Access Point

Configure an ESP8266 as a Wi-Fi Access Point

The esp8266 microcontroller can be configured as an access point (AP) and generate its own wifi network with ssid and password. This method is useful when you do not have access to a wifi network or if you want to work on a network specific to the microcontroller....
Communication between two ESP8266s via UDP

Communication between two ESP8266s via UDP

The NodeMCU ESP8266 is a small microcontroller with a Wifi chip. It is possible to establish a communication between two ESP8266, when they use the same network. In this tutorial, we will see an architecture with two NodeMCUs that will exchange data via the UDP...
Using the ESP12E Motor Shield

Using the ESP12E Motor Shield

The ESP12E Motor Shield is an expansion board that allows an Amica ESP8266 NodeMCU (V2) to drive two DC motors or one stepper motor. We have seen how to drive a DC motor using an H-bridge which can require a lot of wiring when using the simple IC. For an embedded...
Multitasking with Arduino and the FlexiTimer2 library

Multitasking with Arduino and the FlexiTimer2 library

The Arduino FlexiTimer2 library is a library that allows to activate functions at regular time intervals. It allows, as such, to make multitasking programs with Arduino microcontrollers. This method is useful when you want to operate two motors in parallel...
Using interrupts with Arduino

Using interrupts with Arduino

Interrupts allow the microcontroller to execute a function when an event occurs on one of the interrupt pins. Instead of constantly reading the value of a sensor, the program will only be triggered when the value of the sensor changes. This solves many task layout...
Send an email with Arduino and a web interface

Send an email with Arduino and a web interface

When a microcontroller has a remote connection, it is interesting that it can communicate with the outside world and, in particular, send information in the form of mail. We will see in this tutorial how to send an email using an Arduino with a Wifi connection and a...
Using a multi-channel relay module with Arduino

Using a multi-channel relay module with Arduino

When developing a home automation system, it is common to use a multi-channel relay module. These modules have several relay outputs (2, 4, 8 or 16) and offer an easy connection. This makes it possible to control several devices with a single microcontroller. Material...
Using a relay module with Arduino

Using a relay module with Arduino

If you are doing home automation, you will inevitably come across, at one time or another, an electrical relay module. The relay is a controllable switch that allows to isolate the control part from the power part. It is a very used component when you want to make the...
Create a web interface to control your Raspberry Pi

Create a web interface to control your Raspberry Pi

The Raspberry Pi is a very powerful microcomputer that has the particularity of integrating a chip to manage the Wifi connection. This makes it an ideal object to develop connected objects and, in particular, web servers. In this tutorial we will see how to create and...
Using a 4×7 segment display with Arduino

Using a 4×7 segment display with Arduino

In order to get information from the Arduino without connecting it to the computer, it is common to use an interface like the 4×7 segment display. We will see in this tutorial how to connect and program the Arduino to display information on the display. It is possible...
Generating Sounds with an Arduino MIDI Interface

Generating Sounds with an Arduino MIDI Interface

In order to generate synthetic sounds on your computer using an interface and create music, it is possible to transform an Arduino into a MIDI device. Material ComputerArduino with USB port Introduction to the MIDI protocol MIDI (Musical Instrument Digital Interface)...
Managing a 4×4 Analog Keyboard with Arduino

Managing a 4×4 Analog Keyboard with Arduino

Whether it’s a calculator or a building keypad, we commonly use numeric keypads. The 4×4 numeric keyboard is a matrix of 16 buttons whose states can be detected by a microcontroller. This module requires only one analog input from the microcontroller unlike the...
Using the PN532 RFID reader with Arduino

Using the PN532 RFID reader with Arduino

The NFC module PN532 is a smart card reader that, among other things, activates a mechanism when the correct card is presented to the reader. It can be found in smartphones, for example. The RC522 module is certainly the best known RFID module in the Arduino world,...
Force measurement with Arduino and the HX711 module

Force measurement with Arduino and the HX711 module

There are force transducers that are quite simple to use and compatible with microcontrollers such as Arduino. They consist of a load cell and a conversion module. The load cell is a strain gauge sensor that measures force in one direction in space. It is usually...
Communication between two ESP32 via WiFi

Communication between two ESP32 via WiFi

The NodeMCU ESP32 is a small microcontroller with a Wi-Fi chip. It is possible to establish a communication between two ESP32, when they are connected on the same network. In this tutorial, we will see a Master/Slave architecture, in which one ESP32 will play the role...
Configuring an ESP32 as a Wi-Fi Access Point

Configuring an ESP32 as a Wi-Fi Access Point

The esp32 microcontroller from Espressif is able to be configured as an WiFi access point (AP) and generate its own WiFi network with ssid and password. This method is useful when you do not have access to a WiFi network or if you want to work on a network specific to...
Generating and uploading BIN files for ESP32

Generating and uploading BIN files for ESP32

When you have a number of microcontrollers to flash with the same program, it can be interesting to flash the compiled BIN file directly. This has two interests. It saves you time on uploading and it allows third parties to upload a program without using the Arduino...
Generating and uploading BIN files to an ESP8266

Generating and uploading BIN files to an ESP8266

When you have a number of cards to flash with the same program, it can be interesting to flash the compiled BIN file directly into the ESP8266. This has two interests. It saves you time on uploading and it protects your source code if you share the program with...
Generating and uploading HEX files to an Arduino

Generating and uploading HEX files to an Arduino

When you have a number of Arduino boards to flash with the same program, it can be interesting to flash the HEX compiled file directly. This has two interests. It saves you time on uploading and it allows third parties to upload a program without using the Arduino...
Using an AC dimmer with ESP32

Using an AC dimmer with ESP32

In home automation, it is interesting to be able to manipulate alternating current in order to control different electrical appliances such as lamps or fans. The AC voltage dimmer is a module allowing to vary the power of an alternating current. It has the same use as...
Using an AC Dimmer with ESP8266

Using an AC Dimmer with ESP8266

The AC voltage variator is a module that allows to vary the power of an alternating current. It has the same use as a transistor in direct current. It can be used to vary the brightness of a lamp supplied with 220V or to vary the speed of a fan, for example. We will...
Using the EEPROM with the ESP8266

Using the EEPROM with the ESP8266

The EEPROM is an internal memory of the ESP8266 microcontroller which allows to keep in memory data after restarting the card. When working with microcontrollers, it is interesting to keep in memory data such as the identifier and the password of the Wifi. Material...
Using the EEPROM with the ESP32

Using the EEPROM with the ESP32

The EEPROM is an internal memory of the ESP32 microcontroller that allows to keep in memory data after restarting the board. When working with microcontrollers, it is interesting to keep data in memory especially when the card turns off whether it is wanted or not, as...
Using an RFID module with an ESP8266

Using an RFID module with an ESP8266

The RC522 RFID module is a smart card reader which, among other things, allows to activate a mechanism when the right card is presented to the reader. In this tutorial, we will see the management of an RC522 RFID module with a NodeMCU ESP8266 card. Prerequisite:...
Communication between two ESP8266 via WiFi

Communication between two ESP8266 via WiFi

The NodeMCU ESP8266 is a small microcontroller with a Wifi chip. It is possible to establish a communication between two ESP8266, when they are connected on the same network. In this tutorial, we will see a Master/Slave architecture, in which an ESP8266 will play the...
Using an RFID module with an ESP32

Using an RFID module with an ESP32

The RC522 RFID module is a smart card reader which, among other things, allows to activate a mechanism when the right card is presented to the reader. In this tutorial, we will see the management of an RC522 RFID module with an ESP32 NodeMCU card. Prerequisite:...
Programming an ESP32 NodeMCU with the Arduino IDE

Programming an ESP32 NodeMCU with the Arduino IDE

ESP32 NodeMCUs are more and more used to make connected objects thanks to their embedded Wifi and Bluetooth links and their computing power. We will see how to use the Arduino IDE to program a NodeMCU. The way to configure the Arduino IDE is similar between these...
Using an AC Light Dimmer with Arduino

Using an AC Light Dimmer with Arduino

The AC light dimmer is a module that allows to vary the power of an alternating current. It has the same use as a transistor in direct current. It can be used to vary the brightness of a lamp supplied with 220V or to vary the speed of a fan, for example. Material...
Using a ServoHat with Raspberry Pi

Using a ServoHat with Raspberry Pi

The ServoHat is a shield for Raspberry Pi that is based on the PCA9685 controller. The PCA9685 module is a 16 channel controller that allows you to drive 16 PWM outputs via I2C communication. It allows among other things to free inputs and outputs of your...
Line detection with Python and OpenCV

Line detection with Python and OpenCV

An interesting application in robotics is pattern recognition. In this tutorial we are going to use the OpenCV library in a Python code that will allow us to detect a cable at its centre. In order to achieve this line tracking we will perform image processing with...
Installing OpenCV on Raspberry Pi

Installing OpenCV on Raspberry Pi

To perform the image processing we will install OpenCV on the Raspberry PI. OpenCV is a free graphics library that makes image processing relatively easy. With OpenCV, it is possible to process images from the Pi Camera V2. Material Raspberry PI avec une distribution...
Managing a PiCam V2 with Raspberry Pi

Managing a PiCam V2 with Raspberry Pi

One of the most interesting elements to add is the Raspberry Pi Camera V2 or PiCam. This component allows you to take photos and videos. It is also possible to perform live image processing, such as line tracking for a robot. Material Raspberry Pi with a Linux...
Using a DS3231 Module with Arduino

Using a DS3231 Module with Arduino

Every computer is equipped with an internal real time clock that allows it to know the date. Arduino type microcontrollers do not have PSTN. The DS3231 module gives the Arduino the ability to calculate the date, allowing it to control time more precisely. Hardware...
Drive a brushless motor with Arduino

Drive a brushless motor with Arduino

One of the main objectives of robotics is to articulate objects. To do this, it is very common to use electric motors. In the case of flying robots, such as drones, the actuators need a high rotational speed to turn the propellers and allow flight. In this case,...
Using a WiFi Shield with Arduino

Using a WiFi Shield with Arduino

The WiFi Shield allows the Arduino card to connect to the internet via a wireless LAN. It integrates an SD card reader that allows to store data or a web page to drive the Arduino.The basis for creating connected objects is to connect them to a network such as the...
Using a 16×2 LCD Shield with Arduino

Using a 16×2 LCD Shield with Arduino

One of the most widely used information display elements in the Arduino world is the 16×2 LCD (Liquid Crystal Display). When manufacturing an electronic system, it can be interesting to have it give us some information about its status without having to connect...
Using a PIR sensor with Arduino

Using a PIR sensor with Arduino

It is possible to activate a system, such as an alarm, by detecting the presence of a person using a PIR motion sensor. In home automation, it is common practice to operate devices when a person enters a room. This is made possible by motion sensors such as the...
Using a Buzzer with Arduino

Using a Buzzer with Arduino

It is possible to emit sounds using a microcontroller by connecting a buzzer to one of its outputs. When you want to create a user interface, it is nice to have feedback according to the actions performed, whether it is a display, a light that lights up or changes...
Using a WS2812B LED ribbon with Arduino

Using a WS2812B LED ribbon with Arduino

LED ribbons are made up of a succession of addressable RGB LEDs, i.e. the brightness and colour of each LED can be set independently. There are several ribbon models: single colour, non-addressable, 5 or 12V, etc. Pay attention to the model you want to use. Hardware...
Create a Capacitive Sensor with Arduino

Create a Capacitive Sensor with Arduino

Capacitive sensors are commonly used in particular for object detection. They can, for example, detect the passage of an object on a conveyor belt or the level of a liquid in a tank. Closer to home, capacitive sensors are used in touch screens or as switches. In this...
Using a NRF24L01 module with Arduino

Using a NRF24L01 module with Arduino

The radio module NRF24L01 is a transceiver for establishing a connection and transferring data from one device to another via radio waves. Hardware ComputerArduino UNO x2USB cable A Male to B MaleNRF24L01 x2 Principle of operation The nRF24l01 module is a low-power...
Implementation of the moving average in Arduino

Implementation of the moving average in Arduino

An analogue sensor sends a voltage level, usually between 0 and 5V, representing a physical value. This voltage can be subject to measurement noise (electronic interference, electromagnetic interference, measurement accuracy, etc.). In some applications, you will need...
Implementation of the debouncing logic on Arduino

Implementation of the debouncing logic on Arduino

Anti-bounce or debouncing logic prevents the detection of parasitic changes of state of a sensor. When using sensors returning discrete states, such as a push button, it can happen, for mechanical or other reasons, that changes of state are detected that do not...
Implementation of a Measurement Hysteresis on Arduino

Implementation of a Measurement Hysteresis on Arduino

An analogue sensor sends a voltage level, usually between 0 and 5V, representing a physical value. This voltage can be subject to measurement noise (electronic interference, electromagnetic interference, measurement accuracy, etc.). In some applications, you will need...
Using a 4×4 Digital Keypad with Arduino

Using a 4×4 Digital Keypad with Arduino

Whether it’s a calculator or the keypad of a building, we commonly use numeric keypads. The 4×4 numeric keypad is a matrix of 16 buttons whose states can be detected by a microcontroller. Hardware ComputerArduino UNOUSB cable A Male to B MaleKeypad 4×4...
Using an MPU6050 Module with Arduino

Using an MPU6050 Module with Arduino

The MPU6050 module is an inertial unit that measures the evolution of an object in space. It can measure linear and angular accelerations in the three axes of space. This component can be found in several applications such as video game controllers or smartphones. It...
Using a multiplexer with Arduino

Using a multiplexer with Arduino

The multiplexer is an integrated circuit made up of logic circuits allowing several signals to be concentrated on the same output (mutiplexing or mux) or to connect an input to one of its N outputs (demultiplexing or demux). In this tutorial, we will see the use of...
Using a shift register with Arduino

Using a shift register with Arduino

The shift register is an integrated circuit consisting of logic circuits in series that can store high or low states. It can be used to drive LEDs or to retrieve the state of several sensors. Hardware ComputerArduino UNOUSB cable A Male to B MaleShift Register 74HC595...
Using EEPROM with Arduino

Using EEPROM with Arduino

The EEPROM is an internal memory of the microcontroller which allows data to be stored after the card is restarted. When working with microcontrollers, it is useful to store data in the memory, especially when the card is switched off, whether intentionally or...
Summary of function definition in C

Summary of function definition in C

In programming, it is very common or even necessary to use functions that require special definition. This is especially true when code blocks are repeated in the same program. A set of functions and objects are usually collected in libraries. We will see in this...
Summary of strings with Arduino

Summary of strings with Arduino

When you start programming with Arduino, you will very quickly get to the use of strings. A string is used to store text. It is used, for example, to display text on an LCD screen or to send text to the serial monitor. This is often the first example: the display of...
A quick look at the switch instruction in C

A quick look at the switch instruction in C

The switch..case instruction is a conditional structure that executes different instruction blocks depending on the value of a variable. This instruction is equivalent to nested if instructions. Syntax of the switch instruction The switch instruction takes an integer...
Summary on instruction while in C

Summary on instruction while in C

The while instruction is the conditional structure that allows you to create a loop on a condition. It is found in all programming languages. It is used to execute a block of code in a loop as long as a condition is fulfilled. Syntax of the while instruction The...
Summary on the instruction for in C

Summary on the instruction for in C

The for instruction allows code blocks to be repeated. It is the first step towards more efficient and readable code. Syntax of the instruction for The for instruction takes, as input, a counter whose increment and end condition is defined. It is often used in...
Using an OLED Display with Arduino

Using an OLED Display with Arduino

The OLED display is a compact graphic display with a resolution of 128 x 64 pixels that allows you to draw and display text to create a graphical interface. Hardware ComputerArduino UNOUSB A Male to B Male CableOLED TF052 Principle of operation The OLED display TF052...
Using a Microphone with Arduino

Using a Microphone with Arduino

It is possible to add the sense of hearing to your microcontroller by connecting it to a microphone. The microphone picks up vibrations in the air and transforms them into an electrical signal that can be analysed and processed using an algorithm. In this tutorial we...
Using a Joystick with Arduino

Using a Joystick with Arduino

The joystick is a position sensor which returns two analogue values representing its X,Y position. It can be used as an interface to navigate a menu or to control an object in direction or speed. It is commonly found on joysticks for video games, model making remote...
Using a Rotary Encoder with Arduino

Using a Rotary Encoder with Arduino

The rotary encoder is a rotation sensor whose direction and angle can be known. Similar in appearance to the potentiometer, the encoder has no limit stroke and instead of returning a resistance value, like the potentiometer, the encoder returns two digital signals...
Programming an ESP32 NodeMCU with the Arduino IDE

Create a web interface to control your NodeMCU ESP32

The NodeMCU ESP32 is a microcontroller with integrated Wifi and Bluetooth modules. Very easy to use, it is lightweight and has a memory and computing capacity greater than that of the Arduino. This makes it an ideal board for learning programming, developing connected...
Using the millis() function of the Arduino IDE

Using the millis() function of the Arduino IDE

A possible solution to the problems generated by using the delay() function is to use the millis() function. From the first use of the Arduino, the delay() function is used to manage instructions as a function of time. The major problem with the delay() function is...
Create a web interface with NodeMCU ESP8266

Create a web interface with NodeMCU ESP8266

The NodeMCU ESP8266 is a microcontroller with an integrated Wifi module. Very easy to use, it is lightweight and has a memory and computing capacity greater than the Arduino. Ideal for your connected projects.The basics of IoT is to connect objects to a network such...
Using the Arduino Motor Shield

Using the Arduino Motor Shield

The official Arduino Motor Shield is an expansion board for the Arduino UNO and Mega microcontrollers for DC and stepper motor control. We have seen how to drive a DC motor using an H-bridge which can require a lot of wiring when using the IC simply. For an embedded...
Serial communication between Raspberry Pi and Arduino

Serial communication between Raspberry Pi and Arduino

In some projects it may be interesting to establish a serial communication between Raspberry Pi and Arduino. This makes it possible to couple the computing power and wireless interfaces of the Raspberry Pi with the inputs/outputs and the Arduino collection of modules....
Using a PCA9685 module with Raspberry Pi

Using a PCA9685 module with Raspberry Pi

The PCA9685 module is a 16-channel controller that can control 16 PWM outputs via I2C communication. Among other things, it allows you to free up inputs and outputs of your microcontroller and drive up to 16 LEDs or servomotors (or any other module taking a PWM signal...
Using a PCA9685 module with Arduino

Using a PCA9685 module with Arduino

The PCA9685 module is a 16-channel controller that can control 16 PWM outputs via I2C communication. It allows, among other things, to free inputs and outputs of your microcontroller and to drive up to 16 LEDs or servomotors (or any other module taking a PWM signal as...
Summary on the if statement in C

Summary on the if statement in C

The if statement is the basic conditional structure and is found in all programming languages. It allows you to execute different blocks of code according to a condition. It is the basis of many algorithms and allows a computer to make a choice based on the data sent...
Porgram a STM32 with the Arduino IDE

Porgram a STM32 with the Arduino IDE

A large number of microcontrollers such as the STM32 can be programmed with the Arduino IDE. Arduino boards are powerful and very convenient for learning and projects, with an extremely large support community. However, there are other microcontrollers (e.g. NodeMCU,...
Communication between Raspberry Pi and Arduino with I2C

Communication between Raspberry Pi and Arduino with I2C

In some projects, it may be interesting to establish I2C communication between Raspberry Pi and Arduino. The computing power and wireless functionality of the Raspberry Pi coupled with the input/output capability of the Arduino, results in a complete control system to...
Control several Motors with Raspberry Pi and the MotorHAT

Control several Motors with Raspberry Pi and the MotorHAT

To control a motor, whether stepping or direct current, with a Raspberry Pi, it is necessary to add an integrated circuit like an H-bridge. To simplify the assemblies, there are shields like for Arduino , called HAT (hat) at Raspberry. We will see how to communicate...
Power measurement with Arduino and INA219

Power measurement with Arduino and INA219

The INA219 Sensor is a current and voltage sensor for easy measurement of power. In some applications, it is interesting to measure the electrical power exchanged between devices. For example, measuring the power recovered by a solar panel. We will see in this...
Control your project using an IR remote

Control your project using an IR remote

There are different ways to communicate with a system. One of the most used, especially with television, is the infrared remote control. We will see how to drive an Arduino using a receiver and an IR remote control. In this tutorial, we use an IR remote control...
Connect Arduino to the Web using Ethernet Shield W5100

Connect Arduino to the Web using Ethernet Shield W5100

Connection between Arduino and internet is possible with the Ethernet Shield W5100. The basis for creating connected objects, is to connect them over a network such as the WiFi network.Communication via the Ethernet network is very convenient when you want to connect...
Create audio files for Arduino

Create audio files for Arduino

It is possible to play sounds through a speaker with an Arduino board and an SD card module. The TMRpcm.h library allows you to manipulate audio files but does not read all types of files. We are going to see a method to convert or create audio files compatible with...
Remote connection to Raspberry Pi

Remote connection to Raspberry Pi

The Raspberry Pi is a very powerful tool offering many functionalities. One of them is the remote connection which makes it a favorite tool for connected objects or IoT. To configure the Raspberry on its first use, it is practical to have a screen with an HDMI port, a...
Connect your Raspberry Pi 3 to WiFi

Connect your Raspberry Pi 3 to WiFi

The Raspberry Pi 3 Microcontroller is a very powerful mini computer and one of the most important features is that it incorporates a Wifi chip and can connect to a wireless network. It is the first step to access the potential of the Raspberry Pi and the first step...
Modulate the color with the RGB LED

Modulate the color with the RGB LED

The RGB LED provides a wide range of colors. It is composed of three mini LEDs, red, green and blue (hence their name RGB); close enough for their lights to mix. Therefore, it is piloted in the same way as three independent LEDs. For instance, it can be used to create...
Control several motors with Motor Shield V2 and Arduino

Control several motors with Motor Shield V2 and Arduino

The Motor Shield V2 is an expansion board for microcontrollers Arduino UNO and Mega to control DC and stepper motors. For motor control, it is possible to use integrated circuits directly but their use requires significant wiring can quickly become unmanageable. To...
Improve your Arduino program

Improve your Arduino program

Memory space is limited on an Arduino board, it may be important to improve your Arduino program in order to avoid certain problems. The more we advance in programming, the more we come to write long and complex programs. It is important, as soon as possible, to take...
Control several motors with Motor Shield V1 and Arduino

Control several motors with Motor Shield V1 and Arduino

The Motor Shield V1 is an expansion board for Arduino UNO and Mega microcontrollers for DC and stepper motor control. We have seen how to control a DC motor using H bridge which may require a lot of connections when using the simple integrated circuit. In an embedded...
Management of a push button with Arduino

Management of a push button with Arduino

One of the most common examples when learning programming with Arduino is the management of a push button. Indeed, one of the most useful functions to develop is to be able to interact with the Arduino board. The most minimalist interface is a push button input and...
Manage multiple Arduino with an I2C bus

Manage multiple Arduino with an I2C bus

It can be practical, especially in home automation projects, to communicate between several devices. One of the commonly used techniques is the I2C (or TWI) protocol. The I2C protocol is a method which makes it possible to connect several “Master” cards and several...
Give voice to your Arduino project

Give voice to your Arduino project

To make your Arduino project more interactive, it can be fun to make sounds based on certain actions. In this tutorial, we will see how to play a WAV audio file saved on an SD card with Arduino Prerequisite:Read and write on an SD card , Create or modify an audio file...
Using a LCD16x2 Screen with Arduino

Using a LCD16x2 Screen with Arduino

One element that displays the most used in the world is information Arduino liquid crystal display (Liquid Crystal Display) LCD 16×2. When an electronic system is made, it may be interesting as it gives us some information about his condition without having to...
Using a distance sensor GP2Y0A21 with Arduino

Using a distance sensor GP2Y0A21 with Arduino

The sensor GP2Y0A21 is an infrared distance sensor from Sharp that can detect object located at a distance between 10 and 80cm in front of it. Hardware Computer Arduino UNO USB A/B GP2Y0A21 Operating principle The distance sensor GP2Y0A21 uses infrared light to...
Create a web interface with NodeMCU ESP8266

Program a NodeMCU ESP8266 with Arduino IDE

A large number of microcontrollers such as NodeMCU ESP8266 can be programmed with the Arduino IDE. Arduino boards are powerful and very practical for learning and carrying out projects, with an extremely large mutual aid community. However, there are other...
Using a RFID module with Arduino

Using a RFID module with Arduino

The RFID module is a smart card reader which allows among others, to activate a mechanism when the correct card is presented to the reader. We will use here the RC522 module, which is the most common. Hardware Computer ArduinoUNO USB Cable Module RFID Dupont Cable M/F...
Using a Potentiometer with Arduino

Using a Potentiometer with Arduino

The potentiometer is a variable resistor which is used to vary the voltage at its terminals. It is used in several applications including set a value: adjust the brightness of a light, adjust the volume of a speaker, change the position of a servomotor, etc. Hardware...
Luminosity measurement with a photoresistor

Luminosity measurement with a photoresistor

A photoresistor is an electronic component that measures ambient light. This component is useful in some projects such as a solar panel light follower or home automation to create a smart lamp that only turns on when it is dark or to set up an alarm with a laser...
Read and write on a SD card with Arduino

Read and write on a SD card with Arduino

One of the weak spot of the Arduino is the memory space. When playing with data (saving measurement, reading or writing to a file, etc.), it is necessary to have lot of space available. You can easily add memory to the Arduino with a Secure Digital card or SD card....
Program your Raspberry Pi with C/C++

Program your Raspberry Pi with C/C++

Ressources for Raspberry PI are generally written for Python but, as a micro computer, other languages can be used. If you know C/C++ ( If you come from the Arduino world, for instance) and don’t want to bother learning another computing language, it is possible...
Command a serial controller Maestro with Raspberry Pi

Command a serial controller Maestro with Raspberry Pi

When dealing with several servomotors and an extra number of outputs is needed to operate your robot (to control Hexana, for instance), a practical solution is to use a serial controller such as the Mini Maestro from Pololu. Prerequisite: Programming on Raspberry Pi,...
Control a DC Motor with Raspberry Pi

Control a DC Motor with Raspberry Pi

One of the main objectives in robotics is to make things move on their own. To give motion to a robot, electrical motors are oftenly used such as direct current (DC) motors especially for mobile robots. In this tutorial, we will see how to control such a motor using...
Control a stepper with RaspberryPi

Control a stepper with RaspberryPi

Steppers are used when high precision is required with open-loop control. We’ll see how to program your Raspberry Pi to control a stepper motor. Prerequisite: Programming with Raspberry Pi Material ScreenHDMI cableKeyboardRaspberry PI 3 (with OS on micro...
Create a component in Fritzing

Create a component in Fritzing

When working on an electronics project, it’s a good idea to put your ideas on paper to make sure you do not forget anything before implementation. This allows you to verify the concept and to share a clear representation of your work with other interlocutors...
Arduino and Bluetooth module HC-05

Arduino and Bluetooth module HC-05

Arduino can communicate with other devices via Bluetooth using the module HC-05 (master/slave). It enables the Arduino to connect and exchange data with other devices such as Smartphone, computer or other microcontrollers.Bluetooth communication can be used to control...
Command a serial controller Maestro with Arduino

Command a serial controller Maestro with Arduino

When dealing with several servomotors and an extra number of outputs is needed to operate your robot (to control Hexana, for instance), a practical solution is to use a serial controller such as the Mini Maestro from Pololu. Prerequisite: Programming with Arduino,...
Build a simple servomotor driver

Build a simple servomotor driver

To control a large number of servomotors with Arduino, or other microcontroller, a servomotor driver need to be used in order to power and to send the PWM signals to the Servomotors. Several methods can be used such as using a breakout shield or a serial servo...
Control a servomotor with RaspberryPi

Control a servomotor with RaspberryPi

One of the main objective in robotics is to make things move. A way to do that is to use servomotors. In this tutorial, we’ll see how to program your Raspberry Pi to control such a device. Prerequisite: Programming with Raspberry Pi Material ScreenHDMI...
Control 3 LEDs with Arduino and one pushbutton

Control 3 LEDs with Arduino and one pushbutton

One of the easiest and quickest way to start learning programming and electronics with Arduino is to use LEDs. We’ll see here how to control LEDs and how to select different functionalities of the code using only one button. This summarize in a simple way what...
Create an app with App inventor 2

Create an app with App inventor 2

Learn how to create an application for Android very simply using App Inventor 2. In the fields of robotics and connected objects, one of the most interesting features to implement is the remote control of an electronic project. Whether to display measurements from his...
Arduino and Bluetooth module HC-06

Arduino and Bluetooth module HC-06

Arduino can communicate with other device via Bluetooth using the module HC-06 (slave).  It enables the Arduino to be connected and exchange data with other devices such as Smartphone, computer or other microcontrollers. Bluetooth communication can be used to...
Control a stepper motor with Arduino

Control a stepper motor with Arduino

One of the main objectives in robotics is to make things move on their own. To give motion to a robot, electrical motors are used such as stepper motors especially when precision is required with an open-loop control. In this tutorial, we study the use of integrated...
Temperature and humidity measurement with sensor DHT11

Temperature and humidity measurement with sensor DHT11

The sensor DHT11 can measure temperature and humidty in a room. Here is a tutorial on how to retrive the sensor measurement with a Arduino board. Material ComputerArduino UNOUSB cablesensor DHT11Jumper cables male/malebreadboard Wiring DHT11 Code The program to read...
Distance measurement with sensor HC-SR04

Distance measurement with sensor HC-SR04

The HC-SR04 is an ultrasonic sensor that measures distance with ultrasound waves. It uses the same principle as a sonar which is sending a sound wave and measuring the time between the transmission and reception of its echo. Material ComputerArduino UNOUSB cable to...
Temperature measurement with LM35

Temperature measurement with LM35

The temperature sensor LM35 is a small easy to use, easy to find device. Its output voltage is directly proportional to the temperature and gives a precise measurement. Material Computer Arduino UNO USB cable to connect Arduino to the computer Temperature sensor LM35...
Communicate with Arduino

Communicate with Arduino

The easiest way to communicate with Arduino is to use the serial port. It is also the most powerful tool to test and debug your code. Material ComputerArduino UNO x2Jumper cable M/M x3 Communication with the Serial Monitor The functions from the Serial library to...
Programming with Raspberry Pi

Programming with Raspberry Pi

The Raspberry PI board is a very powerful microcontroller widely used in retrogaming or as a server. The Rapsberry Pi is a very simple microcomputer that we will discover in this tutorial. Material ComputerScreenHDMI cableKeyboardRaspberry PI 3Micro SD...
Control a DC motor with Arduino

Control a DC motor with Arduino

One of the main objectives in robotics is to make things move on their own. To give motion to a robot, electrical motors are oftenly used such as direct current (DC) motors especially for mobile robots. In this tutorial, we will see how to control such a motor using...
Using a distance sensor GP2Y0A21 with Arduino

Give senses to your robot with sensors

A robot is constituted of four main components: Motors for motion, Mechanics to hold the pieces together, sensors to make it react to environment and a code to control them and create the desired functionality. Sensors plays an important role when dealing with...
Control a Servo with Arduino

Control a Servo with Arduino

One of the main objective in robotics is to make things move. A way to do that is to use servomotors. In this tutorial, we’ll see how to program your Arduino to control such a device and we’ll learn how to use libraries especially Servo.h. Prerequisit:...
Improve your Arduino program

Programming with Arduino

One of the most used tool in the world of Makers to learn or create personal project is the Arduino board. This tutorial explains how to install and use the Arduino programming software. Material Computer Arduino board Software installation Download the latest version...