This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Using FOTA in a non-BLE application

Hi,

I’ve just ordered a few nrf51822 (from seedstudio) and waiting for them to arrive.

They come preloaded with SoftDevice 6.0 or 7.0. with a pre-flashed OTA boot loader.

I’ve read documentation on nrf51 SDK and SoftDevices where all of the FOTA examples require you to instantiate the DFUService that adds the control characteristic to trigger the bootloader.

In the seedstudio wiki they mention that if pin18 is connected to GND, and then power up the module it will enter FOTA-mode I can’t find that documented anywhere in the Nordic documentation.

The problem is, that for my application, I want to use Enhanced Shock Burst, not an BLE application. But I would like to have FOTA as well if possible, for example by pushing a button.

Is there anyway to have an ESB application and still be able to enter FOTA-mode? For example by pulling down pin18 when booting.

Can anyone link me to documentation that connecting pin18 to GND at boot will enter FOTA-mode

Any help is appreciated.

Update

Okay, so I've had some time to play around a bit with this module. As stated, it comes pre-loaded with Softdevice v 7. and all I have to do, to uploade an application is to pull down pin 18 on boot, and I can upload it via nRF Toolbox, I'm using iOS. Note: It has to be pin18, no other pin switches to FOTA-mode on boot. In my case this i quite nice, since I'm developing an ESB application with no ble, this works perfectly without any ble in the application.

Parents
  • Pulling down pin 18(or any other pin), is not a hardware thing on the nRF chip, all it means is that the bootloader program, which has the "first look-in" at reset, will check for that pin being pulled low, and go into bootloader mode if found. If not, then it will, I believe, make some other checks as to whether a valid app is present in flash, and determine whether to bootload or jump to the app.

  • Okay, I might have misunderstood something then. As I understand it the OTA Bootloader is independent from the application, so if I can trigger the bootloader by pulling down a pin on boot, it doesn't matter whether or not my application has BLE. I don't need to enter the bootloader at any arbitrary time while running, only when I pull down a pin manually (like a switch)

Reply
  • Okay, I might have misunderstood something then. As I understand it the OTA Bootloader is independent from the application, so if I can trigger the bootloader by pulling down a pin on boot, it doesn't matter whether or not my application has BLE. I don't need to enter the bootloader at any arbitrary time while running, only when I pull down a pin manually (like a switch)

Children
No Data
Related