A Minimalistic LoRaWAN Sensor Node

The ATTNode (short for ATTiny Node) is a minimalistic node for the LoraWAN Network. It is based on the widely available ATTiny MCU from Atmel/Microchip and the HopeRF RFM95W LoRa Wireless Module. It can be used with a variety of sensors, the provided firmware does support the I²C-sensors SHT21 and BME280 for measuring climate data (Temperature/Humidity/Atmospheric Pressure) and is meant to be used with The Things Network as backend. The node can last for several months using only a CR2032 button cell sending values from the above mentioned sensors every 10 minutes.

ATTNode v1 and v2
ATTNode v2 with BME280
ATTNode v2 Case
ATTNode v3 Prototype


  • Small Size, only 47x36mm (v1) / 34x26mm (v2) / 37.5x30.5 (v3)
  • Based on widely available Atmel ATTiny84(v1,v2) / ATTiny3216(v3) MCU and RFM95W LoRa-module
  • Free GPIO-Pins from the ATTiny + Power to connect sensors on a 2.54mm pitch header
  • Firmware support for SHT21/BME280 Climate Sensors, Brightness Measurement, Alarm Trigger and Beacon Mode
  • Optional on-board LED for status signaling
  • Powered by a single CR2032 lithium battery
  • Long battery runtime using the ATTinys deep sleep mode
  • Integrated 6-Pin programming header
  • Small component count
  • Possibility for edge-mount SMA connector or u.fl SMD connector (v2/v3)
  • Open Hardware and Software, KiCad Project for the PCB, Firmware and Case Designs can be found in the git repository

Downloads for Gerber- and STL-files as well as the BoM and assembly hints can be found at the subsites for the corresponding ATTNode Version.

The current versions are ATTNode v2.0 and ATTNode v3.0

Recent Posts

Running AttNode v1/v2 on TTN v3

As you will probably know, the legacy TTN v2 Stack will be shut down in December of this year, which means nodes on TTN v2 should be migrated to The Things Stack Community Edition (formerly known as TTN v3 Stack). Unfortunately, the TTS stack made it a little harder to run “incomplete” nodes like the AttNode v1 and v2, which in the default firmware don’t support downlink packets, and are therefore not exactly LoRaWAN Spec compatible.

HM330x Sleep Fixes and SPS30 Support

The AttNode v3 firmware now has support for the Sensirion SPS30 Particulate Matter Sensor . At the moment the PM1, PM2.5, PM4 and PM10 values in µg/m³ are reported by the sensor. There is only support for the I2C-Mode for now. Since the Sensor needs a 5V power supply, you’ll need a power source that can provide that (e.g. USB), and connect the ATTNode via a PowerPack. the I2C-Pins of the Sensor can be directly connected to the ATTNode

Support for HM330x Particulate Matter Sensor

The AttNode v3 firmware now has support for the HM3301 particulate matter sensor from Seeed Studios . At the moment the PM1, PM2.5 and PM10 values in µg/m³ for atmospheric environment will be added to the payload if the sensor is connected and enabled. The sensor can be connected to the regular I2C-pins (Vin, GND, SCL, SDA) and will run from a 3.3V power source. Be aware that the sensor can use up to 120mA of current, so your power source has to be able to provide at least 250mA (combined current of the sensor and the RFM95W while sending).

ATTNode v3 CO2 Sensor Addon and Multisensor support

grauzone has created an ATTNode v3 addon board for the MH-Z19C CO2 Sensor. The addon has an onboard 3,3V voltage regulator to supply the node while providing the needed 5V to the sensor (directly from a 5V supply). It also incorporates 2 WS2812B RGB LEDs to signal current LoRa status as well as the current CO2 Level. Details on the hardware can be found on Github . While adding the code for the CO2-Sensors I also extended the firmware to support multiple sensors.

ATTNode v3 Firmware Now Uses PlatformIO

Recently PlatformIO added support for the Microchip ATTiny3216 used on the ATTNode v3. Starting today, all further development of the official firmware will use PlatformIO as the coding environment instead of Arduino IDE, because of the far better IDE, sensible library management and automated project configuration. The old Arduino IDE variant of the firmware is archived as a separate branch arduinoide in the Git repository for reference purposes, but any new development will use the PlatformIO variant.