Smartwatch
Hardware- 6 Devlogs
- 8 Total hours
I am building a smartwatch with 1.28 inch touchscreen round display and ESP32.
I am building a smartwatch with 1.28 inch touchscreen round display and ESP32.
I finally received PCBs I designed on KiCad from JLCPCB. All the other components had been sitting in my room for a few weeks, so I was really excited to have the PCB in my hands. First, I created a jig to hold the PCB in place and I spread over solder paste across the PCB with a stencil I ordered as well. Then, I carefully placed SMD components with a tweezer and melted the solder with a heat gun. I was nervous that my PCB design had a fault and would not work, but luckily it worked fine. I found that making a custom PCB is more efficient than hand soldering because I don’t have to fight over with soldering iron. Although it takes additional time to design a PCB and it costs extra money, I am looking forward to make more PCBs as it can also prepare me for industrial manufacturing.
While the smartwatch turns on, there were still some errors in the PCB. First, I reversed the VCC and GND path of the battery connector, so I had to cut the wires from the battery to correct the wire order, which was unsafe. Next, when I tested the display, only the backlight would turn on and it frustrated me. It turned out that the CS pin was connected to the TX pin of ESP32, which transmits message to serial monitor. Additionally, I had to specify esp32 version in board manager to 2.0.8 for the display to be compatible with XIAO ESP32 C3. Lastly, the PCB is way bigger than the display and next time I could try reducing its size, so it fits with the screen size and looks more appealing.
I added two buttons with pull-up resistors to simulate forward/backward motion in a smartwatch. By clicking the buttons, you can switch through different apps and you can access them by a long press (> 0.5s). Currently, there is only stopwatch with its basic functions like start/stop/reset. I tried out EEZ Studio and I find it better than Lopaka, but there are still some limitations.
I integrated DS3231 real time clock with the display to show the time on watch face. The GUI is designed using LGVL format with TFT_eSPI driver. While I am waiting for the PCB to arrive, I will keep developing the software side. Initially, I chose Lopaka as a design tool, but I am planning to switch to EEZ Studio for its open source license and better functionality.
Today, I tested DS3231 and TFT round display on ESP32 by uploading the example codes online and the wiring and the code weren’t too complicated. DS3231 comes with a battery, so it can keep track of the time even when it is not powered by an external source and I am planning to design the UI of the smartwatch with LVGL format, designed on Lopaka.
Apart from this devlog, I finished designing the PCB for my smartwatch using the schematic from the past devlog. The reason why I am writing my progress on this devlog is because even though 9 hours of my work was recorded on Hackatime, I can’t seem to write a separate devlog on the Stardance.
At first, I had no clue to what I should do with designing a PCB because it is my first time doing it. So I watched some tutorials on YouTube and learned basic skills like creating tracks (wires) and vias (connecting different layers), checking the PCB on 3D viewer. running Design Rules Checker before finalizing the PCB and exporting Gerber files for PCB manufacturing.
Now, I am done with the PCB and ordered 5 pieces of it on JLCPCB. It takes few weeks to arrive and right now I will be working on the software side while waiting for it. I did not use their assembly service because I wanted to solder SMD components by myself using a heat gun. The electronic parts were purchased through DigiKey and AliExpress and tools for SMD soldering were bought on AliExpress and Amazon.
I started building a schematic for the smartwatch. It is my first time using KiCad, so I watched basic tutorials on YouTube about the interface. The symbols for the sensors and microcontroller are not listed on the basic KiCad symbol list and I had to find them separately on the manufacturer’s page and SnapMagic for free.
At first, I had no idea on how to connect the raw sensors to the microcontroller because I only worked with sensor modules that had other electrical components on it before. Therefore, I looked through the datasheet and there were example circuits, which I followed. Most sensors use I2C communication and it requires resistors between the serial clock and data lines to the power and a capacitor between ground and power to stabilize the power as well. Then, instead of connecting all the wires, I placed labels in order to make the schematic clean to look at. Before I am finished with the schematic, I ran Electrical Rules Checker and fixed errors that showed up.
The next step would be to use the schematic to layout the PCB. I am planning to get a hot plate and solder paste, so that I can solder SMD components onto the PCB by myself. It is a long journey, but I am hoping to finish the project with progress made each day. Comment below if you have any questions!
For my project, I chose to build a smartwatch of my own, similar to Galaxy and Apple Watch. Today, I brainstormed the basic materials and functions of the smartwatch.
These are what I came up with.
These are what I came up with for now and I might add on to this as I work on the project. The next steps would be to design a schematic and printed circuit board, which is for the first time in my life and I am excited about it. This is a huge project, so it will take some time to finish it. Below is the picture of what I brainstormed on Google Docs.