|
KiKadKiKad
|
|
|
arduino IDEArduino
|
LoRa Pro Mini
LoRaProMini - A low power LoRaWAN Node
A LoRaWAN sensor node, based on ATmega328P MCU (Arduino Pro Mini) and RFM95W/SX1276 LoRa Transceiver.
The module can be used:
Collect various climate values with environmental sensors. See Environmental (Weather/Clima) Sensor
Tell if the letter carrier has put new letters in your mailbox. See Mailbox Monitor
Notify if someone rang the doorbell
Act a Wireless button
and many more...
Features
Deep sleep MCU and sensors between data transmissions
Two interrupt inputs could use to wake up the MCU and sensors from deep sleep
Confirmand und unconfirmed data up messages
Ultra low power consumption. Under 10μA with all features and sensors
Power input 3.5-6V:
Battery (Li-Ion or Li-SOCl2 works fine)
Battery with solar charger
Sensor support
Bosch BME280 (humidity, barometric pressure and ambient temperature)
Maxim DS18B20(+)/DS18S20(+)/DS1822 1-Wire temperature sensor
Warning
LoRaProMini does not take care of the compliance with the duty cycle limitation. Please select only transmission intervals that are within the legal limits (1%/0.1%). Please also note that the interrupt inputs may cause additional transmissions if this function is activated.
Example Applications
Environmental (Weather/Clima) Sensor
Download Radiation Shield STL
Buy Waterproof LED Solar Light
Mailbox Monitor
Download Case STL
Buy Normally Opened Reed Switches
More pics
The Things Stack configuration
LoRaWAN version MAC V1.0.3
How to use
Manufacture the PCB. Here you find the Gerber files
Assemble the PCB. Here you find the Bill of Materials (BOM)
Attention: The current version (v3.1) of the PCB has no ISP header! A pre-burned Atmega328P must be installed. I got one from an Arduino Pro Mini Board (3.3V 8 Mhz), because a completely assembled Arduino is cheaper than a single chip
Flash config firmware (See How to flash)
Start voltage calibration from menu
Start configuration builder Configuration Builder
Measure the voltage with a multimeter
Insert multimeter voltage and the analog value in the Volts-per-bit (VPB) calculator to get VPB factor.
If u have a adjustable power supply, try different voltages to find best factor. Warning: The maximum voltage is 6 Volt
Fill out the other fields like activation methode, session keys and EUIs
Write configuration to EEPROM using configuration menu
Check written configuration via configuration menu
Flash debug or release firmware (See How to flash)
Finish
How to flash
avrdude-F -v -c arduino -p atmega328p -P <COM PORT> -b 57600 -D -U flash:w:<FIRMWARE FILE>:i
Example:
avrdude -F -v -c arduino -p atmega328p -P COM4 -b 57600 -D -U flash:w:firmware_1.0_config.hex:i
Firmware Changelog
Version 2.7
Fixed a problem of resetting the interrupt trigger too early.
Version 2.6
Second attempt to solve the unnecessary delay due to the duty cycle limitation. Overflow of timer0 freezes the MCU after around 20 transmissions.
Version 2.5
Fixed problem with duty cycle limitation
Fixed MCU deepsleep inaccuracy
Version 2.4
An external interrupt during a transmission terminates the transmission and starts a new transmission.
Enabled Link Check Mode
Version 2.3
Fixed Typo
Version 2.2
An additional send delay between 0 and 20s has been added to avoid overlaps between different nodes with exactly the same send interval
Some flash memory optimizations
Version 2.1
Improved (debug) logging to serial output
BME sends -127°C (link DS18x) if no sensor was found
Version 2.0
Added wake up trough interrupt pins
Added option for disable interrupt pins
Added option for confirmed uplink
Changed LoRaWAN data up message
Added state of interrupt pins
Combined major and minor version byte into a single byte (4 bits for major and 4 bits for minor)
Version 1.1
Only for testing CI Pipeline
Version 1.0
Initial Version
PCB Changelog
Version 3.2
Fixed C7 (Replaced 10uF with 100nF)
Version 3.1
Added white field to specify the Node ID
Version 3.0
Removed Arduino Pro Mini Dauther PCB
Added ATMEGA328P direct to the PCB
Added pins for unused GPIOs
Added D2 and D3 with Pulldowns and connector as external interrupts (need FW v2.0 or higher)
Version 2.2
Added RST pin to connector for programming
Version 2.1
Added connector for programming
Version 2.0
Smaller PCB
Rounded Edges
Fixed issue with DS18x onboard pin mapping
Version 1.0
Initial PCB
TTS Payload Formatter (formerly TTN Payload Decoder)
function decodeUplink(input) {
var bytes = input.bytes;
var itrTrigger = (bytes[0] & 0x1) !== 0; // Message was triggered from interrupt (bit 0)
var itr0 = (bytes[0] & 0x2) !== 0; // Interrupt 0 (bit 1)
var itr1 = (bytes[0] & 0x4) !== 0; // Interrupt 1 (bit 2)
var bat = (bytes[1] << 8) | bytes[2]; // Battery
var fwversion = (bytes[3] >> 4) + "." + (bytes[3] & 0xf); // Firmware version
var temp1 = (bytes[4] & 0x80 ? 0xffff << 16 : 0) | (bytes[4] << 8) | bytes[5]; // BME Temperature
var humi1 = (bytes[6] << 8) | bytes[7]; // BME Humidity
var press1 = (bytes[8] << 8) | bytes[9]; // BME Pressure
var temp2 =
(bytes[10] & 0x80 ? 0xffff << 16 : 0) | (bytes[10] << 8) | bytes[11]; // DS18x Temperature
var mbStatus = "UNKNOWN";
if (itr0) {
mbStatus = "FULL";
} else if (itr1) {
mbStatus = "EMPTY";
}
return {
data: {
interrupts: {
itr0: itr0,
itr1: itr1,
itrTrigger: itrTrigger,
},
extra: {
mbStatus: mbStatus,
mbChanged: itrTrigger,
},
fwversion: fwversion,
bme: {
temperature: temp1 / 100,
humidity: humi1 / 100,
pressure: press1,
},
ds18x: {
temperature: temp2 / 100,
},
battery: bat / 100,
},
warnings: [],
errors: [],
};
}
LoRa Pro Mini
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(0)
- Likes(10)
- Engineer Oct 01,2024
- Matthew Beatty Sep 11,2024
- ANGEL CHAN Sep 03,2024
- Engineer Jun 08,2024
- Deniz ÖNAL Feb 10,2024
- Engineer Jan 31,2024
- Rocco du Toit Dec 03,2023
- Tcharli Sep 19,2023
- Engineer Aug 30,2023
- EL M Nabil Aug 25,2023
- 1 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
10design
-
10usability
-
10creativity
-
10content
More by EL M Nabil
- CANPico v2 Raspberry Pi Pico : https://amzn.to/41P4ZYQ (Amazon)The Yes We CAN repositoryThis repository contain...
- OBD II GPS Tracker OBD II GPS Tracker OBD ii GPS tracker is the most convenient vehicle GPS tracking device. This track...
- LoRa Pro Mini LoRaProMini - A low power LoRaWAN NodeA LoRaWAN sensor node, based on ATmega328P MCU (Arduino Pro Mi...
- CAN HAT for Raspberry Pi CAN HAT for Raspberry PiRaspberry Pi 4 Model B : https://amzn.to/3S8a9vY (Amazon)Raspberry Pi Zero 2...
- GNSS HAT for Raspberry Pi Raspberry Pi 4 Model B : https://amzn.to/3S8a9vY (Amazon)Introduction to mosaicHATWhat is mosaicHAT?...
- HoneyPi - Connect various sensors To Raspberry Pi HoneyPi-PCB 3.0xRaspberry Pi 4 Model B : https://amzn.to/3S8a9vY (Amazon)Raspberry Pi Zero 2 W : htt...
- GamePort USB adapter - necroware Necroware's GamePort AdapterFor more information: https://github.com/necroware/gameport-adapterFor R...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
121 0 0 -
DIY Laser Power Meter with Arduino
171 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
162 0 2 -