Easy and Affordable Digital Signal Processing
The aim of this book is to teach the basic principles of Digital Signal Processing (DSP) and to introduce it from a practical point of view using the bare minimum of mathematics. Only the basic level of discrete-time systems theory is given, sufficient to implement DSP applications in real time. The practical implementations are described in real time using the highly popular ESP32 DevKitC microcontroller development board. With the low cost and extremely popular ESP32 microcontroller, you should be able to design elementary DSP projects with sampling frequencies within the audio range. All programming is done using the popular Arduino IDE in conjunction with the C language compiler.
After laying a solid foundation of DSP theory and pertinent discussions on the main DSP software tools on the market, the book presents the following audio-based sound and DSP projects:
Using an I²S-based digital microphone to capture audio sound
Using an I²S-based class-D audio amplifier and speaker
Playing MP3 music stored on an SD card through an I²S-based amplifier and speaker
Playing MP3 music files stored in ESP32 flash memory through an I²S-based amplifier and speaker
Mono and stereo Internet radio with I²S-based amplifiers and speakers
Text-to-speech output with an I²S-based amplifier and speaker
Using the volume control in I²S-based amplifier and speaker systems
A speaking event counter with an I²S-based amplifier and speaker
An adjustable sinewave generator with I²S-based amplifier and speaker
Using the Pmod I²S2 24-bit fast ADC/DAC module
Digital low-pass and band-pass real-time FIR filter design with external and internal A/D and D/A conversion
Digital low-pass and band-pass real-time IIR filter design with external and internal A/D and D/A conversion
Fast Fourier Transforms (FFT)
Practical Multitasking Fundamentals
Programming embedded systems is difficult because of resource constraints and limited debugging facilities. Why develop your own Real-Time Operating System (RTOS) as well as your application when the proven FreeRTOS software is freely available? Why not start with a validated foundation?
Every software developer knows that you must divide a difficult problem into smaller ones to conquer it. Using separate preemptive tasks and FreeRTOS communication mechanisms, a clean separation of functions is achieved within the entire application. This results in safe and maintainable designs.
Practicing engineers and students alike can use this book and the ESP32 Arduino environment to wade into FreeRTOS concepts at a comfortable pace. The well-organized text enables you to master each concept before starting the next chapter. Practical breadboard experiments and schematics are included to bring the lessons home. Experience is the best teacher.
Each chapter includes exercises to test your knowledge. The coverage of the FreeRTOS Application Programming Interface (API) is complete for the ESP32 Arduino environment. You can apply what you learn to other FreeRTOS environments, including Espressif’s ESP-IDF. The source code is available from GitHub. All of these resources put you in the driver’s seat when it is time to develop your next uber-cool ESP32 project.
What you will learn:
How preemptive scheduling works within FreeRTOS
The Arduino startup “loopTask”
Message queues
FreeRTOS timers and the IDLE task
The semaphore, mutex, and their differences
The mailbox and its application
Real-time task priorities and its effect
Interrupt interaction and use with FreeRTOS
Queue sets
Notifying tasks with events
Event groups
Critical sections
Task local storage
The gatekeeper task
40+ Projects using Arduino, Raspberry Pi and ESP32
This book is about developing projects using the sensor-modules with Arduino Uno, Raspberry Pi and ESP32 microcontroller development systems. More than 40 different sensors types are used in various projects in the book. The book explains in simple terms and with tested and fully working example projects, how to use the sensors in your project. The projects provided in the book include the following:
Changing LED brightness
RGB LEDs
Creating rainbow colours
Magic wand
Silent door alarm
Dark sensor with relay
Secret key
Magic light cup
Decoding commercial IR handsets
Controlling TV channels with IT sensors
Target shooting detector
Shock time duration measurement
Ultrasonic reverse parking
Toggle lights by clapping hands
Playing melody
Measuring magnetic field strength
Joystick musical instrument
Line tracking
Displaying temperature
Temperature ON/OFF control
Mobile phone-based Wi-Fi projects
Mobile phone-based Bluetooth projects
Sending data to the Cloud
The projects have been organized with increasing levels of difficulty. Readers are encouraged to tackle the projects in the order given. A specially prepared sensor kit is available from Elektor. With the help of this hardware, it should be easy and fun to build the projects in this book.
Practical Applications and Project with Arduino, ESP32, and RP2040
Immerse yourself in the fascinating world of control engineering with Arduino and ESP32! This book offers you a practical introduction to classic and modern control methods, including PID controllers, fuzzy logic, and sliding-mode controllers.
In the first part, you will learn the basics of the popular Arduino controllers, such as the Arduino Uno and the ESP32, as well as the integration of sensors for temperature and pH measurement (NTC, PT100, PT1000, and pH sensor).
You will learn how to use these sensors in various projects and how to visualize data on a Nextion TFT display. The course continues with an introduction to actuators such as MOSFET switches, H-bridges, and solid-state relays, which are used to control motors and actuators. You will learn to analyze and model controlled systems, including PT1 and PT2 control.
The book focuses on the implementation of fuzzy and PID controllers for controlling temperature and DC motors. Both the Arduino Uno and the ESP32 are used. The sliding-mode controller is also introduced.
In the second-to-last chapter, you will explore the basics of neural networks and learn how machine learning can be used on an Arduino. In the last chapter, there is a practical example of a fuzzy controller for feeding electricity into the household grid.
This book is the perfect choice for engineers, students, and electronics engineers who want to expand their projects with innovative control techniques.
The ESP8266 from Espressif is a Wi-Fi microchip with full TCP/IP stack and microcontroller capability. It has made waves in the maker community with its low price.
But many developers were unhappy with ESP8266's high power consumption. The ESP32, equipped with a ULP (Ultra Low Power) coprocessor, offers a remedy for this.
This e-book features a number of projects featuring ESP32 & ESP8266 as well as an interview with the CEO of Espressif Teo Swee Ann.
Articles
ESP32 for Use in Industry 4.0 Equipment
Scrolling Message Display, 512 LEDs controlled over Wi-Fi via an ESP-12F
The Connected Greenhouse IoT demonstration project using MQTT and Node-RED
VFD-tube Clock with ESP32 with an accurate Internet-derived time
ESP32 Low Power
DCF77 Emulator with ESP8266
ESP8266 on the Elektor Android I/O Board
The Reason Behind the Hugely Popular ESP8266?
Wi-Fi Desktop Thermostat
Timers for the Wi-Fi Desktop Thermostat
PlatformIO, the Universal Programming Tool
Weather Display, Visualize current weather data on an LC display
GoNotify, a Flexible IoT Sensor Interface
ESP32 for Power Users
USB Programming Adaptor for ESP8266
Getting started with ESP32 and the Arduino IDE
MicroPython, Python for small systems
RGBDigit Clock
WLAN for Microcontrollers
Return of the Wi-Fi Controller Board
Compact and Self-contained WLAN
Projects Using Arduino IDE and the LVGL Graphics Library
The ESP32 is probably one of the most popular microcontrollers used by many people, including students, hobbyists, and professional engineers. Its low cost, coupled with rich features makes it a popular device to use in many projects. Recently, a board called the ESP32 Cheap Yellow Display (CYD for short) is available from its manufacturers. The board includes a standard ESP32 microcontroller together with a 320x240 pixel TFT display. Additionally, the board provides several connectors for interfaces such as GPIO, serial port (TX/RX), power and Ground. The inclusion of a TFT display is a real advantage as it enables users to design complex graphics-based projects without resorting to an external LCD or graphics displays.
The book describes the basic hardware of the ESP32 CYD board and provides details of its on-board connectors. Many basic, simple, and intermediate-level projects are given in the book based on the ESP32 CYD, using the highly popular Arduino IDE 2.0 integrated development environment. The use of both the basic graphics functions and the use of the popular LVGL graphics library are discussed in the book and projects are given that use both types of approaches.
All the projects given in the book have been tested and are working. The block diagram, circuit diagram, and the complete program listings and program descriptions of all the projects are given with explanations. Readers can use the LVGL graphics library to design highly popular eye-catching full-color graphics projects using widgets such as buttons, labels, calendars, keypads, keyboards, message boxes, spinboxes, sliders, charts, tables, menus, bars, switches, drop-down lists, animations, and many more widgets.