We may earn an affiliate commission when you visit our partners.
Markus Edenhauser

We build this practical project step by step and you can download all the codes for each chapter. Frustration-free development is guaranteed.

Read more

We build this practical project step by step and you can download all the codes for each chapter. Frustration-free development is guaranteed.

In this video course you will learn how to control a 8x32 LED matrix (or a MAX72xx module). We use the MD_Parola library for this project. With this library we can control the text in many different ways. With this library we have the possibility to implement different ticker settings easily and fast. A text can slide in from one side and stop in the middle of the matrix for a certain time. The duration of the ticker can be adjusted and also the speed and brightness of the ticker can be easily adjusted.

We will also insert dot graphics that will make the text "disappear" as soon as the graphic slides over the text.

We will create a website in the course using a local web server running on the ESP32/8266. The web server will be configured in such a way that you can access the created (also in this course) website using a fixed IP address. On the website there is an input field where you can enter text. Using jQuery we send a GET request to the Arduino, which evaluates the content and displays it on the LED matrix. This way you can individually control the text via the web server.

The text as well as the website data are stored on the ESP using SPIFFS. This is the flash memory of the Arduino. This means that the current text can be displayed on the website after each opening. By storing the data on the flash memory, every person/end device that calls up the website can see the current text on the LED matrix. Thus, one could also design a larger advertising space via a web server. If the Arduino were disconnected from power, the content of the output would not disappear and would automatically output the text again when the power source is connected again.

We will also display the local time. For this we connect to a NTP server and download the current timestamp. We convert this timestamp into a readable date/time.

Last but not least, we fetch the current bitcoin price from a public interface. Thus you learn how to control public APIs with the Arduino and how to evaluate the return value using Arduino JSON.

After each video I have saved my code. You can download all codes, so you can get to the result without frustration.

We use the following components in this project.

  • ESP32/ESP8266

  • MAX7219 8x32 LED-Matrix

  • Step-down-Modul for external 12v power supply (optional)

See you in class.pixelEDI

Enroll now

Here's a deal for you

We found an offer that may be relevant to this course.
Save money when you learn. All coupon codes, vouchers, and discounts are applied automatically unless otherwise noted.

What's inside

Learning objectives

  • Control of led matrix via created web interface
  • Using http request to load data from public apis
  • Using json objects in arduino
  • Displaying graphics and text on a display

Syllabus

Introduction
Overview LED Matrix
Power supply with step-down module
Wiring ESP32
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses the MD_Parola library, which simplifies the process of controlling LED matrices and implementing various ticker effects, making it easier to create dynamic displays
Teaches how to create a local web server on the ESP32/8266, enabling learners to control the LED matrix remotely through a website, which is a practical skill for IoT projects
Employs jQuery to send GET requests to the Arduino, allowing for dynamic updates to the LED matrix content via a web interface, which is a common technique in web-based IoT applications
Stores website data on the ESP's SPIFFS, ensuring that the displayed text persists even after power cycles, which is useful for creating standalone advertising displays or information boards
Fetches the current time from an NTP server and displays it on the LED matrix, providing learners with experience in real-time data integration and time synchronization techniques
Retrieves the current Bitcoin price from a public API using Arduino JSON, offering a practical example of how to integrate external data sources into microcontroller projects

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Build web-controlled led matrix project

According to learners, this course offers a practical, hands-on project to control an LED matrix via a web interface using ESP32/ESP8266. Students appreciate the step-by-step approach and that code for each chapter is provided, which helps in following along and minimizes frustration. Many find the course effective in demonstrating how to integrate hardware control with web technologies, cover topics like SPIFFS, NTP time synchronization, and fetching data from public APIs (like Bitcoin price) using Arduino JSON. While the project itself is seen as engaging and educational, some reviewers mention that certain sections could benefit from more detailed explanations, particularly for those new to web technologies or specific libraries. Overall, it is viewed as a solid foundation for practical IoT projects, especially for those with some basic Arduino familiarity.
Fetch external data (time, Bitcoin).
"Getting external data like time and Bitcoin price via API was a valuable part of the course."
"The section on NTP and Arduino JSON for the Bitcoin price was particularly interesting."
"This course showed me how to grab data from the internet and display it on the matrix."
"Learning to parse JSON data on the ESP32 was a key takeaway."
Connects ESP32 to a web interface.
"Excellent introduction to controlling hardware via a web server on the ESP32."
"I gained insight into using SPIFFS and creating a web interface for my projects."
"Learning to control the matrix from a webpage was very useful."
"The integration of the web server and GET requests is explained well."
Chapter code helps follow along easily.
"All the code was provided at the end of each chapter, which made following along very easy."
"The code examples are clean and work as expected."
"Having the code files available significantly reduces frustration during development."
"I could just download the code and continue if I got stuck."
Build a real, functional device.
"This course has been fantastic as it helps create something that is practical and fun to use."
"I really enjoyed building the project and seeing it work via the web interface."
"It is a very good course for a practical project."
"Learned a lot by building the actual LED matrix controller."
Might be challenging for absolute beginners.
"Some parts assume prior knowledge of Arduino or web technologies."
"A complete beginner might struggle without some previous experience."
"It moves quite fast in certain coding sections."
"Having basic understanding of C++ and web concepts helps a lot."
Some topics lack detailed explanations.
"Could use more in-depth explanations on some concepts."
"Wish there was more detail on troubleshooting common issues."
"Some library functions and web interface code felt a bit glossed over."
"I had to do some external research to fully understand some parts."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Control a LED Matrix via web interface with Arduino ESP32 with these activities:
Review Arduino and ESP32 Basics
Reviewing Arduino and ESP32 basics will help you better understand the code and concepts used in the course, especially if you are new to microcontrollers.
Browse courses on ESP32
Show steps
  • Review basic Arduino syntax and data types.
  • Study the ESP32's architecture and peripherals.
  • Practice simple coding exercises with Arduino IDE.
