The final year project was self-proposed. The idea came directly out of the CDO2 placement year — time spent in a company working on embedded systems for energy applications gave enough context to see a gap worth addressing.
The UK government had identified solar energy as a priority technology. Much of the research effort in PV has gone into improving cell efficiency — new materials, better fabrication. Less attention has gone to the electronics that manage existing installations. Hotspot formation is a known failure mode that degrades and can permanently damage panels, and the existing mitigations are imperfect. A low-cost embedded approach to detection and switching seemed both technically feasible and practically useful.
Dr Radu Sporea, a semiconductor specialist at Surrey, agreed to supervise.
A solar panel is a string of cells connected in series. When one cell is partially shaded, it generates less current than the rest of the string. The unshaded cells continue to drive current through the shaded one, which is now operating in reverse bias. The shaded cell dissipates power as heat.
If the temperature rises far enough — and it can do so within 25 seconds of shading — the cell sustains permanent damage in the form of microcracks. A microcracked cell degrades the performance of the entire string indefinitely.
The standard mitigation, a bypass diode, provides an alternate current path when a shading condition occurs. It reduces but doesn't eliminate the problem, and it makes detection harder by masking the fault signal.
The detection method was current-based. The string current is monitored continuously. When a shading event occurs, there is a measurable drop in current as the shaded cell reduces the string's output. Taking the derivative of the current over time (dI/dt) produces a sharp spike at the moment shading begins.
The significance: dI/dt responds immediately to the onset of shading, before any temperature rise has begun. A threshold on the derivative gives a detection window of several seconds before damage would occur. The Hotspot Detection Index (HDI) approach from published literature was implemented and calibrated against live data.
A key distinction from random current fluctuations: genuine shading produces a sustained drop of more than 50% of the string's previous steady-state current, maintained for more than 20 seconds. Momentary noise produces neither the magnitude nor the duration.
String current over a 65-minute session. Shading introduced at the 23-minute mark. The step change is the detection event.
dI/dt plot for the same session. The spike at the shading event is the signal used by the detection algorithm.
Zoomed view showing the current drop at the shading event. Current fell to approximately 50% of the steady-state value.
Once a hotspot condition is detected, the affected panel needs to be isolated from the string. Two switching approaches were tested:
Relay circuit: provides a parallel current path when activated. The relay works, but a single relay per panel leaves the panel partially connected: some current continues to flow through the shaded module. Not a full disconnection.
MOSFET circuit: a PMOS in series with the panel (normally on) and an NMOS in parallel (normally off). On detection, both gates receive the same GPIO signal simultaneously: the PMOS opens the series path, the NMOS closes the bypass. This gives a more complete disconnection. Leakage currents below 100mA were measured. Better than the relay approach, but not perfect. Components tested included variants from Infineon, ON Semiconductor, and STMicroelectronics across both channel types.
Control board v1: SAMD21 MCU with external crystal, RFM95W LoRa module at 868MHz, LiPo battery charging circuit, USB and battery power switching, three voltage regulation stages, terminal blocks for interchangeable switching circuit modules. 2-layer board, 65×55mm, manufactured at JLCPCB.
The MCU arrived as a bare chip with no bootloader. The Arduino MKR WAN 1310 bootloader was compiled and flashed using a SEGGER J-Link over SWD pins exposed on the board. Setting up the device tree, generating the .bin file, and getting the J-Link to recognise the chip each had their own failure modes.
A manufacturing fault on the first batch left half the boards without a copper fill — visible when you hold the PCB up to a light and can see through it. Caught on continuity test before power was applied. Components were transferred to a board from the second batch.
HELIOS Primary Board: a proposed second revision integrating the switching and acquisition systems onto a single 260×65mm board, supporting up to 8 panels with direct MC4 connector inputs, per-panel PMOS/NMOS switching, current sensors, and GPIO multiplexers. An 80-pin surface-mount edge connector allowed daughterboard extension for larger installations. Designed, passed DRC. Not manufactured — component shortages and budget.
Three panels in series, connected to the control board. Testing ran from the accommodation window because the Makerspace was closed for most of the year.
Arduino Uno + LoRa shield + relay shield + proto board. The debugging prototype that validated the hardware and software before the custom PCB was ready.
First version of the custom control board, powered from MicroUSB. Both voltage rail LEDs confirmed.
Data was transmitted to The Things Network using the RFM95W module at 868MHz (the UK-legal ISM band). Setting up the TTN stack — device registration, payload formatting, cluster selection, MAC settings — required more iteration than expected. The RFM95W had limited independent documentation; most working configurations were found through testing rather than reference.
Data was visualised in Grafana via InfluxDB. The pipeline worked: sensor readings were transmitted, stored, and displayed in near real time across a range test of several kilometres from the campus gateway.
Ran PCB soldering workshops at university open days for prospective students — approximately 200 students across multiple events. The session covered basic electronics, component identification, soldering technique, and the full cycle from bare board to working circuit. Designed the exercise, sourced the components, ran the sessions.
The result that holds up most confidently is the detection data — the current trace showing a clean, measurable event at the shading onset, with the derivative spike arriving before any damage would occur. That part worked.
The switching circuit data is less definitive. The leakage measurements suggest that neither the single relay nor the MOSFET implementation fully disconnects the panel; a two-relay configuration would be more complete, at higher cost. Repeating the switching tests with better measurement equipment and higher-current panels would give cleaner numbers.
The HELIOS board design would have been difficult to assemble by hand — BGA components, fine-pitch connectors, and the size of the board together pushed it beyond what the undergraduate labs could reliably support. The design was correct; the manufacturing path needed more planning.