Arduino sketch and Squareline Studio files
Ever since Apple released the original Apple Watch, a lot of traditional watchmakers have stepped into the smartwatch space with their own take on connected wearables. Brands like TAG Heuer, Hublot, and Tissot have all released smart devices that blend their identity with modern technology.
But one giant has stayed firmly on the sidelines: Rolex.
Rather than chasing the smartwatch trend, Rolex has continued doing what it does best — making high-end traditional timepieces. While looking into all of this, I came across an interesting detail: Rolex actually began its watchmaking journey with pocket watches.
That got me thinking.
If Rolex ever decided to bring that heritage into the modern world and make a smart pocket watch, what might it look like?
So I decided to build my own.
The idea
The goal for this project was to create a device that combined modern electronics with the visual language of a classic Rolex. I wanted it to feel like something that respected old-school Swiss watch design, while still offering modern features like a stopwatch, weather display, rechargeable battery, and Wi-Fi connectivity.
The result is a fully functional, open-source smart pocket watch built around an ESP32C3 and a round display module.
Choosing the electronics
I always like to begin projects by choosing the electronics first, because that helps define what’s actually possible.
For this build, I used:
- ESP32C3
- Seeed Studio round display module
This combination made a lot of sense for a few reasons.
The ESP32C3 gives me built-in Wi-Fi, which means I can connect the device to the internet and pull in live data. The round display module includes an onboard RTC chip, so I can keep accurate time, and it also has a JST connector for a LiPo battery, which means the whole project can stay wireless and portable.
That gave me the core ingredients for a convincing smart pocket watch.
Studying Rolex design
Before designing anything, I spent some time looking at different Rolex faces and making notes about the visual elements that make a Rolex feel like a Rolex.
Rather than copying one specific model, I decided to mix and match features from several references. Things like:
- the date window and magnifier
- the shape of the hands
- the overall dial layout
- the proportions and styling details
The aim was not to clone a Datejust or a Submariner, but to create something that felt inspired by Rolex design language while still being its own project.
Designing the watch face
Once I had a rough sense of the design direction, I started building the graphics.
The main face included:
- a dial background
- hour, minute, and second hands
- a dedicated area for the date
I also created two additional screens that would later become part of the interface. Before doing any serious software work, I wanted to upload the graphics to the display and see how they looked on actual hardware.
That test turned out to be really useful.
The design was already looking promising, but seeing it on the round screen helped me spot areas that could still be improved. Some of the text needed to be a little bolder, and a few elements could be refined to make the final display look cleaner and sharper.
Compared to the original reference image I had been using, the custom design already looked noticeably crisper.
A late-night battery connector mistake
Of course, no project is complete without at least one avoidable mistake.
The JST connector on the round display was smaller than the one on my LiPo batteries, so I ordered the correct smaller connectors and did some soldering to swap them over. The only problem was that I was doing this at around 2 a.m., and after removing the original connector, I accidentally soldered the wrong one back on.
So I had to undo the whole thing and do it properly the second time.
Not the most glamorous part of the build, but a very real one.
Time for CAD and 3D printing
Once the software side was in a good place, it was time for my favourite part of projects like this: CAD and 3D printing.
I jumped into Fusion 360 and started designing a case that would bring everything together and make the device actually feel like a pocket watch. Luckily, I was able to find STEP files for both the round display and the ESP board, which made the design process much easier.
The first prototype revealed two big problems straight away:
- The threaded lid design wasn’t working properly. It was awkward to locate and still left a visible gap when screwed down.
- The opening for the USB-C port was too small, which meant I wouldn’t be able to charge or reprogram the board properly.
Both issues meant a return to Fusion 360.
After a few more attempts, I realised I had been overcomplicating the whole thing. The round display already had three mounting holes built into it, so instead of trying to invent a more elaborate mounting system, I could just use what was already there and design the case around it.
That was the turning point.
Printing in ASA for a better finish
For the case material, I chose ASA.
One of the big advantages of having an enclosed printer is being able to use more advanced materials like ASA more reliably. In this case, ASA was the right choice because I wanted to try acetone vapour smoothing to give the print a more premium finish.
The idea behind acetone smoothing is simple: expose the print to acetone vapour and the outer surface softens just enough to melt slightly and level out the layer lines, leaving behind a smooth, glossy finish.
I’d never done it before, so this project became my first real test.
To improve my chances, I printed the parts using a 0.25 mm nozzle and a very fine layer height so the raw print quality would already be as good as possible before smoothing.
The first acetone smoothing test went badly
The first attempt did not go well.
I set up four test pieces, a glass jar, some paper towels, and the acetone, then started experimenting. After five minutes, there was barely any visible change, so I extended the time.
That turned out to be too much.
The first part came out overcooked. The circular opening had started to deform, and worse still, the infill pattern was visible through the surface, which completely ruined the illusion of a premium finish.
So I went back and printed another version, this time with 100% infill, and gave it less time in the vapour.
That made a huge difference.
The second result looked dramatically better — much smoother, far more consistent, and it held its shape properly. In the light, it almost looked injection moulded. That was the version I decided to move forward with.
After that, all it needed was some paintwork to get the final colour where I wanted it.
The finished smart pocket watch
Once everything was assembled, the watch finally came together.
To turn it on, there’s a small cutout in the case that lets you access the switch with a thin tool. When powered on, the backlight comes on first while the watch connects to Wi-Fi.
After boot, the main watch face appears, showing the time and date.
Swipe left once, and you get a stopwatch screen with a simple interface. You can start, pause, and reset it easily.
Swipe left again, and there’s a weather screen that shows local temperature data. This works by connecting to Wi-Fi, pulling API data, and displaying the result on the watch.
I also made sure there was still access to the USB-C port, so the battery can be charged without taking the whole thing apart.
And honestly, one of my favourite details is the pocket watch chain. It adds a lot to the final feel of the project and helps make it feel much more authentic.
Final thoughts
This project was a really fun blend of design, electronics, software, CAD, 3D printing, and finishing work. It started with a simple question — what would a Rolex smart pocket watch look like? — and turned into something that genuinely feels like a believable answer.
There are definitely things I’d refine in a future version, but that’s part of the fun with builds like this. Every prototype teaches you something, and every project leaves you with ideas for the next one.
The best part is that this project is fully open source, so anyone who wants to build their own version can do exactly that.
