Lubeca Tech · WorkDone · Propuesta de evolución · 04/11/2026
Smiley pasa de preguntar cómo está el baño a medirlo
Hoy Smiley sabe lo que votan las personas y cuándo pasó el personal de limpieza. Con sensores químicos en cada kiosco también mide el aire: olor, humedad y ventilación. Así puede avisar a limpieza sin esperar a que alguien vote en negativo.
ZMOD4410 en modo azufre: detecta el olor de baño y su intensidad, con el algoritmo corriendo en la placa.
Limpio, Regular o Sucio. El logo avisa al personal cuando el baño viene empeorando.
NFC más firma química de la limpieza ⚠️, y un tablero de SLA y ventilación.
El mismo equipo con dos modos, que se eligen desde el backend.
Un router HaLow por edificio y un extensor por bloque de baños.
Calibrar los umbrales con votos y NFC como verdad. Medir temperatura y alcance dentro del gabinete.
La evolución
Cada señal del aire se convierte en una acción
Los votos cuentan lo que sienten las personas y el NFC registra quién pasó. Los sensores suman lo que faltaba: qué está pasando en el aire, minuto a minuto.
| Pregunta | Solo con votos y NFC | Con sensado |
|---|---|---|
| ¿Hay mal olor? | Solo si alguien vota en negativo | Detección sulfurosa e intensidad, de forma continua |
| ¿Viene empeorando? | Se ve recién con varios votos negativos | Tendencia: últimos 15 min contra la hora anterior |
| ¿Hay humedad o piso mojado? | No se sabe | Humedad sostenida sobre 75 % |
| ¿Se limpió de verdad? | El NFC dice que alguien pasó | NFC más firma química de la limpieza ⚠️ |
| ¿Está bien ventilado? | No se sabe | CO2 real con el SCD41 |
Datos
Qué mide la Nicla y cómo arma el índice
| Sensor | Medición | Uso en el índice |
|---|---|---|
| ZMOD4410 · modo azufre | Detección sulfurosa (sí/no) + intensidad de olor | Núcleo: olor real de baño |
| HS4001 | Humedad relativa (%) y temperatura (°C) | Piso mojado, baño húmedo |
| ZMOD4410 · modo IAQ | IAQ, TVOC, etanol, CO2 estimado | Opcional: etanol filtra alcohol en gel |
| ZMOD4510 | NO2, O3 | Apagado (no aporta en un baño) |
| App Smiley | Votos y check-in NFC | Uso, tiempo desde limpieza, verdad de limpieza |
| Nivel | Regla (punto de partida, a calibrar en el piloto) |
|---|---|
| Sucio | Olor sulfuroso sostenido > 5 min, o humedad > 75 % sostenida > 10 min, o 3+ votos negativos seguidos |
| Regular | Olor sulfuroso puntual, o muchos usos (votos) desde el último NFC, o > 2 h sin limpieza |
| Limpio | Check-in NFC reciente y sin eventos |
Hardware
Los componentes de la solución
Montaje
Qué va dentro del gabinete
El Smiley con tablet usa un gabinete de plástico PETG. El Smiley con Raspberry Pi usa inox.
- Nicla abajo a la izquierda, con el ZMOD4410 frente a las microperforaciones y una membrana ePTFE detrás. Lejos del tacho y de la línea de spray.
- Separador térmico entre los sensores y el calor de la tablet o la fuente. El PETG disipa menos calor que el inox, así que hay que medir la temperatura junto al sensor ⚠️.
- XIAO ESP32S3 al lado de la Nicla, con 4 hilos: 3,3 V, GND, SDA, SCL. Se alimenta del mismo 5 V que la tablet.
- Antena del XIAO: la versión ESP32S3 usa antena por conector u.FL. El PETG deja pasar la radio, así que puede ir dentro del gabinete, lejos de piezas metálicas. Falta medir el alcance al extensor en sitio ⚠️.
- Smiley con Pi, en inox: el metal atenúa la radio. El BLE a centímetros funciona, pero para llegar al extensor hace falta Ethernet en la Pi o antena externa en el XIAO ⚠️.
- El HaLowLink extensor va fuera del Smiley, en el cielorraso o en la pared alta del pasillo, con su antena SMA libre.
Conectividad
Wi-Fi HaLow: el Wi-Fi de siempre, pero con más alcance
Usa una frecuencia más baja (900 MHz). Por eso llega más lejos y atraviesa más paredes, a cambio de menos velocidad.
Probalo: mové el equipo y sumá paredes.
Modelo simplificado, de orden de magnitud, para entender la idea. No reemplaza una prueba en sitio: el alcance real depende de las paredes, la antena y la potencia. La barra está en escala logarítmica, y "Sirve para la tablet" pide al menos 1 Mbps.
| Tecnología | En la fiesta | Alcance | Velocidad | Qué hace en Smiley |
|---|---|---|---|---|
| Wi-Fi 5 GHz | Los agudos | Una o dos habitaciones | Cientos de Mbps | No se usa: no sale del ambiente |
| Wi-Fi 2,4 GHz | La voz | 30–50 m | Decenas de Mbps | Del extensor a la tablet |
| Wi-Fi HaLow (900 MHz) | El bajo | Cientos de metros, ~1 km en campo abierto | 150 kbps a 43 Mbps | Del router a cada bloque de baños |
| LoRa | Código Morse | Kilómetros | Cientos de bps a pocos kbps | A futuro, solo para sensores a pila |
Por qué encaja con Smiley
- Es Wi-Fi de verdad: usa IP y WPA3, así que la tablet navega, se actualiza y usa la app como siempre. Con LoRa eso no se puede.
- Alcance de edificio: un router cubre baños en distintos pasillos o pisos, donde el Wi-Fi común necesitaría muchos repetidores.
- Velocidad suficiente: 500 MB por mes equivalen a ~1,5 kbps de promedio. Las actualizaciones piden picos más altos, y HaLow los cubre si la señal es buena.
- Muchos equipos: un punto de acceso atiende a cientos o miles, porque está pensado para IoT.
Conectividad
Un internet por edificio, no un abono por tablet
El router HaLow se conecta a internet una sola vez (LAN del cliente o un 4G compartido). La señal de 900 MHz atraviesa paredes y llega a cientos de metros. En cada bloque de baños, un HaLowLink en modo extensor arma un Wi-Fi común de 2,4 GHz para las tablets.
Deslizá horizontalmente si no entra.
Software
Cómo viajan los datos
Deslizá horizontalmente si no entra.
- XIAO → tablet por BLE: estado en vivo para la pantalla (semáforo, olor, humedad). Sin depender de la red.
- XIAO → backend por Wi-Fi/HaLow: resumen por minuto y eventos. Si se cae la red, el XIAO guarda en su flash y reenvía.
- Tablet → backend: votos, NFC y todo el tráfico de la app, por el mismo Wi-Fi. Las actualizaciones de Android y de la app también pasan por acá, sin consumir datos móviles por tablet.
Opciones
Dos variantes según el sitio
| Variante | Cuándo | Hardware por Smiley | Extra por edificio |
|---|---|---|---|
| A · Extensor HaLow (recomendada) | Tablet Smiley, sin Wi-Fi del cliente | Nicla + XIAO ESP32S3 + ½ HaLowLink 2 (compartido) | HaLowLink 2 router + internet |
| B · XIAO con HaLow directo | Solo sensores (sin tablet), o estación remota | Nicla + XIAO ESP32S3 + módulo Wi-Fi HaLow XIAO + antena | HaLowLink 2 router |
Conexionado · opción 1
Tablet Smiley vía BLE
La Nicla (y el SCD41 opcional) cuelgan del bus I2C del XIAO ESP32S3. El XIAO le manda los datos a la tablet por BLE. Una fuente de 5 V con dos salidas USB alimenta la tablet y el XIAO.
| Señal | Nicla Sense Env | Grove SCD41 (opc.) | XIAO ESP32S3 |
|---|---|---|---|
| Alimentación | 3V3 | VCC (rojo) | 3V3 |
| Masa | GND | GND (negro) | GND |
| Datos I2C | SDA | SDA (blanco) | D4 · GPIO5 |
| Reloj I2C | SCL | SCL (amarillo) | D5 · GPIO6 |
| Ítem | USD aprox. |
|---|---|
| Nicla Sense Env | 45 |
| XIAO ESP32S3 | 7,5 ⚠️ |
| Antena u.FL 2,4 GHz | 3 ⚠️ |
| Fuente 5 V doble USB + cable USB-C | 10 ⚠️ |
| Pines, cables, membrana ePTFE | 5 ⚠️ |
| Total base | ≈ 70 |
| + Grove SCD41 (CO2, opcional) | + 40 ⚠️ |
Conexionado · opción 2
Raspberry Pi 4B vía BLE
Es el mismo módulo de sensores que la opción 1, pero el que escucha por BLE es la Pi. El XIAO se alimenta desde un puerto USB de la Pi. Conviene cuando los sensores tienen que quedar lejos de la Pi (más de 30–50 cm).
| Ítem | USD aprox. |
|---|---|
| Nicla Sense Env | 45 |
| XIAO ESP32S3 | 7,5 ⚠️ |
| Antena u.FL 2,4 GHz | 3 ⚠️ |
| Cable USB-A a USB-C (Pi → XIAO) | 2 ⚠️ |
| Pines, cables, membrana ePTFE | 5 ⚠️ |
| Total base | ≈ 62 |
| + Grove SCD41 (CO2, opcional) | + 40 ⚠️ |
bleak le pasa los datos. Con el XIAO por USB, también se puede leer por puerto serie y no usar BLE.Conexionado · opción 3
Raspberry Pi 4B vía I2C directo
Sin XIAO ni radio: la Nicla y el SCD41 van directo a los pines I2C de la Pi. Es la más barata y la más simple para los Smiley con Pi. El cable tiene que ser corto, hasta 30 cm.
| Señal | Nicla Sense Env | Grove SCD41 (opc.) | Raspberry Pi 4B |
|---|---|---|---|
| Alimentación | 3V3 | VCC (rojo) | Pin 1 · 3V3 |
| Masa | GND | GND (negro) | Pin 6 · GND |
| Datos I2C | SDA | SDA (blanco) | Pin 3 · GPIO2 SDA1 |
| Reloj I2C | SCL | SCL (amarillo) | Pin 5 · GPIO3 SCL1 |
| Ítem | USD aprox. |
|---|---|
| Nicla Sense Env | 45 |
| Cable Grove o dupont hembra, 20–30 cm | 2 ⚠️ |
| Pines, membrana ePTFE | 5 ⚠️ |
| Total base | ≈ 52 |
| + Grove SCD41 (CO2, opcional) | + 40 ⚠️ |
/dev/i2c-1) sirve de base: hay que sumar el mapa de registros de la Nicla.Resumen
¿Qué conexión usar en cada caso?
Costo por Smiley en USD aproximados, sin impuestos. No incluye la parte HaLow (router y extensores).
| Opción | Para | Ventaja | Contra |
|---|---|---|---|
| 1 · Tablet vía BLE | Smiley con Tab A11 | No ocupa el USB de la tablet, que sigue cargando | Firmware extra en el XIAO |
| 2 · Pi vía BLE | Pi con sensores lejos | Mismo módulo que la tablet: una sola pieza para la flota | Más piezas que la opción 3 |
| 3 · Pi vía I2C | Smiley con Pi | La más barata, sin radio ni firmware | Cable corto, sensores cerca de la Pi |
Costos
Tabla de costos (variante A)
| Ítem | Dónde | Precio unit. | Estado |
|---|---|---|---|
| Por edificio (una vez) | |||
| HaLowLink 2, router/AP, antena externa | Mouser / GL.iNet | USD 129 | ✅ |
| Acceso a internet (LAN del cliente o router 4G + SIM IoT) | local | USD 0–100 | ⚠️ |
| Por bloque de baños (cada 2 Smiley) | |||
| HaLowLink 2, modo extensor | Mouser / GL.iNet | USD 129 | ✅ |
| Por Smiley | |||
| Arduino Nicla Sense Env (ABX00089) | Mouser AR | ARS 67.860 | ✅ |
| Seeed XIAO ESP32S3 | Mouser / HobbyTronica | ~USD 7,5 | ⚠️ |
| Antena 2,4 GHz u.FL para el XIAO | ML | ~USD 3 | ⚠️ |
| Cables, tira de pines, membrana ePTFE | ML | ~USD 5 | ⚠️ |
| Opcionales | |||
| Seeed Grove SCD41 · CO2 real + T/RH (opcional) | Seeed / Farnell / Mouser | ~USD 40 | ⚠️ |
| Módulo Wi-Fi HaLow para XIAO (variante B) | Seeed / DigiKey | USD 14,90 | ✅ |
| Antena 900 MHz + adaptador (variante B) | Seeed | USD 4,39 | ✅ |
Precios sin impuestos de importación. Los marcados con ⚠️ son estimaciones a cotizar. Nicla: ARS 67.860 en Mouser Argentina (equivale a ~USD 39 de lista en Arduino).
Ejemplo: 1 edificio con 6 Smiley en 3 bloques de baños. USD aproximados, sin impuestos ni internet.
Retorno
¿En cuántos meses se paga contra los abonos 4G?
Cargá tus números. El cálculo compara un abono por tablet contra una sola línea por edificio más el hardware HaLow.
Router + extensores (1 cada 2 Smiley)
Abonos evitados − línea única
Meses para pagar el hardware HaLow
A validar
Riesgos y pendientes
| Riesgo | Impacto | Mitigación |
|---|---|---|
| HaLowLink opera de 0 a 40 °C, sin condensación | No va dentro del baño húmedo | Montar en cielorraso, pasillo o sala técnica |
| Gabinete de PETG (tablet): disipa menos calor y, nuevo, puede emitir VOC | Sensor más caliente y lecturas de gases alteradas | Medir la sobretemperatura (meta < 5 K) y la línea de base del ZMOD4410 con el gabinete armado |
| Inox bloquea radio (Smiley con Pi) | Wi-Fi de la Pi y del XIAO atenuados | Ethernet en la Pi, antena u.FL externa en el XIAO; probar en sitio |
| Banda HaLow: versión USA (902–928 MHz) | Debe caer en la banda libre local | Usar la variante configurada para USA; confirmar canal permitido |
| API de la Nicla documentada para Arduino/MicroPython | Hay que portar el mapa de registros I2C | Port a C++ (XIAO) o Java (Pi) en el banco de prueba |
| Algoritmo de olor sin validación en baño real | Falsos positivos o negativos | Piloto con votos y NFC como verdad |
Siguiente paso
Carrito para el piloto (1 edificio, 2 Smiley)
| Ítem | Cant. | Código / dónde |
|---|---|---|
| HaLowLink 2 (USA, antena externa) | 2 | Mouser, "HaLowLink2 Configured for USA" |
| Arduino Nicla Sense Env | 2 | Mouser 782-ABX00089 |
| Seeed XIAO ESP32S3 | 3 | Mouser o HobbyTronica (ML) |
| Módulo Wi-Fi HaLow para XIAO + antena (prueba variante B) | 1 | Seeed 109100041 / DigiKey |
| Antenas u.FL 2,4 GHz, cables, pines | varios | MercadoLibre |
Fuentes: Morse Micro HaLowLink 2 Product Brief · CNX Software (HaLowLink 2; módulos HaLow de Seeed) · Seeed Wiki, Wi-Fi HaLow module for XIAO · Mouser Argentina ABX00089.
Anexo · ideas
Indicador de tendencia en el logo de Smiley
El logo de chevrones de la pantalla avisa con una animación sutil cómo viene el baño. El público no lo lee como "baño sucio", pero el limpiador que pasa sabe que tiene que entrar a revisar.
| Estado | Animación del logo | Qué debe hacer el limpiador |
|---|---|---|
| Normal | Logo fijo, sin animación | Nada |
| Empeorando | El chevrón ámbar late lento (cada ~2 s) | Entrar a revisar cuando pase |
| Sucio | El chevrón rojo late rápido (cada ~0,6 s) | Ir ya. También llega push a su app |
| Limpieza confirmada | El chevrón verde brilla fijo 5 min después del NFC | Listo: el sensor vio la firma de limpieza |
Cómo se calcula la tendencia
- Un puntaje combinado: eventos sulfurosos, votos negativos, humedad alta (y CO2 si está el SCD41).
- Compara el promedio de los últimos 15 min contra la hora anterior.
- Histéresis: se enciende si sube en dos lecturas seguidas, y se apaga solo si baja de forma sostenida. Así un pico suelto no lo hace parpadear.
- El check-in NFC lo resetea.
- Los umbrales se calibran en el piloto con los votos y el NFC como verdad.
Anexo · ideas
Smiley en un pasillo de hospital
Afuera del baño, el olor llega diluido: se ven picos cuando se abre la puerta, no el estado de adentro. En cambio, en un hospital ganan valor otras mediciones.
| Medición | Sensor | Para qué sirve |
|---|---|---|
| CO2 | SCD41 (opcional) | Ventilación: el CO2 alto indica aire viciado y mayor riesgo de contagio por aire |
| Etanol y TVOC | Nicla, modo IAQ | Desinfectantes con alcohol: confirma que se desinfectó y detecta exceso de producto |
| Ozono (O3) | Nicla (ZMOD4510) | Residuos de desinfección con ozono o UV antes de que entre gente ⚠️ |
| Humedad y temperatura | Nicla | Confort y riesgo de hongos |
| Picos sulfurosos | Nicla, modo azufre | Evento "se abrió la puerta y salió olor" |
| Partículas (PM2.5) | Sensor con ventilador (SEN66) | Opcional. En pasillo hay poca pelusa, así que es viable |
Anexo · ideas
Smiley modo Baño y modo Pasillo
Es el mismo equipo con dos configuraciones. El modo se elige desde el backend para cada Smiley, según dónde está instalado. No hace falta otro hardware: solo el SCD41, que en modo Pasillo se vuelve recomendado.
Smiley modo Baño
Deslizá horizontalmente si no entra.
Smiley modo Pasillo
Deslizá horizontalmente si no entra.
| Modo Baño | Modo Pasillo | |
|---|---|---|
| Ubicación | Dentro del baño, zona de toallas | Pasillo, afuera del baño (hospital, aeropuerto) |
| ZMOD4410 | Modo azufre: olor e intensidad | Modo IAQ: etanol, TVOC, IAQ |
| ZMOD4510 | Apagado | Opcional: ozono (desinfección con O3/UV) |
| SCD41 (CO2) | Opcional | Recomendado |
| Índice que muestra | Limpio · Regular · Sucio | Ventilación · Desinfección · Confort |
| Alerta principal | Olor sulfuroso sostenido, piso mojado | CO2 alto (aire viciado), exceso de desinfectante |
| Evidencia de limpieza | NFC + firma de VOC | NFC + pico de etanol (desinfectante con alcohol) |
| Indicador en el logo | Tendencia de suciedad | Tendencia de ventilación |
Anexo
Glosario: qué es cada cosa
Conectividad
| Término | Qué significa |
|---|---|
| HaLowLink 2 | Router de Morse Micro con HaLow y Wi-Fi de 2,4 GHz. Funciona como router del edificio o como extensor en cada bloque de baños. |
| AP (Access Point) | Punto de acceso: el equipo que emite la red a la que se conectan los demás. |
| Extensor | Equipo que toma la señal HaLow y la reparte como Wi-Fi común de 2,4 GHz para la tablet. |
| Wi-Fi 2,4 GHz | El Wi-Fi de siempre. Llega a 30–50 m y lo tiene cualquier tablet. |
| BLE (Bluetooth Low Energy) | Bluetooth de bajo consumo, para enviar datos chicos a pocos metros. Acá conecta el XIAO con la tablet. |
| LoRa / LoRaWAN | Radio de largo alcance y muy bajo consumo, pero de muy poca velocidad (cientos de bps a pocos kbps). LoRaWAN es la red estándar montada sobre LoRa. |
| 4G / SIM | Datos móviles de una operadora. Es lo que se busca evitar en cada tablet. |
| MHz / GHz | Frecuencia de la radio. Cuanto más baja, más alcance y mejor atraviesa paredes, pero menos velocidad. |
| kbps / Mbps | Velocidad de datos: miles o millones de bits por segundo. |
| u.FL / IPEX | Conector de antena miniatura sobre la placa. |
| SMA | Conector de antena roscado, para antenas externas. |
| NFC | Lectura por proximidad (tarjeta o tag). El limpiador la usa para el check-in en Smiley. |
Placas y conexiones
| Término | Qué significa |
|---|---|
| Nicla Sense Env | Placa de Arduino de 23 × 23 mm con tres sensores de Renesas y un microcontrolador que procesa las mediciones. |
| XIAO ESP32S3 | Placa chica de Seeed Studio con un ESP32-S3 (microcontrolador con Wi-Fi y Bluetooth). Hace de puente entre sensores, tablet y red. |
| RPi 4B | Raspberry Pi 4 modelo B: computadora chica con Linux. |
| I2C | Bus de 2 cables (SDA y SCL) para conectar sensores a una placa. Funciona hasta ~30 cm de cable. |
| SDA / SCL | Líneas del I2C: datos (SDA) y reloj (SCL). |
| 3V3 / 5 V / GND | Alimentación de 3,3 V, alimentación de 5 V y masa (negativo). |
| Pull-up | Resistencia que el bus I2C necesita para funcionar. La Pi ya las trae. |
| GPIO | Pines de entrada y salida de la Pi o del XIAO. |
| Grove / Qwiic / ESLOV | Conectores de cuatro hilos para sensores, para conectar sin soldar (de Seeed, SparkFun y Arduino). |
| USB-C / OTG | Conector USB moderno. OTG es el modo en que la tablet actúa como host de un periférico USB. |
| ePTFE | Membrana que deja pasar el aire pero no el agua ni el polvo. Va detrás de las microperforaciones. |
| PETG | Plástico del gabinete del Smiley con tablet. A diferencia del inox, deja pasar la radio. |
Sensores y mediciones
| Término | Qué significa |
|---|---|
| ZMOD4410 | Sensor de gases de interior de Renesas. Tiene un modo que detecta olor sulfuroso (baño) y otro que mide calidad de aire general. |
| ZMOD4510 | Sensor de gases de exterior: NO2 y ozono. |
| HS4001 | Sensor de temperatura y humedad. |
| SCD41 | Sensor de CO2 real de Sensirion (fotoacústico). Opcional. |
| MOX | Sensor de óxido metálico calentado: reacciona a muchos gases. El ZMOD4410 es de este tipo. |
| VOC / TVOC | Compuestos orgánicos volátiles (perfumes, alcohol, productos de limpieza). TVOC es el total. |
| IAQ | Índice de calidad de aire interior, sin unidades. |
| H2S / azufre | Sulfuro de hidrógeno y compuestos sulfurosos: el olor típico de baño y cloaca. |
| CO2 | Dióxido de carbono. Indica ventilación y cantidad de gente, no suciedad. |
| O3 / NO2 | Ozono y dióxido de nitrógeno. |
| RH | Humedad relativa, en %. |
| ppm / ppb | Partes por millón o por billón (concentración de un gas). 1 ppm = 1.000 ppb. |
Software y negocio
| Término | Qué significa |
|---|---|
| Backend WorkDone | El servidor central que recibe los datos y avisa al personal de limpieza. |
| Check-in NFC | Registro de que el limpiador pasó, al acercar su tarjeta al Smiley. |
| SLA | Nivel de servicio acordado, por ejemplo "limpiar en menos de 20 min tras una alerta". |
| BlueZ | El sistema Bluetooth de Linux, que usa la Pi. |
| ESP-IDF / MM-IoT-SDK | Herramientas de programación del ESP32 y de Morse Micro (para HaLow). |
| FFM | API de Java para llamar funciones nativas, usada para leer el I2C desde Java. |
| ⚠️ | Precio o dato estimado, a confirmar antes de comprar. |