Kronocrumb

Arjun Vinod & Daniel Eskander

Mission of the project

We propose Kronocrumb, a contactless timer that uses gesture controls.


We realized that many tasks require the use of both hands and it’s not realistic to expect that our phone’s timer is always accessible. A baker’s hands may be covered in flour and a chemist’s gloves may be contaminated with HCl, so our idea of a contactless timer is immediately applicable in a variety of industries.

Usage

State 1: Idle

State 2: Set minutes

State 3: Set seconds

State 4: Countdown & Progress Bar

Countdown sent over Bluetooth

Demo

Peripherals

STM32 Nucleo-64 development board (STM32l476RG)

As the heart of the system, the Nucleo board interfaces with the sensors and modules via their respective protocols. Internally, we use its interrupts and RTC to keep track of the time.


HCSR04 Ultrasonic Sensor

The user interfaces with the system by swiping their hand in front of the ultrasonic sensor. We can capture these swiping gestures by detecting sudden changes in the distance measured by the ultrasonic sensor. We can also capture double-swipes by programming different behavior for capturing a swipe only after a small time has elapsed since the last swipe.




HC05 Bluetooth to Serial Port Module

The bluetooth functionality makes this an IoT system. The countdown value and captured commands are streamed via the Bluetooth module to interface with other devices. With further development, an API can be implemented to connect this system to smart-home devices to be a part of a bigger system.

I2C OLED Display Module

This display module ensures the system can function standalone by displaying all the relevant data to the user. When commands are detected such as start, stop, acknowledge, and enter config mode, they’re indicated on the display. When the user configures the time using their hand, the value is continuously displayed on the screen. As the time counts down, the value is also displayed on the screen.




I2C LCD Display Module

This secondary display makes it easier to monitor the status of the countdown by showing a progress bar.


Schematic

Acknowledgement of Third-Party Source Code

Code not created by us (Daniel & Arjun).

Directly implemented in this project:


Used as a reference for an implementation in this project: