For a quick bank holiday weekend project, I’ve put together a cheap WeAct 1.54″ ePaper Module and ESP32 C3 Super mini development board, and have it sat next to my house router. At a quick glance I can see the forecast before we go out the door.
To keep things even more compact & simple, it uses the hub’s USB port for power. Not that it needs much, with the ePaper display taking up no power to keep the same image, and the ESP32 only waking up for a minute every half an hour to update the forecast!
Code for this project can be found in this GitHub repository; https://github.com/mattcuk/WeAct1.54-Weather-Display
The 3D printable stand display can be found on Makerworld; https://makerworld.com/en/models/2756614-display-stand-for-weact-1-54-esp32-c3-super
The ~£3 WeAct ePaper Modules like the 1.54″ SSD1681 display come with a connector & wires that lead to female Dupont connectors, making it easier to quickly connect the display to your development board. When pushing the connector into the back of the board, I found a pair of pliers handy for getting it in.
For this project I chose the £2 mini ESP32 C3 Super development board which is tiny! It can go into a low power draw deep-sleep mode, which is perfect for working with ePaper/E-Ink displays.
I’m not a soldering expert and chose to put the connector pins on pointing upwards. I did this because the underside of the board doesn’t have any components I could accidently fry with the soldering iron.
When working with the board I did end up struggling to press the Reset & Boot buttons, so I created a simple 3D printed tool to help reach them;

Here’s how I hooked up the WeAct 1.54″ display to the ESP32 C3 Super, including the wire colours from the included connector cable.
| WeAct Pin | WeAct Wire Colour | ESP32 C3 Pin | ESP32 Feature |
|---|---|---|---|
| BUSY | Purple | GPIO 1 | Mapped in code |
| RES | Orange | GPIO 3 | Mapped in code |
| D/C | White | GPIO 2 | Mapped in code |
| CS | Blue | GPIO 10 | Mapped in code |
| SCL | Green | GPIO 4 | SCK |
| SDA | Yellow | GPIO 6 | MOSI |
| GND | Black | GND | |
| VCC | Red | 3.3 |
Once the display and board are connected, and the code is uploaded & working you really need something to mount them into.. otherwise it looks like this :D
This spurred me on to create a minimalist 3D printed stand to mount the display and board into. There’s a clip for an ESP32 C3 Super development board to fit on the back.
There’s an optional (partial) cover that you can print if you have a mess of wires you’d like to conceal, like I do! And there’s a screw-on clip that can further secure the screen in place, but it should be fine without it.





As you’ll see in the code on GitHub, you’ll need an account with OpenWeather to be able to use their v3 API, which also needs you to enter some payment details for if you go over 1000 calls a day (you’ll likely never get close to even 100 calls a day).
Once you’ve entered your API key and wifi details into owm_credentials.h, you can upload the code to the board and everything will hopefully work first time!
The code I used for this project is based on this repo. I made a bunch of changes to solve issues had I with the hardware and published it in my own repo;
https://github.com/mattcuk/WeAct1.54-Weather-Display
One of the primary issues I had with the ESP32 C3 Super was that it steadfastly refused to connect to wifi. In the end, the solution that worked for me was to set the wifi power level of the board to 40% using this line of code;
esp_wifi_set_max_tx_power(40);
Overall, this has been an enjoyable (and cheap!) project to build. If you give it a go please leave a comment on this blog to say how it went, and if you could leave a picture of your build on the Makerworld 3D model that’d be awesome!



















































You must be logged in to post a comment.