After just 7 to 10 days, the 3xAAA batteries of my TTN Nodes (from the TTN online shop) were already empty, even if it only transmitted one frame every 4 hours. From reading in the forums, there is a known bug in the Microchip RN2483 module, preventing it to enter sleep mode and draining the battery.
I’m not yet sure if this is the only reason why the orignal TTN Node is draining the batteries that quick, but updating the firmware of the RN2483 to get rid of that known bug could probably help.
Since the procedure to update the microchip lora module is not quite straight forward, I am trying to document it here.
The microchip LoRa development tool for linux and mac apparently contains a bug, preventing you from selecting the firmware file. Hence you have to use Windows to perform the upgrade.
You need a serial connection to the RN2483 module, so you have to temporarily upload a “passthrough” code onto the TTN node to get direct access to the RN2483 module to perform the upgrade.
Prepare the TTN Node for the firmware upgrade by uploading the passthrough sketch:
Open Arduino IDE (assuming you have already installed all required TTN libs) and open:
File \ Examples \ TheThingsNode \ Passthrough
Upload this sketch to the TTN Node to allow a serial passthrough connection from the TTN-Node USB Serial port to the RN2483 chip.
On a Windows (10) machine, perform the following steps:
Launch the installer and complete the installation
If you had selected to install Java, you must also manually start the JRE8 installation now, as the loradev installer just puts the java installer EXE into the program folder, but does not actually execute it:
Open the folder c:\Users(username)\Microchip\LoRaSuite\Java and doubleclick the java installer exe.
Now open a NEW command prompt, navigate to c:\Users(username)\Microchip\LoRaSuite\Applications\LoRaDevUtility\ folder and launch:
java -jar LoRaDevUtility.jar
The microchip loradev utility should start up now.
Now connect the TTN Node, which is in passthrough mode, to the microchip loradev tool, click the “find devices” button and the RN module should show up in the left panel. Select it and the console should display RN2483 1.0.1 Dec 12 2015 etc…
Locate the DFU tab and in the “bootloader input” section click on the button for “select file”.
Remember, this button does not work in linux and mac, even if the userprefs xml was updated… that’s why we are forced to use windows here.
Select the firmware hex file in the folder “binary\For Bootloader” of the ZIP file you downloaded before. Hit Update Firmware and wait until completed.
Reconnect and verify that the version in the console now shows 1.0.3 (or newer)
Now you can upload your own code again using the arduino IDE.
I hope this will fix the sleep mode bug, which drains the batteries of the TTN Node within just a few days.
I did not have to press any (reset) buttons. Just plug in the node and launch the LoRaDev tool, then it should find it even without pressing the “find” button.
Can you verify if the serial passthrough is really working by opening a serial console in arduino IDE:
In Serial Monitor select “Both NL & CR” and “115200 baud” in the bottom right dropdowns and send a command like: mac get deveui
There must be a reply by the RN chip.
Btw, after upgrading the firmware, close the LoRaDev tool, unplug the node and connect it again, then launch the LoRaDev tool again. It should immediately find the new device and report the new firmware version in the console. If you don’t restart the tool, it will not work with the already listed device.
@flx thanks for your perfect instructions. Worked nicely. Unfortunately ‘The Things Node’ still uses around 3.8mA in sleep mode. Is the schematic of ‘The Things Node’ available? Maybe the excessive current drawn is a hardware design issue.