Ruuvi Tag deep firmware upgrade possible - nf connect DFU not activated

So I’ve an old ruuvi tag with very old firmware. I’ve tried to upgrade firmware with Android nf connect & dfu. Initially I had DFU activated on app, but basically software was not pushed to tag. And now when I connect to tag (B&R button version) it does not offer DFU on top right.

Is there any way to ‘fix’ the tag? Soldering ESP32 to tag’s debug pins & upload? Or is it trash?

I think bootloader is working because tag is seen over BT and leds go to correct status. I think (cannot check right now) nf connect log showed some GATT error.

Hi @Jorge ,

Thanks for your message. The old RuuviTag requires a specific firmware package to be updated on the sensor with nRF Connect app, and this might now cause the process to fail for you.

Use this package with nRF Connect:
RuuviTag 3.31.1 firmware with SDK update

You will find the full instructions for this update process at https://ruuvi.com/software-update/ under Firmware versions and update your RuuviTag firmware using nRF Connect (Advanced).

Like said I’ve tried to upgrade with ruuvi’s instructions. I used firmware package you shared as it was on the ooold tag fw upgrade instructions.

Update did not complete, dfu upload halted to 7% or similar. And on retry nfconnect app does not offer full (the button is missing).

Nf connect log says

Connecting to (mac address)

error 147 (0x93) gatt conn timeout

Disconnected

So is there a way to get past this gate error?

Hello,

First thing I’d check is how fresh the battery is, updating is a heavy operation and it could be that old battery can run the normal operation but crashes on update, giving that GATT error.

If you can read the tag’s firmware version with NFC we can figure out if there is an update path with a mobile phone. However the oldest tags don’t have NFC support, but I think the PCB revision in the photo should have the NFC supported.

The tag has Tag-Connect SWD connector, if you have a SWD debugger and a cable for it flashing new hex is possible. Likewise it would be possible to solder to ESP32 and run flashing through it, that’s actually how Ruuvi Gateway updates the internal nFR52. However that would be quite a bit of work.

The battery was new when started this update tasks. Cannot tell battery status now after maybe a few hours on during the weeks.

Nfc shows:

Id: d9:09:fd:d0:40:36:6b:a5

Mac: (on ruuviboot screenshot)

SW: 1.2.12

Data: (empty no data)

And I want to emphasise that gatt error happens on connect, not on firmware upload. As stated nrf connect does not even show dfu button top right

@otso @Marko any hope flashing in my situation?

Hello and sorry about the delayed reply.

You can try to update the v1.2.12 to 2.5.9 with this package: https://github.com/ruuvi/ruuvitag_fw/releases/download/v2.5.9/ruuvi_firmware_dfu_2.5.9.zip and then again to 3.X, but I’m not sure if that upgrade path would work.

If the 2.5.9 runs normally, you can get most of the features of your RuuviTag. 3.X adds history logging and support for other sensors and hardware variants, but for your Tag only the history logging inside the tag would be missing

1 Like

But what is the method upload the firmware? The nrf connect on android does not connect correctly AFAIK. Gatt error comes on initial connect

If nRF Connect does not connect at all, there’s not really a solution for updating without a wired programmer.

This seems to indicate that it is possible to start a connection + upload, but it might be that some component is just on the verge of failing and DFU is no longer possible