Docs / Device Manual

Device Manual

The full reference for operating a CollarID Mk II — every LED state, the complete setup path, and the troubleshooting cases. For the 30-minute happy path, see the Quick Start.

Device anatomy

Familiarising yourself with the parts of the CollarID Mk II makes every later procedure easier — every section below references components by the names introduced here.

CollarID Mk II with the cover removed, labels pointing to the microphone and environmental sensing port, light sensor, GPS antenna, solar panel, SD card, power switch, LoRaWAN antenna, system status LED, USB-C port, and charging status LEDs
CollarID Mk II with the cover removed — microphone & environmental sensing port, light sensor, GPS antenna, solar panel, SD card, power switch, LoRaWAN antenna, system status LED, USB-C port, and charging status LEDs.

Components

  • System status LED — the illuminated paw print on the top face. Reports boot, GPS, BLE, and fault states. Visible through the closed cover.
  • Power switch — on the front PCBA, accessible only with the cover removed. ON / OFF labelled in silkscreen.
  • USB-C port — on the top edge of the front PCBA, used for both charging and firmware updates. Cover must be removed to access it.
  • Charging status LEDs — red and green LEDs inside the device, near the USB-C port. Visible through the closed cover.
  • SD card — spring-latched push-push slot on the side of the front PCBA, accessible with the cover removed. Holds schedules, configuration, and recorded data.
  • Solar panel — on the top of the cover. Charges the internal battery whenever exposed to light.
  • GPS antenna — integrated patch antenna that drives the multi-GNSS receiver.
  • LoRaWAN antenna — chip antenna for the long-range sub-GHz LoRa / LoRaWAN radio.
  • Light sensor — ambient light sensor on the cover, used for diel-cycle and canopy-shading research signals.
  • Microphone & environmental sensing port — routes the PDM microphone to the outside air and exposes the BME688 to ambient temperature, humidity, pressure, and gas (VOC) signals. The port is acoustically open but mechanically protected.
  • Six perimeter cover screws — compress the gasket against the aluminum base for sealing.

Pre-flight checklist

Run through this list before sending a device into the field. Most field failures trace back to one of these items.

Opening & closing the enclosure

Most procedures in this manual begin with removing the cover. Treat the polycarbonate cover and the gasket carefully — they are what make the device water resistant.

Opening

  1. Lay the device on a clean, flat surface, top side up.
  2. Loosen all six cover screws — order doesn’t matter on the way out.
  3. Once all six are loose, fully remove them and set them aside in a small container so you don’t lose them in the field.
  4. Lift the cover straight up off the gasket. Avoid tilting or prying — the gasket can stretch or roll out of its channel.
Cover screws being actively backed out with a hex driver
1 · Once all six are loose, fully remove them and set them aside.
Polycarbonate cover being lifted straight up off the gasket
2 · Lift the cover straight up off the gasket. Avoid tilting or prying.

Closing

  1. Confirm the gasket is clean, undamaged, and fully seated in its channel before lowering the cover.
  2. Lower the cover straight down so the gasket is compressed evenly all the way around.
  3. Start all six screws by hand a few turns each, then snug them in a star pattern so the cover seats flat.
  4. Hand-tighten in the same star pattern. Stop as soon as the cover is firmly closed and the gasket is engaged. Do not over-tighten.
A clean gasket being seated into its channel around the housing perimeter
Seat the clean gasket into its channel before lowering the cover.
Top-down view of the closed cover with the six screws numbered 1 through 6 in a star pattern
Tighten in the numbered star pattern (1→6) so the cover seats flat.
Lowering the cover onto the gasket and threading in the first screw by hand.
Snugging the six screws in the numbered star pattern so the cover seats flat.

Hand-tighten only. Do not use an electric drill or impact driver to close the cover. The polycarbonate is strong but the threads are easy to over-drive, which can crack the cover or strip the inserts. If a screw bottoms out and you can still turn it easily, stop — it’s tight enough.

