LoRaWAN is an industrial wireless protocol that sends tiny messages over kilometers on a battery that lasts years. This article introduces the protocol, its benefits, AWS IoT Core for LoRaWAN as a managed LoRa Network Server, and the architecture I built to monitor water, gas and electricity at home for almost zero cloud cost.
Aurora DSQL has no database passwords, only short-lived IAM tokens, while Grafana expects a static PostgreSQL password. This article shows how a scheduled Lambda refreshes the token through the Grafana API, with a read-only user and least privilege access to keep the bill under control.
Registering LoRaWAN sensors in AWS IoT Core with CDK requires a custom resource to avoid losing the device session on stack updates. This article explains why, how to store secrets in SSM Parameter Store, and what you gain by managing sensors as code.
A LoRaWAN-based water meter monitor using an inductive proximity sensor and a circular buffer algorithm to track water consumption with minute-level accuracy.
An Arduino-based system that reads a Belgian smart meter’s P1 port and transmits aggregated electrical data over LoRaWAN every 15 minutes, with over-voltage detection aimed at catching solar inverter shutdowns.
Step-by-step guide to connecting the ThinkNode G1 LoRaWAN gateway (~100€ on AliExpress) to AWS IoT Core using LoRa Basic Station mode, including a workaround for uploading the client certificate via SSH.
Running out of RAM on a Zolertia Zoul/CC2538 with Contiki OS? The .stack will not fit in FRSRAM error means you’ve hit the default 16 KB limit. A single macro disabling Low Power Mode unlocks the full 32 KB — here’s the fix and the battery trade-off you need to know before applying it.
Need deterministic, congestion-free communication between specific nodes in a Contiki TSCH network? This post shows how to hard-code a custom slotframe by overriding tsch_schedule_create_minimal(), with working code for a 3-node topology on Zolertia Zoul hardware.