Option for different Advertising freq and Tx power for UUID1 and UUID2 (for AprilBeacon)

Hello AprilBeacon community,

I have an use case where I’d like to detect my arrival at home as quickly as possible using AprilBeacons N01 and N04 in iBeacon mode. This means I’d prefer the highest Tx Power and more frequent advertising when the beacon is on the move.
Then on the other hand, when my AprilBeacon is sitting still at home, I don’t need that fast detection anymore, and I could lower the Tx Power and set less frequent advertising to save battery. Most of the time the beacon is sitting still anyway.

This would be my example configuration:
When on the move: broadcasting UUID2, Tx Power +4db and 500ms advertising freq
When stationary: broadcast UUID1, Tx Power -4db and 5000ms advertising freq

Could these inputs be added to the application interface?


For N01 beacon, please try to change to motion mode with our AprilBeacon.app. It can advertise faster when move. But N01 doesn’t change TX power when still.

What is “motion mode”? I can only see the following broadcast types: iBeacon, Eddystone UID/URL, Line Beacon and Sensor.

When in iBeacon mode my N01 changes to UUID2 when in move, but N04 does not. Should it also change to UUID2? My N04 has model number 2.0.1 and firmware AprilBeacon app is version 1.12.16 on iOS


We checked current firmware for N01. It doesn’t support Motion mode. Do you really need the feature? We can try to add the feature.

N04 beacon has no accelerometer sensor. So it can’t detect your move.


I would really like to see this feature added, since it can save battery life when broadcasting less frequently. If it would be possible in the future, I’d also like to see the option for setting Tx Power independently for UUID1 and UUID2.

For N04:
So the UUID2 settings are not doing anything in iBeacon mode? There is also setting for the “Switch delay in seconds”. I’ve been bumping my head for quite some time when trying to get N04 broadcast UUID2.


New firmware v4.1.5.4 is available. please download it here

What’s changes

When N01 works at “sensor” mode:

  • advertising per 700ms if move
  • advertising per 5000ms if still

How to update firmware

  • Install our iPhone app AprilBeacon
  • Connect the iPhone to your PC
  • Install iTunes. You can use Finder to do these steps if you use macOS
  • Open iTunes the icon “phone” -> choose Applications from left menu
  • click to right screen and scroll down to see app AprilBeacon
  • drag the two files to the Documents zone
  • open app AprilBeacon and connect beacon
  • scroll down to see the bottom button “升级固件” or “Upgrade Firmware”
  • Choose the file firmware img file and input passcode 195660

Let me know if this works

I succesfully uploaded the new firmware to my Iphone (I uploaded all 3 files) and started to upgrade my N01.
New firmware was detected by AprilBeacon app, but the upload process from app to beacon never finishes. The process is always stuck on 0% with “Your new firmware is being uploaded. Please wait until this process is completed.” I have waited for 10 minutes, but it won’t go pass 0%.

Any advice?

Could you include the new firmware in the app itself and release new app revision to App Store / Google Play?

Don’t unzip the zip file. You should just use the zip file to update firmware.

Thanks, now the flash procedure was successful when uploading the whole .zip archive.

I don’t know what I should be looking for in the new firmware. If I change to “Sensor” broadcast type, I cannot see what UUID I’m using. The UUID settings are not there. AprilBeacon app cannot find my N01 beacon anymore if I change to “Sensor” mode. Is “Sensor” mode still broadcasting some UUID? I can connect via bluetooth though and change back to “iBeacon”.

You said earlier something about “Motion mode”. This “Sensor” mode has always been in the earlier firmware

You can use “sensor” mode for updated firmware. But it doesn’t advertise iBeacon data when it’s in sensor mode. see the packet format for “sensor” mode.

BTW: the updated firmware is Did you update ok?

Update to is OK and I can read and confirm the version number in the iOS app.

I’m not sure if “sensor” -mode works in my application. I only know that iBeacon works, and this is why I asked about the iBeacon advertising frequency for UUID1 & UUID2.

This is the application where I’m using AprilBeacon:

For iBeacon mode, the advertising interval is same. Do these match your requirement for iBeacon mode?

  • advertise UUID2 fast when move (700ms or 500ms)
  • advertise UUID1 slow when still (5000ms)

We’ll try to update the firmware again today.

Please try the OTA file v4.1.5.5 instead. It works with iBeacon mode also

Thank you for your support!
I will try this release later today.

Is the UUID1 500ms a typo? Should it be 5000ms = 5s?
User configurable adjustment freq would be the best option, but I’m okay with hard coded 500ms/5000ms

yes. it’s a typo. I’ve fixed it

According to my tests I think version is working, so it’s updating UUID1 on 5000ms or so intervals when still. But now I think the option for “Switch Delay In Seconds” is not working, and seems that it’s also constant somewhere around 5s. Could you check this?

This 5000ms frequency for UUID2 is now hidden in the firmware and not visible in the app config. Is the UUID1 advertising freq now also constant (500ms or 700ms as you wrote earlier), or does the option for “Advertising Freq” still change it (for UUID1)?

Would it be technically possible to change “Tx Power” on the fly, or does it always need device reboot?

I really appreciate the work you’ve already done for modifying the firmware according to my needs. No other beacons offer so much flexibility and configuration abilities. If only it would be possible to independently configure both UUID1 and UUID2 for “Advertising freq” and “Tx Power” (and also common “Switch Delay In Seconds”), this product would be a killer.

I would be very happy to recommend the N01 product on the home automation forums if these options would be available

Thanks so for!

We compiled new OTA firmware v4.1.5.6 today.

What’s new

  • Make “switch delay in seconds” work again. e.g. the default “switch delay value” is 30 seconds, N01 sensor will keep advertising UUID2 30 seconds if move. Then switch back to UUID1
  • N01 advertises UUID2 with the option for “Advertising Freq” if move
  • N01 advertises UUID1 with the option for “Advertising Freq” * 7 if still. e.g. The default advertising freq = 700ms. So the advertising freq is 700 * 7 = 4900ms if still

We didn’t make any changes for “TX power” currently. Because we measured the current for 0dBm and -4dBm, it’s almost same. We need restart advertising to make the new TX power value affected. It may consume more power.

Thanks, I uploaded and it’s working as you documented.
Great job and thanks again for your support!

P.S. Are you still going to investigate Tx Power change any deeper?

No. I think we’ll not change the TX power recently.