{"id":35126844,"url":"https://github.com/wenzel-lab/rio-controller","last_synced_at":"2026-01-13T22:54:23.520Z","repository":{"id":86104924,"uuid":"202424158","full_name":"wenzel-lab/rio-controller","owner":"wenzel-lab","description":"\"Rio\" a free and open source microfluidics controller - controls fast imaging, pressure, flow, temperature and analysis.","archived":false,"fork":false,"pushed_at":"2026-01-12T19:03:26.000Z","size":66629,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-12T19:57:39.927Z","etag":null,"topics":["bioengineering","controller","droplet-detection","droplets","electronics","flow-control","lab-equipment","microfluidics","microscopy","open-hardware","open-source","open-source-hardware","pid-control","raspberry-pi","stroboscopic-imaging"],"latest_commit_sha":null,"homepage":"","language":"G-code","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wenzel-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-08-14T20:51:04.000Z","updated_at":"2026-01-09T01:42:52.000Z","dependencies_parsed_at":"2025-04-01T02:32:01.406Z","dependency_job_id":null,"html_url":"https://github.com/wenzel-lab/rio-controller","commit_stats":null,"previous_names":["wenzel-lab/modular-microfluidics-workstation-controller","wenzel-lab/rio-controller"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/wenzel-lab/rio-controller","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenzel-lab%2Frio-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenzel-lab%2Frio-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenzel-lab%2Frio-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenzel-lab%2Frio-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wenzel-lab","download_url":"https://codeload.github.com/wenzel-lab/rio-controller/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenzel-lab%2Frio-controller/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28400426,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioengineering","controller","droplet-detection","droplets","electronics","flow-control","lab-equipment","microfluidics","microscopy","open-hardware","open-source","open-source-hardware","pid-control","raspberry-pi","stroboscopic-imaging"],"created_at":"2025-12-28T03:03:17.815Z","updated_at":"2026-01-13T22:54:23.514Z","avatar_url":"https://github.com/wenzel-lab.png","language":"G-code","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \"Rio\" the modular microfluidics controller [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.svg?v=103)](https://github.com/ellerbrock/open-source-badges/)\n\nThis repository contains the _free_ and _open-source_ designs and documentation for the _core board_ and their _modules_ of a microfluidics workstation to enable _high-throughput droplet microfluidic_ biological assays. The designs contain an electronics board \"hat\" that plugs onto a Raspberry Pi single-board computer and interfaces with our _compact controllers_ e.g. for gas-pressure control to push microfluidic samples onto chips, pressure, and flow measurement with feedback control, sample holders with heating and stirring, and imaging of fast droplet generation processes with open-source microscopy and stroboscopic illumination.\n\nThis is an open, collaborative project by the [Wenzel Lab](https://wenzel-lab.github.io/en/) in Chile, and _your participation_ (comments, inputs, contributions) are explicitly welcome! Please submit your message as an issue in this repository to participate.\n\nFollow us! [#twitter](https://twitter.com/WenzelLab), [#YouTube](https://www.youtube.com/@librehub), [#LinkedIn](https://www.linkedin.com/company/92802424), [#instagram](https://www.instagram.com/wenzellab/), [#Printables](https://www.printables.com/@WenzelLab), [#LIBREhub website](https://librehub.github.io), [#IIBM website](https://ingenieriabiologicaymedica.uc.cl/en/people/faculty/821-tobias-wenzel)\n\n## Table of contents\n\n- [Why](#why)\n- [Getting Started](#getting-started)\n- [Use Cases](#use-cases)\n- [Read the Paper](#read-the-paper)\n- [Modules Wish List](#modules-wish-list)\n- [Contributing](#contributing)\n- [License](#license)\n\n## Why\n\nOur aim is to create a prototype of a _compact_ working station for microfluidic research that is based on _connectable_, _open_, modern, and _low-cost_ components (Rasberry Pi, Arduino, 3D printing, on-board components, open or at least accessible design software and operation software - python).\n\n**Rio** serves as a platform to implement fully functional research-grade workstations with good specifications, such as fast reaction times and low-pressure fluctuations. It is modular so that parts of this platform can be repurposed and improved in the open-source hardware sense and easily combined, exchanged, or used independently in challenging environments.\n\n\n## Getting Started\n\nFor a repository architecture guide, see [ARCHITECTURE.md](ARCHITECTURE.md)\n- **Software (runtime + development)**: [`software/README.md`](software/README.md)\n  - Main entry point: `software/main.py`\n- **Deployment bundle (Pi updates)**: [`pi-deployment/README.md`](pi-deployment/README.md)\n- **Hardware modules** (assembly + usage):\n  - Pi HAT: [`hardware-modules/rpi-hat/README.md`](hardware-modules/rpi-hat/README.md)\n  - Strobe imaging: [`hardware-modules/strobe-imaging/README.md`](hardware-modules/strobe-imaging/README.md)\n  - Pressure/flow: [`hardware-modules/pressure-flow-control/README.md`](hardware-modules/pressure-flow-control/README.md)\n  - Heating/stirring: [`hardware-modules/heating-stirring/README.md`](hardware-modules/heating-stirring/README.md)\n\nIn order to implement a workstation, you must build the core board and any module of your interest. The user interface software will allow you to control and monitor the operations of the modules.\n\n### Core Board\n\nThe core board consists of a Raspberry Pi 4B+ and a custom Pi HAT (hardware attached to the top). The Pi HAT is an extension board for bidirectional communication and power supply to the controllers. \n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eCore Board\u003c/b\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cimg src=\"hardware-modules/rpi-hat/images/Pi-HAT.png\" width=400 alt=\"Raspberry Pi HAT\" /\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"hardware-modules/rpi-hat/\"\u003e\u003cbr\u003e\u003cb\u003eBuild the Pi HAT\u003c/b\u003e\u003c/a\u003e\u003cbr\u003e\u003cbr\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Modules\n\nA _module_ commonly consists of a compact controller, sensors, and actuators, and operates with distinct power supply and data connections. The controllers convert physical data into digital data, manipulate the actuators, and supply energy to external components. \n\n\u003ctable\u003e\n\u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eStrobe Imaging Module\u003c/b\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003ePressure and Flow Control Module\u003c/b\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eHeat and Stirring Module\u003c/b\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cimg src=\"hardware-modules/strobe-imaging/images/strobe-imaging-controller.png\" width=75 alt=\"Strobe Imaging Controller\" /\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cimg src=\"hardware-modules/pressure-flow-control/images/pressure-and-flow-controller.png\" width=100 alt=\"Pressure and Flow Controller\" /\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cimg src=\"hardware-modules/heating-stirring/images/heating-and-stirring-controller.png\" width=80 alt=\"Heating and Stirring Controller\" /\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"hardware-modules/strobe-imaging/\"\u003e\u003cbr\u003e\u003cb\u003eBuild the controller\u003c/b\u003e\u003c/a\u003e\u003cbr\u003e\u003cbr\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"hardware-modules/pressure-flow-control/\"\u003e\u003cbr\u003e\u003cb\u003eBuild the controller\u003c/b\u003e\u003c/a\u003e\u003cbr\u003e\u003cbr\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"hardware-modules/heating-stirring/\"\u003e\u003cbr\u003e\u003cb\u003eBuild the controller\u003c/b\u003e\u003c/a\u003e\u003cbr\u003e\u003cbr\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### Software\n\nThe software follows a client-server architecture and allows users to control the physical hardware through a graphical interface. It runs on a Raspberry Pi (32-bit bullseye, or 64-bit operating system).\n\n**Installation and Usage:**\n- For detailed software installation and usage instructions, see [software/README.md](software/README.md)\n\n**Features:**\n- Real-time camera control with strobe synchronization\n- Droplet detection with histogram visualization\n- Flow and pressure control\n- Temperature and stirring control\n- Modern web-based user interface\n\n**How the software is structured (high level):**\n- UI + routes: `software/rio-webapp/` (browser + Flask + Socket.IO)\n- WebSocket handlers: `software/rio-webapp/controllers/`\n- Device orchestration: `software/controllers/`\n- Hardware adapters: `software/drivers/` (camera backends in `software/drivers/camera/`)\n- Droplet detection pipeline: `software/droplet-detection/`\n\n## Use Cases\n\n**Single-module solution:**\n* Strobe-enhanced microscopy stage ([Repository](https://github.com/wenzel-lab/strobe-enhanced-microscopy-stage) | [Assembly Instructions](https://wenzel-lab.github.io/strobe-enhanced-microscopy-stage/))\n\n**Three-modules solution:**\n* Flow microscopy platform ([Repository](https://github.com/wenzel-lab/flow-microscopy-platform) | Assembly Instructions (Soon))\n\n## Read the Paper\n\n\"Rio\" has been employed in the article [\"Plasmid Stability Analysis with Open-Source Droplet Microfluidics\"](https://app.jove.com/t/67659/plasmid-stability-analysis-with-open-source-droplet-microfluidics), published in JoVE in December 2024. Please cite this article when using our hardware system.\n\nDOI: [https://dx.doi.org/10.3791/67659](https://dx.doi.org/10.3791/67659)\n\n## Modules Wish List\n\n* High-pressure source module to replace large gas bottles with a small soda CO2 bottle, developed in this [sub-repository](https://github.com/wenzel-lab/rio-controller/tree/master/module-high-pressure-source)\n* Support for small piezo pumps\n* Smart cultivation sleeves for vials, smaller and with OD-tracking - the V2 of our current sample holders and strirrers\n* Microfluidic droplet sorting workstation driven by the droplet workstation tools is described [here](https://github.com/wenzel-lab/droplet-sorter-master/tree/main) (This is being developed in a separate repository).\n\n## Contributing\n\nFeel free to dive in! [Open an issue](https://github.com/wenzel-lab/rio-controller/issues/new).\nFor interactions in our team and with the community applies the [GOSH Code of Conduct](https://openhardware.science/gosh-2017/gosh-code-of-conduct/). If you want to get involved in our research, please see the [website of our team](https://wenzel-lab.github.io/en/).\n\n## License\n\n**Hardware:** All source files located in the `hardware-modules` directories (including firmware, PCB designs, and documentation) and documentation are released under the [CERN-OHL-W-2.0](https://ohwr.org/cern_ohl_w_v2.txt) license.\n\n**Software:** The source codes located in the `software` directory are released under the [GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.en.html) license.\n\n© Tobias Wenzel, Christie Nel, and Pierre Padilla-Huamantinco. This project is Open-Source Hardware - please cite and acknowledge us when using the hardware or sharing modifications.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenzel-lab%2Frio-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwenzel-lab%2Frio-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenzel-lab%2Frio-controller/lists"}