Hackster is hosting Hackster Holidays, Ep. 6: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Monday!Stream Hackster Holidays, Ep. 6 on Monday!
Aditya GopalanAidan KingTrey Venners
Published

ECEN 2440 - Smartwatch

We created a Buzz-Lightyear inspired wristwatch using Micropython on our ESP32 board using the I2C communication protocol.

IntermediateShowcase (no instructions)Over 41 days700
ECEN 2440 - Smartwatch

Things used in this project

Hardware components

SparkFun 9DoF IMU Breakout - ICM-20948 (Qwiic)
SparkFun 9DoF IMU Breakout - ICM-20948 (Qwiic)
×1
Adafruit Laser Diode - 650 nm
×1
0.96" OLED
×1
Custom fabricated PCB
OSH Park Custom fabricated PCB
×1
Espressif ESP32-WROOM-32D Dev Kit
×1
Panasonic 180 Ohm SMD Resistor
×1
Panasonic 1 kOhm SMD Resistor
×2
Samsung 0.1 uF Ceramic Capacitor
×1
E-Switch Tactile Switch
×1
Kingbright Red SMD LED
×1
Kingbright Green SMD LED
×1
Female Header Pins 01x02
×1
Female Header Pins 01x04
×2
Male Header Pins 01x19
×1
Male Header Pins 01x08
×2
Male Header Pins 01x02
×1

Software apps and online services

Thonny IDE
Autodesk EAGLE PCB CAD
Solidworks

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Solder Wire, Lead Free
Solder Wire, Lead Free
Soldering Gun Kit, Instant Heat
Soldering Gun Kit, Instant Heat
Solder Paste, Silver Bearing
Solder Paste, Silver Bearing

Story

Read more

Custom parts and enclosures

Solidworks Housing for the Wristwatch

This housing was our closest representation to the housing that we could get to the Buzz-Lightyear wrist communicator while still being able to fit everything into it. This included the battery, the ESP32, our Shield PCB, the OLED display, the IMU, as well as the laser. In our housing design, we made sure that we had a hole to allow the laser to sit and fire through. This way, once we pressed the button on the PCB it would fire the laser.

One of the biggest issues that had when creating the housing, however, was the fact that it was difficult to create an enclosure that was small enough to fir on someone's arm realistically. Plus, when trying to 3D print this SolidWorks part, the printer offset the part at the last few layers making it difficult to fit the laser into its designated spot. We did learn a lot, however, when making this part as SolidWorks isn't our primary forte, so this whole experience to learn how to design the part in Solidworks and fabricate it using PLA and the 3D printer was a good experience.

Solidworks Screenshots

This is a screenshot of what the Solidworks part looks like

Solidworks Screenshots

This is a screenshot of what the Solidworks part looks like (front, laser side)

Solidoworks Screenshots

This is a screenshot of what the Solidworks part looks like (bottom corner)

Schematics

PCB Schematic

This is the schematic for our printed circuit board, designed in EAGLE.

PCB Layout

This is the board design and layout for our printed circuit board. This is designed so the PCB can be connected directly to the ESP32 as a shield. The IMU and display can then be plugged directly into our PCB. The SDA and SCL traces for the I2C are routed as differential pairs in order to reduce noise and keep timing the same. We also added a decoupling capacitor near our 3.3V input to reduce board noise.

Logic Analyzer for I2C

We used a Saleae Logic Analyzer to visualize the I2C between the ESP32 and our two slave boards, the OLED and the IMU.

Code

Smart Watch Code

Our repository contains the micropython main file to be run on the ESP32 device along with the necessary include files.

Credits

Aditya Gopalan

Aditya Gopalan

1 project • 0 followers
Aidan King

Aidan King

1 project • 0 followers
Trey Venners

Trey Venners

1 project • 0 followers

Comments