HomeHome AutomationI'm in love with M5Dial

I’m in love with M5Dial

I want more than one!

M5Stack M5Dial has been on my shopping list since the release. The only reason I hesitated to buy one was the lack of time. I knew I would be distracted while other things were calling for my attention. Frankly speaking, this is always the case with M5Stack devices – they know how to make each ESP32-based board so tempting. When I discovered that someone at work got one, I instantly cashed in the favour and got one to play with over the weekend.

From M5Stamp to M5Dial

Some time ago, I covered the release of the M5Stamp – one of the smallest ESP32-S3 boars you could buy. As an ESP32 board, the device was exciting with its RISK-V architecture and specs, but as I’m spoiled by devices like M5Paper or M5Stack Core 2, the Stamp was relatively boring as far as M5Stack dev boards go.

This humble M5Stamp lies at the heart of the M5Dial. It’s attached by the set of headers soldered into the board and can be removed with a small screwdriver if needed. It’s nice to see the tiny ESP32-S3 board giving life to such an iconic gadget.

M5Dial is a clever little board equipped with a rotary encoder wrapped around a 1.28″ round TFT touchscreen. To add to the physical utility of this knob, the bezel hides a single push button. What I didn’t realise, was that M5Dial also comes with an RFID reader (13.56MHz) provided by WS1850S. There is RTC to keep track of time, but without the built-in battery, it will rely on the external power source for that (there is a small battery socket (1.25mm-2P) under M5Stamp that can be used to add a battery backup), and a little buzzer to get your attention. In short, you have so many options for interfacing with this little dial.

Flip the device over, and aside from the mounting ring, you will find two I2C ports and a small header that can accept DC 5-36V. If you don’t want to use that, you can still rely on the power input through the M5Stamp’s USB-C.

M5Stamp brings all the perks of the ESP32-S3 to the table too! There is WiFi support for 2.4GHz, 8MB Flash. Powered by a high-performance Xtensa 32-bit LX7 dual-core processor, STAMPS3 delivers impressive processing power with a main frequency of up to 240MHz.

Dialled in!

M5Dial is a joy to use thanks to its encoder. Until I got one in my hands, I wondered how nice it would feel in your hands to turn the encoder into the desired position. The encoder offers 16 steps to complete the rotation – each with a satisfying mechanical click reinforced by the short buzz from the internal buzzer.

Despite being made completely out of plastic M5Dial feels great in hand, I only wish you could easily swap the knob’s bezel and the ring to customise the look and feel in our hand. Perhaps that’s a suggestion for the M5Dial 2!

M5Dial first steps

I loaded the initial demo firmware onto the borrowed M5Dial and started to play with things to have a first-hand experience of the encoder, the touchscreen and everything else the dial has to offer.

The screen is very bright and can be used in direct sunlight, it offers a good touchscreen experience too as long as you don’t try to touch things near the edges of the display (the bezel comes in the way). The push button is hidden at the bottom of the bezel under the M5 designation and I wish it was more responsive. It requires a little force to actuate.

By default, the buzzer is set to change pitch based on the rotation direction, which has nice feedback. Using the encoder you can test all the features of the M5Dial – from setting the display’s brightness and scanning WIFi nearby to using the dial as an RFID reader.

On that note, I noticed that the reading of my tag took a moment and it was fussy about the orientation of the tag. – the best result I had was by placing the tag between 1-3 o’clock position with the centre of my tag located at the bezel. If you going to use the RFID feature, I suggest designing the UI to point the user towards this area of the M5Dial.

Thermostat and more?

One of the most interesting features of the demo firmware was the thermostat demo. It’s of interest to me, as the M5Dial isn’t expensive and as the shape of the device is ideal for turning it into a smart thermostat controller for my DIY Smart Heating – I decided to try to make my own. After all, I had a great time programming cool smart home controls for M5Stack Core 2.

I made a very rudimentary Thermostat to see how quickly I could add it to my DIY Smart Home system. 40 min later, I had a barebone script made in UIFlow that allowed me to set the setpoint and receive information about the current temperature. As the M5Dial supports touch, it would be easy to make multiple screens that control lights, curtains and more – the limit is your imagination.

Wireless programming

UIFlow makes it easy to program your ideas even if your knowledge of programming is limited. The web-based IDE is designed to work with graphical programming and MicroPython.Nothing brings me more pleasure than programming M5Stack devices wirelessly. Thanks to WiFi and UIFlow support, all you need is to open the browser, write some code and push it magically to the device without wires.

