This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Documentation

Services & Success Stories

Examples of the systems, tools and platforms I have built, from Antarctic research buoys to single-file embedded dashboards.

Browse the sections below for examples of my work across embedded systems, web platforms and custom hardware.

LoRaScope

Single-radio LoRa / MeshCore / LoRaWAN spectrum and traffic analyser, with a telnet and REST interface that a script or an AI agent can drive.

Visit the LoRaScope site →

Off-Grid Monitoring (OGLAS)

Custom sensors, hubs and data analysis for farms, fleets and remote sites. Data stays on site, with no telco link and no subscription.

Visit the OGLAS site →

Zephyr RTOS Development

Production Zephyr firmware: BLE provisioning, WiFi, LoRa, OTA, crash reporting, and multi-year battery life across nRF52840, ESP32, and STM32.

LoRa Gateway

A rules-based bridge from a local LoRa network to LoRaWAN, satellite, mobile data or SMS, with remote access to the site.

Visit the Gateway page →

Waves In Ice

Antarctic wave measurement buoys with satellite communications and custom firmware. Published in Nature.

Visit the WII5 site →

Embedded Dashboards

Zero-dependency, single-file HTML dashboards for ESP32 and other constrained platforms.

Custom Displays

OLED, eInk, and LCD display solutions for solar monitoring, industrial visualisation, and long-running embedded systems.

Dashboards

Real-time monitoring, firmware management, and device configuration dashboards.

Custom Authentication

Multi-site identity management with admin dashboards and flexible authentication methods.

API Development

Custom APIs with full documentation, authentication, load control, and testing tools.

Drones

Custom-built drone platforms for heavy lift, waterproof, and Antarctic research operations.

1 - LoRaScope

A single-radio LoRa / MeshCore / LoRaWAN spectrum and traffic analyser I designed and build.

LoRaScope: see what is on the air

A single-radio analyser that listens to the LoRa band and shows what is on it: live capture, packet decode and link health in one tool.

Visit the LoRaScope Site

Overview

LoRaScope is a product I designed, build and consult around. It captures LoRa traffic live, decodes packets, and shows who is transmitting, how often, and whether the link is healthy. It works at the radio layer, so you can debug a site even where there is no LoRaWAN network server and no gateway to log into.

One analyser covers LoRaWAN, LoRaBASIC and MeshCore through the same interface.

What it does

Capture & decode

Match a sender’s sync word, spreading factor, bandwidth and coding rate, and LoRaScope decodes raw frames as they arrive at the radio, without a gateway or network server. Save them to a capture store to filter, search, export and replay later.

RSSI, SNR, source, payload, collisions and duty cycle, live, so problems on a busy or marginal band can be seen.

Emulate & inject

Emulate the hub or any node. Inject traffic to test a node in isolation, reproduce a fault or validate firmware without disturbing production hardware.

Agent & script control

The live feed and the controls are exposed over telnet and REST, so a script or an AI agent can monitor the band, act on it and observe the result. See AI & Automation.

2 - LoRa Gateway

A gateway that watches local LoRa traffic and forwards what the rules select to LoRaWAN, satellite, mobile data or SMS.

From a local LoRa network to the outside world

A gateway that sits between your local LoRa radios and the outside world, applying rules and forwarding what you have asked for.

Visit the Gateway Page

Overview

A local LoRa band can be busy, with dozens of sensors reporting temperatures, tank levels, gate states and soil moisture every few minutes. You rarely want all of that going out over a satellite link that charges per byte. The gateway watches every packet and forwards what your rules select: for example a daily aggregate over Iridium at 09:00, an SMS if a pump fails, or a live mobile-data dashboard for the operator on the hill.

What it does

Multi-transport backhaul

Forward traffic over LoRaWAN to a remote site, over Iridium / LEO satellite when there is no tower in sight, over LTE mobile data, or as SMS alerts, queuing and transmitting as each link allows.

Rules engine

Define what leaves the site and when (thresholds, schedules, aggregates and alerts) so the expensive links carry only the data you need.

MeshCore relay

Bridge a local network into a wider MeshCore mesh for coverage around obstacles and across distance, with multi-radio setups where needed.

Remote access tunnel

Reach the gateway and the devices behind it from anywhere, securely, for configuration and diagnostics, without driving out to the site.

3 - AI & Automation

Instrumenting LoRa networks so an AI agent or any script can monitor, test and diagnose them in a closed loop.

Let an AI agent watch and drive the LoRa band

LoRaScope exposes its feed and controls over telnet and REST, so an agent or any script can watch the band, act on it and observe the result without a person in the loop.

Visit the AI & Automation Page

Overview

LoRaScope exposes its live feed and its controls over telnet and REST. An agent can watch the band, read decoded packets, run custom decoders, then inject and emulate traffic to test a hypothesis and watch the result, and repeat. Because it works at the radio layer, an agent can instrument a site even where there is no LoRaWAN network server and no gateway to log into.

What it enables

See: agent-readable

Stream the live decoded-packet feed (RSSI, SNR, source, payload, timestamps) over telnet or REST, and query the capture store, link health and historical logs. Every packet is also logged to SD as CSV.

Act: agent-controllable

Switch channel and protocol, inject packets, and emulate a hub or node through the same API for every stack (LoRaWAN, LoRaBASIC and MeshCore).

Loop: closed-loop diagnosis

With both, an agent can run fault diagnosis on its own: form a hypothesis, inject a test, read the result, and narrow down a problem without a person on site.

4 - Mesh & LoRa Networking

MeshCore, LoRaWAN and ChirpStack work, the radio and networking layer beneath my monitoring products.

Mesh & LoRa Networking

The radio and networking layer that ties sensors, hubs, and gateways together across distance and obstacles.

Overview

Most of my remote-monitoring work runs on long-range, low-power radio with no telco link. I design and deploy point-to-point LoRa, MeshCore mesh networks, and LoRaWAN with a ChirpStack network server, and pick the stack that suits the site.

What I work with

MeshCore

Self-healing mesh for coverage around obstacles and across distance. I run the AU915 Victoria preset by default, with an SF12 / BW125 long-range alternative for the hardest links, across Companion, Repeater, Sensor, and Room Server firmware roles.

LoRaWAN & ChirpStack

Standards-based LoRaWAN with a self-hosted ChirpStack network server, Cayenne LPP payload encoding, and integration into local and cloud data pipelines.

Hardware

ESP32, nRF52840, RAK4631, Heltec V3, SenseCAP T1000-E and RP2040-class nodes, with custom firmware in C++ and deep-sleep designs for multi-year battery life.

Tuning & diagnosis

When the defaults do not fit a site, I tune the link and check it with LoRaScope, measuring spectrum, collisions and link health at the radio layer.

5 - Off-Grid Monitoring (OGLAS)

OGLAS, custom sensors, hubs and data analysis for off-grid farms, fleets, factories and remote sites.

OGLAS: monitoring for off-grid sites

The Off-Grid Local Alert System: custom sensors, hubs and data analysis for sites with no reliable phone line and no wish to pay a monthly cloud bill.

Visit the OGLAS Site

Overview

OGLAS is the monitoring product line I build for off-grid and poorly connected sites: farms, fishing boats, golf-cart fleets, forklifts, factories and remote power installations. It measures and controls things in the field, gets the data to where you can use it, and raises an alert when something needs attention.

The pipeline is Sensors → Hubs → Local → Cloud, and I build the custom version of any link in that chain.

There are no subscriptions and no telco dependency, and the data stays yours.

How it fits together

Sensors

Measure or switch tank and trough level, soil moisture, power, gate and asset state, vehicle and engine, weather, smoke and gas. Long-range wireless, built to run off-grid.

Hubs

On-site receivers that collect sensor data and hand it on: LoRa, mesh and satellite hubs, with optional large or small displays. See Mesh & LoRa and the Gateway.

Local

Browse and analyse your data on site, on an SBC or a laptop. It backs up and manages data across every hub, and the data stays local.

Cloud

An optional private copy off-site, over LTE, Wi-Fi, satellite or HaLow. View it from your phone while you are away, and share it with whoever you choose.

Custom builds

Most of the work is bespoke: sensors, hubs, monitoring, alerts, and data analysis and presentation for sites where nothing off the shelf fits. If you have something that needs watching, online or off-grid, get in touch.

6 - Zephyr RTOS Development

Production Zephyr firmware. BLE provisioning, WiFi, LoRa, OTA, crash reporting, storage, displays and multi-year battery life, shipping in the OGLAS v2 platform.

Zephyr RTOS in production firmware

The full connected-device stack on Zephyr (BLE configuration, WiFi, LoRa, over-the-air updates, crash reporting, storage, displays and multi-year battery life), shipping today in the second-generation OGLAS firmware across nRF52840, ESP32 and STM32.

See it in OGLAS →

Overview

Zephyr is my RTOS of choice for connected products. It is vendor-neutral, so the same codebase runs on Nordic, Espressif and ST silicon. Devicetree and Kconfig keep board differences out of application code, west manages builds and dependencies, and Bluetooth, networking, power management, storage and firmware update are maintained subsystems in the tree.

Every capability below is shipping in the second-generation OGLAS firmware, in hubs and sensors deployed to off-grid sites where a locked-up device cannot be fixed by driving out to it. So the devices have to configure themselves in the field, update themselves remotely, report their own crashes and run for years on a battery.

Capabilities

BLE configuration & provisioning

Custom GATT services for on-site commissioning: set WiFi credentials, radio settings and site parameters from a phone, with secure pairing. There is no serial cable or laptop needed in the paddock.

WiFi

Station and access-point provisioning flows, credential storage, and reconnect handling for networks that come and go, including BLE/WiFi coexistence on ESP32-class parts.

LoRa & long-range radio

Zephyr LoRa on SX126x-class radios (RAK4631 / nRF52840), the radio layer under the OGLAS sensor network. See the Mesh & LoRa and Gateway pages.

Long-term battery management

Zephyr device power management, sleep states and duty-cycling for multi-year field life, with battery telemetry so a fading device shows up in the data well before it stops reporting. Ultra-low-power deep-sleep design is a speciality.

OTA updates

MCUboot dual-slot images with signed firmware and rollback, delivered over BLE or WiFi to devices you may never physically touch again. A failed update falls back to the previous image.

Crash reporting

Fault handlers, coredumps, and persisted crash and reboot-reason logging, so a field failure comes home with the data. That is how the rare bugs get found.

Storage & settings

NVS and the Zephyr settings subsystem for configuration and calibration, and flash filesystems for data logging, all designed to survive power loss, because off-grid power fails without warning.

Displays

OLED, eInk and LCD panels under Zephyr’s display subsystem and LVGL, from always-on status screens to eInk that draws no power between refreshes. See Custom Displays.

RTC & timekeeping

Battery-backed RTC and time synchronisation across sensors and hubs, so data from an off-grid site is correctly timestamped even after weeks with no uplink and no NTP.

Platforms

One application codebase with per-board devicetree overlays and Kconfig fragments. That is the point of Zephyr, and it is how the OGLAS v2 firmware is structured.

Platform Boards Strengths
nRF52840 RAK4631, SenseCAP T1000-E BLE + SX1262 LoRa, exceptional sleep currents
ESP32 / ESP32-S3 Heltec V3 and custom boards WiFi + BLE, displays, plenty of headroom
STM32 Custom and off-the-shelf boards Wide part range, industrial peripherals, RTC

In production in OGLAS v2

The second-generation OGLAS hub and sensor firmware is built on Zephyr and uses everything on this page in production: BLE-commissioned, LoRa-connected, OTA-updatable devices that log locally, report their own faults and run unattended for years. If your product needs the same, I can help.

7 - API

Custom API Development

APIs built for the job, with documentation, authentication, load control and testing tools.

What I Build

Features

  • Documentation generated from the code, so it stays current
  • Authentication: token-based, role-based or custom schemes
  • Load control: rate limiting and queuing
  • Testing tools: built-in test interfaces for development and QA
  • Versioning, so older clients keep working as the API changes

Approach

  • REST-first design with clear, consistent endpoints
  • Designed for internal integration and for external clients
  • Consistent error handling and status codes
  • Tuned for high request rates where needed
  • Built to integrate with existing systems and data sources

Documentation & Testing

Built-in API documentation and interactive testing interface

8 - Custom Authentication

Custom Authentication Solutions

One identity system across several sites, with a choice of authentication methods, admin dashboards and database views.

Capabilities

Multi-Site Identity

A single authentication system across several web properties, with one place to manage users and the same login on each site.

Admin Dashboards

Management interfaces for user administration, role assignment and account oversight, designed with the staff who use them.

Flexible Methods

Token-based, session-based or custom authentication flows, with role-based access control throughout.

Screenshots

User management: view and edit user details, roles and permissions

Custom database views and tables for direct data inspection

9 - Custom Displays

Embedded Display Solutions

Display systems for solar monitoring, industrial data visualisation and long-running embedded applications.

Capabilities

Any Size

From small status indicators to full OLED and eInk panels, matched to the use and the environment.

Always On

Designed for long-running, unattended operation with automatic logging and ultra-low power consumption.

Interactive

Touch input and scroll navigation on embedded displays, so the panel can be used to control the device as well as read it.

A battery-powered colour e-paper dashboard showing site readings, battery states and a calendar, running for months on a charge

A wall or bench dashboard on 800 x 480 colour e-paper (E Ink Spectra 6, ESP32-S3). It renders typed pages (a home summary, calendar, power, battery), each tile stamped with its data age, and the whole unit is provisioned from a phone: an unconfigured panel comes up as its own access point with a QR code to join it.

E-paper draws no power between refreshes, so at a 90-minute update interval the panel runs about three months per charge. The power budget comes down to how often you draw.

Resilient Networking

Stores up to four WiFi networks and joins the strongest in range, with primary and fallback REST data endpoints. The footer shows which source drew the screen.

Months Per Charge

The picture stays on the glass with the power off. The panel wakes, fetches, draws and sleeps, and runs around three months on a cell at 90-minute refreshes, with its own battery state in the footer.

Sensors Onboard

Reports its own temperature, humidity and battery voltage alongside the data it displays, so the panel is also a sensor node in the room.

Built for the OGLAS off-grid monitoring platform.

Examples

Solar monitoring on a small display: compact, low power and always on

Solar monitoring on a medium display with touch input and scroll navigation

10 - Dashboards

Custom Dashboards

Real-time monitoring, firmware management and device configuration, running on anything from a Raspberry Pi to a full server.

How they are built

  • Local data: dashboards connect directly to your hardware and data sources
  • Any size: from compact embedded displays to full-screen monitoring walls
  • Always on: designed for continuous operation with automatic logging
  • Low power options: OLED and eInk display support for battery-powered deployments

Examples

Firmware upload and management

Real-time monitoring

Device settings and configuration

11 - Drones

Custom Drone Platforms

Drones built for research, industrial and remote-environment work, including Antarctic deployments.

Overview

I have designed, built and operated custom drone platforms for several demanding environments. These builds predate the current generation of commercial drones and were built for specific missions.

Heavy Lift

Platforms that lift payloads of up to 20 kg, for carrying research instruments, cameras and sampling equipment in the field.

Waterproof

Sealed electronics and weather-resistant airframes for rain, spray and wet Antarctic conditions.

Antarctic Operations

Flown in support of Antarctic research in 2014, in extreme cold and high winds, far from any workshop.

Local Operations

Aerial photography, surveying and testing in Victoria, Australia, where the Antarctic-bound platforms were proven first.

Builds

Photos

12 - Embedded Dashboards

Single-File Embedded Dashboards

Self-contained HTML dashboards with no external dependencies, designed to run on small devices like the ESP32.

How It Works

A single HTML file containing all SVG, CSS, and JavaScript needed to control and monitor your embedded device. There are no external dependencies and no CDN, so it works with no internet connection.

Example Features:

  • Light controller with auto-discovery
  • WiFi search and configuration
  • Full device status and memory monitoring
  • Multiple chart types for data visualisation

Also Built In:

  • File management interface
  • JSON API integration
  • Auto-discover configurable settings
  • Responsive design for any screen size

Screenshots

Light controller: auto-discovery checkboxes and status

Full device status including free memory

WiFi search and configuration

Multiple chart types available

13 - WII

Waves In Ice

Wave monitoring systems designed for Antarctic sea ice, deployed by research groups in several countries, with results published in Nature.

Visit the WII5 Site

Research Background

Research by the National Institute of Water and Atmospheric Research (NIWA) in New Zealand found that large ocean waves, particularly those over 3 metres, travel hundreds of kilometres into Antarctic sea ice and are a major force in breaking up floes. The buoys on this page are the instruments that measured those waves from the ice.

Key Findings

  • Range: large waves from the Southern Ocean can break sea ice 350 to 500 km from the ice edge.
  • The 3-metre threshold: waves under 3 metres lose their energy quickly, while waves over 3 metres keep the ice pack flexing far from the edge.
  • Mechanism: as waves pass through the marginal ice zone they break the ice into smaller floes, which winds and currents then deform and break further.
  • Ice extent: more storms and larger waves in the Southern Ocean are linked to more breakup and retreat of sea ice, particularly near the Antarctic Peninsula.
  • Climate models: wave-driven fracturing helps explain why some areas of sea ice grow while others recede, and had been underestimated in climate models.
  • Method: earlier studies were limited by the conditions. NIWA used autonomous instruments on the ice itself to measure the waves directly, including during and after large storms.

The research was published in Nature in 2014.

Hardware

A board in testing

Embedded full test suite

Deployment

A wave monitoring system built for KOPRI (Korea Polar Research Institute), deployed in Antarctica in 2026.

A wave measurement buoy deployed on Antarctic sea ice.

The Aurora Australis navigating through Antarctic sea ice during buoy deployment.