Skip to content

Multiflexmeter 3.7.0 Documentation

Open-source IoT sensor platform for flexible, low-cost, and frequent environmental measurements using LoRaWAN.

Multiflexmeter 3.7.0 (MFM) is an open-source sensor platform designed for frequent, low-cost, and flexible environmental measurements. Built on the ATmega1284P microcontroller, it provides a robust foundation for IoT deployments using LoRaWAN connectivity.

LoRaWAN Connectivity

Built-in support for LoRaWAN OTAA with the RFM95 868MHz radio module, enabling long-range wireless communication.

Flexible Sensor Integration

SMBus/I2C interface for connecting external sensor modules. Firmware acts as a passthrough, transmitting raw sensor data for application-level processing.

Low Power Design

Optimized for battery-powered deployments with efficient power management and configurable measurement intervals.

Open Source Hardware & Firmware

Complete hardware designs (KiCad) and C++ firmware source code (PlatformIO) available under MIT license.

The Multiflexmeter 3.7.0 firmware is built using modern C++ development tools:

  • Language: C++ with Arduino Framework
  • Build System: PlatformIO - Professional build tool for embedded systems
  • IDE: VS Code with PlatformIO extension (recommended)
  • LoRaWAN Library: MCCI Arduino-LMIC
  • Toolchain: AVR-GCC cross-compiler
  • Programming: AVRDude with ISP programmer
  • Microcontroller: ATmega1284P (128KB Flash, 16KB SRAM, 4KB EEPROM)
  • Radio: RFM95 LoRa transceiver (868MHz)
  • Connectivity: LoRaWAN 1.0.x with OTAA
  • Sensor Interface: SMBus/I2C for external modules
  • Programming: AVRISP-compatible ISP interface
  • Debug: FTDI-compatible UART header
  • Framework: Arduino with LMIC library

🚀 Quick Start

Get your first Multiflexmeter device operational in minutes.

Start Here →

💻 Firmware Development

Build, modify, and extend the C++ firmware with PlatformIO.

Development Guide →

📡 Communication Protocol

Understand LoRaWAN messages, payload formats, and commands.

Protocol Docs →

The Multiflexmeter platform is ideal for:

  • Environmental Monitoring: Water level monitoring, distance measurements
  • Infrastructure Monitoring: Structural health, asset tracking
  • Research Projects: IoT experimentation and prototyping
  • Custom Sensor Integration: Any I2C/SMBus compatible sensor module
  • GitHub Repository: MFM Documentation
  • Issues & Discussion: Use GitHub discussions for questions
  • Documentation: This site contains comprehensive guides and references

Current Release: 3.7.0 & Planned Release: 3.8.0

  • Architecture: Sensor Passthrough (unchanged between versions)
  • Transmits raw sensor data without firmware-level interpretation
  • Data format defined by sensor module at I2C address 0x36
  • Application layer (TTN decoder + backend) handles data decoding
  • Maximum 32-byte payload via SMBus Block Read

Design Philosophy: Keeping firmware simple as a passthrough minimizes complexity and allows flexible sensor integration. The sensor module encodes data, and the application layer decodes it.

Poldermill Sensor Format (Module Type 0x01):

  • Byte 0: Module Address (0x36)
  • Byte 1: Module Type (0x01 = Poldermill)
  • Byte 2: Flags (bit 0: spinning, bit 1: pumping)
  • Bytes 3-6: Revolutions (uint32 big-endian, period count)

Learn more about data formats →


Multiflexmeter 3.7.0 is licensed under the MIT License.