Bluetooth Time Clock

The future of work

Overview

For the ECE 153B final project, I plan to make a time clock.

Like a standard time clock, it will allow users to “clock in” and “clock out” of work and record the time. However, employees will be able to clock in through their phones via Bluetooth. This is advantageous because it will not require an additional card, and people typically carry their phones at all times. Due to the limited range of Bluetooth, employees will not be able to clock in or out unless they are physically at the site (and cannot spoof their location as one might with Internet-based time clocks).

Block Diagram

The diagram to the right shows how all of the components are connected within the system.

The microcontroller will interface with the Bluetooth Module via UART and with the LCD Display via SPI. The system will also make use of the on-board buttons for physical interaction.

Visit the Components page to learn more about these parts.

Details

A data structure will hold employee names, administrative privileges, employee IDs, device IDs, wages, and work history. When the Bluetooth module receives an incoming connection, it will trigger an interrupt that checks the device ID. If the device is registered, it will add an entry to the associated employee’s work history log with an action (clock in/out) and timestamp. There is no need for an employee to physically interact with the system; they can simply clock in and out from their mobile phone as long as they are within Bluetooth range.


Administrators can interact with the system through the display and buttons. In order to authenticate themselves as administrators, they must connect to the system with their mobile phone. If the system recognizes their device as an administrator, then access will be granted. The display will show a list of employees. Administrators can use the buttons to select a particular employee to see their work history (clock in/out times) and any other information stored in the system. Administrators can also export employee hours for the pay period, and if hourly rates are provided, the system will calculate the payroll.