Powering on & off

Open the enclosure (six perimeter screws), insert a freshly formatted exFAT SD card, and slide the side power switch to ON (silkscreen-labelled on the front PCBA). Power on outdoors so the device can acquire its first GPS fix and sync its clock. To power off, slide the switch to OFF; no soft shutdown is required.

Close-up of the side power switch on the front PCBA with the silkscreen ON / OFF label
Side power switch on the front PCBA, ON / OFF labelled in silkscreen.
Full startup: boot animation, steady green during SD scan, then flashing cyan during GPS acquisition.

LED reference

The status LED (paw print, top of cover) and the charge LEDs (red + green, near USB-C) communicate device state. This is the canonical reference.

Pattern
Meaning
What to do
Boot animation
Firmware started; plays once per power cycle.
Wait for steady green next.
Steady green
SD card is being scanned and verified.
Wait — seconds on a small card, longer on a 1–2 TB card.
Alternating cyan / red
SD card not detected or unmountable, then the device reboots.
Seat or replace the card before reboot; if it repeats, reformat as exFAT.
Flashing cyan
Searching for an initial GPS fix and UTC time.
Place outside under open sky; times out after 10 min.
Steady cyan
BLE mode active — discoverable on the configurator and apps.
Connect within 10 min; LED turns off ~10 s after disconnect.
LED off
Normal operation — asleep or executing the schedule.
Nothing; this is the expected steady state.
Cyan pulse, then red blinks
Boot self-check found a faulty sensor. Count the red blinks: 1 accel · 2 magnetometer · 3 light · 4 environmental · 5 GPS · 6 LoRa.
Power off and contact the team with the reported sensor(s).
Fast flashing red
Generic firmware error (~5 blinks/s, no cyan prefix).
Power off and contact the team.

Charging via USB-C

Open the enclosure (the cover must be off — there is no pass-through) and connect a USB-C data cable to the port on the top edge of the front PCBA. The charge LED is red while charging (400 mA, ~2-hour full profile) and green when full. Charge-only cables are the most common reason charging won’t start.

USB-C cable plugged into the port on the top edge of the front PCBA, cover removed
USB-C into the port on the top edge of the front PCBA. The connector is reversible — orientation does not matter.
Close-up of the charge LED area showing the red LED illuminated while charging
Charging in progress: red LED lit. When the battery is full, the green LED lights instead.

Low-battery hibernation

If the battery falls to roughly 10 % SoC during a deployment, the firmware enters a hibernation mode rather than dying outright. While hibernating, the device wakes every 8 hours, samples the battery, and goes back to sleep if SoC is still below threshold. As soon as solar (or a USB-C top-up, if you’ve retrieved the unit) brings the battery above 20 % SoC, normal scheduled operation resumes automatically.

A flat collar in the field is recoverable on its own. A unit that has gone dark under canopy or after a stretch of overcast weather will resume on its next sunny day without you having to retrieve it — “no telemetry” does not necessarily mean “device lost.”

SD card notes

The SD card is where schedules, configuration, and recorded telemetry, audio, and accelerometer data live. Card quality has a direct impact on deployment reliability.

Inserting and removing the card

The slot is a spring-latched push-push mechanism on the side of the front PCBA; the cover must be removed to reach it (see Opening & closing). To insert: push the card in until you feel the spring catch. To eject: push the card in again — the spring releases and the card pops out far enough to grip.

A finger pushing the SD card further into the slot to trigger the spring release
Push the card in until the spring releases.
SD card popped partway out of the slot after the spring released
The card pops out far enough to grip and remove.

Format

Cards must be formatted as exFAT — the only filesystem the firmware mounts. There is no formal capacity limit; we have tested up to 2 TB with no issues.

