Bluez firmware flashing


Hello! I’m newbie in SoC devices development so I have a couple simple questions. Questions are not related to Bluz directly but this community seems to be friendly to rookies. I’ll appreciate you to get some answers for my questions.
I want to implement a BLE mesh solution in the scope of a home automation. There is not a standard for it but I’ve found an implementation for nRF51: OpenMesh. How can I flash OpenMesh firmware to Bluz module? Can I flash it “by air”? What tools may be used to prototyping with Bluz DK? How can I debug software with Bluz DK?

Thanks in advance for answers.


Bluz DK has three layers of firmware. The first is the closed-source SoftDevice from Nordic, this is the BLE stack. The second is the system firmware stack, this is our firmware that allows bluz to talk to the Particle cloud. It is written with the Nordic SDK to talk to the SoftDevice and tell it what to do. The third is the user code, whatever the user programs bluz to do, that sits on top of both.

To implement mesh with bluz, you would have to merge it into the system firmware stack. If you weren’t using bluz, you could just use whatever is provided. But to make it work with bluz would be much more complicated as you would need to merge their logic for the BLE layer with ours.

At the end of the day, you can use bluz hardware as any other nrf51822 device, you can replace our firmware with whatever you would like. So you could use bluz as the hardware, but use any Nordic firmware that you would want.

You can only flash bluz Over the Air with our system firmware and bootloder. So if you replaced the bluz firmware stack with the OpenMesh one, you would no longer be able to flash OTA via Particle. THe nrf51822 can still be flashed OTA, Nordic provides examples of this, but I don’t know i that is supported with OpenMesh.

To debug, you would need a JTAG programmer. The Segger JLink is probably the best one for debugging and flashing firmware.


Thank you for the detailed answer. One more question: what firmware’s layer will be changed when BLE mesh networking is standartized? SoftDevice one?


That is up to Nordic Semiconductor :smile:


Will devices with Bluz module (and Bluz firmware) inside be able to be upgraded OTA to support BLE mesh networking when it is standartized?


Again, that is up to Nordic Semiconductor. We use the nrf51822 currently, while Nordic has released the nrf52832 which is a newer version. It depends on what they would support on each of the versions they have.

If Nordic does support the nrf51822, then we would also have to add that feature back into our firmware, which would take time. So I can’t really commit at this point to bluz supporting the standardized mesh protocol since there are too many unknowns.