The "Hello World" of Hardware Development
Every IoT developer has experienced the joy of a blinking LED. This seemingly trivial act of making an LED on an Arduino, Particle Photon, Raspberry Pi or an ESP DevBoard blink, is the gateway into the marvels of IoT and embedded systems development.
Apart from the "It is working!" shouts of joy, it serves as a test of your development environment in subtle ways that may not be evident at first glance.
According to me, the clock settings are the most important configurations on an IoT device (of course assuming your I/O settings for inputs and outputs are correct). The clock system determines the operational speed of your MCU. Wrong clock settings may prevent peripheral features from working correctly, such as UART, ADC, CAN bus, or displays. This is especially critical in medical, automotive, or military applications, where clock issues could be catastrophic. Imagine a heart pacemaker failing to generate pulse signals at the right time, or a vehicle airbag system deploying 1 second late. This seemingly small clock problem could mean the difference between life and death.
The simplicity or complexity of the clock system in an MCU depends on what the MCU can do. Below is part of the clock system for an STM32U585 chip just to understand how complex a clock system can be. Every part of the clock system you see is significant to the system it runs
So, the next time you see a beginner celebrating blinking an LED on an Arduino, celebrate with them. This marks the start of their exciting journey into embedded systems development world, a world where there is at least a microcontroller in every modern electronic device you see.
Note: The Sphere at the Venetian Resort in Las Vegas is the largest display in the world as of today. Check out how impressive blinking LEDs can become!
Thank you