Recommended brands

  • Kioxia Exceria Plus — our recommended card. Field-validated, and the firmware automatically picks the most efficient SD power profile when it detects this card on boot.
  • SanDisk Extreme & SanDisk Extreme Pro — reliability limitations under continuous recording workloads. They will work, but expect at least double the microphone power consumption while audio is actively recording (the firmware has to keep the card powered through the whole recording window instead of dropping it between writes, to protect a more fragile flash controller) and a higher chance of file-system corruption over long deployments. The Extreme Pro initially looked comparable to the Kioxia in short tests but corrupted the same way as the standard Extreme once it had been running long enough — treat both as test-only.
  • Other brands — untested.
Why card brand matters in the field — power, endurance, temperature
  • Power-loss tolerance. Industrial cards survive sudden power drops without losing the last block of writes; consumer cards often corrupt the file system when power dips.
  • Sustained write endurance. Continuous logging writes a card much harder than typical consumer use; cheap cards can fail silently after a few thousand writes to the same blocks.
  • Temperature range. Field deployments swing through hot and cold extremes that consumer cards aren’t rated for.
  • Controller behaviour. Consumer cards sometimes misreport free space, throttle unexpectedly, or pause for garbage collection — any of which can drop data on a real-time logger.
  • Power consumption. Different cards draw very different amounts of power while idle but powered. The firmware also has to keep less-resilient cards energised longer between writes to protect them, which compounds the difference — in our testing, at least 2× the microphone power on a SanDisk Extreme / Extreme Pro versus the Kioxia Exceria Plus, directly cutting deployment battery life. The configurator’s power estimate shows the doubled figure when you toggle the unapproved-card scenario.

Want to use a different card?

If there’s a specific card you’d like to use that isn’t listed above, we recommend one of the following before putting it on an animal:

  • Send us a sample so we can test it internally and add it to the firmware’s auto-detect list (the safest option).
  • Or run it yourself for at least a week in a benchtop deployment that mirrors your intended schedule. Check that the card captured the expected data and that the device still boots cleanly at the end of the test.

If you do try a different brand or model and run into trouble, please report what happened to the team so we can document it.

Entering BLE mode

BLE mode is required to update the schedule or run a firmware update. There are two ways to enter it.

Method 1 · Insert a freshly formatted SD card

If the device boots with an SD card that has no schedule on it (a freshly formatted card), it enters BLE mode automatically once the boot sequence completes:

  1. Power off the device, open the enclosure, and insert a freshly formatted exFAT SD card.
  2. Power the device on.
  3. Wait for the boot animation, steady green (SD scan), then a steady cyan LED — this signals BLE mode is active.

Method 2 · Hold a magnet over the status LED

You can trigger BLE mode at any time, with the cover still on, using a magnet:

  1. Hold a magnet directly over the paw print on the top of the cover.
  2. Keep it in place for at least 3 seconds, then pull it away.
  3. The device resets and runs through the boot sequence: boot animation, steady green, then steady cyan (BLE mode).
Magnet held over the paw-print LED, then removed — the device reboots and runs through the LED boot sequence.

Magnet strength. Any magnet strong enough to trip the internal sensor works. N52 neodymium magnets are reliable, but even a household refrigerator magnet held close has worked. If your magnet doesn’t trigger after 3 seconds, try a stronger one or hold it slightly closer.

BLE mode times out after 10 minutes. If you don’t connect within that window, the device exits BLE mode — entering low-power mode if no schedule is configured, or beginning its schedule if one exists on the card. Re-trigger BLE with a magnet swipe if you need more time.

Updating the schedule

Schedules live on the SD card. Place the device in BLE mode (see Entering BLE mode), connect from the web Configure tool (Chrome/Edge) or the iOS / Android apps, edit up to four recording windows with per-sensor settings, check the power-budget estimate, then send and disconnect. The schedule commits when the steady-cyan LED turns off (~10 s after disconnect) — the card-resident schedule is the source of truth.

The “System Engaged” flag

