RuuviTag is a generic sensor node, which suitable for many applications. Both of hardware and software are 100% open source. Their website has enough details about the product:

As a developer, I would like to program this tag, but their default development environment is not Windows. Developing Ruuvi Firmware part says of

Instructions below are tested using OS X and Ubuntu, but basically any Unix distribution (or even Windows) should be fine.

So I started to search how can I create the development environment for programming RuuviTag with Windows 10. Here are the instructions:

  1. Read here:
    It will give you the community’s default approach.
  2. Download and install Segger Embedded Studio for Windows from
    When I downloaded, the file name was:
  3. Download and install GNU ARM Embedded Toolchain 4.9 from
    When I downloaded, the file name was:
    I think it is a good idea to select checkbox so it will add regarding path to the environment variable: In my machine path variable was like that:
    C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3\bin So if you run this in command promt:
    arm-none-eabi-gcc –-version
    In my machine the answer:
    arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150529 (release) [ARM/embedded-4_9-branch revision 227977]
  4. Install Git. I installed from
  5. Then clone the repo:
  6. Open git cmd for windows: git-cmd.exe. In my machine it was here:
    C:\Program Files\Git
  7. Go to the arm toolchain by using:
    cd C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q3\bin
  8. Run gccvar.bat file to get regarding environment variables for compiling with arm toolchain.
  9. Go to the cloned repo. In my machine it was here: D:\99_Temp\ruuvitag_fw9
  10. Call make 10
  11. In the end you will have .hex files.11
  12. To create DFU package, you need nrfutil python package. Open command prompt:
    cd C:\Python27
    C:\Python27>curl -O
    C:\Python27>cd Scripts
    C:\Python27\Scripts>pip install nrfutil
  13. When you run following command you should get response from nrfutil:
    C:\Python27\Scripts>nrfutil version
    In my machine it was like:
    nrfutil version 4.0.0
  14. To create DFU package run following command under C:\Python27\Scripts:
    nrfutil pkg generate --debug-mode --application _build/ruuvi_firmware.hex --hw-version 3 --sd-req 0x91 --key-file ~/git/ruuvitag_fw/keys/ruuvi_open_private.pem

    In my pc, this command was like:

    nrfutil pkg generate --debug-mode --application D:\99_Temp\ruuvitag_fw\ruuvi_examples\ruuvi_firmware\ruuvitag_b\s132\armgcc\_build\ruuvi_firmware.hex --hw-version 3 --sd-req 0x91 --key-file D:\99_Temp\ruuvitag_fw\keys\ruuvi_open_private.pem D:\99_Temp\ruuvitag_fw\ruuvi_examples\ruuvi_firmware\ruuvitag_b\s132\armgcc\_build\

    14 With this effort, I was able to get the sources, compile them and run on RuuviTag just using only Windows 10.