Skip to content
IEMI Labs

RubDock

Hand-rub dispenser dock that counts rubs per room entry, no badges

Concept · not for sale
Engineering design: RubDock
Target price from$99per room ($179 Dock + DoorTally kit; Dock alone $99)

Software: $4 per room per month

Concept, not for sale yet. Tell us if you want it; that decides what we build.

Rate this idea and tell us what to change
RubDock concept: the idea and where each part goes

Drag to rotate · right-drag to move · scroll to zoom · click a part for its size and placeSwipe to rotate · pinch to zoom · two fingers to move · tap a part for its size

How it fits together

RubDock, part by part

Scroll or tap a part. Press “See the 3D CAD design” to watch the model, built from our CAD, light each part up and show how it connects.

RubDock concept: the idea and where each part goes

Real-time 3D render · drag to rotate · final design may varySwipe sideways to rotate

  1. 01

    The whole RubDock

    A scale under a door sanitiser dispenser counts rubs by weight; a door sensor counts entries; a ward gateway matches the two.

  2. 02Brain

    XIAO ESP32-C3 (Dock)

    The brain: it runs the rubdock-dock-fw program

  3. 03

    TAL220B load cell

    Feels each dose leave the dispenser, to a quarter of a gram

    XIAO ESP32-C3 (Dock) · 4 wires to HX711 · Tiny strain signal

  4. 04

    HX711 amplifier

    Turns the cell signal into a 24-bit weight reading

    XIAO ESP32-C3 (Dock) · GPIO clock and data · Weight readings

  5. 05

    Amber LOW LED

    Blinks briefly when the bottle is under 15% full

    XIAO ESP32-C3 (Dock) · GPIO pin · On/off blink

  6. 06

    Two 18650 cells

    Run the Dock about 184 days per charge (estimate)

    XIAO ESP32-C3 (Dock) · Battery charger input · Power

  7. 07

    DoorTally door counter

    Counts people in and out at the door with a distance sensor

    XIAO ESP32-C3 · ESP-NOW radio · IN and OUT timestamps

  8. 08

    All connected

    6 key parts, one program, and your phone

What it is

A weighing back-plate for any wall hand-rub dispenser, plus a door counter on the room's jamb.

What it does

  • Counts rubs from dispenser weight
  • Counts room entries at the door
  • Reports rubs per entry by shift
  • Warns before dispensers run empty

Who it's for

Hospital infection prevention teams and care homes that audit hand hygiene.

The idea

A dock behind the ward's own hand-rub dispenser weighs every rub, and a jamb counter turns it into rubs per room entry

The problem today

Hospitals count hand hygiene by watching staff, and hidden observers see about half the rate the auditors report. Badge systems cost hundreds per bed a year and need the maker's own dispensers, and an empty dispenser at the door goes unnoticed until someone needs it.

With RubDock

The RubDock under the dispenser the ward already owns feels each rub leave it as a gram on the scale, and knows when it will run empty. A DoorTally on the jamb counts people in and out, and the ward gateway reports rubs per room entry by unit and shift, plus a refill list. No cameras, badges or names.

Ward corridorRoom 1Room 2Room 3Room 4Nurse stationInfection prevention office12345
  1. 1RubDock behind room 1's dispenserThe brain at the door: weighs each rub leaving the ward's own dispenser and blinks amber when the bottle is under 15% full
  2. 2DoorTally on room 1's door jambCounts people in and out with a distance sensor at chest height, so each entry can be matched to a rub within 15 seconds
  3. 3RubDock and DoorTally at room 2The same kit at every room door, so the ward gets a rub rate per room with no badges, cameras or names
  4. 4Ward gateway at the nurse stationCollects every door over its own short-range radio, matches rubs to entries and keeps the refill list for the shift
  5. 5Infection prevention teamSees rubs per room entry by unit and shift, the trend for monthly reports and which dispensers to refill before they run out
A hospital ward corridor with four patient rooms, a hand-rub dispenser at each door, the nurse station and the infection prevention office, drawn to show where each part goes (not to scale).

How the parts connect

RubDock, wired up

Every part, what links it to the brain, and how the data reaches your phone. A solid line is a cable; a dashed line is a radio link.

TAL220B load cellTiny strain signal4 wires to HX711HX711 amplifierWeight readingsGPIO clock and dataAmber LOW LEDOn/off blinkGPIO pinTwo 18650 cellsPowerBattery charger inputDoorTally door counterIN and OUT timestampsESP-NOW radioown board: XIAO ESP32-C3THE BRAINXIAO ESP32-C3 (Dock)runs rubdock-dock-fwC++ (Arduino or ESP-IDF style)Ward gatewayvia ESP-NOW long rangeCloud reportvia MQTT over TLS
Drawn from the RubDock parts list. The 3D view above is built separately, from the CAD.

