for Ruuvi environmental sensor

Many users of Ruuvi Bluetooth Environmental sensors would like to "tune" them.
My fork uses the UICR area of the Nordic System On Chip to store "tuneing" values which overide the defaults in the source.

Create UICR

This web page creates customized commands for the Nordic nRFjprog program. Used with the Ruuvi Development Shield will modify the CUSTOMER Register area of the UICR for Ruuvi firmware 2.6.0.
This area is dedicated by Nordic as an area in NonVoltial Memory for User Information Configuration. It begins at memory location x'10001080' and is 32 words long. It is preserved across power cycles and is not erased with the nrfjprog --program file.hex --sectorerase option.
It is erased with the --sectoranduicrerase , --chiperase --eraseall , --recover and eraseuicr options.

Version 2.6.0 includes a check to insure that the UICR area matches the version of the code which sets the tunable parameters.

You can copy the nrfutil memwr commands generated in the window and paste them into a command prompt wo make the changes.

Included is a memrd (memory rerad) command to display the UICR after it is written.

Using this technique it is possible to make changes easily without any programming skills and without installing the entire tool chain necessary to compile and create the firmware image. You can tweak the parameters repeatedly and test them see what the best values for each Ruuvi Sensor.

If you have the Segger j-link program you can view the values used from the log messages reported via JLinkRTTClient (or telnet localhost 19021).

Future versions of this page will create a Device Firmware Update package so you can change the tunables Over The Air using the Nordic nRFconnect app or nRF Toolbox for IOS, without the need for the Dev kits or the nRFutils.

Advertising Rate (ms)
(only affects mode1 )
100ms — 2.000 Seconds
Increasing Advertising Rate may increase the odds that a measurment will be received
at the expense of battery life


BME280 only
Increases in oversampling affect noise at the expense of battery life
Temperature 0   1   2   4   8   16  
Humidity 0   1   2   4   8   16  
Pressure 0   1   2   4   8   16  

Accelerameter: Sample Resolution:

Temperature adjustment: in .1°C Humidity adjustment: in .1%                 Read
Wiki Temperature, humidity accuracy
Movement sensitivity :

TX power
-40   -20   -16   -12   -8   -4   0   +3   +4  
Increasing Transmission power increases range at the expense of battery lifetime

Sensor Logging

range 1—10 secondsi

Receiver duty cycle Seconds
on off

sensors to log
Choose up to 3
Temperature     Humidity     Pressure    
X-axis     Y-axis     Z-axis     Movement counter    

Contact me at
DG12 if you need additional information or have a parameter I have not included as tunable that you would like added.