Another hackable smart watch

Similar projects worth following
The Ratch Aurora is just another smart watch on the internet.

Ratch Aurora has got a color sharp memory display with a backlight. A LSM6DSOX IMU for motion tracking. NOR flash to store apps. A vibration motor for notifications and a Lipo battery. Its got 4 buttons called up, down, select and back. Everything is controlled by a NRF52840. 4 spring contacts are present which connect to the NRF52 USB interface. The power pins are used for charging the lipo. The focus quickly moved to developing the RatchOS rather than the watch hardware.

  • QEMU machine

    Rohit Gujarathi11/08/2021 at 03:19 0 comments

    I wanted to develop and test code faster and thought of trying out renode at first. It already had support for NRF52 and I was able to add the memory display support but it was very slow. So at the end I switched to qemu. I had to implement quite a few things from scratch but at the end it worked like a charm. Zephyr also has support for running tests on a qemu machine which helped a lot to verify functionality. The goal was to be able to use the same binary which works on the actual board in qemu as well.

  • The enclosure

    Rohit Gujarathi11/08/2021 at 02:45 0 comments

    Designed an enclosure for the watch in Freecad. The back cover has four holes for the screws. The center part has 2 holes for the magnets which help align the charger to the spring contacts. And some support to hold the battery and motor in place. 

  • The software

    Rohit Gujarathi11/08/2021 at 01:49 0 comments

    The software is based on Zephyr RTOS. I have modified some parts so I can take advantage of the syscall functionality and really make apps independent from the kernel. The apps are built independently as position independent codes which can be transferred over BLE. The apps are in the TINF format I created a while ago. ELF is just too large for microcontrollers.

    The watch OS (Ratch OS) currently is the zephyr RTOS and a time API which an app can subscribe to. The app basically registers a callback with this API and the kernel periodically executes the call. I tackled this first so I can start building watch faces.

    The UI is pretty simple, watchface -> menu -> app launch or submenu. There are 2 watchfaces and a sample app currently. Other menu items are just placeholders.

  • Moving to Aurora. 2nd proto

    Rohit Gujarathi11/08/2021 at 01:31 0 comments

    Built a PCB for the watch. Yes it is hand soldered. Calling it Aurora.

    The PCB contains the NRF52840,  MX25L3233FZBI NOR flash, LSM6DSOX IMU, and connectors for vibration motor and HR sensor ( which i may get to later). Getting the right components which have minimal height was a challenge, especially due to the global chip shortage. I worked with what I could get my hands on. The top of the PCB has pads where a spring connector would connect for power and USB. The 5 holes on the right are pads for programming.

    Soldering the NRF52 package was a pain but finally got it done using a hot plate and patience. I didn't want to use a BLE module this time with everything done for you. I learned a lot about RF design and antennas by using just the chip.

  • The first prototype

    Rohit Gujarathi11/08/2021 at 01:11 0 comments

    I found these really cool sharp memory displays and instantly fell in love. And the best part it has a built in backlight. The high contrast ratio and fast refresh yet being low power got me hooked. I immediately knew I wanted to build a watch out of it. But this time I wanted to focus more on the software and architecture of an actual smart watch.

    I grabbed a NRF52, a NOR flash, added a few buttons and started prototyping.

View all 5 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

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