Sanitizer Station 2.0

During the COVID-19 pandemic, workplaces required employees to sanitize their hands, record body temperature, and log attendance manually. This created a high risk of virus transmission due to shared pens, registers, and physical contact. Additionally, manual logging made tracking health data inefficient and difficult to manage.

To address this problem, I designed and built Sanitizer Station 2.0, a fully automated, contactless health-safety system that integrates:

  • RFID-based employee identification

  • Non-contact infrared temperature measurement

  • Automatic sanitizer dispensing

  • Surgical mask dispensing

  • Real-time data logging to a local WiFi server

This system eliminates shared-contact surfaces while digitally tracking employee health metrics

System Architecture & Core Design

The system is built around an ESP32 microcontroller, selected for its:

  • Built-in WiFi capability

  • Higher clock speed (80–160 MHz)

  • Multiple communication interfaces (SPI, I2C, UART)

  • 4MB Flash memory

Compared to Arduino Uno and Mega, the ESP32 provided better networking capability and performance for real-time data handling

Communication Protocols Used:
  • SPI → RFID Scanner

  • I2C → MLX90614 IR Temperature Sensor

  • I2C → 20x4 LCD Display

  • I2C → Keypad

The block diagram on page 5 of the document illustrates the full hardware interconnection between ESP32, RFID module, thermal sensor, relay modules, motors, and power regulation circuitry

Hardware Components & Engineering Decisions

Designing Sanitizer Station 2.0 required careful component selection to ensure reliability, accuracy, and fully contactless operation. Each hardware component was chosen based on performance requirements, communication compatibility, and real-world constraints.

ESP32 Microcontroller – System Controller

The system is built around the ESP32 microcontroller, selected primarily for its built-in WiFi capability and higher computational performance. Compared to Arduino Uno and Mega boards, the ESP32 offers:

  • Integrated WiFi for direct server communication

  • Higher clock speed (80–160 MHz)

  • 4MB Flash memory

  • Multiple communication interfaces (SPI, I2C, UART)

Since the system required real-time sensor processing, RFID decoding, LCD control, relay switching, and wireless data transmission simultaneously, the ESP32 provided the necessary processing power and networking capability without external modules.

This decision reduced system complexity while improving scalability and reliability.

MLX90614 Infrared Temperature Sensor – Non-Contact Measurement

To eliminate physical contact, I selected the MLX90614 IR thermal sensor. Engineering considerations included:

  • Non-contact infrared sensing

  • High resolution with 17-bit ADC

  • Low noise amplification

  • Digital output over I2C

Alternative temperature sensors such as NTC thermistors and digital contact probes were evaluated, but they required physical contact and posed contamination risks. The MLX90614 allowed accurate forehead temperature detection while maintaining full automation. The sensor was mounted near the sanitizing area to ensure consistent measurement distance and reliable readings.

RFID Identification System – Secure Employee Logging

The identification system uses an RFID scanner module connected via SPI communication. Key reasons for selecting RFID:

  • Fast and contactless identification

  • Unique alphanumeric ID storage

  • Reduced user interaction time

  • Improved hygiene compared to fingerprint or keypad-only systems

The RFID module reads the tag’s unique code, which is then converted into a 4-digit employee ID for logging and transmission. A keypad was also integrated via I2C as a fallback manual entry method, increasing system robustness.

Automatic Sanitizer Dispensing Mechanism

To automate sanitizer delivery, I integrated:

  • Ultrasonic (sonar) sensor for hand detection

  • DC pump motor for liquid dispensing

  • Relay module for motor switching

The ultrasonic sensor detects hand placement in the sanitizing area. Once triggered, the ESP32 activates the relay, which powers the DC pump motor. Using a relay provided electrical isolation between the microcontroller and higher-current motor circuit, protecting the ESP32 from voltage spikes.

Surgical Mask Dispensing Mechanism –

Mechanical Integration

The mask dispenser required a reliable mechanical solution to ensure single-mask dispensing without jamming. The system consists of:

  • Mini timing belt

  • Pulley mechanism

  • Metal gear motor

  • Relay-based motor control

The metal gear motor was selected for higher torque and durability compared to standard DC motors. The timing belt ensured controlled linear motion and minimized slippage. Careful mechanical alignment was required to:

  • Prevent multiple masks from being dispensed

  • Avoid mechanical jams

  • Maintain smooth torque transfer

This portion of the project required mechanical design optimization alongside electrical control.

Power Management & Voltage Regulation

The system operates using a:

  • 12V, 5A power adapter

  • Step-down DC-DC converter (5V, 2A output)

Different components required different voltage levels:

  • ESP32 and sensors → 3.3V / 5V

  • Motors → 12V

The DC-DC converter ensured stable voltage regulation and prevented overheating or voltage drops during motor activation. Proper grounding and power isolation were implemented to reduce noise interference in temperature readings and WiFi transmission.

System Integration Considerations

The final hardware design required integration of:

  • SPI communication (RFID)

  • I2C bus (thermal sensor, keypad, LCD)

  • Relay-controlled high-current loads

  • WiFi transmission

Calibration & Accuracy Engineering

To ensure medical-grade reliability, I calibrated the MLX90614 sensor against a medical-grade thermometer.

Calibration Method:

  • 10 readings per temperature level

  • 12 different temperature levels

  • Averaged readings

  • Generated a calibration curve

The calibration graph shows the linear relationship between medical-grade temperature and MLX readings.

From this curve, I derived the correction equation:

y = (MLXreading + 0.2406) 1.0084

y = 1.0084 (MLXreading + 0.2406)​

This equation was integrated directly into the Arduino/ESP32 firmware to improve measurement accuracy. This step significantly improved real-world reliability and demonstrated applied engineering validation.

Data Logging & Server Architecture

At the end of each session, the following data is transmitted via WiFi to a local server:

  • Date & Time

  • Employee ID

  • Temperature

  • Sanitization status

  • Mask dispensed status

The web interface (shown in the document) allows multiple devices to log in and monitor employee health records. This transforms the system from a simple dispenser into a digital health monitoring platform.