Brush up on HTML, CSS, and JavaScript
Refreshing your knowledge of web development fundamentals will make it easier to understand the web interface portion of the project.
Browse courses on jQuery
Show steps
  • Review HTML structure and elements.
  • Practice CSS styling and layout techniques.
  • Study JavaScript syntax and DOM manipulation.
Read 'Getting Started with the ESP32'
Reading this book will provide a deeper understanding of the ESP32 and its capabilities, enhancing your ability to follow the course material.
Show steps
  • Obtain a copy of 'Getting Started with the ESP32'.
  • Read the chapters relevant to web connectivity and data handling.
  • Experiment with the code examples provided in the book.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice API calls with ArduinoJSON
Practicing API calls and JSON parsing will help you master the cryptocurrency price fetching section of the course.
Show steps
  • Find free public APIs that return JSON data.
  • Write Arduino code to fetch data from these APIs.
  • Use the ArduinoJSON library to parse the JSON responses.
  • Display the parsed data on the serial monitor.
Document your learning process
Documenting your learning process will help you retain information and identify areas where you need more practice.
Show steps
  • Create a blog or online notebook.
  • Write about each lesson, summarizing key concepts.
  • Include code snippets and explanations.
  • Reflect on challenges and solutions.
Expand the LED Matrix Project
Expanding the project will allow you to apply what you've learned and explore new features and functionalities.
Show steps
  • Brainstorm new features to add to the project.
  • Implement one or two of your ideas.
  • Test and debug your code.
  • Document your changes and improvements.
Contribute to the MD_Parola Library
Contributing to the MD_Parola library will deepen your understanding of the library and help you improve your coding skills.
Show steps
  • Explore the MD_Parola library's GitHub repository.
  • Identify a bug or a missing feature.
  • Implement a fix or a new feature.
  • Submit a pull request with your changes.

Career center

