Inspiration

Our inspiration was to improve something already established and credible, well-known for sustainability. We believe we can foster more change this way, because people are more likely to try something they’ve been around more. Our end goal is to market this product to the government, solar farm companies, and everyday people, so solar energy can be as widespread as possible. Although it sounds nice to go above and beyond with some crazy new form of energy generation or efficiency, it might be better to create real, measurable impact by improving what we have now.

What it does

Afterglow gives every used panel a passport: a page holding its measured performance, reachable by scanning a QR code on the panel. From there:

  • The bench: an Arduino Uno measures four panels at once under the same light and grades them against each other. Relays then switch between the three ways to pair four panels, and the bench sweeps each pairing's power curve to keep the best one.
  • Array Builder: combine mismatched used panels into one array and see what the combination produces.
  • Second Use: pick a panel and see which loads it can still run, computed in the browser from its passport, or ask an AI agent in plain words. The agent reads the passport, checks the physics with its own tools, and shows each step it took.
  • Scorecard: how the agent did across our 212 test cases.
  • Impact page: who gains from reused panels (businesses, households and governments), with a section on what governments can do to support panel reuse.
  • Dashboard: the laptop screen for the bench, showing the grades, the power curves and the measured gain live over USB.

How we built it

The bench. An Arduino Uno with INA219 current sensors on each panel and on the combined output, relay boards to switch the pairings, and a capacitor that sweeps each pairing's current–voltage curve. The firmware is C++ (PlatformIO) and sends one JSON message per line over USB serial.

Grading. Every panel's short-circuit current \(I_{sc}\) is read at the same instant, so each score is relative and the light level cancels out. A score of 90 or more is grade A, 75 to 90 is B, and under 75 is C.

$$\text{score}_i = 100 \cdot \frac{I_{sc,i}}{\max_j I_{sc,j}}$$

Pairing. In a series string every panel carries the same current, so the weakest panel limits the string. With two strings in parallel, the bench pairs panels of similar current, then verifies the choice by measuring each pairing's maximum power point and fill factor.

$$P_{array} \approx V \cdot \left( \min(I_1, I_2) + \min(I_3, I_4) \right)$$

$$FF = \frac{P_{max}}{I_{sc} \cdot V_{oc}}$$

The panel model. One single-diode solar panel model, written once in Python and once in JavaScript, so the bench, the site, the Array Builder and the agent's eval all use the same physics.

$$I = I_{ph} - I_0 \left( e^{\frac{V + I R_s}{n V_t}} - 1 \right) - \frac{V + I R_s}{R_{sh}}$$

Dashboard and site. Plain HTML, CSS and JavaScript with no build step and no frameworks, so everything runs offline at the demo table. The site is hosted on GitHub Pages, with hand-drawn SVG charts and animations and a QR code on every passport page.

The agent on Chalk. An OpenAI model through Chalk's Model Gateway, with two tools: read a panel's passport, and check whether it can run a device. The tools run in a Chalk sandbox, and the model never decides the verdict itself; the physics tool does. A panel can run a device when its usable energy for the day, with 65% system efficiency, covers what the device needs.

$$P_{max} \cdot h_{sun} \cdot 0.65 \geq P_{device} \cdot h_{use}$$

The eval. 212 plain-language requests, each pairing a panel with a site's daily sun, with the right answers computed from the physics. We compared the agent against a plain chatbot and against our first prototype's rule of thumb \(P_{device} \leq V_{oc} \cdot I_{sc}\).

Challenges we ran into

  • Light. Indoor lamps couldn't light the panels enough, and halogen lamps heated them before they lit them, so real runs need the sun.
  • Hardware. Our ESP32 turned out to be a bare module with no USB, so we wrote a second firmware build for an Arduino Uno with only 2 KB of memory.
  • Mismatch. Because the weakest panel limits a series string, panels have to be paired by measurement, not by their labels.
  • The gateway. It refused requests until each one stated an output limit, refused the agent's follow-up turns until we stopped sending the model's internal reasoning back, and one key ran out of token budget during the eval runs.

Accomplishments that we're proud of

  • The agent is accurate. Across 212 requests it was right 99.5% of the time and never said a panel could run a device when it couldn't. A plain chatbot given the same numbers was right 94% of the time on the requests it answered, and our first prototype's rule got 62.7%.
  • No lab needed. Grading panels against each other under the same light cancels out the light level, so no calibrated lamp is needed: tens of dollars of electronics instead of a lab test that costs about $17–34 per panel.
  • It works offline, and anyone can scan a printed passport card.

What we learned

  • Tools beat instructions. An agent is only as trustworthy as the tools that decide for it. Giving the model a physics tool removed its wrong "yes" answers.
  • Measure, don't assume. With two panels at half output, the best pairing gives about 38–41% more power than the worst; with realistic aging (panels at 80%) the gain is about 5–7%. We report which is which.
  • Build in slices. Building the smallest end-to-end slice first, with a mock bench that speaks the real protocol, let the dashboard and site be finished before the hardware was.

What's next for Afterglow

Within the next week:

  1. Run the bench outdoors on our four panels and publish the measured gain with its confidence interval.

  2. Grade a batch of used panels, then measure each one’s true maximum power under known light, and confirm if the bench ranks them the same way.

Longer Term Goals (3 - 9 months):

  1. Scale to full-size panels. Rooftop panels run at 30–50 V and 8–10 A, beyond our 26 V sensors and our capacitor sweep.

  2. Start with recreational users. Hobbyists, campers, and homeowners with sheds or gardens use small, low-voltage panels our bench already handles.

  3. Move to commercial, then government. Once full-size grading works, recyclers, used-panel resellers, and businesses can buy on cost savings. Government buyers come after that, since public purchasing usually needs certified equipment and a track record.

Built With

Share this project:

Updates

Submission history