How to Use ESP32 Hardware Timers with MicroPython?

Estimated read time 2 min read

To use ESP32 hardware timers with MicroPython, you can utilize the machine.Timer module. Here’s an example of how you can use hardware timers in MicroPython on an ESP32 board:

import machine

# Initialize and configure the hardware timer
timer = machine.Timer(0)
timer.init(period=1000, mode=machine.Timer.PERIODIC, callback=lambda t: print("Timer triggered!"))

# Example code to keep the program running
while True:

In the example above, we import the machine module, which provides access to the hardware-specific features of the ESP32 board, including the Timer module.

We initialize a hardware timer by creating an instance of machine.Timer and passing the timer ID (0 in this case) as an argument. You can use different timer IDs depending on the available hardware timers on your ESP32 board.

Next, we use the init method of the timer object to configure its behavior. In this example, we set the period to 1000 milliseconds (1 second), specify the mode as machine.Timer.PERIODIC to trigger the timer periodically, and define a callback function using a lambda function. In this case, the callback function simply prints a message when the timer is triggered.

Finally, we have a while True loop to keep the program running indefinitely. This ensures that the timer continues to operate.

You can modify the period, mode, and the callback function to suit your specific requirements. The hardware timer will trigger the callback function at the specified interval.

You May Also Like

More From Author

+ There are no comments

Add yours

Leave a Reply