M5paper interface panel

I just ordered a m5paper, which is basically an m5stack with epaper touch screen (esp32-powered), to build an control panel to display sensors and manage simple actions.

Until it makes its way home, I’m thinking about the software part :
Since it’s rather recent, there’s not a lot of software already compatible.
I’m considering porting existing software to use the epaper display, rather writing something from scratch.
Except HomePoint, I have not found a lot of esp32 software to be used as a panel… (HomePoint is MQTT-based).

My question is : do you have similar esp32-based panel setup ? Which solution, other than HomePoint, should I consider ?

1 Like

I got mine last week, haven’t had a chance to play with it much. I’d be interested in recommendations also.

Got my m5paper today and planning to do the same.

Use HomePoint, or something else ?

I might get one also. Have a look here for some ideas.

Thanks @gregcarpentervistala, nice one.

I just received my m5paper, I’m start to play with it.

@cyrilpawelko I guess this is for you https://diyprojects.io/new-m5paper-esp32-from-m5stack-eink-iot-or-home-automation-dashboard/

Work in progress :slight_smile: :


Any source code so far online? @cyrilpawelko

Well, no, it’s still rather messy and buggy.
I’ll publish some code soon…


You’ll find a first basic-but-working release here :

Contributions welcome :slight_smile:


Great work @cyrilpawelko, will there be an example ‘defs.h’ file, and can it cater for Static IP Address?

Oops, I forgot defs.h :slight_smile: . It’s now uploaded.

For static IP, you can try WiFi.config(staticIP, subnet, gateway, dns); right after M5.begin();
I will test and add it to the code.

1 Like

Thanks, got it to build/upload and run fine.

I did have to make a few changes though, added StaticIP info just under includes in “main.cpp”:

IPAddress ip(192,168,0,xxx);    // Node Static IP
IPAddress gateway(192,168,0,xxx); // Network Gateway (usually Router IP)
IPAddress subnet(255,255,255,0);  // Subnet Mask
IPAddress dns1(xxx,xxx,xxx,xxx);    // DNS1 IP
IPAddress dns2(xxx,xxx,xxx,xxx);    // DNS2 IP

Then for the WiFi.config line used:

   WiFi.config(ip, gateway, subnet, dns1, dns2);

There was a few slight problems though.

I couln’t use an SSL (HTTPS) connection to OH, only plain HTTP.

And some Labels are too long for the button, if the Label could be redefined in “defs.h” or could wrap somehow.

BTW: Would you prefer suggestions or problems here, or as issues on GitHub.

I plan to include WifiManager for configuration of network and other settings.

For the label / buttons configuration, I’m still looking for a clean way of doing.
I’d like to avoid another configuration menu while still allowing customization.
I’m considering to use a sitemap, but this still has to be tested.

And, yes, for bugs I prefer github issues.

1 Like

WifiManager wouldn’t work for me, my password is 63 characters long, upper and lower case, numbers and some symbols, so entering that manually would be a nightmare. But it’s easy to edit source anyway.

Using a custom Sitemap might be cool, I do all my OH config in text files anyway, so not a stretch.

No probs, will use GitHub issues to raise any bugs or feature comments/requests in future.

To be clear about github, it’s made for precise issues or requests.
You’re of course welcome to continue this thread for more open discussions.

1 Like

Hi everyone,

I’m making some progress.
I’ve struggled with Autoconnect, but was not satisfied. I’m sticking to manual network configuration for now.
There are, however, some improvements:

  • Nicer font with accents support
  • Buttons configuration is done trought a dedicated sitemap

I’m now working on icons.

Hello all very interesting development going on here. What kind of battery life are you getting out of this device? Or is the testing too intensive to really guess at that?

I tested several weeks ago, I had about 3 hours battery, without optimization.
I don’t plan to have it work on battery, since it should support dynamic updates and, indeed, always be connected to wifi (not to speak of touch support).