The program

What controls RubDock

Runs on
XIAO ESP32-C3
Written in
C++ (Arduino or ESP-IDF style)
System
ESP32-C3 firmware, deep sleep between wakes
AI model
None; weight-step counting only
  1. 1Wake from deep sleep every 10 seconds
  2. 2Take 5 HX711 samples and compare with the last weight
  3. 3A drop of 0.25 g that holds is a dose
  4. 4Add the dose to the 10-second bin; ignore pushes and hands
  5. 5Send bins by ESP-NOW every 30 minutes, or at once if LOW
rubdock-dock-fw.cppmain loop
void loop() {                                // runs after each 10 s deep-sleep wake
    w = hx711_avg(5);
    if (w - last_weight > 500) refill_reset(w);          // bottle swapped
    else if (spread() > 0.5f || w > last_weight) discard(); // hand or push
    else if (last_weight - w >= 0.25f && held_next_wake(w))
        bin_add(now_bin(), last_weight - w);          // mass of one dose
    last_weight = w;
    digitalWrite(LED_LOW, percent_left() < 15 && millis_blink());
    if (report_due() || percent_left() < 15)
        esp_now_send(GATEWAY_MAC, pack_bins(), sizeof(bins));
    esp_deep_sleep(10 * 1000000);
}

To your phone

How the data reaches RubDock unit report

Browser on any device

  1. Dock and DoorTally
  2. Ward gateway
  3. Cloud report

What you see in the app

One screen for each job RubDock does.

  • Rubs at entryNight shift on Ward 4. The door counter counts each entry, the dispenser scale feels each rub, and the manager sees the trend by shift, never by person.

  • Refill soonThe dispenser at room 406 is running low. Housekeeping gets it on the list before it runs empty in the middle of a shift.

  • Refill roundEach morning housekeeping gets one refill list for the ward, with the empty and low dispensers marked by room.

App screens with sample data. The interface is in development.

What the app gets

Data RubDock sends to the app
Rubs per bin1.02 dosesEvery 10 s bin
Rubs at entryWithin 15 s of INEach entry
Liquid left412 gEvery 30 min
Refill alertLOW, under 15%At once
Battery3.91 VEvery 30 min

Counts only: no images and no staff IDs. A room shows alone only with 20 or more entries.

CAD design · Rev A design complete (stages 1-6), all hardware fit-checked in CAD, not built; Leapfrog accepts 'activity monitoring' systems but the hospital must validate them, and acceptance of unit-level feedback is unconfirmed

Designed in code, checked in 3D

  • 4 printed parts, each a single closed solid
  • Every bought part fitted inside and checked for collisions
  • Assembled exactly as shown in the 3D CAD view (the button on the picture at the top)
See the CAD parts renderRubDock printable parts rendered from the CAD

Key specs

RubDock hardware
AI processorSeeed XIAO ESP32-C3 (one in the Dock, one in the DoorTally)
SensorsSparkFun TAL220B 5 kg load cell with HX711 (Dock) · Pololu VL53L1X time-of-flight sensor, two zones (DoorTally) · Panasonic EKMB low-power PIR wake (DoorTally)
ConnectivityESP-NOW long-range to a ward gateway · Gateway to cloud over MQTT/TLS (counts only) · No hospital Wi-Fi needed on the devices
PowerDock: 2 × 18650, about 184 days per charge (est.); DoorTally: 1 × 18650, about 157 days at 300 passages a day (est.); USB-C charging in place
EnclosureSmooth white PETG Dock behind the dispenser with an amber LOW LED; slim white PETG DoorTally on the jamb with IN/OUT marks
DimensionsDock 26 mm deep (dispenser moves about 34 mm off the wall); DoorTally 48 × 130 × 27 mm
All target specifications

Counting

Counting target specifications
Rub detectionHalf push about 10× averaged noise (est.)
DispensersAny brand up to about 3 kg full
Rub at entryWithin ±15 s of an IN
Door coverageWhole doorway from the jamb at 1.25 m (CAD est.)

Reports

Reports target specifications
Unit reportRubs per entry by shift, weekly
Leapfrog exportOpportunities, rubs, validation date
Refill listSorted by predicted empty time
Privacy floorRooms shown alone only with 20+ entries

Power and physical

Power and physical target specifications
Dock batteryAbout 184 days (est.)
DoorTally batteryAbout 157 days (est.)
MountingOld dispenser anchors; VHB on the jamb
OverloadPrinted stops close at about 7.5 kg (est.)

Targets for production units; they may change during development.

