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
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).
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.
In the newest revision of the ATTNode v3 firmware it is now possible to change the send interval at runtime using LoRa Downlink packets. This makes it possible to remote-configure nodes without reflashing them.
To set a sending interval it has to be scheduled as a downlink paket for the node as a 2-Byte uint value. To set an interval of 10 minutes for example, one has to send the value 0x000A (10 as a 2-Byte Hex), for 5 minutes it would be 0x0005 and so on. If you want to reset the node to the compiled in value just send 0xFFFF. Here is an example setting the interval to 10 at the TTN-Console:
Since yesterday evening there is a first minimal firmware for the ATTNode v3 Available in the Git Repository
. This Firmware does support the basic functionality of the Node as in:
Uses the MCCI LoRa LMIC for maximum LoRaWAN compatibility
Uses OTAA for Device Activation
Supports DeepSleep between Measuring/Sending for Maximum Power Savings
Implements the BME280 Sensor
As there is no support for the ATTiny3216 in PlatformIO yet, the firmware uses ArduinoIDE with the MetaTinyCore
for the time being. Some hints about Configuring the ArduinoIDE are in the Repo. When PlatformIO Support becomes available for the 3216 I will switch to using it again as it has been with the ATTNodes v1/v2.
twentysixer
has developed a simple but effective way to detect brightness with the TinyLoRa. All that is needed is a simple LED:
With the TinyLoRa and a simple led you can detect brightness and darkness.
The LED is connected to 2 GPIOs in the reverse direction. The LED is charged and measured until it is discharged again. The darker it is, the longer it will take to discharge it.
Clear LEDs with a low forward voltage are best suited, e.g. red or yellow
Up until now the Lora Frame Counter, which is a security feature to prevent replay attacks, was reset every time the ATTiny rebooted (e.g. because of reset or power loss). Because of this the Frame Counter Check in the settings of the Lora devices had to be disabled, or messages after a reset wouldn’t be processed by the TTN Backend.
I have now implemented a way to save the Frame Counter in the ATTinys integrated EEPROM, so it will survive resets and power loss. Because of that the Frame Counter Check can now be left enabled when using the current Firmware (starting from git commit 361f8e0b85). Please be aware that the EEPROM is reset when flashing the ATTINY, therefore you will have to reset the frame counter in the TTN-Console when reflasing a device with enabled Frame Counter Checks.