The production-grade, MIT-licensed Piso-WiFi operating system. Built with Next.js, Linux nftables kernel routing, ESP32 satellite coinslots, and free Supabase multi-branch fleet control.
curl -fsSL https://raw.githubusercontent.com/haliknihudas666/open-piso-wifi/main/scripts/install.sh | sudo bashβ Auto-configures GPIO coinslot β’ Installs systemd daemons β’ Generates local sqlite DB & JWT keys
Choose the exact architecture that fits your existing hardware. No required proprietary boards.
Industrial standard: Any gigabit OpenWrt router (tested and verified on Ruijie RG-EW1200G Pro) paired with a Raspberry Pi 3/4/5.
Gigabit hardware NAT offloading handles 100+ simultaneous bandwidth-heavy users with 0% CPU strain on the Pi.
If the Pi reboots, already-authorized Wi-Fi clients remain connected with uninterrupted internet access.
# From Raspberry Pi terminal: bash scripts/deploy-router.sh \ --router-ip 192.168.1.1 \ --portal-ip 192.168.1.240Injects non-destructive nftables firewall rules, alias IP 10.0.0.1, dnsmasq domain wifi.local, and Dropbear SSH keys.
Zero monthly subscription fees. Leverage Supabase's free tier for cloud telemetry and Telegram bots for instant revenue pings.
supabase/schema.sqlFrom microsecond GPIO polling to high-converting UI components.
Direct OpenWrt Linux kernel packet filtering with native sets and atomic expiration timers. Zero slow cron scripts or polling loops.
Software pulse-train aggregation (300ms window) accurately distinguishes β±1, β±5, β±10, and β±20 coins on standard selectors.
Instant automatic login popups on Apple iOS/macOS (hotspot-detect.html), Android (gen_204), and Windows NCSI.
Generate and print batch voucher codes formatted specifically for 58mm and 80mm ESC/POS thermal receipt printers or A4 paper.
Configure COIN and INHIBIT pins via an interactive 40-pin header diagram in the admin dashboard with reserved pin safety warnings.
1-Click upgrades pull git releases in under 5 seconds while keeping customer sessions, revenue records, and Wi-Fi credentials intact.
Why operators and DIY builders are moving away from closed-source legacy solutions.
| CAPABILITY / FEATURE | β‘ OpenPisoWiFi | JuanFi (Legacy) | LPB / Ado (Proprietary) |
|---|---|---|---|
| Software License & Pricing | 100% Free & Open-Source (MIT) | Free but Abandoned / Unmaintained | Paid per-machine license fee |
| Packet Filtering Engine | Linux nftables (Atomic Sets) | Legacy iptables chains | iptables / Proprietary daemon |
| Deployment Architectures | 3 Builds (Pi+Router, Standalone Pi, ESP32) | OpenWrt Router only | Proprietary OrangePi / Pi image only |
| Multi-Coinslot Satellites | ESP32 Direct LAN (<25ms) | Limited / Custom wiring | Proprietary NodeMCU firmware |
| Cloud Fleet Telemetry | Free Supabase + Telegram Bot | None (Local storage only) | Proprietary cloud subscription |
| Captive Portal Stack | Next.js 16 + Tailwind | PHP 5 / Legacy HTML | Encrypted PHP / Node |
| Offline Survivability | 100% (Local SQLite + LAN tokens) | 100% | Partial (License verification checks) |
From cloning the code to electrical wiring and testing. Build a commercial-grade kiosk with affordable, off-the-shelf components. Zero proprietary hardware lock-in.
The roadmap and materials below dynamically adjust based on your selected setup:
Clone the repo to your Raspberry Pi or Debian/Ubuntu machine and execute the 1-click automated setup script.
git clone https://github.com/haliknihudas666/open-piso-wifi.git
sudo bash scripts/install.shFlash OpenWrt on your Ruijie EW1200G Pro, then run our automated router provisioning script from the Pi.
bash scripts/deploy-router.sh --router-ip 192.168.1.1 --portal-ip 192.168.1.240Wire 12V coinslot to PSU. Connect pulse signal via 10kΞ© inline resistor to Pi GPIO 2 (Pin 3) and inhibit gate to GPIO 3 (Pin 5). No optocoupler needed.
GPIO 2 (Pin 3) = Pulse
GPIO 3 (Pin 5) = InhibitOpen the admin portal, insert test coins, and verify instant token generation and gigabit hardware offloading.
http://192.168.1.240:3000/adminVerified standard components. Click the orange badges to view direct listings on Shopee.
Microsecond interrupt pulse aggregator. Any 30 or 38-pin variant, Type-C or Micro-USB, CP2102 or CH340 works flawlessly!
Tested on Ruijie RG-EW1200G Pro (compatible with any OpenWrt gigabit router). Full Gigabit WAN + 3 Gigabit LAN ports, Dual-Band AC1200 Wi-Fi. Supports 100+ concurrent clients with OpenWrt 25.12.5.
Intelligent multi-coin recognition pre-programmed for β±1, β±5, β±10, and β±20 coins (old and new BSP series) with anti-stringing optical sensors.
12V 5A / 10A CCTV-grade switching power supply with perforated metal casing. Powers router, coin acceptor, and SBC simultaneously from a single wall plug.
Spring lever wire clamps. No soldering or electrical tape required! Enables clean power splitting, secure connections, and instant swapping.
LM2596 / XL4015 DC-DC Buck converter steps down 12V to 5V 3A for Pi / ESP32. A 10kΞ© series resistor inline on the white coin wire safely limits pulse current (no optocoupler required).
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β‘ CENTRALIZED 12V 5A/10A POWER SUPPLY β
β [ L ] [ N ] [ EARTH ] β [ +V (+12V DC) ] [ COM (Ground / GND) ] β
βββββββ¬ββββ¬βββββββ¬βββββββββββ΄βββββββββββ¬ββββββββββββββββββββββββββββββ¬ββββββββββββββββββββ
β β β β β
220V AC MAINS βΌ βΌ
βββββββββββββββββββββββ βββββββββββββββββββββββ
β QUICK TERMINAL +12V β β QUICK TERMINAL GND β
β (Lever Block 1) β β (Lever Block 2) β
ββββ¬βββββββββ¬ββββββββ¬ββ ββββ¬βββββββββ¬ββββββββ¬ββ
β β β β β β
ββββββββββββββββββββββββ β ββββββββββββββΌβββββββββΌββββββββΌβββββββββ
β β β β β β
βΌ (+12V) βΌ (+12V) βΌ (GND) β βΌ (GND) β
βββββββββββββββββ βββββββββββββββββββ βββββββββββββββββ β ββββββββββββ β
β RUIJIE ROUTER β β ALLAN / WEIYU β β BUCK 12V->5V β β β COMMON β β
β 12V DC JACK β β COINSLOT β β DC CONVERTER β β β GROUND β β
β (+) Center Pinβ β Red Wire (+12V) β β IN+ / IN- ββββ β BUS β β
β (-) Outer Ringββββββββββββββββ€ Black Wire (GND)β βββββββββ¬ββββββββ ββββββ¬ββββββ β
βββββββββββββββββ β β β (5V Power) β β
β White (COIN)βββ β β Direct β β
β Gray (INHIBIT)βΌββ βΌ β β
βββββββββββββββββββ βββββββββββββ β β
ββ β 5V DC OUT β β β
ββ β USB-C/PIN2β β β
ββββββββββββββββββΌβ βββββββ¬ββββββ β β
β β β β β
β ββββββββββββββββΌββββ β β β
β β 10kΞ© RESISTOR β β β β
β β [== 10k OHM ==] β β β β
β ββββββββββββββββ¬ββββ β β β
β β β β β
βΌ (Direct) βΌ (Pulse) βΌ (5V Power) βΌ (GND) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ΄ββ
β π RASPBERRY PI 3B+/4B/5 OR ποΈ ESP32 DEVKIT CONTROLLER β
β β
β β’ Power IN: 5V (Direct from Buck Converter OUT+) + GND (Pin 6 Common Ground) β
β β’ GPIO 2 (Physical Pin 3) OR ESP32 GPIO 18 βββ VIA 10kΞ© RESISTOR (Coin Pulse) β
β β’ GPIO 3 (Physical Pin 5) OR ESP32 GPIO 19 βββ DIRECT WIRE (Inhibit / Coin Lock) β
β β’ Gigabit eth0 (Static 192.168.1.240) ββββββββββββΊ Ruijie Router LAN 1 Port β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ| COLOR | FUNCTION | DESTINATION |
|---|---|---|
| π΄ Red | +12V DC Power | Quick Terminal Block (+12V from Centralized PSU) |
| β« Black | Ground (GND) | Quick Terminal Block (COM/GND from Centralized PSU) |
| βͺ White | Coin Pulse Signal | 10kΞ© Resistor β GPIO 2 (Pin 3) or ESP32 GPIO 18 |
| π Gray | Inhibit Gate Line | Relay / GPIO 3 (Pin 5) or ESP32 GPIO 19 (Blocks insertion) |
OpenPisoWiFi is built to eliminate proprietary vendor locks. We actively invite developers, hobbyists, and operators to test on new single-board computers, port alternative OpenWrt routers, and integrate specialized vending hardware.
While Raspberry Pi 3B+/4B/5 is our primary target, our lightweight Linux daemon and Next.js portal can run on virtually any ARM or x86 board.
Raspberry Pi 3B+, 4B, 5 (Debian 12 Bookworm, DietPi, Ubuntu Server)
Got an Orange Pi or thin client sitting on your shelf? Help test GPIO interrupt latency and systemd installation!
Build 1 uses OpenWrt router offloading for high concurrency. We welcome router configuration profiles and image builders for popular budget gear.
Ruijie Reyee EW1200G Pro (OpenWrt 25.12.5 dual-band Gigabit)
Have another OpenWrt-compatible router? Help us create and verify automated UCI provisioning scripts.
Beyond standard Philippine multi-coin slots, we are expanding support to paper bill validators, automated coin hoppers, and custom pulse devices.
Allan & Weiyu Universal multi-coinslots (1, 5, 10, 20 PHP pulses)
Building a bill-acceptor kiosk or specialized vending setup? Help us calibrate pulse timing and state handling.
No contribution is too small. From documenting a test on your own SBC to writing drivers or fixing typos, every PR matters.
Flash OpenPisoWiFi on your hardware. Report CPU load, pulse accuracy, or temperature in a GitHub issue.
Submit pull requests with GPIO pin mappings, router firewall scripts, or bill acceptor serial drivers.
Enhance the customer captive portal themes, add localization (Tagalog, Cebuano, Ilocano), or optimize performance.
Share your 3D-printed kiosk models, laser-cut acrylic box STLs, and wiring schematics with fellow builders.
Run this single command on a clean Raspberry Pi OS or Ubuntu/Debian Linux installation:
curl -fsSL https://raw.githubusercontent.com/haliknihudas666/open-piso-wifi/main/scripts/install.sh | sudo bashEverything you need to know about setting up and running OpenPisoWiFi.
Yes. OpenPisoWiFi is published under the open-source MIT License. You own 100% of your vending revenue. There are no license activation fees, no per-machine fees, and no recurring subscriptions.
No! Coin detection, Inhibit unlock, customer session tracking, and kernel firewall authorization happen entirely over the local LAN with <25ms latency. If your ISP modem loses connection, clients can still insert coins and receive their allotted local time immediately.
Yes! With Build 2 (Universal Standalone Pi Gateway), the Raspberry Pi performs the routing, NAT, and captive paywall itself. You can connect any standard off-the-shelf home router (TP-Link, Tenda, Mercusys) in standard Access Point mode using a USB-to-LAN gigabit adapter.
Each machine can optionally sync telemetry (daily sales, coin collections, system health) to your free Supabase PostgreSQL database. You can view all your machines in a unified web portal or receive instant push notifications via Telegram Bot.
Yes, absolutely! OpenPisoWiFi is 100% community-driven and vendor-neutral. We actively welcome contributions and community testers for alternative Single Board Computers (Orange Pi, Banana Pi, x86 thin clients / mini PCs), alternative OpenWrt routers (TP-Link, GL.iNet, Mikrotik), and specialized vending hardware (ICT paper bill acceptors, coin hoppers, and custom pulse sensors). Check out our Contribution & Hardware section or jump straight into our GitHub repository!