AlLoRa
A protocol I designed to move whole files over raw LoRa. It carried a buoy's logs about 12 km across the Mar Menor for about two years, reached 101.75 km in Italy, and in 2026 I am developing its new version, v3.

A buoy that wrote files
The Mar Menor in southeastern Spain is the largest saltwater lagoon in Europe, about 135 km². In 2016 phytoplankton blooms cut its water transparency to under a meter, and in 2019 and 2021 episodes of hypoxia caused widespread aquatic die-offs. To monitor it, the EU project SMARTLAGOON put an oceanographic buoy in the lagoon: solar powered, measuring temperature, salinity, pH, dissolved oxygen, turbidity and chlorophyll-a.
The buoy's data logger wrote a log file of about 33 KB every five minutes, and the buoy sat in the middle of the lagoon with no connectivity. We had to find a way to get that data to land.
LoRa is a radio technology made for that kind of distance: it reaches kilometers on very little power, in exchange for small, slow packets. The usual way to use it is LoRaWAN, a network protocol designed for sensors that send a few bytes now and then. Through LoRaWAN, each log file would have gone out as hundreds of small fragments. We needed a way to move whole files over LoRa, and that is what AlLoRa became.
Files over raw LoRa
AlLoRa, short for Advanced Layer LoRa, grew out of LoRaCTP, an earlier content-transfer protocol by Nakamura, Manzoni and colleagues. It runs directly on the LoRa radio, without LoRaWAN, and it is written in Python and MicroPython, so the same code runs on a microcontroller, a Raspberry Pi or a laptop.
Communication is request-driven. One node asks another for a file's metadata, then for its chunks one by one, and closes with a final acknowledgement. When a reply does not arrive, or arrives corrupted, it simply asks again. A LoRa frame carries at most 255 bytes, so the header is kept to 20 bytes, leaving 235 for data.
The radio sits behind a swappable Connector: a LoPy4 uses its built-in LoRa, a Raspberry Pi uses a Dragino LoRa HAT, and a Wi-Fi Connector lets a gateway use a nearby LoRa board as its radio. The same pieces scale from two nodes talking to a gateway collecting from many.

Proving it outdoors
On the Mar Menor, the gateway sat at the Spanish Institute of Oceanography (IEO) building, about 12 km from the buoy. Our range test held the link out to 11.69 km, reaching the buoy's position, and the system ran for about two years, the gateway requesting each log file chunk by chunk.

We repeated the range test at Lake Erken in Sweden and reached 8.4 km. A mesh mode lets other nodes forward a message when the direct link fails: we tested it on the UPV campus with two hops, and on the Mar Menor with a 20.33 km route through a mountain node 5.5 km from the buoy.
In the Lagunas de La Mata y Torrevieja Natural Park, a Ramsar-protected wetland with no stable power, an AlLoRa node carried water-level data from a GNSS-based sensor to a gateway over 4 km away. And BODOQUE, the camera system I designed for an ephemeral stream that feeds the Mar Menor, sends its results over AlLoRa too.

Trieste: letting the radio choose
From May to August 2024 I did a research stay at the Abdus Salam International Centre for Theoretical Physics (ICTP) in Trieste, Italy, with Marco Zennaro, Ermanno Pietrosemoli and the Marconi Lab team.
A LoRa link has settings that trade range against speed and energy: spreading factor, bandwidth, transmit power, and how much data goes in each packet. LoRaWAN's adaptive data rate adjusts them from past signal quality, and a poor choice costs battery and connectivity. AI*LoRa puts a small pre-trained TinyML model on the sending node that predicts all four for the current conditions.
Training it needed data, so we collected it: range tests from a node at ICTP to points across Friuli-Venezia Giulia, from about 7 km out to 101.75 km on Mount Cavallo. The model predicts the best spreading factor with 94% accuracy and the best bandwidth with 99%, improves a combined delivery-and-energy metric by 179% over a non-optimized baseline, and was profiled at 1 ms per inference. It was published at ACM MobiHoc 2024, and the stay started an ongoing collaboration with ICTP.

Stellenbosch: ready for other hands
From late November to late December 2024 I spent a month at Stellenbosch University in South Africa. There I finished the AlLoRa documentation and improved the user-facing side of the AlLoRa Application Server, making nodes easier to debug and configure.
The stay coincided with IEEE Globecom 2024 in nearby Cape Town, where I presented the edge architecture behind the La Mata deployment. It also started links with the mih Media Lab at Stellenbosch.

The thesis
AlLoRa is the first of the two main contributions of my PhD thesis, Optimizing Machine Learning Algorithm Execution on IoT Infrastructures (UPV, 2025), supervised by José María Cecilia and Pietro Manzoni. The second is BODOQUE. The thesis received Excellent Cum Laude with International Mention.
The work was funded by the Generalitat Valenciana through a Santiago Grisolía grant and by SMARTLAGOON, which gave me a real lagoon to test it on.

A new version: v3
Since 2026 I am developing v3, the new version of AlLoRa. A Hub collects files from Edge nodes in the field, and files now travel both ways: the Hub can send a node a new configuration or a command. On two LILYGO T3S3 boards, v3 moved files faster than v2.
v3 also adds authenticated remote maintenance. A Hub relays a signed configuration to a node in the field, and a radio change runs as a bounded trial that restores the old settings if the link goes quiet. The paper, “An Authenticated Control Path for Remote Maintenance of LoRa Edge Nodes”, is to appear at IEEE CCNC 2027, and v3 is being released in October 2026.
Part of my postdoc work is AlLoRa Control, the web dashboard for v3 deployments: an accessible way to set up, manage and monitor the status of our deployments.

Who built it with me
AlLoRa grew in the Computer Networks Research Group (GRC) at UPV. Erika Rosas co-authored most of the papers and was a third mentor to me. Pedro García-Guillamón collaborated on the Mar Menor buoy deployment. Ermanno Pietrosemoli and Marco Zennaro were my mentors at ICTP and helped me with the range tests that led to the 101.75 km link. Javier Prades started the work on a bidirectional AlLoRa and on MQTT support, which inspired some of the features v3 brings. Sofia Mañana, Vicente Rodrigo, Thomas Vanderstraeten and many other students left their mark on the protocol while completing their own studies with us.
The work is published at IEEE CCNC 2023, in Computer Communications (2024), at ACM MobiHoc 2024, IEEE Globecom Workshops 2024, in Internet of Things (2025), and at IEEE CCNC 2027 (to appear); see publications. The code is open source on GitHub.