UIFlow is a visual IDE that uses Micropython to program your M5Stack devices. In case the visual programming isn’t sophisticated enough, you can switch instantly to a more traditional text editor for your code without losing the “wireless programming” ability. You can watch a 1.5-hour online session with UIFlow making the thermostat here.

Hardcore fans can program M5Dial like any other ESP32 board with Arduino IDE or VSC and PlatformIO. M5Stack provides libraries for their devices, so you can take advantage of the onboard sensors without reading datasheets.

In practice, programming M5Dial can be a great learning experience thanks to visual blocks which help new to the hobby to learn about programming and slowly get familiar with other IDEs. As a learning platform, I can strongly recommend these boards. If you want to just try things out, M5Stack also provides you with an M5Burner – a tool to flash baked firmware onto your device. This could be UIFlow firmware or community-made images that showcase the power of this board. To flash firmware on M5Dial, you have to press and hold the button on M5Stamp-S3 (under the sticker) while the board is being plugged in.

Missing Core 2 features

I covered M5Stack Core 2 some time ago, and one of the things that got my attention was how easy it was to make a home automation panel with UIFlow. This is because of the default assets in the IDE. Unfortunately, M5Dial doesn’t have these handy toggles, sliders and progress bars… yet.

I messaged M5Stack about this, as I would love to see these things supported on M5Dial, after all, both devices support touch screens, and the company confirmed that soon enough we should see the extra UI element in the UIFlow for M5Dial! While talking about the missing features, I couldn’t find the buzzer controls in UIFlow either. I hope to see this being added soon.

I will probably hold on with my development until then, as the M5Dial could easily double as a light switch with a dimmer, thermostat, curtain controller and more. If you want to know what other devices I have covered from M5Stack and why they are worth keeping an eye on you can check the list below.

Other M5Stack products talked about in detail:

Final thoughts

Considering the prices of smart panels from Tuya or Sonoff, the M5Dial looks great, and could easily replace these panels at a lower expense. As long as you don’t mind putting some time into making it all work with your DIY Home Automation. I for once don’t and I’m looking forward to getting a couple of M5Dials for my future home. If you want to know how this will pan out – keep an eye on my posts or follow me on my social media. If you have any questions, use this Reddit thread.

📈 – See the transparency note for details.


Nothing says "Thank you" better than keeping my coffee jar topped up!


Support me on Patreon and get an early access to tutorial files and videos.


Bitcoin (BTC)

Use this QR to keep me caffeinated with BTC: 1FwFqqh71mUTENcRe9q4s9AWFgoc8BA9ZU

Smart Ideas with

Automate your space in with these ecosystems and integrate it with other automation services


Learn NodeRED

NodeRED for beginners: 1. Why do you need a NodeRED server?

To server or not to server? That's a very silly question!

Best Automation Projects

Tuya SDK for beginners: Intro to Tuya Cloud API

Working with Tuya Cloud API. A guide to Cloud automation for beginners, get started with REST!

NEST your old thermostat under $5

Nest-ing up your older thermostat under $5

Nora – Google Assistant in NodeRED

Integrate Google Assistant with NodeRED thanks to Nora - NodeRED home automation

Sonoff Zigbee Bridge – review

Sonoff line up will soon include Sonoff Zigbee Bridge and more Zigbee sensors - here is the first look

DIY Smart Washing Machine – for about 15 bucks!

Learn how to add washing machine notifications to your Google Home on the cheap

Smart Home

Sonoff ZigBee Bridge U isn’t what you think!

I expected Sonoff ZB Bridge U to be a next gen ZigBee bridge with Matter support. Turns out, there is much more to talk about!

Aqara “Everything” M3 Hub

When I started my home automation adventure, the current problem was the number of ecosystems needed to outfit your smart home. Aqara M3 Hub has a long list of protocols to match that!

Sonoff ZB Micro did it! (and bonus ZigBee device)

A long time ago, I took an angle grinder to the humble Sonoff Micro, will I do this again? Meet Sonoff ZB Micro and Sonoff ZB Contact (SNZB-04P) - the latest devices from the ZigBee ecosystem.

This keyless entry is PRO: SwitchBot Lock Pro

SwitchBot Lock Pro offers comprehensive upgrades over the original, combining enhanced design, stronger performance, and a faster mechanism for keyless entry

I damaged the cheapest Smart Socket with power metering for you

Sonoff S60 has an exeptional price for a smart socket with a power meter - I decided to check it out and see how flashable it is