Each year, over 1.7 million patients in the U.S. acquire Hospital Acquired Infections (HAIs), resulting in over 98,000 deaths. The World Health Organization (WHO) has established hand hygiene guidelines to help medical professionals reduce the spread of HAIs.
I worked in the R&D department as an engineer and led a team of three to develop a comprehensive solution for monitoring and improving hand sanitization. Through extensive in-house research and design, we created a unique, cost-effective solution, saving the company over $600,000.
This portfolio showcases highlights from our development process, carefully curated to respect the proprietary nature of the project while demonstrating the depth and impact of our work.
We identified the following key requirements for our design:
Through a survey conducted at several medical facilities, we discovered that existing solutions, such as infrared and proprietary technologies, often interfered with medical equipment, and staff disliked bulky, high-maintenance devices. Based on this feedback, we outlined the following desired features:
After researching the available options, we decided to build the infrastructure using Bluetooth Low Energy (BLE). Our solution included wearable badges/tags for medical staff, event monitoring sensors for doors and sanitization stations, and gateways to upload data to the cloud.
Before developing the full infrastructure, potential clients wanted to see a preview of the final product. To showcase our concept, I developed an interactive virtual simulation using the Unity game engine.
The demo featured a nurse wearing a Sygiene tag. As the nurse moved around the hospital, Sygiene sensors tracked her location and alerted her when hand sanitization was required. If the nurse sanitized her hands within the required time and without touching patients, a compliance was recorded. If she failed to do so, a non-compliance was logged.
I programmed the simulation using C#, incorporating assets from the Unity Asset Store, free online resources, and custom assets created in Autodesk Maya.
To protect intellectual property and reduce costs, we designed the hardware in-house. We began by using development kits from silicon manufacturers, connecting them with jumper cables, and modifying firmware samples to test the viability of the concept. For prototyping, we relied on off-the-shelf components and pre-built modules to minimize PCB design time. Prototypes were fabricated by a local manufacturer to accelerate development and provide insights into the fabrication process.
For the initial prototype, we designed a PCB with BLE modules using Nordic Semiconductor’s nRF51822 BLE IC. I created the schematics and worked on the firmware, while the team focused on the PCB layout. In the final version, we moved to using the nRF51822 directly, eliminating the module to reduce costs and gain more control over signal quality.
The nRF51822 features an ARM Cortex-M0 processor and uses SWD for debugging. The accelerometer connects via the SPI interface.
I designed the BLE wearable tags, which serve as beacons transmitting information twice per second. Each tag is uniquely identifiable, enabling precise tracking of medical personnel. The tags are equipped with an RGB LED and a buzzer to alert the wearer when hand sanitization is required.
The PCB of the tags measures approximately 20mm x 24mm x 7mm, and with the battery and plastic enclosure, the total size is around 6mm x 4mm x 10mm. The tags are powered by a CR2032 battery, which provides over three months of usage.
I designed the BLE door sensors, which are responsible for scanning the BLE signals emitted by the wearable tags. These sensors track the location of the tags and, when hand sanitization is needed, they connect to the tags and send the relevant alert.
The door sensors can be configured to send different types of alerts depending on their installation location. In addition to BLE tracking, each door sensor is equipped with two passive infrared (PIR) motion sensors and reed switches. These components monitor the number of people passing through and the times when the doors are used, enabling precise tracking of activity and further ensuring compliance with hand hygiene protocols.
I designed the BLE dispenser sensors, which are placed on alcohol or soap dispensers. These sensors are equipped with an accelerometer to detect when the dispenser has been activated and the soap/alcohol has been dispensed. Once triggered, the dispenser sensor sends this event to the wearable tag that is directly in front of and in proximity to the dispenser.
The design of the dispenser sensor shares many similarities with the wearable tags. For the final version, we repurposed the wearable tags by creating separate firmware and plastic enclosures to serve as dispenser sensors. This approach streamlined the development process and reduced costs while maintaining functionality.
To expedite the time to market, we leveraged Android phones and iPhones as gateways during the pilot program, instead of designing custom hardware. I developed apps for both platforms that scanned for BLE tags, read data from them, and uploaded the information to the cloud.
For the Android app, I used Java, HTML, CSS, and JavaScript. The iOS app was programmed in Objective-C to ensure seamless functionality across both platforms. This approach allowed us to quickly implement and test the system without the need for additional hardware development.
I developed the firmware for the tags and sensors using Keil MDK for all development tasks. The code was written in C and assembly, utilizing the BLE stack provided by Nordic Semiconductor.
I initialized the BLE stack and configured various peripherals like power, GPIO, SPI, and DMA, ensuring that the sensors were in low power mode when idle. The tags wake up every 500ms to transmit their data, while the door sensors activate upon motion detection by PIR sensors, and the dispenser sensors trigger when the accelerometer detects movement.
The door sensors feature three BLE modules: two modules listen for tag broadcasts, while the third module performs calculations to track the locations of the tags. If there’s a change in tag location, it connects to the tag and updates its state.
The tags have a single BLE module that broadcasts its information and listens for updates from the other sensors. They also keep a record of activity from the door and dispenser sensors, acting as a “mule” to relay sensor data to the gateway.
I wrote drivers for the accelerometer to configure and read data, and also for the buzzer and LED to provide varying alerts based on events, locations, and compliance.
A rough outline of how the BLE sensors interact with BLE tags.
To conserve power, the sensors remain in low power mode when there is no activity. Upon motion detection, the sensors wake up and scan for tags. The tags then receive information from nearby sensors, calculate the relevant threshold crossings, and connect to the necessary sensors to transmit updates. The tags then alert the user based on the new data.