We may earn an affiliate commission when you visit our partners.
Muhammad Luqman

Course Updated to ROS2 Humble

The current rating is for the old version of the "Building ESP32 MicroROS Bot" course. The new update to projects and the way of explaining is what you are going to love :)

Course Workflow

Welcome to the Micro If you're passionate about robotics and eager to dive into hands-on hardware and ROS2 projects, this course is perfect for you. We'll guide you step-by-step in building a fully functional robot using the ESP32 and MicroROS with ROS2.

Course Overview

Section 1: Building the Robot

Read more

Course Updated to ROS2 Humble

The current rating is for the old version of the "Building ESP32 MicroROS Bot" course. The new update to projects and the way of explaining is what you are going to love :)

Course Workflow

Welcome to the Micro If you're passionate about robotics and eager to dive into hands-on hardware and ROS2 projects, this course is perfect for you. We'll guide you step-by-step in building a fully functional robot using the ESP32 and MicroROS with ROS2.

Course Overview

Section 1: Building the Robot

  • Assemble your robot from the ground up

  • Utilize 3D-printed parts and resources we provide

  • Learn about electronic connections and power distribution

Section 2: Basic Programming

  • Get started with programming using PlatformIO to control your robot's movements

  • Write simple code to drive the robot and navigate basic paths

  • Create your custom libraries for motor driving

  • Integrate the OLED display into your robot

Section 3: MicroROS Integration

  • Integrate MicroROS with your ESP32 robot

  • Enhance your robot’s capabilities with advanced communication using ROS2

By the end of this course, you'll have a deeper understanding of robotics, from hardware assembly to software integration, and you'll walk away with a robot that you built and programmed yourself. Join us on this exciting journey into the world of robotics.

Hardware Requirements

  • ESP32

  • N20 DC geared motors with Encoders X2

  • 18650 Cells X2

  • Jumper Wires , 5mm nuts and screws

  • Motor driver ( Mini L298N)

  • Solder , Soldering Wires , Soldering Paste , Soldering jumper wires

  • N20 motor wheels X2

  • N20 mini Car Caster Wheel X1

  • Slider Button

  • Mini 360 Buck converter to 5V

  • Battery Charger Circuit

Software Requirements

  • Ubuntu 22.04

  • ROS2 humble

  • A motivated mind for a huge programming project

Enroll now

What's inside

Learning objectives

  • Mobile robot ros integeration
  • Ros and esp32 communication
  • Ros serial and wifi communication
  • Programming robots

Syllabus

Robot Building from 3d prints to Electronics
Obtaining Course Resources
3D Printing of our Robot
Understanding Electronic Connections
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Updated to ROS2 Humble, which is the second most recent long-term support release, ensuring access to current features and a stable development environment
Requires specific hardware components like ESP32, N20 DC geared motors, and 18650 cells, which may require additional investment beyond typical software-based courses
Involves building a physical robot from 3D-printed parts, offering a hands-on experience that complements theoretical knowledge and enhances practical skills
Uses PlatformIO for programming, which is a professional collaborative platform, and this prepares learners for real-world embedded systems development workflows
Requires Ubuntu 22.04, which may necessitate setting up a dual-boot system or virtual machine if the learner's primary operating system is different
Covers MicroROS integration, enabling the development of resource-constrained robotic applications, which is a growing area in robotics and IoT

Save this course

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

Reviews summary

Hands-on microros and ros2 robot building

