Mark Comerford

IT Manager at The Maelor School in North Wales. Astrophotographer after dark.

About

I’m Mark Comerford, and for the past two years I’ve been IT Manager at The Maelor School in Penley, the same school where I sat my GCSEs. I look after the school’s network, systems and devices.

I studied Computer Networks and Security at Glyndŵr University in Wrexham, earning a first-class BSc and then an MSc with distinction. Away from work I keep building: firmware for a weather-station receiver, OpenWrt for 10-gigabit switches, and the servers that run this site.

I’ve been fascinated by astronomy since I was a child, and I’ve photographed the night sky for well over a decade, these days through a 14-inch Celestron EdgeHD in my back garden. When the Welsh cloud rolls in, I’m usually out on the bike.

Projects

Things I’ve built at home, mostly firmware and networking.

The Davis sensor suite in the garden transmits on 868 MHz to the ESP32-S3 receiver, which feeds Home Assistant, its own dashboard, weather networks and this website. Davis sensors 868 MHz frequency hopping ESP32-S3 + SX1262 my firmware Home Assistant Dashboard WU, WOW, Windy This website

Weather station receiver

2026. C++ on an ESP32-S3 board with an SX1262 radio.

My own firmware for a Heltec ESP32-S3 board that listens to my Davis weather station’s frequency-hopping radio directly, so no Davis console is needed. It keeps around eight years of daily records in flash, serves its own dashboard, feeds Home Assistant over MQTT, can upload to Weather Underground, WOW and Windy, and can stand in for a Davis WeatherLink Live.

It updates itself from GitHub releases and rolls back if an update fails to boot. The live readings on this page come from it.

Front panel of the Hasivo F1100W switch: four 10GBASE-T copper ports on Realtek RTL8261 PHYs and four SFP+ cages, all driven by a Realtek RTL9303 running OpenWrt. OpenWrt 4 × 10GBASE-T, RTL8261 4 × SFP+ Realtek RTL9303 switch chip, device tree, MDIO and I²C

OpenWrt for 10-gigabit switches

2026. Linux kernel, device tree, MDIO and I²C.

Bringing OpenWrt up on Hasivo’s F1100W switches, which pair a Realtek RTL9303 with four SFP+ cages and four 10GBASE-T ports. That has meant writing the device tree, decoding the vendor’s boot firmware to map the RTL8261 copper PHYs, getting the SFP cages working and, on the PoE model, driving the HS104 PoE controller.

NanoKVM Pro as a webcam

2026. C and the Linux USB gadget framework.

The Sipeed NanoKVM Pro captures a computer’s HDMI output for remote control. I added a mode where it shows up on another PC as an ordinary USB webcam at 1080p60, with no capture dongle, plus an H.264 stream that OBS and VLC can open directly at about a seventh of the bandwidth of its built-in MJPEG feed.

IPTVnator

2026. Open source, TypeScript.

A fix, merged upstream, that lets the open-source IPTVnator player play raw MPEG-TS streams in its built-in video players. View the pull request on GitHub.

Network topology discovery

BSc dissertation, 2016. C#, WPF, SNMP.

A desktop application that maps a live network over SNMP, discovering neighbours through CDP at layer 2 or OSPF and EIGRP at layer 3, then adjusts routing interface weights based on measured load. I’ve since rebuilt the discovery tool on .NET 8, adding LLDP alongside CDP.

This website

Debian, Apache, PHP, AstroBin API.

Served from a Debian server at home. Scheduled jobs pull my latest images from AstroBin every few hours and the weather station’s readings every minute, so the page stays current without me touching it.

Tonight at home

Live from the Davis station in my garden, through a receiver running my own firmware. It has the final say on whether the telescope comes out.

Reading the weather station

–

Humidity
–
Dew point
–
Wind
–
Pressure
–
Temperature over the last 24 hours

Show the last 24 hours as a table
TimeTemperaturePressure

Astrophotography

Everything here comes straight from my AstroBin profile, where I publish finished images with full acquisition details.

Contact

Email is the best way to reach me.

Open on AstroBin