
DeepBlue Blog
1,000 FOLLOWERS
DeepBlue is a free educational website. A lot of articles, tutorials, projects, and downloadable contents can be found here. Embedded Systems tutorials, articles and much more. Embedded-C, microcontroller programming, and related topics are discussed here.
DeepBlue Blog
1w ago
In this tutorial, we’ll discuss the available ESP32 sleep modes (low-power modes) and the power consumption in each mode. You’ll learn how to maximize the power-saving while using ESP32 to achieve the required functionalities of your application and maintain the battery life for extended periods of operation.
The ESP32 is a very powerful microcontroller that runs at much higher frequencies compared to other Arduino boards and it has on-chip WiFi, Bluetooth, and radio support that make it an even more power-hungry microcontroller. For some IoT applications, battery life can be a very critical r ..read more
DeepBlue Blog
2M ago
Previous Tutorial
Tutorial 11
Next Tutorial
ESP32 Timers & Timer Interrupts (Arduino)
ESP32 Course Home Page ?
In this tutorial, you’ll learn how to use ESP32 internal Timers & generate Timer Interrupt events in Arduino IDE. We’ll discuss how ESP32 Timers work, how to configure ESP32’s Timers, and how to generate periodic interrupts to synchronize the execution of logic within your project. And also measure the timer between two events whether they’re external or internal events.
We’ll be doing 2 different LABs in this tutorial. In the fir ..read more
DeepBlue Blog
2y ago
Previous Tutorial
Tutorial 10
Next Tutorial
ESP32 Temperature Sensor LM35 Interfacing (Arduino)
ESP32 Course Home Page
In this tutorial, you’ll learn how to use ESP32 (or ESP8266) with the LM35 Temperature Sensor in Arduino IDE using ADC analog input pins. We’ll discuss how the LM35 temperature sensor works, how to connect it with ESP32, and how to get readings using ADC in Arduino IDE.
We’ll be doing 3 different LABs in this tutorial. To show the ESP32 LM35 Temperature readings on the serial port, I2C LCD, and also to get multiple temperature sensors readings at the sa ..read more
DeepBlue Blog
2y ago
Previous Tutorial
Tutorial 9
Next Tutorial
ESP32 I2C LCD in Arduino IDE | PCF8574 I2C LCD Module
ESP32 Course Home Page
In this tutorial, you’ll learn how to use ESP32 (or ESP8266) with the I2C LCD Display module (PCF8574) in Arduino IDE. We’ll be using the LiquidCrystal_I2C library with I2C Wire.h library in Arduino Core to interface LCD 16×2 display via the I2C bus.
The library APIs are very similar to the standard LiquidCrystal library in Arduino that we’ve used in this previous tutorial. Except for the fact that it does use the I2C bus instead of parallel (4-Bit) da ..read more
DeepBlue Blog
2y ago
Previous Tutorial
Tutorial 8
Next Tutorial
ESP32 I2C Tutorial – I2C Scanner, Multi Devices – Arduino
ESP32 Course Home Page
In this tutorial, you’ll learn about ESP32 I2C communication protocol (in Arduino IDE). We’ll discuss how ESP32 I2C works, how to change I2C default pins (SDA, SCL), how to connect multiple I2C devices on the bus with proper addressing, and how to create an ESP32 I2C scanner to check for available I2C devices on the bus and get their addresses.
Then, we’ll move to the Arduino Core libraries that implement drivers for the ESP32 I2C peripheral and ho ..read more
DeepBlue Blog
2y ago
Previous Tutorial
Tutorial 7
Next Tutorial
ESP32 LCD Display 16×2 Without I2C – Arduino
ESP32 Course Home Page
In this tutorial, you’ll learn how to interface ESP32 with an LCD display 16×2 without I2C. It can be useful in some projects, however, it’s not very common, due to the GPIO pins it does consume. But it’s going to be a good starting point if you’re new to Alphanumeric LCDs in general or just want to use the generic Arduino LiquidCrystal display library.
Without further ado, let’s get right into it!
Requirements For This Tutorial Prior Knowledge
Nothing
Softw ..read more
DeepBlue Blog
2y ago
Previous Tutorial
Tutorial 6
Next Tutorial
ESP32 External Interrupts Pins Tutorial – Arduino
ESP32 Course Home Page
In this tutorial, you’ll learn about ESP32 External interrupt pins in Arduino Core. How to use interrupts and write your interrupt service routine (ISR) for external interrupt GPIO pins. It’s a very useful feature to notify the ESP32 CPU when a specific event occurs and immediately respond to that event.
Then, we’ll move to the Arduino Core libraries that implement drivers for the ESP32 interrupt pins and how to use its API functions, like attachInterrupt ..read more
DeepBlue Blog
2y ago
Previous Tutorial
Tutorial 5
Next Tutorial
ESP32 ADC Tutorial (analogRead) – Arduino
ESP32 Course Home Page
In this tutorial, you’ll learn about ESP32 ADC and how to read analog input channels in Arduino Core. But first of all, you’ll get an introduction to what’s an ADC and how it works in most microcontrollers on a hardware level. Then, we’ll investigate the ESP32 ADC Hardware peripheral and check the features it does have, ADC error sources, calibration, and much more.
Then, we’ll move to the Arduino Core libraries that implement drivers for the ESP32 ADC peripheral ..read more
DeepBlue Blog
2y ago
Previous Tutorial
Tutorial 4
Next Tutorial
ESP32 Set CPU Clock Speed (Frequency) – Arduino IDE
ESP32 Course Home Page
In this tutorial, you’ll learn how to set or change the ESP32 CPU clock speed (Frequency) in Arduino Core. This is a short tutorial but it’s very useful and important in future work in this series of tutorials.
We’ll be using this in power consumption control, enhancing RTOS tasks execution time, maybe getting a higher ADC sampling rate, and much more possibilities. If not for that, let it just be for the sake of getting the most out of the CPU. Without ..read more
DeepBlue Blog
2y ago
Previous Tutorial
Tutorial 3
Next Tutorial
ESP32 PWM Tutorial (analogWrite) – Arduino
ESP32 Course Home Page
In this tutorial, you’ll learn about ESP32 PWM and how to control PWM channels in Arduino Core. But first of all, you’ll get an introduction to what’s PWM and how it works in most microcontrollers on a hardware level. Then, we’ll investigate the ESP32 PWM Hardware peripheral and check the features it does have.
Then, we’ll move to the Arduino Core libraries that implement drivers for the ESP32 LED PWM peripheral and how to use its API functions, like ledcWrite ..read more