NucleoGrid: Energy-Aware Edge AI

A hardware-in-the-loop prototype exploring sustainable AI computing through adaptive workload management, embedded systems, and edge machine learning.

Inspiration

As artificial intelligence becomes increasingly integrated into modern technology, the energy demands of computing infrastructure are becoming an important environmental concern. AI data centers require substantial electricity to support computational workloads, and inefficient resource allocation can contribute to unnecessary energy consumption.

NucleoGrid began with a question:

What if AI computing workloads could dynamically adapt to changing energy availability, cooling constraints, and computational demand?

Inspired by nuclear energy systems, sustainable data center infrastructure, and embedded hardware development, NucleoGrid explores how software and physical hardware can work together to make computing systems more responsive to resource constraints.

Our objective is not simply to increase computational performance, but to investigate how computational resources can be managed more responsibly.

What It Does

NucleoGrid is a hardware-in-the-loop prototype that simulates energy-resource constraints and uses physical control inputs to explore adaptive machine learning workload management.

The system consists of two primary computing devices: a Raspberry Pi Pico W microcontroller and a Raspberry Pi 3 B+ edge-computing node.

The Pico W interfaces with a physical control panel containing three potentiometers, two switches, LEDs, and a digital temperature sensor.

Each input represents a different operating condition:

  • AI Demand: Controls the requested computational workload.
  • Reactor Setpoint: Simulates the amount of generation capacity available to the computing system.
  • Coolant Flow: Simulates cooling availability and its effect on allowable computational activity.
  • Auto Mode: Enables automatic workload allocation based on simulated operating constraints.
  • Grid Backup: Simulates supplemental energy capacity when primary generation is insufficient.

A bank of LEDs visualizes the approved computational allocation.

When Auto Mode is enabled, the microcontroller evaluates requested demand against simulated energy and cooling constraints, then reduces the approved workload if necessary.

NucleoGrid also incorporates a Raspberry Pi 3 B+ that executes real machine learning inference using scikit-learn.

A Python communication bridge transfers physical control-panel readings through a Windows laptop to the Raspberry Pi using USB serial communication and HTTP requests.

The Raspberry Pi adjusts its inference frequency in response to the transmitted demand settings while reporting live performance metrics, including:

  • Target inference throughput
  • Actual inference throughput
  • Prediction latency
  • CPU temperature

This creates an experimental environment for observing how physical inputs can influence real computational activity.

NucleoGrid is a simulation and research prototype, not a functioning nuclear reactor or power-generation system.

How We Built It

Hardware Development

The physical control panel was constructed using a Raspberry Pi Pico W, breadboards, three potentiometers, two switches, nine external LEDs, and a DS18B20 temperature sensor.

The Pico W uses MicroPython to read analog input values, monitor switch states, collect temperature measurements, and provide visual feedback.

A rule-based allocation algorithm calculates available simulated capacity and determines whether the requested computational workload should be approved or throttled.

The LED bar graph reflects the resulting compute allocation.

Edge Computing and Machine Learning

A Raspberry Pi 3 B+ serves as the edge-computing node.

We configured the device with 64-bit Raspberry Pi OS and Python, established SSH access, and deployed a lightweight random forest classifier using scikit-learn.

The classifier operates on synthetic example data and provides a repeatable inference workload for benchmarking and testing computational control policies.

We developed a Python workload controller that dynamically adjusts the rate of model predictions according to incoming control instructions.

The controller reports real-time inference telemetry, allowing us to compare requested and achieved computational throughput.

Hardware-Software Communication

One of the most significant development milestones was establishing communication between the physical control panel and the edge-computing node.

The system uses the following pipeline:

Pico W → USB serial → Windows Python bridge → HTTP → Raspberry Pi 3 B+ → ML inference

The laptop reads the Pico W's serial output using PySerial, interprets the control values, and forwards workload instructions to a lightweight HTTP server running on the Raspberry Pi.

The Raspberry Pi then adjusts its inference frequency without requiring the ML workload to restart.

Experimental RNN Development

We also developed and tested a lightweight recurrent neural network using PyTorch.

The experimental RNN uses an embedding layer, recurrent layer, and fully connected classification layer to classify synthetic text descriptions of computational demand.

The model contains 2,114 parameters and successfully completed training and inference testing on a Windows laptop.

This model serves as an additional proof of concept for exploring different ML architectures. It has not yet been deployed to the Raspberry Pi edge-computing node.

Results

NucleoGrid successfully demonstrated live control of machine learning inference throughput on the Raspberry Pi 3 B+.

During testing, we observed the following representative steady-state results:

