ARCADEX CENTRAL

Connecting...
Total Revenue
$0.00
Games Played
0
Credits Sold
0
Active Kiosks
0

Recent Transactions

No transactions yet

All Kiosks

Kiosk IDNameBalanceGames PlayedCredits EarnedStatusLast SeenActions
No kiosks registered

Push Update to Kiosks

Push the latest game code to all or selected Raspberry Pi kiosks. Each kiosk also auto-checks for updates every hour.

Ready to deploy. Select target and click "Push Update Now".

Update Status

KioskCurrent VersionLast UpdatedStatus
No update history

Remote Install to a Raspberry Pi

Enter the Pi's IP address and a name. We'll generate a custom installer with the kiosk ID pre-configured.

Ready. Enter Pi details above.

Or Run Manually on the Pi

SSH into the Pi and run:

wget https://arcado.ai/Arcado-latest.zip && unzip Arcado-latest.zip && cd Arcado && bash setup.sh && bash start.sh

This auto-detects the Pi's hostname as the kiosk ID.

What Gets Installed

Arcado game server (12 games)
Desktop icon — click to launch
Auto-start on boot (systemd service)
Fullscreen kiosk mode (Chromium)
Auto-hide mouse cursor
Hand & face tracking (MediaPipe)
Hourly auto-updates from GitHub
Unique Kiosk ID auto-generated
Stripe payment via QR code

Manual Setup

If you prefer to set up manually:

git clone https://github.com/fr1-ai/arcado.git ~/Downloads/Arcado cd ~/Downloads/Arcado pip3 install mediapipe opencv-python-headless websockets python3 run.py

How to Use

SSH into the Pi (or open a terminal on it) and run any command below. Click the pink COPY button on the right of each command. Project lives in ~/Arcado.

First Install (fresh Pi)

Run on a freshly flashed Pi (Bookworm Legacy 64-bit with Desktop). Downloads, extracts, installs MediaPipe, sets up auto-launch, and creates the desktop icon. Takes ~3-5 min.
One-line installcd ~ && wget https://arcado.ai/Arcado-latest.zip && unzip Arcado-latest.zip && cd Arcado && bash setup.sh
Then start the kiosk manuallybash ~/Arcado/kiosk.sh

Update / Reinstall

Pull the latest version from arcado.ai without re-running setup.
Refresh game files only (fast — no apt/pip)cd ~ && wget -O Arcado-latest.zip https://arcado.ai/Arcado-latest.zip && unzip -o Arcado-latest.zip
Restart kiosk after refreshpkill -f "python.*run.py"; pkill -f chromium; bash ~/Arcado/kiosk.sh &
Full reinstall (re-runs setup.sh)cd ~ && rm -rf Arcado-latest.zip Arcado && wget https://arcado.ai/Arcado-latest.zip && unzip Arcado-latest.zip && cd Arcado && bash setup.sh

System Sanity Check

Run these first when something isn't right. Confirms you're on the correct OS & Python.
Show OS, Python, architecturecat /etc/os-release | head -2 && python3 --version && uname -m
Verify MediaPipe is installed (should print versions)python3 -c "import mediapipe, cv2, websockets; print('mediapipe', mediapipe.__version__, '/ cv2', cv2.__version__)"
Reinstall MediaPipe if import failspip3 install --break-system-packages --upgrade pip && pip3 install --break-system-packages --upgrade mediapipe opencv-python-headless websockets

Camera

Check the USB camera is detected and capture works.
List USB cameraslsusb | grep -i cam
List /dev/video* devicesls /dev/video* && v4l2-ctl --list-devices
Capture one frame from camerapython3 -c "import cv2; c=cv2.VideoCapture(0); r,f=c.read(); print('OK' if r else 'FAIL'); c.release()"
Is the tracker WebSocket listening on port 8765?ss -tlnp | grep 8765

Arcado Process

Check if the kiosk is running. Restart it. Run in foreground for full error output.
Is run.py running?pgrep -af "python.*run.py"
Is Chromium kiosk running?pgrep -af chromium
Kill everything and restart the kioskpkill -f kiosk.sh; pkill -f "python.*run.py"; pkill -f chromium; sleep 1; bash ~/Arcado/kiosk.sh &
Kill kiosk WITHOUT restarting (for debugging)pkill -f kiosk.sh; pkill -f "python.*run.py"; pkill -f chromium
Run server in foreground (full error output, Ctrl+C to stop)cd ~/Arcado && python3 run.py
Test launcher HTTP servercurl -s http://localhost:8080 | head -20

Keyring Popup

If "Unlock keyring" or "Choose password for keyring" appears at boot.
Purge keyring + rebootkillall gnome-keyring-daemon 2>/dev/null; sudo apt-get purge -y gnome-keyring libpam-gnome-keyring seahorse; rm -rf ~/.local/share/keyrings; sudo reboot

Network & Config

Pi IP, central server connectivity, and current kiosk identity.
Show Pi IP addresshostname -I
Test arcado.aicurl -sI https://arcado.ai | head -1
Show this kiosk's .env (kiosk ID, central URL)cat ~/Arcado/.env
Regenerate .env from hardware serial + restart kioskPI_NAME=$(hostname) && PI_SERIAL=$(grep -m1 "^Serial" /proc/cpuinfo | awk '{print $3}') && HW_HASH=$(echo -n "$PI_SERIAL" | sha256sum | cut -c1-12) && printf "CENTRAL_SERVER_URL=https://arcado.ai\nKIOSK_ID=kiosk-$HW_HASH\nKIOSK_NAME=$PI_NAME\n" > ~/Arcado/.env && cat ~/Arcado/.env && pkill -f kiosk.sh; pkill -f "python.*run.py"; pkill -f chromium; sleep 1; bash ~/Arcado/kiosk.sh &

Display / Fonts

If emoji icons aren't rendering on the launcher.
Check if emoji font is installedfc-list | grep -i "noto color emoji"
Reinstall emoji font + refresh cachesudo apt-get install -y fonts-noto-color-emoji && fc-cache -f
Force Chromium fullscreenxdotool key F11

System Info

When you need to report a problem.
Full system snapshotuname -a && cat /etc/os-release | head -3 && free -h && df -h /
Pi CPU temperaturevcgencmd measure_temp

Scratch — Temp Commands

Ad-hoc diagnostic commands from current conversations. Cleared when issues are resolved.
(empty)# add new commands here as needed

Shared Scratchpad

Paste anything here (logs, errors, notes). Auto-saves to the cloud and syncs across all your laptops. Refresh to load latest.