Close
0%
0%

Qwatch

A 3D Printable, fully customisable ESP32-based Smartwatch

Similar projects worth following
I've spent the last couple of months designing and refining this - a 3D printed smartwatch based on a $25 ESP32 board with touchscreen. In current form has 6 'themes' each with its own case and digtial and analogue face. I've also designed 2 straps, a print in place link version and a 'sports band' style strap for priting in TPU. These use parametric generators so can make straps to fit any size wrist. Custom firmware currently provides; time, date, step counter, stop watch, weather updates, WiFi, Bluetooth and face gallery / selector. Still contiuing to develop the firmware and seeing what more can be squeezed out of this little board :) Launching soon on Makerworld.

After several months of work, Qwatch is now available on Makerworld's new crowdfunding platform. 

Funding goal reached in <24hrs! 🚀

https://makerworld.com/en/crowdfunding/273-qwatch-the-customisable-smartwatch

Incredibly happy to have seen this through from an idea to launch. And seeing that other people get it too is extremely satisfying. :) 

  • 1 × Waveshare ESP32-S3 1.28" Touchscreen Dev Board
  • 1 × 3.7v 1S LiPo battery
  • 1 × 3D Printed Qwatch Case
  • 1 × Strap - 3D Printed (or any 22mm standard size strap)

  • Run, Forest, Run...

    davidmpride04/29/2026 at 22:04 0 comments

    Well - the Qwatch pedometer thought I was running - even if taking a gentle stroll. Was great for the ego, but not for accuracy. So I spent time this week looking at the exact data generated by the IMU on the ESP-32S3 board. 

    I ended up building this rig to test it over several hours, without having to walk several kilometres!  

    The  IMU gives you acceleration on three axes, because the watch can be at any wrist angle, you do not want to look at just one axis. Instead, you collapse the three axes into a single acceleration magnitude.

    That magnitude includes gravity, so when the watch is mostly still it will sit around 1g. The useful “movement” signal is therefore the deviation from gravity.

    The pedometer then looks for repeated pulses in that motion signal. A candidate step is a local peak where the movement rises above a threshold, then falls again, with sensible timing between steps. 

    Then you add timing constraints so random wrist flicks do not count as steps. This was the part that needed the fine-tuning. 

    In plain English: calculate overall acceleration, subtract the constant pull of gravity, smooth the result, then count only clean peaks that are big enough and spaced like human walking. For Qwatch, the important practical point was that this runs continuously from the IMU even when the display is in “fake sleep”, otherwise the pedometer stops counting during normal wear, this means following the re-working of the step algorithm itself it works sweetly but is fairly battery intensive. 

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates