← All notes

Notes · LoRa · Solar · MicroPython

Why SA's solar farms are going LoRa

14 Oct 20265 min read

Utility-scale solar farms are cutting the cables and monitoring their equipment over LoRa. You can build a backyard version of the same idea for well under $100.

In late August, chipmaker Semtech made the case that LoRa is becoming the go-to radio for watching everything on a solar farm except the panels themselves: the trackers that tilt them, the inverters that convert their power, and the robots that clean them (IT Brief Australia). For South Australia, this is a story worth watching.

Why it matters in SA

South Australia runs on sunshine and wind more than almost anywhere. In 2024/25, solar PV supplied over 32% of the state's electricity and wind about 45%, and the state is aiming for 100% net renewable electricity by 2027 (SA Department for Energy and Mining).

Six solar farms above 30 MW are connected to the grid here. They sit in remote, flat country where mobile coverage can be thin, and every tracker motor and inverter needs watching.

What a solar farm monitors over LoRa

One real-world example: Spanish tracker maker PV Hardware uses wind sensors that tell trackers to stow their panels over LoRaWAN when gusts pass a threshold. Semtech says the company has several hundred thousand LoRaWAN trackers across more than 650 projects (IT Brief Australia).

Why LoRa beats cable and 4G here

Is it happening locally?

Adelaide already has firms selling this. One local IoT provider advertises LoRaWAN radio coverage analysis for shipyards, vineyards and solar farms, using Australia's AU915 frequency plan (WZ-IT Adelaide).

A pinch of salt: the strongest claims here come from Semtech, which makes LoRa chips. Cellular, wired and other wireless options still have their place. But the economics of "one gateway, no trenches, no SIM fees" are hard to argue with on a remote site.

The hobby-scale version

You don't need a 250 MW farm to try this. Here's a backyard solar monitor that measures a small panel's voltage, current and power and sends the readings over LoRa to a receiver inside the house. It's written in MicroPython and loaded with Thonny.

Parts

Expect roughly $60–$100 in total, depending on what's already in your parts drawer (approx.).

Wiring the sender

Sender code (save as main.py on the outdoor Pico)

main.py
# AP Design Labs - hobby solar monitor (sender)
# Pico + INA219 + RYLR998 at 915 MHz. MicroPython, loaded with Thonny.
from machine import I2C, UART, Pin
import time

INA_ADDR = 0x40
SHUNT_OHMS = 0.1   # standard INA219 breakout shunt

i2c = I2C(1, sda=Pin(2), scl=Pin(3), freq=100000)
lora = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1))

def read_reg(reg):
    data = i2c.readfrom_mem(INA_ADDR, reg, 2)
    return (data[0] << 8) | data[1]

def bus_volts():
    return (read_reg(0x02) >> 3) * 0.004      # 4 mV per bit

def amps():
    raw = read_reg(0x01)                       # shunt voltage, 10 uV per bit
    if raw > 32767:
        raw -= 65536
    return raw * 0.00001 / SHUNT_OHMS

def at(cmd):
    lora.write(cmd + "\r\n")
    time.sleep(0.3)
    print(cmd, "->", lora.read())

at("AT+BAND=915000000")   # Australian 915 MHz band
at("AT+ADDRESS=1")        # this node
at("AT+NETWORKID=18")     # must match the receiver

while True:
    v = bus_volts()
    i = amps()
    msg = "V={:.2f},I={:.3f},P={:.2f}".format(v, i, v * i)
    at("AT+SEND=2,{},{}".format(len(msg), msg))
    time.sleep(60)

Receiver code (save as main.py on the indoor Pico)

main.py
# AP Design Labs - hobby solar monitor (receiver)
from machine import UART, Pin
import time

lora = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1))

for cmd in ("AT+BAND=915000000", "AT+ADDRESS=2", "AT+NETWORKID=18"):
    lora.write(cmd + "\r\n")
    time.sleep(0.3)
    lora.read()

while True:
    line = lora.readline()
    if line and line.startswith(b"+RCV"):
        print(line.decode().strip())

Each line in Thonny's shell shows the reading plus the signal strength (RSSI) and signal-to-noise ratio (SNR) at the end. Walk the receiver down the street to see how far your link reaches. That's the same range test a solar farm installer does, just smaller.

Running the sender from a battery? The battery life calculator and Will it survive winter? will tell you how big the cell and panel need to be.

⚠ Safety first

This project is for small, low-voltage hobby panels only. The INA219 is rated to 26 V. Never connect it, or anything like it, to a rooftop solar system: those strings run at hundreds of volts DC and can kill. Work on a home solar system is a job for a licensed electrician.

Sources

Checked October 2026.

#LoRa#SolarFarm#RaspberryPiPico#MicroPython#INA219