Every schedule has a System Engaged toggle. This is what tells the device whether to start running the schedule or stay dormant waiting for you.

  • On — the device begins running the configured schedule as soon as you disconnect from BLE. This is the standard “deploy now” setting.
  • Off — the device enters an ultra-low-power dormant mode instead of executing the schedule. A fully charged battery can stay in this state for over a year. Wake it any time by swiping a magnet over the paw-print LED or flipping the power switch off and back on — both re-enable BLE automatically, so you can connect and flip System Engaged back on.

This lets you fully prepare a device ahead of time — load the schedule, close and seal the enclosure, even ship it — and then engage it in the field with a magnet swipe and a tap in the app. No need to open the device once it’s sealed.

Where to configure

Three configurator surfaces are supported. All three can edit schedules and show power estimates; only the website can update firmware.

Feature
Web
iOS
Android
Edit schedules (up to 4)
Power-budget estimates
Firmware updates

Web BLE is only available on Chromium-based browsers such as Chrome and Edge — Firefox, Safari, and most mobile browsers don’t expose Bluetooth APIs, which is why the iOS and Android apps exist. Get the apps: CollarID on the App Store · CollarID on Google Play.

Web configurator walkthrough
Chrome connecting to a CollarID device advertising over Bluetooth
1 · Pair with the advertising device in Chrome.
Web configurator showing the schedules currently on the connected device
2 · Review the schedules currently on the device.
Web configurator editor for a single schedule slot
3 · Edit a single recording window.
Unsaved-changes indicator prompting the user to click Send to Device
4 · Unsaved changes after editing — click Send to Device to commit.
Power-estimate readout for the configured schedule
5 · Check the power-budget estimate before deploying.
iOS app walkthrough

The Android app is visually identical to iOS — same screens, same labels — so a single platform walkthrough applies to both.

iOS app scanning for advertising BLE devices
1 · App scanning for advertising devices.
iOS app showing the device is connected over BLE
2 · Device connected. Disconnect or fully close the app for the device to engage its schedule.
iOS app showing all schedules on the connected device
3 · Schedules currently on the connected device.
iOS app editing a single schedule slot
4 · Editing a single schedule.
iOS app viewing the radio configuration on the connected device
5 · Radio configuration on the connected device.
iOS app showing the power estimate for the configuration
6 · Power estimate for the configuration.

Send before you disconnect. Edits made in the configurator stay in the app until you explicitly push them to the device (Send / Apply / Save, depending on the platform). Once sent and disconnected, the steady cyan LED turns off ~10 seconds later — that’s when the new configuration locks in.

Dynamic GPS sampling

By default, the GPS takes a fix on a fixed timer regardless of what the animal is doing. Dynamic sampling lets the collar adjust that timer automatically based on movement — sampling more often when the animal is active and slowing down when it is resting. This can meaningfully reduce battery drain compared to a fixed high-frequency schedule.

How it works

When dynamic sampling is enabled, the collar’s built-in accelerometer continuously measures overall body acceleration (VeDBA — Vectorial Dynamic Body Acceleration) once per second, even if accelerometer recording is not turned on. You configure two movement tiers:

  • Medium motion — triggered when VeDBA exceeds a threshold you set. The collar switches to a faster GPS interval for this tier.
  • High motion — triggered when VeDBA exceeds a second, higher threshold. The collar switches to an even faster GPS interval.
  • No motion — when VeDBA stays below the medium threshold, the collar uses the standard GPS interval you already configured.

The collar automatically moves between these three states as activity changes. Upgrading (still → moving) happens immediately; downgrading (moving → still) requires five consecutive seconds below the threshold to avoid flipping back and forth on brief pauses.

Short bursts of movement are still captured. Even if an animal moves briefly and returns to rest before the next GPS check, the collar remembers the peak activity level seen since the last fix and still fires at the faster rate. A sprint lasting only a few seconds will not be silently missed.

