Second setup, choosing a radio
-
It's a timely topic, as Nordic just 1 month ago appears to have published info on how to do OTA using their development kit: https://devzone.nordicsemi.com/nordic/short-range-guides/b/mesh-networks/posts/thread-tutorial-practical-guide-for-device-upgrade-ota
Unfortunately, it seems like a different world entirely from the Sanjeev code, which doesn't utilize the Nordic Bluetooth devkit.
I'm moderately hopeful that Adafruit may one day release a wireless bootloader that's more compatible with the Sanjeev code. However, there's a risk Adafruit would make it for CircuitPython instead.
-
It looks as though ARM MBED has FOTA working for the nRF51822:
https://os.mbed.com/teams/Bluetooth-Low-Energy/wiki/Firmware-Over-the-Air-FOTA-UpdatesARM MBED is the rtos that Arduino chose for its nRF52840 "nano" product offerings.
-
@berkseo said in Second setup, choosing a radio:
@projectMarvin Most recently, I tried updating mysensors nodes on nrf52840 via nRF Conect (BLE). Incredibly fast.
If you have step-by-step instructions on exactly how to do that, it would help just about everybody.
@NeverDie This is not a very convenient update process, although it is incredibly fast. You need to download the archive with the firmware to your phone. In the nRF Conect app, you will connect to a mysensors device that has previously been switched to bootloader mode (secure bootloader). Next, you need to choose the archive with the firmware and accept the download. This is a research interest rather than a working option :)
-
It's a timely topic, as Nordic just 1 month ago appears to have published info on how to do OTA using their development kit: https://devzone.nordicsemi.com/nordic/short-range-guides/b/mesh-networks/posts/thread-tutorial-practical-guide-for-device-upgrade-ota
Unfortunately, it seems like a different world entirely from the Sanjeev code, which doesn't utilize the Nordic Bluetooth devkit.
I'm moderately hopeful that Adafruit may one day release a wireless bootloader that's more compatible with the Sanjeev code. However, there's a risk Adafruit would make it for CircuitPython instead.
@NeverDie How about this?
https://github.com/adafruit/Adafruit_nRF52_Bootloader
based on nrf5 sdk v11 though, current version is 17.I had almost given up on mysensors and was considering the nrf52840 with openthread and mqtt-sn since nordic has working examples for that all the way from a mostly sleeping nrf52840 to an mqtt-sn - mqtt bridge.
I really like the nrf52840 and I want OTA since I know I will never leave my nodes alone and stop updating their codes :upside_down_face:
LoRa is problematic since I want something that is legal in both Sweden and China.But mbed os shows promise and if the nano ble runs mbed on an nrf52840 then that should open a lot of doors.
Maybe this project will finally push me to adopt an RTOS :grin:This sounds promising.
https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v17.0.0%2Fexamples_bootloader.html&cp=7_1_4_4 -
@NeverDie How about this?
https://github.com/adafruit/Adafruit_nRF52_Bootloader
based on nrf5 sdk v11 though, current version is 17.I had almost given up on mysensors and was considering the nrf52840 with openthread and mqtt-sn since nordic has working examples for that all the way from a mostly sleeping nrf52840 to an mqtt-sn - mqtt bridge.
I really like the nrf52840 and I want OTA since I know I will never leave my nodes alone and stop updating their codes :upside_down_face:
LoRa is problematic since I want something that is legal in both Sweden and China.But mbed os shows promise and if the nano ble runs mbed on an nrf52840 then that should open a lot of doors.
Maybe this project will finally push me to adopt an RTOS :grin:This sounds promising.
https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v17.0.0%2Fexamples_bootloader.html&cp=7_1_4_4@projectMarvin said in Second setup, choosing a radio:
Looking at:
it does look as though there is a possible OTA mechanism:
DFU = LOW and FRST = LOW: Enter bootloader with OTA, to upgrade with a mobile application such as Nordic nrfConnect/Toolbox
but if it requies a mobile phone application... it sounds a bit inconvenient, similar to what berkseo was alluding to. Nordic's software efforts always seem to assume Bluetooth, which is frustrating, because the hardware itself obviously doesn't have to rely on Bluetooth per se.
However, at the bottom it does seem to give you the option of crafting your own bootloader, and so that might be a way to do it right:
How to compile and build
You should only continue if you are looking to develop bootloader for your own. You must have have a J-Link available to "unbrick" your device.
I get the impression amazon's FreeRTOS may (?) also offer a way to FOTA update an nRF52840.
I haven't looked into Thread, but the nRF52840 supposedly supports Thread, and maybe (?) by now Thread is mature enough to have FOTA.
-
From what I gather Particle had a FOTA for their nrf52840 modules, but they ruined it by making it a monthly paid subscription service. Too bad.
-
@projectMarvin said in Second setup, choosing a radio:
Looking at:
it does look as though there is a possible OTA mechanism:
DFU = LOW and FRST = LOW: Enter bootloader with OTA, to upgrade with a mobile application such as Nordic nrfConnect/Toolbox
but if it requies a mobile phone application... it sounds a bit inconvenient, similar to what berkseo was alluding to. Nordic's software efforts always seem to assume Bluetooth, which is frustrating, because the hardware itself obviously doesn't have to rely on Bluetooth per se.
However, at the bottom it does seem to give you the option of crafting your own bootloader, and so that might be a way to do it right:
How to compile and build
You should only continue if you are looking to develop bootloader for your own. You must have have a J-Link available to "unbrick" your device.
I get the impression amazon's FreeRTOS may (?) also offer a way to FOTA update an nRF52840.
I haven't looked into Thread, but the nRF52840 supposedly supports Thread, and maybe (?) by now Thread is mature enough to have FOTA.
@NeverDie Here is a nordic fota over thread example.
https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v4.1.0%2Fthread_example_dfu.html&cp=7_3_2_10_4_0
They also support using a dongle or DK with a raspberry as a border router.Nordics documentation is fairly extensive and quite easy to search, I like it :)
The nrf52840 DK is kind of the standard example hardware for openthread so they have plenty of examples. -
From what I gather Particle had a FOTA for their nrf52840 modules, but they ruined it by making it a monthly paid subscription service. Too bad.
@NeverDie I read something about that Particle discontinued their BLE mesh boards :/
-
@NeverDie I read something about that Particle discontinued their BLE mesh boards :/
@projectMarvin said in Second setup, choosing a radio:
@NeverDie I read something about that Particle discontinued their BLE mesh boards :/
At least in part. Hackaday says Particle discontinued their Xenons.
-
@projectMarvin said in Second setup, choosing a radio:
@NeverDie I read something about that Particle discontinued their BLE mesh boards :/
At least in part. Hackaday says Particle discontinued their Xenons.
@NeverDie said in Second setup, choosing a radio:
@projectMarvin said in Second setup, choosing a radio:
@NeverDie I read something about that Particle discontinued their BLE mesh boards :/
At least in part. Hackaday says Particle discontinued their Xenons.
-
@projectMarvin
indeed nrf52 + mysensors fota is not officially supported.
When I tried fota, I used nordic/Adafruit (secure) bootloader and derived it (because we used adafruit core + mysensors).
That was a while ago.. but actually I prefer and need subghz.
Unfortunately I'm working on others fun projects so I don't have time to work on nrf5 for the moment.Sure using mobile app for fota is not convenient. better code a server-side app, micro service, for this task.
-
So after spending some time reading on the forum I have kind of shifted toward rfm69 with a sensebender ethernet mqtt gateway.
However this comes with new concerns.
The only rfm69 frequency I can use is 433 MHz, which means huge antennas. Even coiled they are pretty big.
Searching Taobao (chinese aliexpress) the rfm69 modules are quite uncommon and so I'm worried that they are already a bit aged.
Also the majority of the ones listed are the C version with a different pinout than the version used by sensebender.
The sensebender gateway is aging, it 5 years old with the last update 3 years ago.
This is not negative, I'm just wondering if it's still a good gw for a new system or will it soon be considered old and lacking?I'm not sure what the development plan is for mysensors, will we keep using nrf24 and rfm forever or is there any plan to shift towards something newer?
-
@projectMarvin
why can't you use other freq than 433?-
Even if rfm69 is not very new, there are lot of choices on aliexpress for cheap with different variants( freq and footprints). RFM69 works great for longer range vs nrf24/52.
-
RFM69HCW variant is footprint compatible with RFM95W.
-
MySensors new driver is RFM69<->RFM95 communication compatible
-
RFM95 is more expensive, a bit more power efficient (especially in RX mode, but so far there is no listenmode in MySensors, so that's not a big detail)
About the sensebender gw, I have one but actually I use my own gw designs (because I can). But I don't think SAMD mcu is "obsolete" for a good gw :)
Personally I prefer an external gw (Serial or ethernet), than radio module directly connected to rpi.
For the moment, afaik, MySensors plan is still the same, and might remain the same for quite a while I think: arduino, nrf24, rfm69/95.
We (me especially) wanted to add others newer soc for subghz (like TI's) but it's not worth the effort, I'm too busy for supporting this.
So it's easier for the team to support what we use. -
-
@scalz said in Second setup, choosing a radio:
MySensors new driver is RFM69<->RFM95 communication compatible
Good to hear! That potentially gives us the best of both worlds.
On the cost front, the STM32WLE5 is the first single chip solution that has both an MCU and LoRa integrated onto a single die. What's interesting is that it appears to be priced lower than Semtech's standalone LoRa chips.
So much depends on price. The Fanstel top-end nRF52840 modules have range that's comparable to an RFM69, but at better data rates. They're pricier than what most people want to pay though, so that has all but ruined the uptake rate.
If Expressif were to offer a Wi-Fi 6 chip with WiFi-NOW capabilities, and which could sleep at ultra low power, then the promise of its gigabit speeds would be a game changer. Unfortunately, I'm not aware of any announced plans for them to do that.
-
@scalz said in Second setup, choosing a radio:
MySensors new driver is RFM69<->RFM95 communication compatible
Good to hear! That potentially gives us the best of both worlds.
On the cost front, the STM32WLE5 is the first single chip solution that has both an MCU and LoRa integrated onto a single die. What's interesting is that it appears to be priced lower than Semtech's standalone LoRa chips.
So much depends on price. The Fanstel top-end nRF52840 modules have range that's comparable to an RFM69, but at better data rates. They're pricier than what most people want to pay though, so that has all but ruined the uptake rate.
If Expressif were to offer a Wi-Fi 6 chip with WiFi-NOW capabilities, and which could sleep at ultra low power, then the promise of its gigabit speeds would be a game changer. Unfortunately, I'm not aware of any announced plans for them to do that.
@NeverDie
There are others soc with LORA integrated, often with tiny footprints.I agree about nrf and bitrate. I have bt840xe on one of my gw, not sure if I would use one on a coincell node :)
I mean nrf52840+external frontend is almost same rf power output as rfm69 at 13dB which would be a lot for a coincell, but rfm69 has better penetration and no potential coexistence problem with other protocol if using mysensors. Well, we are talking about differents beasts, depends on the usecase, there are pros&cons in both I think.Here, I'm quite happy with my cheap rfm69 modules, I get a very nice range, I don't need any repeater (a bit more than 2acres area, with nodes in different buildings and thick rock walls, metals obstacles etc).
-
@NeverDie
There are others soc with LORA integrated, often with tiny footprints.I agree about nrf and bitrate. I have bt840xe on one of my gw, not sure if I would use one on a coincell node :)
I mean nrf52840+external frontend is almost same rf power output as rfm69 at 13dB which would be a lot for a coincell, but rfm69 has better penetration and no potential coexistence problem with other protocol if using mysensors. Well, we are talking about differents beasts, depends on the usecase, there are pros&cons in both I think.Here, I'm quite happy with my cheap rfm69 modules, I get a very nice range, I don't need any repeater (a bit more than 2acres area, with nodes in different buildings and thick rock walls, metals obstacles etc).
@scalz said in Second setup, choosing a radio:
There are others soc with LORA integrated, often with tiny footprints.
Who? I've tried googling this, and all I find is STMicroelectronics. The rest are all SiP rather than SOC as far as I can tell.
-
@projectMarvin
why can't you use other freq than 433?-
Even if rfm69 is not very new, there are lot of choices on aliexpress for cheap with different variants( freq and footprints). RFM69 works great for longer range vs nrf24/52.
-
RFM69HCW variant is footprint compatible with RFM95W.
-
MySensors new driver is RFM69<->RFM95 communication compatible
-
RFM95 is more expensive, a bit more power efficient (especially in RX mode, but so far there is no listenmode in MySensors, so that's not a big detail)
About the sensebender gw, I have one but actually I use my own gw designs (because I can). But I don't think SAMD mcu is "obsolete" for a good gw :)
Personally I prefer an external gw (Serial or ethernet), than radio module directly connected to rpi.
For the moment, afaik, MySensors plan is still the same, and might remain the same for quite a while I think: arduino, nrf24, rfm69/95.
We (me especially) wanted to add others newer soc for subghz (like TI's) but it's not worth the effort, I'm too busy for supporting this.
So it's easier for the team to support what we use.@scalz said in Second setup, choosing a radio:
MySensors new driver is RFM69<->RFM95 communication compatible
Indeed this is very interesting!
Do you have any pointer to instructions on how to use this feature?
I am also currently working on my sencond MySensors setup and going the RFM95 route. My first setup was a RFM69, so if I can combine nodes from both without having two different gateways would be very convenient... it could also help in choosing the best hardware for each use case.
After some searching, the only thing I could find was this pull request in MySensors development branch, but I couldn't find any hint about how to make use of it:
https://github.com/mysensors/MySensors/pull/1414 -
-
@scalz said in Second setup, choosing a radio:
@projectMarvin
why can't you use other freq than 433?I'm currently in China, 915 and 868 are not legal here :/
- Even if rfm69 is not very new, there are lot of choices on aliexpress for cheap with different variants( freq and footprints). RFM69 works great for longer range vs nrf24/52.
Yes there are some, but even on aliexpress when you look at the sales numbers you will see that basically no one are buying the rfm69w/hw and quite few are selling them.
- RFM69HCW variant is footprint compatible with RFM95W.
Really? How does this work? Do you reprogram them?
Considering they are different size, different number of pins and have the pins in different positions.- MySensors new driver is RFM69<->RFM95 communication compatible
Does is also work with rfm69 <-> rfm96 & rfm98? (96/98 are 433 MHz :) )
If so this would be really interesting solution.- RFM95 is more expensive, a bit more power efficient (especially in RX mode, but so far there is no listenmode in MySensors, so that's not a big detail)
About the sensebender gw, I have one but actually I use my own gw designs (because I can). But I don't think SAMD mcu is "obsolete" for a good gw :)
Ok cool, might go for one then if I choose nrf24 or rfm69.
Personally I prefer an external gw (Serial or ethernet), than radio module directly connected to rpi.
Yes I agree, I want the gw to be independent preferably over ethernet.
For the moment, afaik, MySensors plan is still the same, and might remain the same for quite a while I think: arduino, nrf24, rfm69/95.
We (me especially) wanted to add others newer soc for subghz (like TI's) but it's not worth the effort, I'm too busy for supporting this.
So it's easier for the team to support what we use.Ok this makes sense, thank you for your answers :)
@NeverDie said in Second setup, choosing a radio:
If Expressif were to offer a Wi-Fi 6 chip with WiFi-NOW capabilities, and which could sleep at ultra low power
Then I would immediately buy a wifi6 ap, this would be amazing! :heart_eyes:
Even though I prefer a standalone solution like mysensors this would be to convenient to ignore :smile: -
@scalz said in Second setup, choosing a radio:
@projectMarvin
why can't you use other freq than 433?I'm currently in China, 915 and 868 are not legal here :/
- Even if rfm69 is not very new, there are lot of choices on aliexpress for cheap with different variants( freq and footprints). RFM69 works great for longer range vs nrf24/52.
Yes there are some, but even on aliexpress when you look at the sales numbers you will see that basically no one are buying the rfm69w/hw and quite few are selling them.
- RFM69HCW variant is footprint compatible with RFM95W.
Really? How does this work? Do you reprogram them?
Considering they are different size, different number of pins and have the pins in different positions.- MySensors new driver is RFM69<->RFM95 communication compatible
Does is also work with rfm69 <-> rfm96 & rfm98? (96/98 are 433 MHz :) )
If so this would be really interesting solution.- RFM95 is more expensive, a bit more power efficient (especially in RX mode, but so far there is no listenmode in MySensors, so that's not a big detail)
About the sensebender gw, I have one but actually I use my own gw designs (because I can). But I don't think SAMD mcu is "obsolete" for a good gw :)
Ok cool, might go for one then if I choose nrf24 or rfm69.
Personally I prefer an external gw (Serial or ethernet), than radio module directly connected to rpi.
Yes I agree, I want the gw to be independent preferably over ethernet.
For the moment, afaik, MySensors plan is still the same, and might remain the same for quite a while I think: arduino, nrf24, rfm69/95.
We (me especially) wanted to add others newer soc for subghz (like TI's) but it's not worth the effort, I'm too busy for supporting this.
So it's easier for the team to support what we use.Ok this makes sense, thank you for your answers :)
@NeverDie said in Second setup, choosing a radio:
If Expressif were to offer a Wi-Fi 6 chip with WiFi-NOW capabilities, and which could sleep at ultra low power
Then I would immediately buy a wifi6 ap, this would be amazing! :heart_eyes:
Even though I prefer a standalone solution like mysensors this would be to convenient to ignore :smile:@projectMarvin said in Second setup, choosing a radio:
I'm currently in China, 915 and 868 are not legal here :/
oki!
Yes there are some, but even on aliexpress when you look at the sales numbers you will see that basically no one are buying the rfm69w/hw and quite few are selling them.
Still it's available for ordering. I prefer using HCW and CW because they have a more compact footprint. but I ordered HW/W in the past on aliexpress too, no problem. works the same, only the pinout changes.
Really? How does this work? Do you reprogram them?
Considering they are different size, different number of pins and have the pins in different positions.Nope. RFM69HCW and RFM95 have same size and mapping, you can take a look in datasheets. Note: only HCW variant is compatible.
Does is also work with rfm69 <-> rfm96 & rfm98? (96/98 are 433 MHz :) )
If so this would be really interesting solution.Unfortunately, we test what we have in stock and use, so I've no idea about those 433mhz modules..maybe yes in theory, but I've never tried this setup.