# Equipment validation and automation

**URL:** <https://accelerated-discovery.org/t/equipment-validation-and-automation/517>\
**Category:** General\
**Created:** [April 18, 2025, 5:14pm UTC](https://accelerated-discovery.org/t/equipment-validation-and-automation/517 "2025-04-18T17:14:00Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![sgbaird](https://yyz1.discourse-cdn.com/flex003/user_avatar/accelerated-discovery.org/sgbaird/32/341_2.png) [@sgbaird](https://accelerated-discovery.org/u/sgbaird)\
**Post date:** [April 28, 2025, 8:41pm UTC](https://accelerated-discovery.org/t/equipment-validation-and-automation/517/5 "2025-04-28T20:41:29Z")

</div>

> How do you combine a Github action and your lab equipment? Are you somehow exposing an interface to the outside world and let Github’s servers access it? If that’s the case, how do you handle access control and security?

Via a cloud-based MQTT broker (HiveMQ), with “proper” encryption and authentication to keep it private and secure. MQTT credentials live as secrets on GitHub and are stored on the equipment. MQTT allows for granularity in terms of which users are allowed to communicate on which topics, which also helps (providing the minimum necessary access). If you have more specifics, happy to point to some additional resources. A while back I spent ~6 months learning IoT best practices, trying to consolidate and implement what was relevant to self-driving labs and lab automation. A number of those discussions are below:

> **[sparks-baird self-driving-lab-demo Data And Access Management · Discussions](https://github.com/sparks-baird/self-driving-lab-demo/discussions/categories/data-and-access-management)**
>
> Explore the GitHub Discussions forum for sparks-baird self-driving-lab-demo in the Data And Access Management category.

A relevant topic:

> [@Separating device code from orchestrator code and facilitating cross-communication](https://accelerated-discovery.org/t/separating-device-code-from-orchestrator-code-and-facilitating-cross-communication/174):
>
> For example, I want to control Jubilee remotely without exposing the entire OS. Ideally, this would be something that makes it easy to make an MQTT interlayer, keeping in mind that often microcontrollers are being used.

A small, hands-on example at [🧩 1.4 Device Communication — ac-microcourses 0.0.post1.dev196+gc21222305 documentation](https://ac-microcourses.readthedocs.io/en/latest/courses/hello-world/1.4-hardware-software-communication.html)

---

_[View the full topic](https://accelerated-discovery.org/t/equipment-validation-and-automation/517)._
