Brain Labs: Cloud-Enabled Physical Learning
Tech Stack & Tools
Inspiration 🧠
As student researchers, we're inspired by recent advances in decentralized physics-driven learning research. We believe systems that can carry out computations and learning directly on a physical circuit instead of relying on massive GPU clusters holds the key to a sustainable AI future. Our goal is to democratize this technology through an accessible cloud platform, making it available to anyone interested in this emerging field.
We took inspiration from the work of Dillavou et al. (Demonstration of Decentralized Physics-Driven Learning, Phys. Rev. Applied, 2022), which showed the possibility of in-situ physical-learning with coupled learning.
What It Does ⚡
Brain Labs is a fully-functional physical learning system connected to a cloud platform:
- A physical, self-adjusting resistor network acts as the equivalent of a neural network
- Learning happens locally by adjusting resistance values via digital potentiometers
- A user-friendly cloud platform that allows users to upload datasets, train models, and conduct inference on our physical learning network based on their data, similar to a GPU cloud
How We Built It 🛠️
Brain Labs uses a twin-edge network: one network for the free state, and another for the clamped state. This implementation allows us to apply contrastive learning in real physical systems by comparing how the circuit behaves under two boundary conditions.
Each edge contains:
- A pair of digital potentiometers (for the free and clamped states)
- Comparators
- XOR gates
All updates happen without centralized control, driven by a simple global clock.
The system is orchestrated by:
- Arduino for interfacing and control
- PySerial for low-level communication
- Flask and Vite for a clean frontend/backend separation
- Ngrok for remote accessibility
- Firebase (optional) for user authentication and experiment logging
Challenges We Encountered ⚙️
One challenge that we encountered was that we had to work with inconsistent components. Since we had a limited supply of comparators and had to build a network with four resistor edges, each of which uses a comparator, we had to compensate by using different types of comparators each with a different pinout configuration. This made it difficult to test for errors, especially when working with a fully-integrated network.
Additionally, we had to build out an additional Digital to Analog Converter (DAC) circuit since we didn’t have access to an Arduino DUE, which has an inbuilt DAC system.
Achievements We’re Proud Of 🥇
- We are the first people to implement a fully decentralized, physics driven learning network on a cloud platform that allows anyone from anywhere to use
- We built a physical learning network of four self-adjusting resistor edges that is able to learn without a processor
- We built a web interface that allows non-experts to upload datasets, configure experiments, and visualize learning outcomes.
Insights 💡
The project reaffirmed the potential of physical learning networks to be a viable and scalable solution to the growing demands of artificial intelligence.
What’s Next 🚀
We're currently working towards:
- Extending Brain Labs to perform more complex machine learning tasks such as multi-class classification and regression.
- Shifting Brain Labs from breadboard implementation to custom PCB and ultimately IC implementation for increased scalability.
We envision BrainLabs as the foundation for next-generation neuromorphic hardware that is scalable, sustainable, and elegantly simple.
Interested? Curious?
Check out our full repository, circuit diagrams, and source code to start experimenting with real, physical machine learning.
Built With
- ad3
- arduino
- firebase
- flask
- jupyter
- ngrok
- pyserial
- python
- tailwindcss
- typescript
- vercel
- vite
- waveforms


Log in or sign up for Devpost to join the conversation.