Configuring in the schedule editor

  1. Enable GPS and set the Interval — this becomes the no-motion rate (e.g. 180 min for a resting animal).
  2. Toggle Dynamic sampling (activity-based) on. A panel appears with four fields.
  3. Set Medium VeDBA threshold and Medium interval — the GPS rate for moderate movement (e.g. walking).
  4. Set High VeDBA threshold and High motion interval — the GPS rate for vigorous movement (e.g. running).

VeDBA thresholds — what values to use

VeDBA thresholds are entered in units of 0.01 g (where g is the acceleration due to gravity, 9.8 m/s²). Typical starting values:

Behaviour
Approx. VeDBA
Threshold to enter
Resting / standing still
< 0.10 g
< 10
Walking / foraging
0.10 – 0.40 g
10 – 40
Running / active flight
0.40 – 2.0 g
40 – 200

These are rough guides only. Thresholds vary substantially by species, body size, and how the collar is mounted. Download a short accelerometer recording during known behaviours and inspect the VeDBA values to calibrate thresholds for your study animal.

The accelerometer runs in the background whenever dynamic sampling is enabled — it does not create accelerometer recordings on the SD card unless you also explicitly enable the Accelerometer sensor in the same schedule. Background activity monitoring has negligible power draw.

GPS-triggered LoRaWAN transmission

Normally, LoRaWAN packets are sent on a fixed timer (e.g. every 60 min) regardless of whether a new GPS fix has arrived since the last transmission. GPS-triggered TX bypasses this timer: the collar only transmits a LoRaWAN packet immediately after it acquires a fresh GPS fix, ensuring every packet over the air carries a confirmed, current position.

When to use it

  • Studies where you care only about confirmed locations, not heartbeat check-ins.
  • Dense-canopy environments where GPS fixes are infrequent — the collar transmits whenever it can get a fix, rather than sending stale coordinates on a timer.
  • Paired with dynamic GPS sampling so transmissions cluster around periods of movement.

Enabling GPS-triggered TX

GPS-triggered TX is set in the Radio Config section of the configurator, not in the per-schedule editor. Open the Radio Config panel and turn on GPS-triggered TX under LoRaWAN. When this is on, the transmit-interval setting is ignored — the collar transmits once after every successful fix instead.

GPS-triggered TX requires LoRaWAN to also be enabled in the schedule (under Radio, per schedule). The Radio Config enables the feature globally; the schedule toggle enables the radio hardware during that time window.

Configuring without Bluetooth (CONFIG.CSV)

The device reads its settings from a CONFIG.CSV file on the SD card root at every boot. You can build or edit that file directly in the web configurator — no device connection required. This is useful when:

  • the browser won’t connect to a device over Bluetooth;
  • you’re prepping several cards with the same settings at a bench;
  • you want to check that existing CONFIG.CSV files are valid — import one and confirm it loads without errors.

Export a new config

  1. Open the configurator and click Work Offline (no device needed).
  2. Build your schedules and radio settings exactly as you would when connected.
  3. Click Export CSV. On Chrome / Edge a Save dialog opens — save the file (named CONFIG.CSV) to the root of the SD card, or anywhere and copy it over.

The file must be named exactly CONFIG.CSV. If your browser downloads it as CONFIG (2).csv because an old copy is in your Downloads folder, rename it before copying it to the card. (Recent firmware will also recover a stray CONFIG….csv automatically, but don’t rely on it.)

CONFIG.CSV replaces the device’s entire configuration on next boot, including the LoRaWAN keys. The configurator can’t fetch those keys — they’re unique to each device’s identity — so a config you build from scratch has blank keys and will break LoRaWAN unless you enter them by hand.

Edit an existing config (keeps the keys)