Requested AI Demand Target Throughput Actual Throughput
8% 3.4 predictions/s 3.5 predictions/s
43% 9.7 predictions/s 9.7 predictions/s
87% 17.7 predictions/s 17.7 predictions/s
100% 20.0 predictions/s 19.9 predictions/s

These results demonstrate that the inference controller can adjust computational activity in response to changing workload instructions received from the hardware control system.

The physical controller also demonstrated simulated resource allocation and throttling. For example, at 100% requested AI demand and approximately 71% simulated available capacity, enabling Auto Mode reduced the approved allocation to approximately 71%.

The Raspberry Pi recorded CPU temperatures of approximately 54–56°C during portions of the live tests.

These results demonstrate functional workload control, not verified electrical energy savings. Direct power measurements and comparisons of energy per inference are necessary to establish actual energy-efficiency improvements.

Challenges We Ran Into

One of our largest challenges was integrating multiple hardware and software environments within the limited timeframe of a hackathon.

We encountered issues involving Raspberry Pi power delivery, Micro-USB cables, operating system configuration, local network discovery, SSH access, and wireless connectivity.

Establishing a reliable connection between the Raspberry Pi Pico W and Raspberry Pi 3 B+ required additional work because the devices operated in different environments.

Another challenge was deploying machine learning on resource-constrained hardware.

The Raspberry Pi 3 B+ has approximately 1 GB of RAM, making larger models and certain deep learning frameworks less practical for rapid deployment.

We addressed this by using scikit-learn to establish a functional edge-inference workload and separately developing a lightweight RNN using PyTorch.

We also encountered challenges parsing serial data from the control panel and maintaining reliable communication through the Python bridge.

Ultimately, these issues emphasized the importance of robust hardware-software integration, particularly in systems intended to respond dynamically to physical conditions.

Accomplishments We're Proud Of

We are especially proud of transforming a physical embedded-systems prototype into a platform capable of influencing real machine learning computation.

Our accomplishments include:

  • Building a functioning physical control panel with potentiometers, switches, LED feedback, and temperature sensing.
  • Implementing simulated energy-resource constraints and automatic workload throttling.
  • Configuring a Raspberry Pi 3 B+ for local machine learning inference.
  • Establishing wireless SSH access and inter-device communication.
  • Developing a communication bridge between the Pico W and Raspberry Pi.
  • Demonstrating live, demand-responsive inference throughput.
  • Recording inference latency, throughput, and processor temperature.
  • Training and testing a lightweight experimental RNN using PyTorch.

These achievements establish a foundation for further experimentation at the intersection of embedded hardware, energy systems, and sustainable AI computing.

What We Learned

NucleoGrid reinforced that sustainable computing requires considering the interaction between hardware, software, computational demand, and physical operating constraints.

We learned that even relatively simple machine learning models can be used to investigate workload-management policies on resource-constrained devices.

We also gained practical experience with MicroPython, Linux, SSH, serial communication, HTTP-based device communication, and real-time performance monitoring.

An important lesson was distinguishing between reducing computational throughput and demonstrating improved energy efficiency.

Although throttling can reduce the frequency of inference operations, determining whether this reduces energy consumption per useful task requires direct electrical measurements and additional experiments.

This distinction is central to NucleoGrid's research direction.

What's Next?

Our goal is to develop NucleoGrid into a more comprehensive experimental platform for sustainable computing research.

Direct power measurement

Integrate current and voltage sensors to collect real electrical power-consumption data and evaluate energy per inference.

Improved adaptive scheduling

Expand the resource-allocation system so that simulated generation availability, cooling constraints, and backup capacity directly determine the inference workload executed on the computing node.

Additional ML architectures

Deploy and benchmark lightweight recurrent neural networks and optimized transformer-based models to investigate how workload characteristics affect performance and resource consumption.

Real-time monitoring dashboard

Develop an interactive dashboard visualizing workload demand, approved compute allocation, CPU temperature, latency, throughput, and measured power consumption.

Sustainable data center simulation

Extend the prototype to study workload allocation under changing electricity availability, thermal constraints, and computational demand, with applications to sustainable AI infrastructure.

Built With

Python, MicroPython, PyTorch, scikit-learn, NumPy, PySerial, Raspberry Pi OS, Linux, Raspberry Pi Pico W, Raspberry Pi 3 B+, DS18B20 temperature sensor, potentiometers, switches, LEDs, USB serial, HTTP, and SSH.

Our Vision

NucleoGrid explores how hardware-aware computing systems could respond more intelligently to changing physical and environmental constraints.

By combining embedded electronics, edge machine learning, and simulated energy management, the project provides an accessible foundation for researching adaptive computational workloads.

The future of sustainable computing isn't just about doing more computation. It's about understanding how to deliver useful computation with greater awareness of the resources required to support it.

Built With

Share this project:

Updates

Submission history