Skip to Content
  • When to Use an RTOS: An Important Decision for Embedded Projects

    When to Use an RTOS: An Important Decision for Embedded Projects

    The world of embedded systems seems to be composed of two types of developers: those who love real-time operating systems (RTOSs) and those that despise them, insisting on using bare-metal superloops (plus interrupts) for everything. The reality is that an RTOS is just a tool; there are situations when it’s the right tool, and there…

    Read more


  • ESP32 – How to Use CMake with ESP-IDF

    ESP32 – How to Use CMake with ESP-IDF

    In the previous tutorial, we looked at getting started with ESP-IDF and created our first blinking LED project for the ESP32. The next step to effectively using ESP-IDF is to understand a little about CMake, which is the build system generator commonly used for low-level languages, like C/C++, for operating system and embedded system development.…

    Read more


  • Build Your IoT Portfolio in 90 Days: A Hands-On Plan for Students and Engineers

    Build Your IoT Portfolio in 90 Days: A Hands-On Plan for Students and Engineers

    If you’re a student exploring embedded systems or a professional developer looking to transition into the embedded side of IoT, building a personal project is one of the most effective ways to grow your skills. Courses and certifications are valuable, but real-world experience (and well-documented, open-source GitHub repositories showcasing your projects) can set you apart…

    Read more


  • ESP32 – Getting Started with ESP-IDF

    ESP32 – Getting Started with ESP-IDF

    This tutorial will walk you through the process of setting up ESP-IDF using a Docker container and build a basic blinking LED example from this repository: https://github.com/ShawnHymel/course-iot-with-esp-idf/. Here is a video version of the guide: Why ESP-IDF? The Espressif IoT Development Framework (ESP-IDF) is the official software development kit for the ESP32 family of microcontrollers.…

    Read more


  • ByteGrader: An Open Source, Modular Autograder for Embedded Systems (and Beyond)

    ByteGrader: An Open Source, Modular Autograder for Embedded Systems (and Beyond)

    Autograders are systems that automatically evaluate and score student programming assignments by running their code against predefined tests, providing instant feedback without human intervention. My latest project, ByteGrader, is a modular, lightweight, open source autograding engine that provides powerful automated grading capabilities through a simple API, allowing educational institutions to integrate autograding into any existing…

    Read more