Pricing

Hardware: $99–$179 per room ($179 Dock + DoorTally kit; Dock alone $99)

Software: $4 per room per month

Target pricing. The $99 Dock alone gives refill alerts only. Parts cost is about $95 per room at qty 1 and about $45 at qty 1,000 (est.).

Indicative launch pricing in USD, excluding taxes and shipping. Final pricing is confirmed before any balance is charged.

Community

What do you think of RubDock?

RubDock is in development. Rate the idea, tell us what to change about the features, specs or price, and we'll build it with your feedback.

How much people want it

–

No ratings yet

  1. 50
  2. 40
  3. 30
  4. 20
  5. 10

Follow RubDock

Get build updates and first access when pre-orders open.

Leave feedback

Your rating of the idea

Feedback on a product concept in development, not a review of a shipped product. Posts may be moderated; links and contact details are held for review. See our community guidelines and privacy policy.

Comments

    No comments yet. Tell us what you'd want from RubDock.

    Questions

    Ask about RubDock

    Tell us what this would save you, or ask anything. We reply within two business days.

    We use your details only to respond to this request. See our privacy policy.

    From the product lab · ideation phase

    Lab updates for RubDock

    All lab updates
    1. LatestHospitals measure hand hygiene by watching staff, and covert observers measured 50% where auditors reported 84%; electronic systems cost about $450-650 per bed a year and need the maker's own dispensers, while the Leapfrog standard asks for 200 observed moments per unit a month (RubDock DESIGN.md market check).
      • Drawn idea plan (idea.json): a hospital ward corridor from above with four patient rooms, a hand-rub dispenser at each door, the nurse station and the infection prevention office; pins for the RubDock and DoorTally at room 1, the same kit at room 2, the ward gateway and the team's report
      • The product picture is now this drawn plan instead of the plain fallback card; drawn from the design notes, not the CAD
      • What the plan keeps from the market work: it works with any brand of dispenser, the counter sits on the jamb (an overhead sensor sees only 17-36% of the door), and it counts and reports only, with no claim about infections
      • Next: close-out C5 (buyer review prep for sports) from 12:00; then C6 to C8 for home, kids learning and industries

      See it in 3DFull research and design

    2. Owner decision (27 Oct 2026): merge our single-job products into multi-job devices.
      • New product page: https://iemilabs.com/products/bedside/

      See it in 3DFull research and design

    3. Human observers are biased (covert 50% vs auditor 84%) and Leapfrog wants 200 opportunities per unit per month → every entry and every rub is counted on every shift, and the export gives the opportunity count
      • New design: 4 printed parts in code CAD, bought parts fit-checked
      • Market research, hardware list and use case written up
      • Design page and kit render published
      • Product page added

      See it in 3DFull research and design

    RubDock FAQ

    General FAQ
    Is RubDock available?

    No. RubDock is a concept in the in-house design and testing stage. It has not been built or tested on a ward, and it has no ship date yet.

    Does it measure hand hygiene compliance?

    Not exactly. It reports rubs per room entry, which is a proxy. In/out counting misses the moments inside the room and counts visitors as entries. It does not prove hands were cleaned and makes no claim to reduce infections. Hospitals must validate it before using it for Leapfrog.

    Does it track individual staff?

    No. Nothing is worn, there are no cameras and no IDs. Reports are by unit and shift, and a room is only shown on its own once it has at least 20 entries.

    Will it work with our dispensers?

    It is designed for wall dispensers of any brand, manual or touch-free, up to about 3 kg full. Hole patterns vary, so they still need measuring and testing.

    Related products

    ColdChain Guard AI concept: the idea and where each part goes
    SensingConcept

    ColdChain Guard AI

    A lunchbox-sized monitor that mounts inside trucks, cold rooms and fridges.

    • Watches temperature around the clock
    • Warns before goods get too warm
    • Detects door openings and tampering

    From $199 per kit

    Details
    WaterLeak AI concept: the idea and where each part goes
    SensingConcept

    WaterLeak AI

    A matchbox-sized battery monitor that sticks near pipes, tanks and AC units.

    • Spots water and damp early
    • Sends instant alerts to your phone
    • Shows a photo of the problem

    From $199 per unit / building kit

    Details
    CareOne concept: the idea and where each part goes
    SensingConcept

    CareOne

    IEMI's one product for care homes and hospital wards: the bedside locker, made smart, with one brain and one app.

    • Calls a bed exit before the resident stands, and someone on the floor
    • Takes calls with a reason and a voice note
    • Fills the turn, fluid, hand-rub and night check logs

    From $590 per smart bedside locker

    Details

    RubDock

    Concept · target $99

    I want this