Full Engineering Review · RINAsense IoT Sensor Node

RINAsense — Full Engineering Review

Systems understanding, RINA conformance, discipline reviews and a two-variant system FMEA of the open-hardware RINAsense node.

Proven as research · scoped for production
← Back to overview
RINAsense IoT sensor node

Executive summary

RINAsense is an ESP32-based temperature/humidity sensor whose novelty is speaking the Recursive InterNetwork Architecture (RINA) natively instead of TCP/IP. As a networking research platform it is credible, reproducible, open and peer-reviewed. This review assesses it across electrical, mechanical and software engineering and consolidates the risk in a severity-first FMEA, split into two variants because they carry very different risk — most importantly, the fire hazards apply only to the battery variant.

USB variant6 High · 6 Medium · 11 Low
Battery variant8 High · 8 Medium · 10 Low
After actionResidual concentrates in safety & device security
GroundingPaper · source code · datasheets · standards

What RINAsense is, and how it satisfies RINA

The node reads temperature/humidity and delivers it across a named RINA network. RINA treats networking as inter-process communication only: instead of TCP/IP's fixed layers, it uses one repeating layer type — a Distributed IPC Facility (DIF) — that applications enroll into by name, inheriting the DIF's security and quality-of-service. RINAsense meets the essential conditions to be a genuine RINA node: it runs an IPC process and enrolls in a named DIF, uses RINA's EFCP transport and CDAP application protocol, adapts Wi-Fi via a shim DIF, and enforces DIF-level authentication (an unauthorized device was blocked in the authors' test). The honest partials: routing is static-only, recursion is exercised by the surrounding testbed rather than stacked on the leaf node, and device-level security is weak (below).

RINAsense system block diagram

Discipline review highlights

Electrical. The module-level design is sound and appropriately simple. The material gaps are the projected battery path (no charger or cell protection), the absence of board-level ESD/transient protection on a hand-built assembly, and a headline battery life measured in a way that omits the development board's own power draw.

Mechanical / enclosure. The enclosure is released as a shape file only — no material, flammability rating, ingress rating or venting is specified. The most consequential effect is that a sealed, unvented box lets the electronics warm the sensor, biasing the very temperature/humidity data the node exists to produce.

