A timer that counts down to the next scheduled blackout.
The clock is based on an ESP32 microcontroller, and it obtains loadshedding information from the EskomSePush API.
All code is written in C++ using the Arduino framework and PlatformIO. The code is available in /loadshedding-clock-code/src.
The PCB schematics and board layouts can be found in /PCB.
CAD files for the 3D-printable parts can be found in /3D.
In South Africa, our national power utility (Eskom) fails to generate sufficient electricity to supply the entire country with power. As a result, rolling blackouts have been implemented to ration electricity. Each day, regions of the country are disconnected from the power grid for hours at a time. Any given area typically experiences blackouts lasting 2 to 4 hours, multiple times each day.
Fortunately, these blackout events are scheduled in advance. The timings of the blackouts change daily, and it can be challenging to keep track of when loadshedding will occur. Many South Africans rely on the EskomSePush app to stay informed about the loadshedding in their area. I wanted to take this one step further and make it even easier to stay informed. By simply glancing at the loadshedding clock, one can immediately see when the next blackout will occur.
The clock is based on an ESP32 microcontroller. It connects to the internet via WiFi, and it obtains loadshedding information from the EskomSePush API. The clock is powered by a 5V USB power supply, and it is equipped with a battery backup.
When the clock is powered on for the first time, it broadcasts its own WiFi network. When the user connects to this network and visits a site hosted by the clock, they can input their WiFi credentials, suburb, and EskomSePush API key.
The clock then displays the loadshedding information for the given suburb, automatically updating its schedule every 30 minutes. If the internet connection is lost, it will continue to display the last schedule that it received from the API.
Future versions may include the following:
-
Get the clock working -
LED timeline -
LED-lit acrylic panel -
Design PCB - Simplified 7-segment display circuitry
- Notification buzzer
- Capacitive touch input