Maker Faire Pi Mode¶
Use this page when the Raspberry Pi is your show-ready virtual patient for Maker Faire.
Before this page: Raspberry Pi Digital Patient or Remote Deploy & Pi Connect, depending on whether you set up locally or remotely.
After this page: Maker Faire Pi Checklist before using the setup in public.
The goal is simple:
- one Pi runs the digital patient
- the kiosk opens full-screen on the booth screen
- the patient can be reset quickly between visitors
- the flow stays simple enough that you can recover fast during the event
Fast Path¶
Generate the Raspberry Pi project once:
iints edge setup --output-dir iints_pi_demo --board raspberry_pi --scenario-profile expo_hot_start
cd iints_pi_demo
If you are preparing the Pi from another machine, you can now do the scaffold + sync + install in one command:
iints edge deploy \
--host raspberrypi.local \
--user pi \
--local-output-dir iints_pi_demo \
--remote-dir ~/iints_pi_demo \
--board raspberry_pi \
--scenario-profile expo_hot_start
Then use the Maker Faire startup command:
iints makerfaire up --project-dir .
That command:
- loads the generated edge runtime config
- starts the persistent patient if it is not already running
- uses the booth-friendly
expo_hot_startprofile by default - prints the kiosk URL and next commands
Generated Helper Files¶
iints edge setup now writes two Maker Faire artifacts into the project root:
start_makerfaire_patient.shMAKERFAIRE_START.mdopen_makerfaire_kiosk.shiints-makerfaire-kiosk.desktopinstall_makerfaire_autostart.shMAKERFAIRE_AUTOSTART.mdrun_makerfaire_watchdog.shiints-digital-patient-watchdog.timerMAKERFAIRE_CHECKLIST.md
So you can also use:
./start_makerfaire_patient.sh
The generated kiosk launcher now tries a hardened full-screen browser path first:
- Chromium / Chrome in kiosk mode if available
- Firefox kiosk mode as fallback
- plain
xdg-openonly as the last fallback
It also tries to disable screen blanking and DPMS on Raspberry Pi OS when a desktop session is present. For Chromium-based browsers it also disables first-run prompts, restore bubbles, background networking, sync, and common booth-unfriendly popups.
What To Expect¶
After iints makerfaire up --project-dir . you should see:
- the workspace path
- the active scenario profile
- the kiosk URL
- the dashboard URL
- the quick reset / stop commands
If you keep the Pi connected to a booth display, the main URL you care about is:
http://127.0.0.1:8765/kiosk
Booth Routine¶
1. Start the patient¶
iints makerfaire up --project-dir .
2. Show the kiosk¶
If the command already printed the kiosk panel, open that URL on the Pi screen.
You can also reprint it at any time:
iints edge kiosk --project-dir .
3. Reset between visitor sessions¶
iints edge reset --project-dir .
4. Check whether the runtime is still healthy¶
iints edge status --project-dir .
4b. Let the booth watchdog repair a dead runtime¶
iints makerfaire watchdog --project-dir .
That command is safe to run manually. It checks whether the booth patient is still alive, and if not, it restarts it with the booth-safe profile.
5. Stop cleanly after the event¶
iints edge stop --project-dir .
If You Also Use An Arduino UNO Q¶
Keep the Pi as the main brain.
- the Pi runs the virtual patient and kiosk
- the UNO Q shows physical states like
OK,OVERRIDE, andCRITICAL
Start the Linux-side runtime first, then in a second terminal run:
iints edge bridge-run --project-dir . --port /dev/ttyACM0
That keeps the physical UNO Q layer synced with the Pi runtime.
Autostart On Boot¶
If you want the Pi to come up straight into the virtual patient after power-on:
- first confirm the normal command-line path works
- inspect the generated autostart files:
iints makerfaire autostart --project-dir .
- install the generated booth autostart bundle:
./install_makerfaire_autostart.sh
- enable Desktop Autologin in Raspberry Pi Configuration so the kiosk browser can open after login
-
reboot and verify that:
-
the digital patient starts automatically
- the watchdog timer is active
- the kiosk opens automatically in full-screen mode
iints edge reset --project-dir .still works between visitors
You can still regenerate the plain systemd service with:
iints edge service --project-dir .
The generated autostart stack is split on purpose:
patient_runtime/*.servicestarts the digital patient daemon on bootiints-makerfaire-kiosk.desktopopens the kiosk after the Pi desktop session logs iniints-digital-patient-watchdog.timerre-checks the booth runtime in the background and restarts it if the patient went down
That split is more reliable on Raspberry Pi OS than trying to force the browser open from a root-level boot service.
Real Event Checklist¶
Use the full live checklist here:
Practical Advice¶
- Use
expo_hot_startas the default booth profile. - Install Chromium on the Pi if you want the strongest full-screen kiosk behavior.
- Keep one terminal open only for runtime control.
- Do not rely on editing configs during the event.
- Test the full flow on the exact Pi you will bring.
- If the UNO Q is attached, test the bridge separately before the event opens.
Where To Go Next¶
| If you want to... | Continue with |
|---|---|
| run the event checklist | Maker Faire Pi Checklist |
| add the UNO Q physical layer | Arduino UNO Q Setup |
| deploy the Pi remotely | Remote Deploy & Pi Connect |
| analyze results afterward | Study Analysis |
| recover from setup problems | Troubleshooting |