Software / firmware. A credible, well-structured embedded RINA implementation with real low-power engineering. The dominant risks are device security — credentials stored in plain text, shared across units, with Secure Boot off and no over-the-air update path (all read directly from the project's published configuration) — plus long-run reliability items (memory management, hung-task auto-recovery) and an un-fuzzed network parser.

System FMEA — USB variant

The device as actually built (mains/USB powered). Severity-first Action Priority; "After action" is the residual priority once the recommended fix is applied. The full workbook adds cause, controls, rationale, grounding and notes for every row.

IDSubsystemFailure modeEffectSODAPAfter actionRecommended action
PB-3Power & BatteryThe 3.3 V supply momentarily sags below the chip's safety threshold when the Wi-Fi radio fires, and the chip resets ('brown-out').The node reboots, loses its place on the network, and there is a gap in the data. On a low battery this can repeat — a reboot loop — leaving the node effectively offline until it is recharged.434LowLowUse a good-quality cable and a solid 2 A source; add local buffering (a capacitor) at the module's 3.3 V pin; for battery use, stop transmitting below a low-voltage cut-off; and make the firmware automatically re-join the network after any reboot so one dip is not a long outage.
PB-4Power & BatteryA static-electricity zap or an electrical fault reaches a chip pin because there is no dedicated board-level protection.Two outcomes. (1) 'Latent' ESD damage: a static zap during handling leaves an invisible, weakened spot in the chip — it still works at first, then fails weeks or months later in the field, seemingly for no reason. (2) On a wiring fault, current is limited only by the adapter, so a sustained short can overheat parts. Both surface as costly FIELD failures (a unit that dies after it is deployed).647MediumLowAdd a small ESD (TVS) diode on the sensor data line and a TVS + resettable fuse (PTC) on the USB power, meeting IEC 61000-4-2; and build the units on a proper ESD-safe bench (grounded wrist strap + mat, ANSI/ESD S20.20).
SN-1SensorThe sensor reads the warm, still air trapped inside the enclosure ('micro-climate') instead of the room, because heat from the electronics has nowhere to escape.Temperature reads too HIGH and humidity too LOW — consistently. Downstream decisions go wrong: a building system over-cools or needlessly humidifies (wasting energy) or misses genuinely high humidity (mould/condensation risk); and for the RINAsense HardwareX paper's stated goal of a 'reproducible scientific instrument', readings are not comparable between units, quietly invalidating the data.666HighLowPut a vent/mesh opening RIGHT AT the sensor, thermally separate it from the hot parts (a baffle, or mount it on the cool side), and validate the reading against a reference thermometer/hygrometer.
SN-2SensorA sensor reading is corrupted or dropped because the precise timing of the read is disturbed.Occasional missing samples (small data gaps). Thanks to a built-in checksum, corrupted readings are almost always DISCARDED rather than shown as wrong values — so the practical effect is 'a reading now and then goes missing', not 'bad data on the dashboard'.464MediumLowRead the sensor using the chip's hardware timer (the RMT peripheral) instead of software, or briefly mask interrupts during the ~5 ms read; add a bounded retry with a last-good/flagged value; and schedule the read when Wi-Fi is not transmitting.
SN-3DocumentationThe abstract claims the node measures carbon monoxide (CO), but there is no CO sensor anywhere in the design.A reader could believe the device performs CO safety monitoring when it cannot detect CO at all — a dangerous false assurance if anyone ever relied on it for life safety.812LowLowCorrect the documentation to 'temperature and humidity only', and add an explicit statement: 'this is a research instrument, NOT a safety device — do not rely on it for CO or any life-safety monitoring.' Do not add a real CO channel to this device.
SN-4SensorThe humidity reading slowly drifts out of calibration over months/years.A gradual loss of humidity accuracy that no one notices unless the unit is checked against a reference.435LowLowDefine a periodic reference-check / recalibration interval; optionally recondition the sensor (a gentle bake) to recover saturation drift; use a low-outgassing enclosure material with a vent (ties to SN-1); and add a plausibility/drift flag in firmware.
MC-1ComputeThe flash memory is corrupted if the supply browns out while the firmware is writing to it.The node fails to boot — effectively bricked until it is physically re-flashed.626LowLowUse safe-write practices and a dual (A/B) partition scheme so a bad write cannot brick the unit; ensure the brown-out threshold and supply margin are adequate.
MC-2ComputeThe node fails to wake from deep sleep, or an internal task hangs, and it goes offline with no data.The specific RINAsense unit stops reporting to the gateway/dashboard. Because it does not automatically reboot itself, it can stay dark until someone physically resets it.546MediumLowTurn on watchdog auto-reboot ('panic'), register the networking/sensor/main tasks with the task watchdog, add timeouts on enrollment/flow/sensor calls, verify the wake alarm is armed on every sleep path, and keep essential state in the sleep-surviving memory.
RN-1Wireless / RINAThe node cannot enroll in the network (or loses its place) and does not recover.No data reaches the network until the node re-joins — and if there is no automatic retry, until it is manually restarted.554MediumLowAdd automatic re-enrollment with back-off, validate configuration at start-up, and document the static-topology constraint clearly.
RN-2Wireless / RINAOver long uptime the node runs out of usable memory, or a communication channel ('flow') stalls, and it cannot recover.Readings are silently dropped; in the worse case a task freezes and the node goes offline until reset.545MediumLowUse fixed-size memory pools (or static buffers) for the steady network path so it cannot fragment; add memory high-water/fragmentation monitoring; add flow-stall detection with automatic re-establish; and run a multi-day soak test with telemetry. Use the watchdog (MC-2) as a backstop.
RN-3Wireless / RINARadio congestion or interference degrades latency and reliability beyond the demonstrated figures.Higher delay and occasional loss in busy real-world radio environments (versus the clean testbed numbers).354LowLowPlan the Wi-Fi channel for the deployment and apply quality-of-service as a network policy where latency matters.
RN-4SecurityA malformed network message crashes the message parser, causing denial of service or — worst case — remote code execution.At minimum the node is knocked offline (denial of service). At worst a crafted message could let an attacker run their own code on the device.746HighMediumFuzz-test the CDAP/EFCP parsers — INCLUDING the pre-authentication enrollment handshake — add strict length/bounds/type validation on every field, and run static analysis (MISRA).
RN-5Wireless / RINAThe assembled product's electromagnetic emissions or immunity are unverified (the radio module itself is fine).Possible interference with other equipment, susceptibility to outside interference, and — if sold commercially — a regulatory blocker to placing it on the market.436LowLowIf the device is ever commercialized, run product-level EMC tests (EN 300 328, EN 301 489, CISPR 32/35, FCC Part 15) and keep wiring short; otherwise state clearly 'research artifact — not EMC-tested / not for sale as-is'.
EN-1EnclosureThe 3D-printed enclosure is made of a plastic with no flammability rating and can ignite or help spread a fire.On the USB variant there is no credible ignition source, so this is a best-practice gap rather than a fire hazard: the enclosure material is simply unspecified.348LowLowSpecify the enclosure material in the documentation; require UL 94 V-2 minimum (V-0 with a battery); if 3D-printed, test the printed part or use a qualified enclosure; keep any lithium cell out of an unrated shell.
EN-2EnclosureDust or condensation gets inside the (unsealed) enclosure and reaches the board.Gradual corrosion or an occasional short — degradation over time rather than an instant failure.536LowLowDeclare an honest ingress rating in the documentation; for any humid/dusty deployment, redesign with sealed seams + gasket + a membrane vent (IP54+); and conformal-coat the board as a cheap corrosion barrier.
EN-3EnclosureA soldered wire or joint cracks (open or intermittent connection) from handling or a drop.The node works intermittently or stops working — a fault surfaced by rough handling, not by normal use.534LowLowAdd strain relief at the USB entry, a dab of adhesive on the internal wires, and simple board retention; solder to IPC-A-610 Class 2.
EN-4Process / AssemblyA cold or insufficient hand-solder joint is made during the manual build.An early-life open or high-resistance connection — the unit fails soon after assembly or behaves erratically.554MediumLowSolder to J-STD-001, accept to IPC-A-610 Class 2, inspect 100% of joints, and functionally test each unit. The design-level fix is to replace point-to-point hand-soldering with a small PCB + connectors, which removes the variability entirely.
EN-5Process / AssemblyThe printed part cracks along its layers under load, or fits poorly (too tight/loose), so the lid won't close or the board rattles.A cosmetic/mechanical nuisance — a rattle, a poor fit, or a crack if dropped; a loose board can also stress the solder joints.434LowLowSpecify the material, print orientation (load in-plane), at least 3 perimeter walls, infill, and fit tolerances for the board pocket / USB cut-out / lid; add board retention.
SC-1SecurityWi-Fi and network credentials are stored in plain text and can be read out of the device's flash memory.Anyone with brief physical access can extract the Wi-Fi password and network credentials, then use them to get onto the network the node belongs to.867HighMediumStore credentials in encrypted storage (encrypted NVS), enable flash encryption and Secure Boot, provision UNIQUE credentials per device (not one shared image), and never commit real secrets to the public repository.
SC-2SecuritySecure Boot is disabled, so modified or cloned firmware will run without objection.An attacker with access can alter or clone the firmware, creating a rogue node that the network trusts — bypassing the device-level part of RINA's security.857HighMediumEnable Secure Boot v2 together with flash encryption on any deployed unit; sign firmware images.
SC-3SecurityThere is no way to update the firmware remotely — updates require plugging a computer into each device.Any bug or security vulnerability found after deployment cannot be patched at scale; the node's SECURE and INTEROPERABLE service life is limited, and fixing anything means physically visiting every unit.666HighLowAdd signed, rollback-safe over-the-air (OTA) updates (the ESP-IDF provides this out of the box with a dual-partition layout), pair it with Secure Boot, and publish an update/end-of-support policy.
SC-4SecurityEvery unit is flashed with the SAME credentials from one shared firmware image.If one device's credentials leak, ALL devices are compromised at once — a single breach scales to the whole fleet.756HighMediumProvision UNIQUE per-device credentials (a small factory/first-boot provisioning step), avoid any universal default, and combine with encrypted storage (SC-1).
SC-5SecurityLogs retain identifiers (such as neighbouring devices' MAC addresses) without limits.A minor privacy exposure if logs are accessed.345LowLowBound log retention and control access to logs (ETSI EN 303 645 §5.8).

System FMEA — battery variant

The projected 3.7 V LiPo / 18650 build, which the paper omits the charger and protection for. Note the two items that stay High even after mitigation — the fire hazards — because a control lowers the chance of a fire, never its consequence.

IDSubsystemFailure modeEffectSODAPAfter actionRecommended action
PB-1Power & BatteryAn unprotected lithium cell is over-charged, over-discharged, or short-circuited and goes into thermal runaway.The cell can swell, vent hot gas, and CATCH FIRE. This is a safety hazard to people and property — not merely a dead device. It is the single most serious outcome in the whole design.968HighHighIf a battery is used, fit a PROTECTED cell plus a proper charge controller (constant-current/constant-voltage), qualify the battery system to IEC 62133-2, and ship it under UN 38.3 transport rules. Alternatively, keep the product strictly USB-only and label Table 3 as projections that require an add-on protected pack.
PB-2Power & BatteryThe battery is connected backwards (reverse polarity) or the wrong cell is inserted.The electronics are damaged and the node is dead. On a lithium cell, reverse current can also heat and stress the cell.636LowLowSpecify a KEYED battery connector (e.g. JST-PH) plus a reverse-polarity protection FET. Rely on the existing pre-power inspection step in the build guide.
PB-3Power & BatteryThe 3.3 V supply momentarily sags below the chip's safety threshold when the Wi-Fi radio fires, and the chip resets ('brown-out').The node reboots, loses its place on the network, and there is a gap in the data. On a low battery this can repeat — a reboot loop — leaving the node effectively offline until it is recharged.454MediumLowUse a good-quality cable and a solid 2 A source; add local buffering (a capacitor) at the module's 3.3 V pin; for battery use, stop transmitting below a low-voltage cut-off; and make the firmware automatically re-join the network after any reboot so one dip is not a long outage.
PB-4Power & BatteryA static-electricity zap or an electrical fault reaches a chip pin because there is no dedicated board-level protection.Two outcomes. (1) 'Latent' ESD damage: a static zap during handling leaves an invisible, weakened spot in the chip — it still works at first, then fails weeks or months later in the field, seemingly for no reason. (2) On a wiring fault, current is limited only by the adapter, so a sustained short can overheat parts. Both surface as costly FIELD failures (a unit that dies after it is deployed).647MediumLowAdd a small ESD (TVS) diode on the sensor data line and a TVS + resettable fuse (PTC) on the USB power, meeting IEC 61000-4-2; and build the units on a proper ESD-safe bench (grounded wrist strap + mat, ANSI/ESD S20.20).
PB-5Power & BatteryThe real battery life is far shorter than the RINAsense HardwareX paper's Table 3 projection, so the node goes dead sooner than expected.A field node that should last months dies in a fraction of that time and silently stops sending data. Users plan maintenance around the wrong number.466HighLowUse a bare module or a low-quiescent design (remove/replace the AMS1117, USB chip and LED, or gate them). Re-measure whole-device sleep current FROM THE BATTERY INPUT (not the 3.3 V rail) and re-issue Table 3 from that real number. Pick a low-self-discharge cell.
SN-1SensorThe sensor reads the warm, still air trapped inside the enclosure ('micro-climate') instead of the room, because heat from the electronics has nowhere to escape.Temperature reads too HIGH and humidity too LOW — consistently. Downstream decisions go wrong: a building system over-cools or needlessly humidifies (wasting energy) or misses genuinely high humidity (mould/condensation risk); and for the RINAsense HardwareX paper's stated goal of a 'reproducible scientific instrument', readings are not comparable between units, quietly invalidating the data.646MediumLowPut a vent/mesh opening RIGHT AT the sensor, thermally separate it from the hot parts (a baffle, or mount it on the cool side), and validate the reading against a reference thermometer/hygrometer.
SN-2SensorA sensor reading is corrupted or dropped because the precise timing of the read is disturbed.Occasional missing samples (small data gaps). Thanks to a built-in checksum, corrupted readings are almost always DISCARDED rather than shown as wrong values — so the practical effect is 'a reading now and then goes missing', not 'bad data on the dashboard'.464MediumLowRead the sensor using the chip's hardware timer (the RMT peripheral) instead of software, or briefly mask interrupts during the ~5 ms read; add a bounded retry with a last-good/flagged value; and schedule the read when Wi-Fi is not transmitting.
SN-3DocumentationThe abstract claims the node measures carbon monoxide (CO), but there is no CO sensor anywhere in the design.A reader could believe the device performs CO safety monitoring when it cannot detect CO at all — a dangerous false assurance if anyone ever relied on it for life safety.812LowLowCorrect the documentation to 'temperature and humidity only', and add an explicit statement: 'this is a research instrument, NOT a safety device — do not rely on it for CO or any life-safety monitoring.' Do not add a real CO channel to this device.
SN-4SensorThe humidity reading slowly drifts out of calibration over months/years.A gradual loss of humidity accuracy that no one notices unless the unit is checked against a reference.435LowLowDefine a periodic reference-check / recalibration interval; optionally recondition the sensor (a gentle bake) to recover saturation drift; use a low-outgassing enclosure material with a vent (ties to SN-1); and add a plausibility/drift flag in firmware.
MC-1ComputeThe flash memory is corrupted if the supply browns out while the firmware is writing to it.The node fails to boot — effectively bricked until it is physically re-flashed.636LowLowUse safe-write practices and a dual (A/B) partition scheme so a bad write cannot brick the unit; ensure the brown-out threshold and supply margin are adequate.
MC-2ComputeThe node fails to wake from deep sleep, or an internal task hangs, and it goes offline with no data.The specific RINAsense unit stops reporting to the gateway/dashboard. Because it does not automatically reboot itself, it can stay dark until someone physically resets it.546MediumLowTurn on watchdog auto-reboot ('panic'), register the networking/sensor/main tasks with the task watchdog, add timeouts on enrollment/flow/sensor calls, verify the wake alarm is armed on every sleep path, and keep essential state in the sleep-surviving memory.
RN-1Wireless / RINAThe node cannot enroll in the network (or loses its place) and does not recover.No data reaches the network until the node re-joins — and if there is no automatic retry, until it is manually restarted.554MediumLowAdd automatic re-enrollment with back-off, validate configuration at start-up, and document the static-topology constraint clearly.
RN-2Wireless / RINAOver long uptime the node runs out of usable memory, or a communication channel ('flow') stalls, and it cannot recover.Readings are silently dropped; in the worse case a task freezes and the node goes offline until reset.545MediumLowUse fixed-size memory pools (or static buffers) for the steady network path so it cannot fragment; add memory high-water/fragmentation monitoring; add flow-stall detection with automatic re-establish; and run a multi-day soak test with telemetry. Use the watchdog (MC-2) as a backstop.
RN-3Wireless / RINARadio congestion or interference degrades latency and reliability beyond the demonstrated figures.Higher delay and occasional loss in busy real-world radio environments (versus the clean testbed numbers).354LowLowPlan the Wi-Fi channel for the deployment and apply quality-of-service as a network policy where latency matters.
RN-4SecurityA malformed network message crashes the message parser, causing denial of service or — worst case — remote code execution.At minimum the node is knocked offline (denial of service). At worst a crafted message could let an attacker run their own code on the device.746HighMediumFuzz-test the CDAP/EFCP parsers — INCLUDING the pre-authentication enrollment handshake — add strict length/bounds/type validation on every field, and run static analysis (MISRA).
RN-5Wireless / RINAThe assembled product's electromagnetic emissions or immunity are unverified (the radio module itself is fine).Possible interference with other equipment, susceptibility to outside interference, and — if sold commercially — a regulatory blocker to placing it on the market.436LowLowIf the device is ever commercialized, run product-level EMC tests (EN 300 328, EN 301 489, CISPR 32/35, FCC Part 15) and keep wiring short; otherwise state clearly 'research artifact — not EMC-tested / not for sale as-is'.
EN-1EnclosureThe 3D-printed enclosure is made of a plastic with no flammability rating and can ignite or help spread a fire.If a cell fault starts a fire (see PB-1), an unrated plastic shell can burn and spread it — turning a contained fault into a real fire hazard.948HighHighSpecify the enclosure material in the documentation; require UL 94 V-2 minimum (V-0 with a battery); if 3D-printed, test the printed part or use a qualified enclosure; keep any lithium cell out of an unrated shell.
EN-2EnclosureDust or condensation gets inside the (unsealed) enclosure and reaches the board.Gradual corrosion or an occasional short — degradation over time rather than an instant failure.536LowLowDeclare an honest ingress rating in the documentation; for any humid/dusty deployment, redesign with sealed seams + gasket + a membrane vent (IP54+); and conformal-coat the board as a cheap corrosion barrier.
EN-3EnclosureA soldered wire or joint cracks (open or intermittent connection) from handling or a drop.The node works intermittently or stops working — a fault surfaced by rough handling, not by normal use.534LowLowAdd strain relief at the USB entry, a dab of adhesive on the internal wires, and simple board retention; solder to IPC-A-610 Class 2.
EN-4Process / AssemblyA cold or insufficient hand-solder joint is made during the manual build.An early-life open or high-resistance connection — the unit fails soon after assembly or behaves erratically.554MediumLowSolder to J-STD-001, accept to IPC-A-610 Class 2, inspect 100% of joints, and functionally test each unit. The design-level fix is to replace point-to-point hand-soldering with a small PCB + connectors, which removes the variability entirely.
EN-5Process / AssemblyThe printed part cracks along its layers under load, or fits poorly (too tight/loose), so the lid won't close or the board rattles.A cosmetic/mechanical nuisance — a rattle, a poor fit, or a crack if dropped; a loose board can also stress the solder joints.434LowLowSpecify the material, print orientation (load in-plane), at least 3 perimeter walls, infill, and fit tolerances for the board pocket / USB cut-out / lid; add board retention.
SC-1SecurityWi-Fi and network credentials are stored in plain text and can be read out of the device's flash memory.Anyone with brief physical access can extract the Wi-Fi password and network credentials, then use them to get onto the network the node belongs to.867HighMediumStore credentials in encrypted storage (encrypted NVS), enable flash encryption and Secure Boot, provision UNIQUE credentials per device (not one shared image), and never commit real secrets to the public repository.
SC-2SecuritySecure Boot is disabled, so modified or cloned firmware will run without objection.An attacker with access can alter or clone the firmware, creating a rogue node that the network trusts — bypassing the device-level part of RINA's security.857HighMediumEnable Secure Boot v2 together with flash encryption on any deployed unit; sign firmware images.
SC-3SecurityThere is no way to update the firmware remotely — updates require plugging a computer into each device.Any bug or security vulnerability found after deployment cannot be patched at scale; the node's SECURE and INTEROPERABLE service life is limited, and fixing anything means physically visiting every unit.666HighLowAdd signed, rollback-safe over-the-air (OTA) updates (the ESP-IDF provides this out of the box with a dual-partition layout), pair it with Secure Boot, and publish an update/end-of-support policy.
SC-4SecurityEvery unit is flashed with the SAME credentials from one shared firmware image.If one device's credentials leak, ALL devices are compromised at once — a single breach scales to the whole fleet.756HighMediumProvision UNIQUE per-device credentials (a small factory/first-boot provisioning step), avoid any universal default, and combine with encrypted storage (SC-1).
SC-5SecurityLogs retain identifiers (such as neighbouring devices' MAC addresses) without limits.A minor privacy exposure if logs are accessed.345LowLowBound log retention and control access to logs (ETSI EN 303 645 §5.8).

Grounding & sources

Standards applied: IEC 62133-2 · UN 38.3 · IEC 61000-4-2 · ANSI/ESD S20.20 · IEC 62368-1 · UL 94 · IEC 60529 · IEC 60068-2 · J-STD-001 · IPC-A-610 · MISRA C:2012 · ETSI EN 303 645 · OWASP IoT · NIST SP 800-213 · EU Cyber Resilience Act · EN 300 328 · EN 301 489 · CISPR 32/35 · FCC Part 15 · AIAG-VDA / SAE J1739 / MIL-STD-1629A.

Design evidence: the RINAsense HardwareX paper (2025), the open-access technical text and design files, the ESP32-WROOM-32 & DHT22 datasheets, and the project's published source configuration. Full download: System FMEA workbook (XLSX) →

Acknowledgements & sources

This is an independent engineering review of an openly published, peer-reviewed design; it exists only because the original authors shared their work as open hardware and open access. Full credit to David Sarabia-Jácome, Eduard Grasa and Marisa Catalán of Fundació i2CAT (Internet of Things Research Group, Barcelona), whose RINAsense node and firmware — released under Apache-2.0 (firmware) and CERN-OHL-S v2 (hardware) — made this analysis possible. The work was funded by the European Union Horizon 2020 programme (TERMINET project).

Project & paper: RINAsense in HardwareX (2025). Technical details & design-file downloads: open-access full text (PMC).

Product Engineer LLC is not affiliated with Fundació i2CAT. This review is offered constructively to support an open-source project.