ESP32 Unleashed, a sample lecture

ESP32 Unleashed is a project course.

The structure of the course resembles my development process.

My development process, whether it is a course, a gadget, or a book, or fixing the washing machine, looks like this:

  1. Set the overall objective (what am I trying to achieve?)
  2. Set plan (how am I going to achieve my objective? What small individual goals must I complete to reach the objective?)
  3. Execute the plan for the individual goal (just do it!)
  4. Evaluate goal outcome (did it work?)
  5. If needed, adjust plan, re-execute, re-evaluate until I have achieved the individual goal.
  6. Commit goal results of iteration and go to the next goal.
  7. Repeat steps 2 to 6 until I have achieved the set objective.

This is a simple, iterative process. There is no magic to it (though I do think that Engineering is magic).

It only works if I stick to the process.

Especially when it comes to technology, where we create something either that works or doesn’t work: I can’t cheat, and I can’t even try to fool myself that “it’s sort of working”.

The thing I notice about most project courses is that they forget that projects are naturally iterative. Instead of going from A (idea) to Z (completion) via all the necessary steps (B, C, D, E, …), they speed up through the process so that it will magically go from A (idea) to F (implementation) and Z (taa taa!). Not only that, but they few steps that they do keep contain goals that are simply too big to achieve in a single iteration.

In ESP32 Unleashed, I did not want to skip anything. I wanted to keep the realism at the forefront.

While I recorded the course lectures after having refined the software and the hardware (I rehearsed the whole project multiple times), I went through all of the steps that I went through the first time I designed the gadget.

What you will get in ESP32 Unleashed is a full and detailed record of the process of developing a gadget, that includes all discreet steps of each iteration.

Below, you can see an example lecture from one of the tests. In this example, I have completed implementing the voice command feature. I use IFFT and Google Assistant to control the state of an AdafruitIO feed. Unless this test shows that implementation is successful, I cannot go on to the next step.

Interestingly, in one of my steps, I discovered that the Google Assistant service was offline. This was the first time where I experienced a Google Assistant outage, which gave me a new understanding of the reliability issues concerning IoT services. This outage was annoying, as it delayed my recordings by a day.

Here’s the video.

  • John says:

    Fascinating as always.