To change only the schedule without re-typing keys, start from the card’s current file:

  1. Copy CONFIG.CSV off the SD card.
  2. In the configurator, click Import CSV and choose that file — your schedules and radio settings (including the existing keys) load into the editor.
  3. Make your changes, click Export CSV, and copy the file back to the card root.

On the next boot the device applies the file and rewrites it with its own bookkeeping — so the firmware version and device UID lines you see in an exported file are just placeholders and are safe to ignore.

Your own LoRaWAN gateway

CollarID devices report telemetry over LoRaWAN. To receive that data you need a LoRaWAN gateway within range of your collars, pointed at a network server. CollarID hosts a server for free for small-scale testing — you supply a gateway and an antenna, point the gateway at the CollarID server, and your collars’ uplinks start flowing into your account.

The free CollarID server is intended for small-scale testing. For larger or long-term deployments, contact the team at [email protected] to discuss options.

Data visibility. If you route your collars’ LoRaWAN telemetry through the CollarID server and view them in the CollarID dashboard, the CollarID team can also see your devices’ location and sensor readings — this does not include accelerometer or microphone data. It is never shared with anyone else, and is used only for diagnostics and troubleshooting.

What you need

  • A LoRaWAN gateway for your region (US915 or EU868 — they are not interchangeable).
  • An antenna matched to that region, ideally mounted outdoors with a clear sky view for the best range.

Recommended hardware

Antenna. For outdoor applications we often recommend an omnidirectional antenna with a lightning arrestor — many equivalent variants exist, such as a RAIGEN omnidirectional outdoor antenna with lightning arrestor or a comparable model.

Gateway. For our own deployments we use the SenseCAP Multi-Platform LoRaWAN Gateway (SX1302) for its low cost and ease of use — order the variant for your geographical region (US915 vs EU868).

The SenseCAP model above is an indoor gateway. For outdoor use it must be housed in a weather-tight enclosure or placed inside a structure, with the antenna connected to it and ported to the outside.

Pointing the gateway at the CollarID server

As an example, to configure a SenseCAP gateway to talk to the CollarID server:

  1. Log in to the gateway’s console.
  2. Select LoRa → LoRaNetwork.
  3. Open General Settings and set the Server Address to chirpstack.collarid.org and the Server Port (up and down) for your region — 1700 for EU868, 1701 for US915. Set the same port for both fields.
  4. Leave the EUI as-is. Send that EUI to the CollarID team at [email protected] so they can register your gateway on the network.

The port is region-specific: EU868 → 1700, US915 → 1701. Using the wrong port for your region means your gateway will connect but no collar data will be received. Your gateway must also be registered on the CollarID network before its data is accepted.

SenseCAP gateway console showing the LoRaNetwork General Settings with the CollarID server address and region port configured
Configuring a SenseCAP gateway via its console — Server Address set to chirpstack.collarid.org, port set for your region (1700 EU868 / 1701 US915).

Updating firmware

Firmware updates use a combined BLE + USB-C path: BLE puts the device into firmware-update mode, and the new firmware image transfers over the USB-C cable. Firmware updates are only available on the web configurator (Chrome or Edge).

  1. Open the enclosure (six cover screws) — the USB-C port has no pass-through, so the cover must be off.
  2. Place the device in BLE mode (see Entering BLE mode). Confirm the steady cyan LED.
  3. Connect the device to your computer with a USB-C to USB-C data cable, plugged directly into the computer with no dongle, hub, or USB-A adapter in between. Many USB-C cables are also charge-only and won’t work — if unsure, use a cable that came with a phone or tablet.
  4. In Chrome or Edge, open the Update Device page and sign in. Connect to the device when it appears in the list.
  5. Put the device into DFU mode. The device will disconnect over BLE — this is expected.
  6. Select the firmware version you want and click Connect & Flash. When the browser prompts for a device, choose the one labelled DFU in HS Mode.
  7. The flash runs to completion and the device reboots into its normal boot sequence. Once you see the boot animation, disconnect, replace the cover, and close it up.
End-to-end firmware upgrade through the web configurator — BLE connect, DFU mode, select a version, flash, and reboot.
Update Device tab walkthrough
Web configurator Firmware tab with the option to put the device into DFU mode
1 · Connected over BLE — click to put the device into DFU mode. It then disconnects from BLE.
Firmware tab showing the device listed as DFU in HS Mode, ready to flash
2 · Select a version and click Connect & Flash. Choose the device labelled DFU in HS Mode.
Firmware tab showing a successful firmware update
3 · Successful flash — the device should reboot on its own.

Use a USB-C to USB-C data cable plugged directly into the computer. Avoid dongles, hubs, and USB-A adapters — they can interfere with the automated update process. If the Update Device tab can’t see the device after you connect it, the cable or dongle is the most likely culprit; try a different cable before assuming a hardware issue.

If the device doesn’t reboot after a successful flash, it may be stuck in DFU mode. Click Stuck in DFU? Restore Boot, directly underneath Connect & Flash, to bring it back to normal operation. If that doesn’t work, clear the DFU boot flag manually (below) — rarely needed on macOS / Linux.

Flashing firmware on Windows (manual)

The browser-based Connect & Flash updater works on macOS and Linux only — Windows prevents browsers from accessing the device while it is in DFU mode, so the device never appears in the flash dialog. On Windows, flash manually with ST’s free tool instead. The device still enters DFU mode the same way; only the flashing step differs.

  1. Put the device into DFU mode with Enter DFU Mode on the Update Device page (Step 2), then leave it connected over USB-C.
  2. Download the latest firmware (.bin) from the Changelog page, and note where it saved.
  3. Install and open STM32CubeProgrammer.
  4. Choose USB as the connection method (top right) and click Connect.
  5. Open the Erasing & Programming page (left sidebar).
  6. Next to File path, click Browse and select the .bin you just downloaded.
  7. Tick Run after programming and Verify programming.
  8. Click Start Programming and wait for it to finish.
  9. When it completes, click Connect again over USB, then do the Clearing the DFU boot flag step below so the device boots into the new firmware.

Clearing the DFU boot flag (Option Bytes)

Clearing the DFU flag with ST’s free programming tool tells the device to boot into its normal firmware instead of staying in the bootloader. This is a normal final step after a manual Windows flash. On macOS / Linux it is only needed in the rare case the Stuck in DFU? Restore Boot button doesn’t bring the device back.

  1. Install STM32CubeProgrammer from ST’s website and open it.
  2. With the device still connected over USB-C, choose USB as the connection method (top right) and click Connect.
  3. Click the OB (Option Bytes) icon in the left sidebar and expand User Configuration.
  4. Scroll to nSWBoot0. Make sure nSWBoot0 is checked and nBOOT0 is unchecked.
  5. Click Apply. The device should now boot normally on its next power cycle.
STM32CubeProgrammer with USB selected as the connection method
STM32CubeProgrammer set to USB mode, ready to connect.
STM32CubeProgrammer Option Bytes view showing nSWBoot0 checked and nBOOT0 unchecked
Option Bytes view — nSWBoot0 checked, nBOOT0 unchecked. Click Apply.

Preparing for long-term deployment

Confirm the flashing-cyan LED turned off on its own (GPS fix acquired, clock synced). Replace the cover and hand-tighten the six screws in a star pattern — do not use an electric drill. For long deployments, apply Loctite 242 or 243 (medium-strength blue threadlocker) to the first 2–3 threads of each screw. Mount the collar with the solar cell facing up (upper hemisphere) for the best charging yield.

Loctite being applied to the last few threads of a cover screw with a swab
Dab Loctite 242 / 243 on the last few threads of each screw.
Cover screw with blue Loctite visible only on the last few threads
Threadlocker on the last few threads only — not the full screw.

Use Loctite 242 / 243 (medium-strength, blue), not stronger grades. Avoid Loctite 263, 271, or 277 (red, high-strength) unless the device is a one-time-use deployment you do not plan to recover. Red threadlockers typically require heat and significant force to break, and can damage the polycarbonate or strip the inserts during retrieval.

Retrieving from the field

When you bring a device back from a deployment, follow this order so you don’t lose data and can re-deploy cleanly.

  1. Open the enclosure (six cover screws). Take care if you Loctited — 242 / 243 should release with steady hand pressure, but go slowly.
  2. Slide the side switch to OFF.
  3. Remove the SD card.
  4. Inspect the gasket and the inside of the housing for moisture or debris.
  5. Charge the device for the next deployment if needed.

Reading the data

Insert the SD card into your computer and use the metadata parser on the website to view what’s on it. From there you can also access the audio and accelerometer channels:

  • SD Card — the on-site parser. Open the page, point it at the card, and explore the recorded data.
  • Cloud Data — if your device also reports over the network, your bulk telemetry export lives here.

Sensor axis map

The onboard accelerometer and magnetometer report values along fixed device axes. Use this reference to interpret raw motion and orientation data in the context of how the collar is worn on the animal.

Both sensors share the same body-frame X/Y/Z axes. The accelerometer WAV files (/accelerometer/…) and the magnetometer rows in METADATA.CSV (mag,x,y,z) all use this convention.

Download axis map (PDF)

Known limitations & in-progress features

CollarID Mk II is in active development. This is the canonical list of features that are partial, not yet shipped, or configuration-constrained.

In progress / not yet functional

  • Satellite uplink and remote drop-off — in development; drop-off is in pilot. LoRa Lost Mode has shipped and is configurable under radio settings.

Current scope

  • Microphone and accelerometer data are stored locally only — both write to the SD card and are retrieved on recovery; never transmitted over LoRa.
  • Particulate sensors are not in default units — available on request; their use requires the outer shell to stay relatively scratch-free.

Platform constraints

  • Repopulating LoRaWAN settings from the server is available only on the web configurator (not the mobile apps), and only for devices configured to talk to the CollarID gateway server.
  • macOS + Chrome is the recommended environment for the configurator and firmware updates. Other combinations may work but are less battle-tested.

Working with the team. CollarID is co-developed with researchers whose deployments carry unique constraints. Share your intended schedule with us so we can validate it in the lab first — it catches edge cases the configurator’s own validation doesn’t yet cover.

Troubleshooting

Boot animation keeps looping with a green flash

The SD card scan is failing. Power off, remove the card, reformat as exFAT, re-insert, and power on. If it continues with a known-good freshly formatted card, contact the team.

The status LED is flashing red

Hardware fault. Power off and contact the team with the serial number and when the red flash appeared.

The flashing-cyan LED never turns off

The device is searching for a GPS fix — bring it outside under open sky. After 10 minutes it gives up (LED off, not flashing) and runs its schedule unsynced from world time; it resyncs at the next GPS sampling interval.

BLE doesn’t appear in the configurator

  • Confirm the status LED is steady cyan (not flashing). Flashing cyan means GPS, not BLE.
  • Re-trigger BLE with a magnet swipe or a fresh-SD-card boot.
  • On web, use Chrome or Edge — Firefox and Safari don’t support Web Bluetooth.
  • On mobile, confirm Bluetooth is enabled and the CollarID app has permission.

Charge LEDs don’t light when I plug in USB-C

  • The cable may be charge-only — try a different USB-C cable, ideally one from a phone or tablet.
  • The port has no pass-through — confirm the cover is off and the cable is fully seated.
  • Try a different power source.

My schedule doesn’t seem to have saved

The schedule commits when the steady-cyan LED turns off, ~10 s after you disconnect. If you closed the configurator or lost BLE mid-edit, reconnect and re-apply. The card-resident schedule is the source of truth.

Still stuck? Open a support request →