The GPS-enabled smartwatch 2.0
uses the ESP32C3 main controller, with onboard components including an SHT30 thermo-hygrometer, a BMP280 barometer, a PCF8563 clock RTC, a QMC5883L magnetometer, four 0805 LEDs, and a vibration sensor. It features a large 1.3-inch rectangular OLED display with wide viewing angles, remaining clear even in sunlight. The ESP32C3 has USB CDC functionality for direct connection to a computer for one-click downloading, simplifying development.

This version incorporates regional power control, achieving one-button power-on, power-on hold, and automatic power-off without adding buttons. It can also independently disconnect power to components other than the main controller to achieve ultra-low power consumption.

This version features an expandable shell design, allowing it to be worn or attached to more locations by connecting expansion modules (a possible extension: solar charging).
The shell is made of TPU, which is very soft, wear-resistant, and drop-resistant.
The back cover is made of 8001 transparent resin, allowing light to pass through while remaining waterproof.
Printed parts can be printed using JLCPCB's 3D printing technology, which is cheap and effective
. The VAV

PCB uses a 3D stacked design, making the structure more compact.

Regarding power consumption: When the main controller and modules are powered off, only the RTC chip is working. At this time, the standby current is only 3uA, and the battery used is 500mA/h, which can last for more than 100 days. With
all functions enabled (except Wi-Fi and Bluetooth), it can be used continuously for 7 hours at 75mA.

Regarding soldering: The temperature sensor, magnetometer, and barometer are temperature-sensitive devices and require special protection before soldering.
If possible, use low-temperature solder and reflow soldering on a hot plate, with the temperature not exceeding 250℃.

The pins need to be shortened beforehand, and the soldering should be rounded to avoid scratching the battery.
The screen cable may come into contact with the Type-C interface, so please take necessary protective measures.
It uses a 1.3-inch frameless OLED screen module from Zhongjingyuan. Since the two remaining screw holes are not used, they were cut off. Use angled cutters and be careful with the screen cable (don't ask me how I know QAQ).
Currently completed functions:
1. Main time interface: Displays the system time.
Each time the system powers on, it reads the time from the RTC clock chip and displays it immediately.
After the first successful GPS positioning, the system automatically updates the system time and RTC chip time to ensure the time is always correct.

2. Positioning latitude and longitude display interface: After successful positioning, it displays the latitude and longitude information of the current location.
Two coordinate systems can be displayed:
WGS84 coordinate system (International Geocentric Coordinate System)
and BD90 coordinate system (the coordinate system used by Baidu Maps; you can use Baidu Maps coordinate tools to query. Gaode Maps uses a different coordinate system)
. Note that different coordinate systems cannot be queried, as there will be serious discrepancies.

3. Compass Display Interface:
Press and hold the OK button to enter the magnetometer calibration mode.
The magnetometer calibration data is stored in the EEPROM and read every time the device is turned on, so frequent calibration is unnecessary.

4. Altitude Display: Displays altitude and air pressure data.

5. Temperature and Humidity Display: Displays temperature and humidity data obtained by the sensor.

6. Flashlight Function Interface: Turns on the flashlight;
brightness is now adjustable in four levels.

7. Always-on Display Interface: Simply displays the time.
Automatically enters this interface after 60 seconds of inactivity on any other interface. Automatically shuts down after 30 minutes on this screen.
Can be woken up by pressing a button or tapping/shaking. After waking up, it will automatically enter the main time display interface.

Features to be developed:
Main controller enters ultra-low power sleep mode (I've been working on this for a day but still can't wake up the sleep-state ESP32 with a button QAQ).
Countdown, timer, and alarm clock functions (this can be implemented using RTC chip interrupts in future generations).
Areas for improvement:
Magnetometer anti-interference and PCB layout (should be placed on the top layer for easier algorithm implementation).
Power supply redesign (should use separate power supplies for the DC-DC converter and GPS module). Demonstration video of
RTC chip interrupt pin connected to main controller (obtaining more functions through interrupt development) : https://www.bilibili.com/video/BV1tg4y1S74V/?share_source=copy_web&vd_source=aa852fcbd01d91461a8bc45e307c0dc4 The 3D model, schematic, PCB, and program code of this project were designed and developed by me. Commercial use is prohibited without permission. For more project information, please contact me via QQ: 226885396 ! For questions, please search on Baidu. I do not provide tutorials for open-source projects. Please feel free to communicate any bugs! The third generation is under development.