Learners who complete Control a LED Matrix via web interface with Arduino ESP32 will develop knowledge and skills that may be useful to these careers:
Hobbyist Maker
A Hobbyist Maker enjoys building electronics projects, often with microcontrollers. This course is an excellent fit as it guides one through creating a full functional project using an ESP32 and a LED matrix. This course's content, including the use of web interfaces and API calls, is exactly the kind of thing that many a Hobbyist Maker would do. The course provides a structured learning experience with useful projects that would be perfect for someone interested in such hands on technological challenges.
Internet of Things Developer
An Internet of Things Developer creates connected devices and systems. This course provides experience using a microcontroller platform, the ESP32, to control hardware with software and a web interface, which is a core skill in IoT development. The course covers fetching data from APIs, using JSON, and displaying information on an interface; all of which are essential elements for many IoT applications. The work of an Internet of Things Developer often involves building web interfaces to control hardware. This course provides a practical foundation for such projects, making it a natural fit for those trying to get into the field.
Embedded Systems Engineer
An Embedded Systems Engineer designs, develops, and tests embedded systems, often involving microcontrollers and hardware interaction, much like the components used in this course. This particular course helps build a foundation in controlling hardware with software, specifically an LED matrix, which often is a component in larger embedded systems projects. The techniques for web interface control and data retrieval from public APIs, like fetching cryptocurrency prices, are directly applicable to this kind of role. The course's hands on approach, using an ESP32, provides excellent foundational experience for an aspiring engineer in this field.
Firmware Engineer
A Firmware Engineer writes low level code that controls hardware. One may use a course such as this one to build a foundation of skills in the field. The course's focus on controlling an LED matrix with an ESP32, manipulating data retrieved from external sources via API calls, and interacting with the hardware directly are central to firmware engineering. A Firmware Engineer must understand how to create software that interfaces with hardware; this course provides real world examples with a practical application in mind. Many embedded systems rely on similar communication protocols and data handling to those learned here.
Prototyping Specialist
A Prototyping Specialist builds models and prototypes; this course directly aligns with those activities. It provides a step-by-step guide to creating a functional project using an ESP32 to control an LED matrix with a web interface. The process of setting up the hardware, writing the code, and debugging the system gives extremely useful practical experience. The course teaches how to integrate hardware, software, and web technologies, which is very valuable for any aspiring prototyping specialist.
Digital Signage Specialist
A Digital Signage Specialist designs, installs, and maintains digital display systems. If you would like to become one of these specialists, then this course will be helpful as it teaches you how to control an LED matrix with an ESP32 and a web interface. This kind of display is often used in digital signage, and the course also teaches how to display text, graphics, and even live external data such as cryptocurrency prices. This allows you to gain practical experience with a system relevant to such a career field.
Interactive Installation Artist
An Interactive Installation Artist creates engaging experiences using technology. This course may be useful since it teaches you to build a web controlled LED display using an ESP32 and an LED matrix. This is a foundational skill for creating many kinds of interactive art installations. Moreover, the course covers how to pull dynamic data from the web which could help an artist create installations that react to live data. With a focus on both web interfaces and hardware control, taking this course may be valuable for an artist exploring interactive digital mediums.
Web Developer
A Web Developer creates websites and web applications. This course incorporates building a web interface to control an LED matrix via an ESP32. This course helps one learn how to use HTML and JavaScript to send data to hardware via HTTP requests. The ability to create a web interface to send commands to a device is valuable in web development, especially as it relates to IOT. This course, with its use of web technologies to control an LED matrix, would be helpful for a web developer looking to gain experience in hardware integration.
Technical Trainer
A Technical Trainer educates others on technical subjects, and this course has the kind of practical content that they might find useful for designing their own lessons. The course focuses on a project with practical application, so its step-by-step approach and downloadable code might provide resources that a technical trainer would be able to use or draw upon. This course, with its practical approach, may be excellent for a technical trainer who wishes to develop new ways of teaching embedded systems.
Software Engineer
A Software Engineer designs, develops and tests software applications and systems. This course teaches one how to write software to control hardware, fetch data from APIs, and display information on an interface. A Software Engineer might find these concepts useful as they translate to applications beyond this course's specific project of an LED matrix. This course may be useful for aspiring software engineers who want to understand software interacting with hardware, specifically in a project that is both tangible and functional.
Educational Technology Specialist
An Educational Technology Specialist integrates technology into learning environments; this course can be a useful tool. The ability to control a device with a web interface, display information, and retrieve data from APIs are applicable to educational contexts. This course may be useful for any educational technologist that wishes to build custom interactive learning tools. The course offers practical project-based learning that provides direct hardware and software experience.
Hardware Engineer
A Hardware Engineer designs and develops physical hardware, often involving the integration of embedded systems. Although this course is more software-focused; it provides a practical understanding of how software interacts with hardware, particularly through direct control of the LED matrix using an ESP32. A Hardware Engineer might benefit from this course to better understand the software side of hardware interaction. This would help a Hardware Engineer gain a more holistic view of the entire system, making the course useful for their role.
Automation Technician
An Automation Technician installs, maintains, and repairs automated systems, and this course can help them understand those systems. The course involves programming an ESP32 to control hardware and fetch data, which are tasks this technician may have to do as part of their job. The use of web interfaces to control devices is also highly relevant in the automation field. This course may be useful to anyone who is looking to improve their skills in programmable systems and web-based control.
Electrical Technician
An Electrical Technician works with electrical systems, and this course has them interacting with some of the practical elements relevant to this career field. The course focuses on the practical application of powering and using an LED matrix controlled through an ESP32. An Electrical Technician might find valuable practical learning in the course's treatment of components and hardware interfacing. This course has practical elements relevant to an electrical technician's work and thus may be useful.
Research and Development Engineer
A Research and Development Engineer works on innovative solutions and product development. This course may be helpful as it covers the basic principles of controlling hardware with software and integrating a web interface. These concepts can be useful for prototyping and bringing new devices to life. This course provides hands on experience that may be useful in the preliminary phase of research and development. Although this course does not teach advanced research topics, it may contribute to the skills necessary to participate in that field.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Control a LED Matrix via web interface with Arduino ESP32.
Provides a comprehensive introduction to the ESP32 microcontroller. It covers various topics, including setting up the development environment, working with peripherals, and connecting to the internet. It useful resource for understanding the ESP32's capabilities and how to use them in your projects. This book is valuable as additional reading to deepen your understanding of the ESP32.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser