By using this site, you agree to the Privacy Policy and Terms of Use.
Accept
Viral Trending contentViral Trending content
  • Home
  • World News
  • Politics
  • Sports
  • Celebrity
  • Business
  • Crypto
  • Gaming News
  • Tech News
  • Travel
Reading: The $45 Focus Dial That Actually Works: M5Stack Dial
Notification Show More
Viral Trending contentViral Trending content
  • Home
  • Categories
    • World News
    • Politics
    • Sports
    • Celebrity
    • Business
    • Crypto
    • Tech News
    • Gaming News
    • Travel
  • Bookmarks
© 2024 All Rights reserved | Powered by Viraltrendingcontent
Viral Trending content > Blog > Gaming News > The $45 Focus Dial That Actually Works: M5Stack Dial
Gaming News

The $45 Focus Dial That Actually Works: M5Stack Dial

By Viral Trending Content 19 Min Read
Share
SHARE

Sponsored by OpenELAB

Contents
What Makes a Good Focus Dial Anyway?The Development Hell: Four Failed AttemptsAttempt 1: Bluetooth Audio EmulationAttempt 2: HomeKit IntegrationAttempt 3: NFC TagsAttempt 4: Bluetooth HID KeyboardThe Solution: USB HID (Or Why Wired Actually Works Better)DIY vs M5Stack Dial: Not Even CloseHardwareSoftwareInstallation StepsOnce HFOS is installed, the device acts as a USB Keyboard. Because of this, it may not come as a COM port againSetting Up the AutomationOn macOS:On Windows:HFOS: The FirmwareClock ModeTimer ModeAlarm ModeSettings AppThe Stand: Making It Actually UsableDoes It Actually Help?Final Thoughts

If you have been chasing the perfect focus timer for way too long. You know the type something physical that sits on your desk, lets you twist a dial to set a timer, and triggers your entire workspace into “Do Not Disturb” mode without ever touching your phone. The idea isn’t new. There was even a Kickstarter project called TimeChi that promised exactly this. Spoiler: it never shipped.

When we came across this Instructables guide, we were excited, finally, someone had built it! But then we looked at what it actually required: 15+ components from different suppliers, hours of soldering, 3D printing both FDM and resin parts, mixing silicone rubber with titanium dioxide for a diffuser (yes, really), and a firmware setup that looked incredibly complex. The guide was comprehensive, but let’s be honest, it was way too much of a commitment.

Fast forward to a few months ago when OpenELAB reached out with a list of products they could sponsor. As soon as we saw the M5Stack Dial on that list, the focus dial idea immediately clicked. This was it, a 1.28″ round touchscreen, rotary encoder with a button, ESP32-S3 with WiFi and Bluetooth, USB-C connectivity, and it costs $45. Everything we needed, already assembled.

This was our chance to finally build the focus dial properly, without the weekend-consuming assembly process.


A Word on Our Sponsor

OpenELAB is a Munich-based company that distributes electronic development modules in AIoT and robotics. Their online shop is openelab.io. As an official European partner and trusted collaborator, they work with leading IoT hardware manufacturers such as Seeed Studio, Ai-Thinker, M5Stack, LILYGO, and Waveshare to deliver reliable, cutting-edge components with competitive pricing and dependable delivery. OpenELAB empowers all developers, from beginners to professionals, helping you turn ideas into reality.


What Makes a Good Focus Dial Anyway?

Before diving into code and automation, we needed to figure out what actually makes a focus dial useful versus just another desk toy that collects dust after two weeks.

The core idea is simple: you need something physical that starts a focus session without touching your phone. That’s the whole point. Your phone is the problem, it’s both your productivity tool and your doom scroll machine. Using your phone to trigger “Focus Mode” is like trying to diet while living in a bakery.

But it can’t just be a timer. If it only does one thing, it’ll end up in a drawer. So the M5Stack Dial needed to be a clock, an alarm, a Pomodoro timer, and a focus trigger, all in one device that looks good enough to keep on your desk.

The automation part was critical too. When you press that button, your MacBook should go into Do Not Disturb mode, lights to dim to a warm white, and some background music to start. When the timer ends, everything reverses. No manual steps, no “remember to turn off notifications”, just press the button and the workspace transforms.

And here’s the kicker: it needed to work on both macOS and Windows. The original DIY build only worked with iOS through shortcuts, which locked out half the potential users.

The Development Hell: Four Failed Attempts

Getting this to work took longer than we want to admit. We tried four different approaches before landing on the solution that actually works.

Attempt 1: Bluetooth Audio Emulation

Our first idea was to make the ESP32-S3 pretend to be a Bluetooth headphone. iOS Shortcuts can auto-trigger when specific audio devices connect, so in theory, the dial could connect via Bluetooth and iOS would recognize it and run the automation.

Except the ESP32-S3 can’t emulate a Bluetooth audio device. It does only BLE (Bluetooth Low Energy) for data transfer, but it can’t pretend to be AirPods. iOS never saw it. Dead end.

Attempt 2: HomeKit Integration

Next, we tried using the Arduino HomeKit library to register the dial as a HomeKit accessory. Then we could trigger automations through the Home app like any other smart home device.

This… did not go well. We spent days editing the library code, wrestling with certificate generation, and debugging errors that made no sense. When it finally showed up in the Home app once, iOS immediately flagged it as “Not Compatible” and refused to pair. After that, it never appeared again no matter what we tried.

Lesson learned: Apple’s smart home protocols are landmines. Apple changes HomeKit constantly.

Attempt 3: NFC Tags

The M5Stack Dial has built-in NFC, so we figured we could use it to trigger iOS Shortcuts via NFC automation. Except the NFC module can only read or write NFC tags, it can’t emulate one, which is what iOS needs to trigger automations. You’d need to stick a physical NFC tag on the device, which defeats the entire purpose of having the NFC module in the first place.

Attempt 4: Bluetooth HID Keyboard

Getting desperate, we tried making the ESP32 act as a Bluetooth keyboard and send hotkeys wirelessly. The library documentation even warned that macOS support was “very funky,” which should have been the first red flag. In practice, key presses didn’t register consistently, the behavior was unpredictable. It felt janky, exactly what we were trying to avoid.

The Solution: USB HID (Or Why Wired Actually Works Better)

After weeks of failed wireless experiments, we went back to basics: what if the dial just pretends to be a USB keyboard?

The ESP32-S3 has native USB support. Using the USB.h and USBHIDKeyboard.h libraries, we could make the M5Stack Dial emulate a wired keyboard that sends specific key combinations when the timer starts or stops.

The implementation is surprisingly simple:

#include "USB.h"
#include "USBHIDKeyboard.h"

// When timer starts
Keyboard.press(KEY_LEFT_CTRL);  // Hold Control
Keyboard.press('1');             // Press '1'
delay(50);
Keyboard.releaseAll();

// When timer ends
Keyboard.press(KEY_LEFT_CTRL);  // Hold Control
Keyboard.press('2');             // Press '2'
delay(50);
Keyboard.releaseAll();

That’s it. The dial sends Ctrl+1 when a focus session starts and Ctrl+2 when it ends.

And here’s why this works so much better than we expected: there’s no pairing, no connection issues, it’s just a USB device. Plug it in and it works. Both macOS and Windows recognize USB keyboards instantly. You can bind these key combinations to anything: macOS Shortcuts, Windows PowerToys, AutoHotkey scripts, Alfred workflows, BetterTouchTool triggers. And it’s rock-solid reliable, no dropped connections, no latency, no weird pairing bugs.

The pivot from wireless to wired turned what felt like a limitation into the most versatile feature. Sometimes simple is better.

DIY vs M5Stack Dial: Not Even Close

The original DIY build cost around $80-100 in parts and took 8-12 hours to assemble if you were fast and knew what you were doing. You needed soldering skills, access to a 3D printer (ideally two different types), and patience to debug inevitable issues. The M5Stack Dial costs $45 from OpenELAB, takes 5 minutes to flash the firmware, and requires basic computer skills at most.

The DIY version only worked with iOS and even then, the Bluetooth automation was hit or miss. The M5Stack Dial with HFOS works on macOS, Windows, and Linux with rock-solid USB HID reliability.

Hardware

All you need is one device, the M5Stack Dial v1.1

Software

If you want to build this yourself, you’ll need an M5Stack Dial V1.1, a USB-C data cable, and either Arduino IDE or VS Code with PlatformIO installed.

Installation Steps

Download HFOS Firmware: GitHub: HFOS M5Stack Dial

  1. Clone the repository:
git clone https://github.com/HarborScale/hfos-m5stack-dial.git
cd thos-m5stack-dial
  1. Open in your preferred IDE
  2. Add M5Stack board to Arduino IDE 
    • Go to File → Preferences 
    • Add to “Additional Board Manager URLs”:https://static-cdn.m5stack.com/resource/arduino/package_m5stack_index.json
    • Go to Tools → Board → Board Manager
    • Search “M5Stack” and install “M5Stack by M5Stack”
    • Select board: Tools → Board → M5Stack → M5Stack-DIAL
  1. Install required libraries:
  1. Configure your settings in HFOS.ino:
const char* WIFI_SSID = "YOUR_SSID";     
const char* WIFI_PASS = "YOUR_PASSWORD"; 
#define TIME_ZONE_OFFSET_HRS +3  // Your UTC offset
  1. Build and upload to your M5Stack Dial

The device will boot, connect to WiFi, and you’re ready to go. Navigate to Settings to sync the time via NTP and toggle 12/24-hour format if needed.

Once HFOS is installed, the device acts as a USB Keyboard. Because of this, it may not come as a COM port again

To fix this, you must manually enter “Download Mode”:

  1. Locate the two buttons on the back of the M5Stack Dial. One on the sticker labeled “BTN” and one on the side labeled with rotating arrow.
  2. Hold down the button labeled BTN.
  3. While holding BTN, press the RESET button once.
  4. Release the BTN button. The screen will remain black, but the device will now appear as a COM port on your computer, ready for a new upload.

Setting Up the Automation

On macOS:

  1. Open the Shortcuts app
  2. Create your “Focus Start” automation
  3. Click the (i) info icon → Add Keyboard Shortcut → Ctrl+1
  4. Create your “Focus End” automation
  5. Assign Ctrl+2 hotkey

On Windows:

  • Use PowerToys Keyboard Manager or AutoHotkey scripts
  • Assign your automation scripts to Ctrl+1 and Ctrl+2

If you want to customize the firmware, change the hotkey combinations or add features, it’s all in HFOS.ino . Change the key definitions, rebuild, and upload. The code is open source and designed to be hackable.

HFOS: The Firmware

We built a custom firmware called HFOS specifically for this project. It’s designed to be multi-functional, not just a focus timer, but also a clock, alarm, and visual indicator of your current state. The full source code is on GitHub.

When you first power it on, the device connects to WiFi using the credentials you’ve configured in the code. From the main menu, you can navigate between four apps by rotating the dial: Clock, Timer, Alarm, and Settings. Tap the screen or press the rotary button to enter an app, and press the rotary button to go back to the menu.

Clock Mode

The clock displays the current time with a simple, clean interface. The date appears below in a smaller font. You can switch between 12-hour and 24-hour format in the Settings app.

Timer Mode

This is where the focus dial magic happens. Rotate the dial to set your duration (10 seconds to 59 minutes in 10-second or 1-minute increments depending on how fast you turn). The screen shows your set time with a progress gauge around the edge. Tap to start the timer.

When the timer starts, the dial sends Ctrl+1 to your computer and begins tracking. The gauge count down with orange ring as time progresses, showing exactly how much time remains. When the timer completes, it sends Ctrl+2 and plays an alert tone. The screen displays “TAP TO STOP” until you acknowledge it.

You can pause the timer mid-session by tapping once, it remembers where you left off.

Alarm Mode

Set an alarm by rotating the dial through hours and minutes. Tap to cycle through setting the hour, setting the minute, or toggling the alarm on/off. When the alarm is enabled, the outer ring turns orange. When it rings, you’ll see the same alert screen as the timer with an audible tone. Tap to Stop.

Settings App

The Settings app has two functions. Tap the top half of the screen to sync time via NTP over WiFi, this pulls the current time from internet time servers and updates the clock. Tap the bottom half to toggle between 24-hour and 12-hour time format. A small indicator shows which mode is active.

The Stand: Making It Actually Usable

One thing we discovered pretty quickly: the M5Stack Dial doesn’t sit flat on a desk very well. We found this 3D-printable stand on Printables that props it up at a perfect angle for desk use.

But with one suggestion: laying the dial on its back (with the USB-C port pointing up) was actually more stable than the typical orientation. So you can rotate the screen 180 degrees in the firmware (SCREEN_ROTATION 2) so the display shows right-side-up even though the device is flipped. This way, the cable comes in from behind, the stand keeps everything stable, and the dial sits at the perfect viewing angle on your desk.

Does It Actually Help?

We’ve been using this setup daily for a few weeks now, and honestly, it’s made a bigger difference than we expected. The physicality matters more than we thought it would. Having a dedicated device to start focus sessions creates a ritual. Twist the dial to 25 minutes, press the button, and the brain knows: “Okay, it’s work time.” The lights dim, music starts, phone goes silent, all without touching the phone.

The Pomodoro Technique actually sticks when there’s a physical device enforcing it. If you are terrible at taking breaks, when the timer ends and the alert plays, it’s harder to ignore than a phone notification you can swipe away. The physical device demands acknowledgment.

There are some quirks. The USB cable is visible, which isn’t as clean as a wireless device would be. You need to be at your computer since it emulates a USB keyboard, you can’t trigger focus mode from across the room. And occasionally on macOS, the system doesn’t recognize the hotkey immediately after waking from sleep (unplugging and replugging fixes it, but it’s annoying).

But overall? It works. And it works reliably, which is more than we can say for any of the wireless attempts.

We live in a world drowning in productivity apps. There’s a browser extension for everything, a phone app for every problem, a SaaS solution for every workflow. But here’s the thing: the device running those apps is also the source of infinite distraction. Your phone has both your todo list and TikTok. Your computer has both your work documents and Reddit.

Using the same device to fight distraction is fundamentally broken. Physical separation works. The Focus Dial creates a boundary, it’s a dedicated tool with one job. It doesn’t have notifications. It doesn’t have social media. It doesn’t have “just one more video.” It’s a dial. You twist it, press it, and go to work.

In a weird way, it brings back the simplicity of analog productivity tools, kitchen timers, desk clocks, and bells, but with the power of modern automation. It’s the best of both worlds.

Final Thoughts

The original DIY Focus Dial was a beautiful idea trapped in a nightmare of execution. The M5Stack Dial with HFOS is that idea actually realized, a plug-and-play productivity tool that works out of the box.

For $45, you get a functional desk accessory that’s also a clock, alarm, and Pomodoro timer with real automation that works across platforms. No soldering, no 3D printing, no weekends lost to debugging Bluetooth pairing issues.

This is the Focus Dial that should have existed from the start. If you’re tired of fighting your phone to stay focused, if you’ve tried every app and browser extension and still find yourself doom scrolling, if you just want a simple tool that works, this is it.

You Might Also Like

Cult Hit Doki Doki Literature Club Fights Removal From Google Play Store Over ‘Depiction Of Sensitive Themes’

Dead as Disco Launches Into Early Access on May 5th, Groovy New Gameplay Released

Don’t Starve Elsewhere, A New Addition to Klei’s Survival Franchise, Announced for PC

A new Borderlands game just dropped, and it's free

Metal Gear Solid Film Greenlit By Sony, First Look in the Works

TAGGED: Game Latest, pc, xbox
Share This Article
Facebook Twitter Copy Link
Previous Article Edge AI vs Cloud : ARM’s Path to Greener, Faster Local AI Models
Next Article US accuses Russia of ‘dangerous and inexplicable escalation’ of war in Ukraine as Trump seeks peace
Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

- Advertisement -
Ad image

Latest News

JPMorgan CEO Jamie Dimon says he’s ‘learned and relearned’ to not make big decisions when he’s tired on Fridays
Business
Apple AI Pin Specs Leak: Dual Cameras, No Screen & More
Tech News
A ‘glass-like’ battlefield: German Army chief on the future of warfare
World News
Polymarket Sees Record $153M Daily Volume After Chainlink Integration
Crypto
Natasha Lyonne Then & Now: See Before & After Photos of the Actress Here
Celebrity
Cult Hit Doki Doki Literature Club Fights Removal From Google Play Store Over ‘Depiction Of Sensitive Themes’
Gaming News
Dead as Disco Launches Into Early Access on May 5th, Groovy New Gameplay Released
Gaming News

About Us

Welcome to Viraltrendingcontent, your go-to source for the latest updates on world news, politics, sports, celebrity, tech, travel, gaming, crypto news, and business news. We are dedicated to providing you with accurate, timely, and engaging content from around the globe.

Quick Links

  • Home
  • World News
  • Politics
  • Celebrity
  • Business
  • Home
  • World News
  • Politics
  • Sports
  • Celebrity
  • Business
  • Crypto
  • Gaming News
  • Tech News
  • Travel
  • Sports
  • Crypto
  • Tech News
  • Gaming News
  • Travel

Trending News

cageside seats

Unlocking the Ultimate WWE Experience: Cageside Seats News 2024

Investing £5 a day could help me build a second income of £329 a month!

JPMorgan CEO Jamie Dimon says he’s ‘learned and relearned’ to not make big decisions when he’s tired on Fridays

cageside seats
Unlocking the Ultimate WWE Experience: Cageside Seats News 2024
May 22, 2024
Investing £5 a day could help me build a second income of £329 a month!
March 27, 2024
JPMorgan CEO Jamie Dimon says he’s ‘learned and relearned’ to not make big decisions when he’s tired on Fridays
April 10, 2026
Brussels unveils plans for a European Degree but struggles to explain why
March 27, 2024
© 2024 All Rights reserved | Powered by Vraltrendingcontent
  • About Us
  • Contact US
  • Disclaimer
  • Privacy Policy
  • Terms of Service
Welcome Back!

Sign in to your account

Lost your password?