The ESP32 Course

    Welcome to this course where you will learn how to program the ESP32

    The ESP32

    The ESP32 from Esspresif is one of the most popular microcontrollers for hobbyist and professionals. It’s not hard to understand why that might be

    • It’s got a lot of memory. the WROOM module has 512KB of RAM and 4MB of flash. Other modules sometimes have even more. Compare this with the popular Arduino Uno which has 8KB RAM and 32KB flash
    • Most chips have 2 processors (Duel Core)
    • Most modules have built in WIFI and Bluetooth
    • It’s cheap. Aliexpress sells individual chips for under $3.00 and you can get development for about $5.00

    esp32 wroom

    In summary you get a huge amount of bang for your buck!

    There are many ways to program the ESP32 including

    • JavaScript
    • python
    • Arduino (C or C++)
    • IDF (C or C++)

    This course focuses on the official framework for the ESP32. The IDF.

    The IDF

    IDF stands for: IOT Development Framework.

    IOT stands for: Internet Of Things.

    In summary the IDF is a framework that will allow you to fully leverage the chips capabilities for the internet of things projects. Whether you want an SMS when your plant needs water. an email when your dog runs out of food or you simply want a report on the temperature. The IDF is a perfect framework for these types of projects and much more.

    Learning the ESP-IDF to program the ESP32 has several advantages

    1. It will run faster then interpreted langwidges such as JavaScript or python
    2. It takes less space on the chip then other frameworks because other frameworks are built on top of the IDF
    3. The IDF uses FreeRtos (Free Real Time Operating System) which makes it easy to manage complex applications by splitting them up into smaller units called tasks.
    4. The IDF gives you more control on the chip. E.g configuring the chip to use specific pins for I2C (A communications bus that lets the chip talk to sensors). This type of hardware setting is not possible in many other frameworks.
    5. The IDF allows you to mange memory in a way that best suits your application
    6. The IDF has a built in configuration system that you can customize
    7. and much more

      idf screen

    Goals of the Course

    Learning the IDF from online documentation can be a little intimidating if you aren’t used to it. The goal of this course is to gently but quickly bring you up to speed in core concepts that you can use immediately in your projects.

    As a full time employee and a family man I appreciate how valuable your time is. I created the videos’ to get to the point and home in on core concepts as quickly and with as little waffle as possible.

    You will find a lot of condensed information in the videos but at the same time I carefully define concepts and words that may be new to you. The goal of this is to ensure the lectures are fast but, easy to absorb.


    • A basic knowledge of C
    • A basic knowledge of electronics

    To get the most out of this course you will need to know some C. A basic grasp of c is ok as the course will also bring you up to speed on some of the more advanced features of C that will allow you to fully leverage the IDF.

    A basic knowledge of electronics will be helpful (but not essential)