Skip to content
IoT Engineer
All projects

Wootch

HBKU, Doha, Qatar2021
Embedded UI
Cloud Architecture
Unfolded PCB Wootch
Altium
AWS CDK
Embedded UI on watch
Altium PCB preview
Embedded UI on watch

Wootch is an IoT device to monitor a door or any object activity and detect whether it is being moved. It then sends notifications to your registered device (phone or other) in case any activity is happening. Its intuitive Embedded UI helps you to set your level of guard ! (It can vibrate as soon as its door/object get touched, send you a message or let you live your life). It is connected to a cloud application to make sense of the sensors' data.

This one is personal project where I can experiment with technologies new to me. Namely, Embedded UI (LVGL), Wi-Fi-enabled MCU (ESP32) and Serverless Application (Serverless Framework).

Key points:

  • PCB Design integrating esp32 and LCD
  • Embedded UI (LVGL) with touch control
  • Serverless infrastructure on AWS Cloud
  • AWS-IoT core with MQTT

Project on GitHub

More details

Wootch's PCB has been made on Altium Designer. it features:

  • Battery management, protection and regulators (buck)
  • Inertial Measurement Unit (IMU, accelero + gyro)
  • FPC connector for 3.5 inches LCD (480*320px) touch capacitive
  • Wi-Fi-enabled MCU (esp32)
  • Vibration motor and controller IC
  • Speaker amplifier
  • USB C charging
  • Push buttons and RGB LED
  • Programmer/debugger

The code is written in C (not C++) along the ESP-IDF SDK . its main component are the following:

  • ESP-IDF SDK, peripheral, Wi-Fi, RTOS.
  • LvGL graphical library, to easily create responsive UI and provide support for the touch sensitive screen.
  • esp_mpu60x0_C, MPU6050 IC from Invensense driver in C.
  • ESP-AWS-IOT to interface with the AWS IoT-core service and provide a light-weight, fast and secured with AWS servers. It leverages the MQTT protocol with asymmetric key exchange, symmetric encryption.

The Backend will use the serverless framework:

  • Receive MQTT messages,
  • Extract data and store them in a dynamoDB Database
  • Run analytics on the stored data
  • Manage users
  • Manage IoT "things" and secure their data link
  • Cloud & Backend
  • Embedded & Firmware
  • PCB & Hardware
  • Wireless
  • Mobile & Frontend
  • Wi-Fi
  • PCB Design
  • Serverless AWS
  • C prog
  • Flutter
  • Full-Stack