The ZAF++ Protocol
How AI Rewrote the Destiny of Our Lab
For the past two years, a specific piece of hardware has sat on my “destiny” list, vibrating with potential energy but lacking the kinetic spark to move.
It began with a collaboration with my colleague, Dr. Tracy Bell. We purchased the components for the Zebrafish Automated Feeder (ZAF+), an open-source marvel originally designed by the Dr. Loic A. Royer Lab at the Chan Zuckerberg Biohub. It is a brilliant “Level 2” clockwork mechanism based on a Raspberry Pi. But at the SAIL Team, we don’t just clone; we evolve. We envisioned the ZAF++: a next-generation system controlled not by a Pi, but by the powerhouse ASUS NUC 14 Pro running Debian Linux, capable of driving complex fluidics, measuring water quality, maintaining databases, and serving a rich, responsive user interface.
But for two years, the ZAF++ was grounded. Not by gravity, but by the friction of legacy software.
The False Path: The LabVIEW Trap
My initial strategy was traditional. I have a long history with National Instruments’ LabVIEW. It is the “Empire” standard for instrumentation. I spent months securing funding and navigating the bureaucratic maze to acquire an Academic Volume License for the university. I envisioned a robust Virtual Instrument (VI) controlling our new feeder.
Then, the entropy hit.
I discovered that LabVIEW for Linux has almost zero interface capability with Arduino sensors and controllers. I looked into running it on Windows, but in a strict University IT environment, Windows development is a minefield of policy restrictions and permissions. I then looked for the community toolkits I relied on years ago, only to find the “LINX” Arduino toolkit was deprecated in 2020. The JavaScript G Web Development Kit? Deprecated in 2022.
There was no path forward. The tool that was supposed to empower us had become a cage. The project stalled.
Enter the Architect: Gemini and Antigravity
About a week ago, I changed the rules of engagement. I abandoned the proprietary monoliths and turned to a new ally: Google’s Gemini, utilizing the Antigravity (Canvas) environment.
I decided to migrate the SAIL Team to what I call the COMPASS Stack: Coherent Orchestration of Microcontroller, Python, and Sensor Systems.
The goal was ambitious: A Debian NUC backend, a Python Flask API bridge, an Arduino Mega hardware controller, and a modern React JavaScript frontend. Two years ago, writing the thousands of lines of boilerplate code required to glue these languages together would have taken me weeks of uninterrupted time—time that, as a teaching faculty member, I simply do not have.
With Gemini Antigravity, it took hours.
The Force Multiplier
Working with Antigravity wasn’t like using a spell-checker; it was like having a seasoned Chief Engineer sitting in the co-pilot seat.
We started with a “System Overview”—a holistic document defining the flows of Energy (12V pumps, Relays), Material (Food, Water), and Information (Code, User-defined Feeding Parameters).
The Energy Layer: We generated the C++ firmware for the Arduino Mega to handle the precise timing of stepper motors and the “Rumble Pack” vibration motor I designed to keep the food fluid.
The Control Layer: We built a Python class to “drive” the Arduino over USB serial, wrapping it in a Flask web server to expose an API.
The Interface Layer: This was the crowning achievement. We generated a full React.js frontend.
In real-time, I described the need for a “Laboratory Mode” (fixed 1024x600 resolution for our 7” touchscreens) in addition to a responsive mobile mode. Antigravity didn’t just write the CSS; it understood the intent, creating large touch targets for lab use and a fluid grid for remote monitoring.
We even implemented a cinematic “Splash Screen”—a 21-second animation that plays upon boot, setting the tone for the student researchers using the instrument.
The Result: A Living System
Today, the ZAF++ is alive. I can sit at my Windows 11 “Architect Node,” push code to GitLab, and watch as my Debian “Field Node” in the lab pulls the update, flashes the Arduino, and brings the system online. The interface is slick, professional, and dark-moded (the “Engineering Aesthetic”).
What would have been a semester-long struggle for a student—fighting syntax errors and dependency hell—became a lesson in Systems Architecture.
The Future of SAIL
This experience has fundamentally changed how I will teach instrumentation. We are no longer limited by the learning curve of syntax. The barrier to entry for building complex, Level 4 Open Systems has been lowered effectively to zero.
I can now ask my students to focus on Choice and Purpose—what should we build, and why?—rather than getting bogged down in the how.
The ZAF++ is just the beginning. I have a massive backlog of collaborative measurement systems waiting in the wings. With this new stack and this new ally, we are finally cleared for launch.
Attribution: This article was developed through conversation with Google Gemini 3.0



