Browan Object Locator for Helium Mappers and Helium Cargo

Shopify API


APR 12, 2022

Browan Object Locator for Helium Mappers and Helium Cargo

The following document provides a step-by-step instructions on how to onboard the Browan Object Locator onto the Helium Network for use on Helium Mappers and Helium Cargo, helping identify and verify Helium Network coverage wherever the Object Locator is heard. 

1. When you receive your Object Locator, fully charge the device. When the device is connected to a powered charger, the green LED will be continuously on indicating the battery is charging. 

2. Once the battery is fully charged, the LED will fade-in and out at a rate of 12 cycles per minute.

3. You are now ready to add your device to your Helium Console. If you do not already have a Helium Console Account, you can sign up for one here. Where it asks for "Organization Name" enter something you will remember that is unique to you. Example: Your name

4. Please note that when you first sign-up for a Helium Console account, you are given 10,000 Data Credits. Each time your device communicates over the Helium network, it will use a Data Credit. Additional Data Credits can be purchased through the Helium Console.

5. Dev EUI, App EUI, and App Key information should have been included on your order packing slip. You can also reference this information by logging on to your CalChip customer account and referencing the notes of your order number. You will also receive an email with the subject line "CalChipConnect Order - Important information to use your sensors" that will instruct you on how to receive these keys.

6. Add New Device using the left navigation bar

a. Create a Device Name (Example: Browan Object Locator)

b. Enter Dev EUI

c. Enter App EUI (This may be referred to as the Join EUI)

d. Enter App Key

e. Save Device

7. Add New Function using the left navigation bar

a. Name the decoder (Example: Tabs Decoder)

b. Function type: Decoder

c. Choose Format: Custom Script

d. Copy and paste the following in the Custom Script box:

function Decoder(bytes, port) {

  var decoded = {};

  // Some "common status format"

  decoded.status = bits(bytes[0], 4, 7);

  decoded.battery = (25 + bits(bytes[1], 0, 3)) / 10,

  decoded.capacity = 100 * (bits(bytes[1], 4, 7) / 15),

  // Bit 7 is RFU; exclude

  decoded.temperature = bits(bytes[2], 0, 7) - 32,

  decoded.gnssFix = bit(bytes[0], 3),

    // LSB, ignoring the 4 high bits (RFU) and sign-extending to 32 bits

    // to support negative values, by shifting 4 bytes too far to the

    // left (which discards those bits, as only 32 bits are preserved),

    // followed by a sign-propagating right shift:

  decoded.latitude = (bytes[3] | bytes[4] << 8 | bytes[5] << 16

      | bytes[6] << 28 >> 4) / 1e6,

    // Likewise, ignoring the 3 high bits (used for accuracy):

  decoded.longitude = (bytes[7] | bytes[8] << 8 | bytes[9] << 16

      | bytes[10] << 27 >> 3) / 1e6,

    // Accuracy in meters; 1 << x+2 is the same as Pow(2, x+2) for x < 32

  decoded.accuracy = 1 << bits(bytes[10], 5, 7) + 2,

  decoded.altitude = 0;

  return decoded;


// Gets the zero-based unsigned numeric value of the given bit(s)

function bits(value, lsb, msb) {

  var len = msb - lsb + 1;

  var mask = (1 << len) - 1;

  return value >> lsb & mask;


// Gets the boolean value of the given bit

function bit(value, bit) {

  return (value & (1 << bit)) > 0;


e. Save Function

8. Add A New Integration

To create a new HTTP integration in Console, navigate to the Integrations page using the left navigation and then select the HTTP integration.

Next we will fill in the details, see instructions and image below.

1. Enter the Mappers API Ingest Endpoint URL (Required)

2. Enter the name for this Integration: Mappers Integration

3. Finally, click Add Integration to complete.

9. Next we will create a Flow. Navigate to the Flows page and click the + sign next to Nodes.

10. Drag and drop your device, function, and integration on the workspace. Link them by drawing lines with your mouse between the connection points. Link device -> decoder -> integration.

11. You are now ready to power on your Object Locater. To turn ON the device, hold down the button for at least 10 seconds. The device will turn on when the green LED lights up solid for 3 seconds. To turn OFF the device, hold down the button for at least 10 seconds until the LED flashes rapidly for 3 seconds.

12. When you first turn on the Object Locator, the device needs to receive the GPS almanac, which is a set of data that every GPS satellite transmits. This process can take anywhere from 30-secs to 12-minutes. So, we recommend either keep the unit outside under open sky or take a walk/drive with the device to allow it that time to download the almanac.

13. Verify that data is being sent correctly to the Mapper API. To do this just expand an uplink event in the event log and verify that you are getting a "Success" message for the integration as shown below.

14. During normal operation, the Object Locator will update status every 120 minutes when the device is stationary. When the device is in motion, it will update status every 30 seconds.

15. That's all! You can now expect to see your data show up on in a few minutes. If you want to see where your mapper is on the map, you could use Cargo. You will have to add one more integration and link it to the decoder in your flow.

Read more →

MerryIoT Official OTA Announcements

Shopify API


JUN 2, 2022

MerryIoT Official OTA Announcements

Firmware version: 2022.06.12.1

  • Miner version: 2022.06.09.0_GA (remain unchanged)

1. Release note:

  • According to Helium core team, remove{gateway_and_mux_enable, true} again, it's affecting block times and PoC rates. (will enable it once the issue has been resolved by Helium core team)

Firmware version: 2022.06.02.3

1. Release note:

  • Update miner to "2022.06.02.01_GA"
  • Remove {gateway_and_mux_enable, true} (will enable it once the issue has been resolved by Helium core team)
  • Remove the "Switch Region Plan" setting page due to the miner region being decided by asserting location
  • Add connected validator log

2. Upgrade method

a. Manually, go to "OTA Updates" and click on the CHECK UPDATES button.

b. Automatically, the hotspot will launch the OTA updates daily at 3:00am ~ 5:00am your local time.


Due to the latest miner image (2022.06.01.0_GA) has potential issues and risks, now the Helium core team is investigating this issue.

Issue: Some hotspots facing cannot initialize genesis block issue after Helium version upgraded to miner-arm6_2022.06.01.0_GA. MerryIoT decided to remove the OTA file until Helium releases the newer miner version.

MerryIoT will have to recall the new OTA updates until the Helium core team resolves the issue. Your patience is much appreciated.

Firmware version: 2022.06.02.2

1. Release note:

  • Upgrade miner dock to 2022.06.01.0_GA
  • Follow Helium's instructions to change sys.config {gateway_and_mux_enable, true}
  • Remove the "Switch Region Plan" setting page due to the miner region being decided by asserting location
  • Add connected validator log

2. Upgrade method:

  • Manually, go to "OTA Updates" and click on the CHECK UPDATES button.

  • Automatically, the hotspot will launch the OTA updates daily at 3:00am ~ 5:00AM your local time.

Firmware version: 2022.05.03.1

1. Release note:

Firmware version: 2022.04.22.2

1. Release note:

  • Fix some devices with old FW cannot run OTA issues.
  • Upgrade miner docker to 2022.04.19.0 GA.

Note: there might be some errors on the web interface after activating via chain variable on May 3, 2022, this is because some parameters are no longer supported after that (e.g. block height and so on.), so MerryIoT will have the next OTA version to fix these errors display at that time.

Firmware version: 2022.04.19.2

1. Release note:

  • Fixed http password will be recovered during OTA.
  • Fixed gateway_config keep crashing (In some cases of the MerryIoT logo LED light keeps blinking).
  • Security improvement

Firmware version: 2022.04.13.1

1. New feature: Support switching LoRaWAN® region plan through web interface.

Go to Hotspot > Switch Region Plan, select the region plan that you want by drop-down menu.

Please ignore below statement. MerryIoT will publish another version. Stay tuned.

Firmware version: 2022.03.29.1

1. Support dashboard login with password

Go to Administration, enable "Access with password", and type specified password, then Apply.

2. Support reset the login password by holding the pair button over 15 seconds, until you see the power LED blinking.

3. Support reboot feature

Go to Administration, you can see the REBOOT button.

4. Support Miner log tracing (1000 lines rotation)

Go to Logs, you can see different log types that you want to look at.

Read more →

Browan Merry IoT new FAST SYNC Capability

Shopify API


FEB 24, 2022

Browan Merry IoT New Fast Sync Capability

Some Browan MerryIoT Helium Hotspot customers have reported slow sync times. Good news; Browan is pushing updates consistently and recent upgrades have included FASTSYNC capability, SD card features (via web interface), and LoRa radio improvements. However, if you find your miner is stuck at a certain block height for more than 72hrs, CalChip worked with Browan to create the tutorial below to execute a manual resync. **Please note, to perform this guide, you must be on the same local network as the MerryIoT Miner. Here’s what to do:

1. Identify the IP address assigned to your MerryIoT hotspot miner

You can do this with an IP scanner tool (such as “FING” on the iOS app store), or using your home router’s software. Once you’ve identified the IP address copy it or write it down. For example, mine was

2. Navigate to your MerryIoT’s Web GUI

Using a PC or mobile device on the same local network the Miner is on, open a browser and type https://[your_IP_address] into the address bar. For example,

3. Check status and update your software 

You should now see your hotspot miner’s software, where you can:

a. Check for updates

b. Upgrade your miner to the latest firmware

c. Confirm the docker container is “Running” 

d. “Reset” the miner if necessary

Read more →