According to learners, this course provides a highly practical and hands-on experience in building a robot using ESP32, MicroROS, and ROS2. Students frequently praise the step-by-step guidance on both hardware assembly and software integration. The use of PlatformIO and ROS2 Humble is seen as relevant and valuable. While the course is considered effective for learning MicroROS on resource-constrained devices, some learners note that having a prior understanding of basic electronics, Linux, or ROS fundamentals can significantly enhance the learning experience. The projects and coding exercises are highlighted as particularly useful for solidifying concepts. The course's recent update to ROS2 Humble seems well-received, aligning with current robotics standards.
Explains driving and custom libraries.
"Learning how to write custom libraries for motor control was a valuable takeaway."
"The sections on driving motors and implementing command velocity were practical and well-explained."
"Integrating the driving libraries with ROS2 topics felt like a significant achievement."
"The code structuring into libraries is a good practice demonstrated in the course."
Good guidance on robot construction.
"The instructions for assembling the robot and electronics were very clear and easy to follow."
"I appreciated the detail provided in the hardware sections, including the 3D printing resources."
"Building the robot step-by-step was a rewarding experience thanks to the course structure."
"The electronic schematic diagram reference was quite useful during the build."
Uses current ROS2 Humble and tools.
"Using ROS2 Humble and PlatformIO made the learning feel current and relevant to modern robotics."
"The course being updated to ROS2 is a major advantage, keeping the content up-to-date."
"I was happy to see the latest ROS2 version used, making the skills directly applicable."
"PlatformIO was a good choice for the ESP32 development environment."
Teaches using ROS2 on microcontrollers.
"Learning how to integrate ROS2 with an ESP32 using MicroROS was exactly what I needed for my project."
"This course fills a crucial gap in understanding ROS2 on smaller, embedded platforms like the ESP32."
"I found the MicroROS integration section particularly insightful and well-explained."
"Understanding RCLC and the agent for communication was key, and the course explained it clearly."
Focuses on building a physical robot.
"This course is truly hands-on; you build a robot from scratch, which helps cement the concepts better than just theory."
"I appreciated the practical nature of the course, especially the step-by-step assembly and integration parts."
"The best part was getting my hands dirty with the actual hardware and seeing the code run on the robot."
"It provides a very practical pathway into MicroROS and embedded robotics."
Benefits from prior technical knowledge.
"While the course is good, I found it helpful to already know some basics of electronics and soldering."
"Having some familiarity with Linux and the ROS ecosystem before starting is definitely a plus."
"A beginner in both hardware and software might find some sections challenging without prior exposure."
"It assumes you can set up your Ubuntu/ROS2 environment independently, which might be a hurdle for some."

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 MicroROS and ESP32 WiFi Controlled Robot Hands-On using ROS2 with these activities:
Review Basic Electronics Concepts
Reinforce your understanding of basic electronics concepts like voltage, current, resistance, and basic circuit analysis. This will help you better understand the electronic connections and power distribution aspects of building the robot.
Browse courses on ESP32
Show steps
  • Review online resources on basic electronics.
  • Solve practice problems related to Ohm's Law and Kirchhoff's Laws.
  • Familiarize yourself with common electronic components like resistors, capacitors, and diodes.
Brush Up on C++ Programming
Review C++ programming fundamentals, as ROS2 heavily relies on C++. This will enable you to write and understand the code for controlling the robot and integrating MicroROS.
Show steps
  • Review C++ syntax, data types, and control structures.
  • Practice writing simple C++ programs.
  • Familiarize yourself with object-oriented programming concepts in C++.
Review 'A Concise Introduction to Robot Programming with ROS2'
Read this book to gain a solid understanding of ROS2 concepts and robot programming techniques. This will help you effectively integrate MicroROS with the ESP32 robot and develop advanced communication capabilities.
Show steps
  • Read the chapters related to ROS2 basics and robot programming.
  • Try out the code examples provided in the book.
  • Take notes on key concepts and techniques.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Simple Motor Control with ESP32
Build a basic project to control a single DC motor using an ESP32 and a motor driver. This will give you hands-on experience with PWM signal generation and motor control, which are essential for driving the robot.
Show steps
  • Connect the ESP32 to the motor driver and DC motor.
  • Write code to generate PWM signals using the ESP32.
  • Control the motor's speed and direction using PWM signals.
  • Test the motor control system and troubleshoot any issues.
Document Your Robot Build Process
Create a detailed blog post or video documenting your experience building the robot. This will reinforce your understanding of the hardware assembly process and help others who are following the course.
Show steps
  • Take photos or videos of each step of the robot building process.
  • Write a clear and concise description of each step.
  • Share your documentation on a blog or video platform.
Explore ROS2 Tutorials
Work through the official ROS2 tutorials to deepen your understanding of ROS2 concepts and tools. This will help you effectively integrate MicroROS with the ESP32 robot and develop advanced communication capabilities.
Show steps
  • Visit the official ROS2 documentation website.
  • Select and work through the tutorials related to topics covered in the course.
  • Experiment with the code examples and modify them to suit your needs.
Contribute to a ROS2 Package
Contribute to an existing ROS2 package by fixing bugs, adding new features, or improving documentation. This will give you valuable experience working with a real-world ROS2 project and collaborating with other developers.
Show steps
  • Find a ROS2 package that you are interested in contributing to.
  • Identify a bug or feature that you can work on.
  • Submit a pull request with your changes.

Career center

