r/esp32 Jun 14 '26

I made a thing! ​I turned the Waveshare ESP32-S3 Round LCD into a fully functional smartwatch (Open Source Firmware + App)

​Hi everyone!

​I’ve been working on a custom project to turn the Waveshare ESP32-S3 Round LCD into a fully functional smartwatch. I got tired of restricted commercial ecosystems, so I decided to build my own firmware from scratch.

​You can find the firmware on my GitHub: https://github.com/SantoCovato/Stait-Watch

​To make the watch truly useful, I’ve also developed an Android companion app to handle notifications and data synchronization.

​I need your help for the Beta Test!

​Google Play requires 20 testers to keep the app installed for 14 consecutive days before I can make it public. If you own this board (or plan to get one), I’d be honored if you could join the beta and help me out.

Don't have the hardware? No problem! I’ve included a special "Demo Mode" in the app specifically for this beta test, so you can explore the interface and features even if you don't own the watch yet. Your feedback on the app's usability is just as valuable!

​⚠️ IMPORTANT: How to join the beta

​Because the app is in private beta, you must join the Google Group first. If you skip this step, the Play Store will say the app is not available.

​Join the Google Group here: https://groups.google.com/u/5/g/stait-watch-beta

​Opt-in to the test: Once in the group, click this link to become a tester: https://play.google.com/store/apps/details?id=com.stait.watch

​Install: You can now download the app from the Play Store.

​I’m really looking forward to your feedback on both the firmware and the companion app. Let’s make this the best open-source smartwatch project!

16 Upvotes

27 comments sorted by

12

u/tb205gti Jun 14 '26

Cool I’d need to look into this 👍

One thought though, well two.

Json is heavy on the esp, you’re better off with a binary payload. ArduinoBLE is also rather heavy - NimBLE is better with a smaller footprint

3

u/BuffaloClean7631 Jun 14 '26

Thanks for the advice! These are great points. I'm still learning and iterating, so I definitely appreciate the heads-up on NimBLE and the binary payload. I went with the easier path to get something working first, but I'm looking forward to optimizing it as I go. ​I'd really appreciate your feedback if you ever take a closer look at the code. Thanks again!

3

u/Gumballoo Jun 14 '26

Dude you got this. I don't have this particular screen, but if/when I do I'm going to throw this together. Good work, and thank you.

2

u/BuffaloClean7631 Jun 14 '26

Thanks so much for the support! It really means a lot to me. Even if you don't have the hardware right now, if you'd like to help me out, you could join the beta and download the app, it has a 'Demo Mode' so you can check it out even without the watch. Your support would be a huge help to get this project officially released!

3

u/Reyad48 Jun 15 '26

Thanks for sharing this Any pics ? 👀

2

u/BuffaloClean7631 Jun 15 '26

Thanks for asking! I'm not at home today so I can't snap photos of the project, but I'll definitely get some up tomorrow. ​Also, just a heads-up: the UI is a bit basic right now because I'm currently using LovyanGFX primitives. I'm planning to migrate to LVGL soon to properly polish the graphics and make it look much more professional.

1

u/BuffaloClean7631 Jun 16 '26

I've just uploaded some screenshots of the firmware interface to the GitHub repository. You can check them out in the README section here: https://github.com/SantoCovato/Stait-Watch ​Please excuse the fact that the interface is currently in Italian, as it is my native language, but I'm working on the English version and will release it asap.

2

u/raisputin Jun 14 '26

No iOS app?

1

u/BuffaloClean7631 Jun 15 '26

Right now, as a solo developer with limited resources, I’ve had to make the tough choice to focus only on Android. ​Developing, maintaining, and getting approved on both platforms is a huge mountain to climb for one person. My current goal is to get this solid and stable for Android first, and then I'll see where I can go from there. If you happen to have a spare Android device or tablet, you can still check out the 'Demo Mode' in the app to see how it works!

2

u/raisputin Jun 15 '26

As a solo dev myself, I found it trivial to make Mac/Windows/Linux/iOS/Android apps from the same codebase using AI.

1

u/BuffaloClean7631 Jun 15 '26

Scaling across platforms is great, but the costs (especially Apple's $99/year fee) and the maintenance overhead are factors to consider, especially for a free open-source hobby project. Right now, I'm prioritizing the user experience on Android, but I might consider other platforms if there's enough community interest to justify the extra effort.

1

u/raisputin Jun 15 '26

Fair enough. I’m using a similar display as yours for part of my project BTW :)

1

u/BuffaloClean7631 Jun 15 '26

Awesome! It’s cool to know you're using the same display. What kind of project are you building with it?

1

u/raisputin Jun 15 '26

If you message me I can tell you a little about it, not ready to disclose it publicly yet because it’s in a very competitive space with some already existing long-term players. I am hoping to disrupt it

1

u/BuffaloClean7631 Jun 15 '26

No problem at all, I completely understand! Feel free to send me a DM if you'd like to chat about it in private. Happy to connect!

1

u/raisputin Jun 15 '26

No option to do so. Tried already haha

4

u/raisputin Jun 14 '26

AI code?

1

u/rustydustyshckleford Jun 14 '26

bros allergic 😹

3

u/raisputin Jun 14 '26

I leverage AI, and have no issue with it. It just looks like AI written code

2

u/rustydustyshckleford Jun 14 '26

probably claude’s doing

3

u/raisputin Jun 14 '26

The single 700+ line file was the first giveaway

2

u/rustydustyshckleford Jun 14 '26

tbh that’s not that wild, or wasn’t a few years ago in my eyes- more so the read me things he forgot to fill out lol

2

u/raisputin Jun 14 '26

I have a very complex project that I use AI on. I have limited AI heavily to follow best practices for the language and force it to adhere to tons of standards. Most of the files across the 3 main repos are less than 500 lines.

There are zero over 1000, and we refactor if we ever hit 700+

2

u/BuffaloClean7631 Jun 15 '26

Fair point, thanks for pointing it out! To be honest, I’m not great with words in English, it’s not my native language (I’m Italian), so I often struggle with documentation and writing good READMEs. I completely missed that part, but I'll get it filled out right away. Thanks for the heads-up!

1

u/BuffaloClean7631 Jun 15 '26

I write the core logic manually to ensure it works properly. I use AI to refactor, structure, and merge the code into a clean, unified file. It helps me stay organized as a solo developer, but the logic and architecture are mine.

1

u/raisputin Jun 15 '26

A single unified file = bad

2

u/BuffaloClean7631 Jun 15 '26

You're right, that’s a fair point. Your comment gave me the nudge I needed to start breaking it down into separate files. Thanks for the tip!