Hello everyone,
First off, a huge thank you to the entire team and community for developing such an incredible open-source tool. We are quite new to OpenFlexure, still exploring and are consistently impressed by the project’s quality and vision.
We’ve noticed that the initial WiFi setup can be a bit of a hurdle, especially for users who aren’t familiar with Raspberry Pi. The current methods require either connecting a keyboard and monitor or manually editing files on the SD card before the first boot, or playing with the rasp flashing utility, but it’s hard to modify then for a random user.
To improve the out-of-the-box experience, I’d like to propose a new, much simpler approach for network configuration.
The Proposed Solution: A Fallback WiFi Hotspot
The idea is to implement a system that is now standard in most modern IoT devices, from smart plugs to 3D printers (we use this daily with our Klipper/RatOS-based printers).
The user experience would be as follows:
First Boot: The user assembles the microscope and powers it on for the first time.
Hotspot Creation: Since it has no network credentials, the microscope automatically creates its own temporary WiFi hotspot with an obvious name, like OpenFlexure-Setup.
Connect with a Phone: The user takes their smartphone or laptop, opens their WiFi settings, and connects to this OpenFlexure-Setup network.
Automatic Configuration Page: Upon connecting, a simple web page (a “captive portal”) automatically opens in their browser.
Configure: This page allows the user to:
Scan for local WiFi networks.
Select their lab or home network from the list.
Enter the password.
Done! Once submitted, the microscope saves the new credentials, disconnects the temporary hotspot, and seamlessly connects to the user’s chosen network.
This entire process would take less than a minute and requires no extra hardware or technical knowledge.
Key Benefits
We believe this would be a game-changing improvement for several reasons:
Drastically Improved User Experience: It makes the initial setup feel modern, polished, and incredibly user-friendly.
True Headless Operation: It completely removes the need for a dedicated monitor, keyboard, or SD card reader after flashing the image.
![]()
Increased Accessibility: It significantly lowers the technical barrier for new users. Scientists, students, and educators could get their microscope online without needing any command-line skills.
Easy Reconfiguration: If the microscope is moved to a new lab or location, this process would automatically trigger again, making it trivial to connect to a new WiFi network.
A Feasible Technical Path
This isn’t something that needs to be developed from scratch. This functionality can be implemented robustly on the Raspberry Pi using existing, well-maintained tools.
A solid approach would be to use NetworkManager to handle the dynamic switching between Access Point mode and Client mode. On top of that, a project like Balena’s wifi-connect is a nearly drop-in solution that provides the hotspot, the captive portal, and the logic for saving the configuration. Integrating it into the OpenFlexure image could be relatively straightforward.
We feel this feature would perfectly align with the OpenFlexure project’s goals of being accessible and easy to use.
What does the community think? Would a feature like this be valuable for your use case?
We’d be happy to contribute to testing or provide more feedback if this is a direction the project is interested in exploring.
Best regards,
Patrice