Learners who complete MicroROS and ESP32 WiFi Controlled Robot Hands-On using ROS2 will develop knowledge and skills that may be useful to these careers:
Mobile Robotics Developer
A mobile robotics developer focuses on the software and systems that enable robots to move. Because this course works with the ESP32 and ROS2, it is extremely relevant. The specific skills taught include driving motors, and implementing custom libraries, as well as using ROS for communications over wifi. A mobile robotics developer would benefit from the hands-on experience this course provides.
Robotics Engineer
A robotics engineer designs, develops, and tests robots and robotic systems. This course is directly relevant as it provides hands-on experience in building a robot from the ground up, covering hardware assembly, electronic connections, and software integration using ROS2 and MicroROS on an ESP32. Specific skills like writing custom libraries for motor driving and integrating an OLED display are very applicable to a robotics engineer's role. This course helps build a foundation in practical robotics engineering, making it a strong fit.
Mechatronics Engineer
A mechatronics engineer works with the integration of mechanical, electrical, and computer engineering systems. This course is a good fit, offering practical experience in the integration of hardware and software components using the ESP32 and ROS2. The course involves assembling a robot, understanding electronic connections, and programming robot movements, all of which are core to mechatronics. A mechatronics engineer would find the hands-on experience and integration of electronics and software in a robotics project invaluable.
Systems Integration Engineer
A systems integration engineer works to connect different software and hardware systems. This course is highly relevant it provides hands-on experience integrating the ESP32 with ROS2 using MicroROS for communication, along with assembling hardware components. The experience developing custom libraries for motor control and integrating sensors is very helpful for a systems integration engineer. The practical nature of this course helps build a foundation in real-world integration processes.
Embedded Systems Engineer
An embedded systems engineer specializes in the hardware and software of embedded systems, which are computer systems with a dedicated function within a larger device. This course offers crucial experience working with an ESP32 microcontroller, integrating it with ROS2 using MicroROS for communication, and programming custom libraries for specific hardware like motors. An embedded systems engineer should take this course to help solidify their understanding of real-time systems and microcontroller programming. This practical experience is invaluable.
Robotics Technician
A robotics technician assists in the maintenance, repair, and testing of robots and robotic systems. This course is helpful because it provides hands-on experience in assembling robots, understanding electronic connections, and programming robot movements, which are all fundamental to the work of a technician. In particular, experience using the ESP32 microcontroller and ROS2 is valuable. Someone looking to become a technician should consider this course as a very practical way to gain hands on experience working with robotics systems.
Test Engineer
A test engineer develops and executes test plans to ensure the functionality of products or systems. This course is helpful because it involves building a robot, programming its movement, and integrating communications using ROS2. All of these steps will help a test engineer design test plans and determine expected outputs. This hands-on experience, including the setup of ROS2 and understanding its communication protocols, is beneficial for a test engineer who works with robotic systems.
Control Systems Engineer
A control systems engineer specializes in the design and implementation of systems that manage, command, direct, or regulate the behavior of other devices or systems. This course is valuable because it involves programming the robot using PlatformIO, creating custom libraries for motor control, and integrating MicroROS for communication within a ROS2 framework. A control systems engineer who wants to gain experience with robotics control systems, in particular, may find this course useful. The hands-on nature of the course makes it a great option for a control systems engineer.
Software Developer
A software developer creates and maintains software applications. While this course is not exclusively about software, it helps build many necessary skills. It involves writing code for embedded systems using PlatformIO, developing custom libraries for motor control, and integrating ROS2 for communication. A software developer who wishes to work in robotics should take this course to gain hands-on experience in real-time software development for robotic systems. The hands-on approach to coding and integration is helpful for a software developer specializing in robotics.
Research Scientist
A research scientist conducts experiments and analyses data to advance scientific knowledge. This course may be useful for a research scientist that is interested in robotics, because it gives practical experience in building and programming robots. The projects will provide hands on knowledge of MicroROS and ROS2. A research scientist who wishes to work in robotics should take this course to gain hands-on skills in real-time systems.
Automation Engineer
Automation engineers design, develop, and oversee the implementation of automated systems. This course may be useful, as it provides practical skills in integrating hardware and software elements to create a functional robot. This includes programming the robot using PlatformIO, creating custom libraries, and implementing ROS2 for advanced communication capabilities, all of which are important for an automation engineer. This hands-on approach helps build the necessary skills for designing and implementing automated systems.
Firmware Engineer
A firmware engineer develops the low level software that allows hardware to operate. This course provides a good foundation for a firmware engineer. It walks the student through the development of custom libraries that are used to control motor movement. It also goes into serial to WiFi conversions. This course may offer a firmware engineer the opportunity to build a better understanding of embedded systems.
Hardware Engineer
A hardware engineer focuses on the physical components of computer systems. This course may be useful for a hardware engineer, because it provides experience in assembling a robot, understanding electronic connections, and implementing power distribution. The hands-on hardware assembly and integration of the ESP32 microcontroller are particularly helpful. This can help build practical skills in physical design and integration, which are essential for a hardware engineer.
Project Manager
A project manager plans, executes, and closes specific projects. This course may be useful for a project manager who handles technical projects in robotics. Gaining an understanding of the technical skills necessary to complete a micro-robotics project may help a project manager communicate effectively with team members and better manage resources. This course may give a project manager insight into the technical aspects of robotics.
Technical Support Specialist
A technical support specialist provides assistance to end users of technology. This course may be useful for such a specialist looking for hands on experience with robotics systems. The practical knowledge of electronics and the implementation of MicroROS could help a technical support specialist better troubleshoot issues.

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 MicroROS and ESP32 WiFi Controlled Robot Hands-On using ROS2.
Provides a practical introduction to robot programming using ROS2. It covers essential concepts and tools needed to develop robot applications. It is particularly useful for understanding the software side of robotics and how to integrate different components using ROS2. This book serves as a valuable reference for the MicroROS integration and ROS2 aspects of the course.

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