Device Manual
Hardware setup, deployment, and field maintenance for CollarID Mk II.
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.
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 — not labelled in the hero image, but visible around the cover edge. 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.
- Battery is fully charged — charge LED has switched from red to green.
- SD card is formatted exFAT — preferably an industrial-grade card (see SD Card Notes).
- Schedule is loaded — either pre-loaded on the SD card, or configured via BLE before going off-grid.
- "System Engaged" is set correctly — on for immediate deployment, or off if you're sealing the device now and plan to engage it in the field with a magnet swipe (see The "System Engaged" flag).
- Initial GPS fix obtained — powered on outdoors with a clear sky view, the flashing-blue LED has gone out on its own (not from the 10-minute timeout).
- Gasket is clean and seated — no dirt, hairs, or pinch points around the channel.
- Long-term deployments only: Loctite 242 / 243 applied to the first few threads of each cover screw.
- Six cover screws hand-tightened in a star pattern — snug, not over-driven.
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
- Lay the device on a clean, flat surface, top side up.
- Loosen all six cover screws — order doesn't matter on the way out.
- 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.
- Lift the cover straight up off the gasket. Avoid tilting or prying — the gasket can stretch or roll out of its channel.
Closing
- Confirm the gasket is clean, undamaged, and fully seated in its channel before lowering the cover.
- Lower the cover straight down so the gasket is compressed evenly all the way around.
- Start all six screws by hand a few turns each, then snug them in a star pattern so the cover seats flat.
- 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.
Powering On & Off
Turning the device on
- Open the enclosure (six cover screws — see Opening & Closing).
- Locate the side power switch on the front PCBA. The ON/OFF directions are printed on the silkscreen next to the switch.
- Slide the switch to the ON position.
What you should see at boot
Once you flip the switch to ON, the device runs through a fixed sequence on the status LED. Use this as your boot health check — if the sequence deviates, jump to Troubleshooting.
- Boot animation — the status LED runs a short startup sequence: a green pulse fading in and out, followed by a soft white-cyan glow that fades in, holds briefly, then fades to off. This signals the firmware has come up.
- Steady green — the system is scanning the SD card and verifying its integrity. Duration depends on card size: a few seconds on a small card, noticeably longer on larger ones. A 1–2 TB industrial card can hold the green LED for tens of seconds before the next state — that's expected, not a fault.
- LED off (briefly) — the SD card check has passed and the device is preparing to acquire GPS.
- Flashing blue — the device is searching for a GPS fix and synchronising its clock to UTC. This can take several minutes on a cold start. Bring the device outside with a clear view of the sky.
- LED off (for the life of the system) — once the first GPS fix is acquired and time is set, the LED turns off and the device begins normal operation.
Turning the device off
- Open the enclosure as before.
- Slide the side power switch to OFF.
- Close the enclosure when you're done (gasket seated, screws star-pattern hand-tightened).
The device can charge from solar and from a USB-C cable regardless of the switch position. Before a deployment we recommend leaving the switch in the OFF position while charging so the device boots from a known state when you flip it on in the field.
LED Reference
The CollarID Mk II uses the status LED (paw print, top of cover) and a pair of charge LEDs (red and green, near the USB-C port) to communicate state. This is the canonical reference for what each pattern means.
| Pattern | What it means | What to do |
|---|---|---|
| Boot animation green pulse → soft white-cyan → off |
Firmware has started up. Plays once at every power cycle. | Wait for the next stage. Should be followed by steady green. |
| Steady green | SD card is being scanned and verified. | Wait. Duration scales with card size — seconds on a small card, tens of seconds on a 1–2 TB card. Then LED turns off. |
| Alternating cyan / red (~5 s) → reset | SD card not detected, or the card is present but cannot be mounted (e.g. wrong format, corrupted). Three quick cyan-red flashes, a short pause, three more flashes, then the device reboots and tries again. | While the pattern is playing you have a few seconds to seat or replace the SD card before the reboot. If the same pattern keeps repeating after a reboot, power off, remove the card, reformat it as exFAT, and re-insert. |
| Flashing blue | Searching for an initial GPS fix and UTC time. | Place the device outside under open sky. Will time out after 10 minutes if no fix is found. |
| Steady blue | BLE mode is active. Device is discoverable on the configurator and apps. | Connect within 10 minutes. The LED turns off ~10 seconds after you disconnect. |
| LED off | Normal operation. The device is asleep or executing its schedule. | Nothing — this is the expected steady state. |
| Blue pulse, then slow red blinks (repeating) |
The boot-time hardware self-check found a faulty sensor. The pattern repeats: a half-second blue pulse, then one or more groups of slow red blinks, then a longer pause.
Decode the blink count — which sensor failed?Count the red blinks in each group:
Multiple groups between blue pulses = multiple failures (e.g. "1 then 5" = accelerometer plus GPS). |
Power off the device and contact the developers, mentioning which sensor(s) the pattern reported. |
| Fast flashing red (no blue prefix) | Generic firmware error — something went wrong outside the categorised fault patterns above. The cadence is faster than the hardware-fault pattern (roughly five blinks per second) and there is no blue pulse. | Power off the device and contact the developers for support. |
| Charge LED red (near USB-C) | Battery is charging. | Leave plugged in until the LED turns off. |
| Charge LED green (near USB-C) | Battery is fully charged. | Disconnect the cable when convenient. |
Charging via USB-C
- Open the enclosure (six cover screws). The cover must be off — there is no USB-C pass-through.
- Connect a USB-C cable to the port on the top edge of the front PCBA.
- Plug the other end into any standard USB-C power source.
- Watch the charge LEDs next to the USB-C port:
- Red LED on — battery is charging.
- Red LED off, green LED on — battery is fully charged.
- Disconnect the cable, replace the cover, and close it in a star pattern (see Opening & Closing).
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.
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 will enter BLE mode automatically once the boot sequence completes:
- Power off the device, open the enclosure, and insert a freshly formatted exFAT SD card.
- Power the device on.
- Wait for the boot animation, steady green (SD scan), then a steady blue 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:
- Hold a magnet directly over the paw print on the top of the cover.
- Keep it in place for at least 3 seconds, then pull it away.
- The device will reset and run through the boot sequence: boot animation, steady green, then steady blue (BLE mode).
Updating the Schedule
Schedules live on the SD card. The device supports up to five schedules, and the configurator shows a power-budget estimate for each one so you can preview battery life before committing.
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 either swiping a magnet over the paw-print LED or flipping the power switch off and back on — both will re-enable BLE automatically, so you can connect via the app or the web configurator to flip System Engaged back on and engage the device.
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 by swiping a magnet and switching System Engaged on through 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 (CollarID.org) | iOS app | Android app |
|---|---|---|---|
| Edit schedules (up to 5) | ✓ | ✓ | ✓ |
| Power-budget estimates | ✓ | ✓ | ✓ |
| Firmware updates | ✓ | — | — |
Web BLE is only available on Chrome and Firefox — Safari and most mobile browsers don't expose Bluetooth APIs, which is why the iOS and Android apps exist.
Procedure
- Place the device in BLE mode (see Entering BLE Mode). Confirm the steady blue LED.
- Open one of:
- Web: visit CollarID.org in Chrome or Firefox, sign in, and click Configure.
- iOS: install the CollarID app from the Apple App Store and open it.
- Android: install the CollarID app from Google Play and open it.
- Pair with your device when it appears in the list.
- Edit your schedules — you can configure up to five. Each schedule shows an estimated power budget so you can compare options.
- Send the new schedule (or radio config) to the device. Edits made in the configurator stay in the app until you push them over BLE — the exact button label varies by platform (Send / Apply / Save).
- Disconnect from the device.
- Roughly 10 seconds after disconnect, the steady blue LED turns off — this confirms the new configuration has locked in and the device has begun executing it.
Web (CollarID.org)
iOS app
The Android app is visually identical to iOS — same screens, same labels — so a single platform walkthrough applies to both.
App store listings
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.
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:
- 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:
- SenseCAP Multi-Platform LoRaWAN Indoor Gateway SX1302 — make sure to order the variant for your geographical region (US915 vs EU868).
Pointing the gateway at the CollarID server
As an example, to configure a SenseCAP gateway to talk to the CollarID server:
- Log in to the gateway's console.
- Select LoRa → LoRaNetwork.
- Open General Settings and set:
- Server Address:
chirpstack.collarid.org - Server Port (Up and Down): use the port for your region —
1700for EU868,1701for US915. Set the same port for both the up and down fields.
- Server Address:
- Leave the EUI as-is. Send that EUI to the CollarID team at [email protected] so they can register your gateway on the network.
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 Firefox).
- Open the enclosure (six cover screws) — the USB-C port has no pass-through, so the cover must be off.
- Place the device in BLE mode (see Entering BLE Mode). Confirm the steady blue LED.
- 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. Dongles can interfere with the automated upgrade process. Many USB-C cables are also charge-only and won't work for firmware updates — if you're not sure, use a cable that came with a phone or tablet.
- In Chrome or Firefox, sign in to CollarID.org and open the Firmware tab. Connect to the device when it appears in the list.
- Put the device into DFU mode. The device will disconnect over BLE — this is expected.
- 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.
- The flash will run to completion and the device will reboot into its normal boot sequence. Once you see the boot animation, disconnect, replace the cover, and close it up.
Firmware tab walkthrough
Recovering a device stuck in DFU
— advanced, rare
If the Stuck in DFU? Restore Boot button doesn't bring the device back, you can manually clear the DFU flag with ST's free programming tool. This is rare and only needed when the automated recovery fails.
- Install STM32CubeProgrammer from ST's website.
- Open STM32CubeProgrammer.
- With the device still connected over USB-C, choose USB as the connection method (top right) and click Connect.
- Click the OB (Option Bytes) icon in the left sidebar.
- Expand User Configuration.
- Scroll down to nSWBoot0. Make sure nSWBoot0 is checked and nBOOT0 is unchecked.
- Click Apply.
The device should now boot normally on its next power cycle.
Preparing for Long-Term Deployment
Loctite the cover screws
For deployments where you don't expect to retrieve and reopen the device for months at a time, secure the cover screws with threadlocker so they can't back out under vibration.
- Power off the device, open the enclosure, and complete all your other deployment prep (charge, schedule, GPS fix).
- Remove each cover screw one at a time and apply a small dab of Loctite 242 / 243 to the first 2–3 threads only — not the entire screw.
- Re-insert and hand-tighten in a star pattern as usual.
- Allow the threadlocker to cure per the manufacturer's instructions (typically 24 hours for full strength) before deploying.
Mount for solar exposure
The device is solar-charged in the field. To maximise charge throughout the deployment, mount the collar so the cover is on the upper hemisphere of the animal — the side most exposed to direct sunlight as it moves and grazes.
The configurator (web and apps) shows estimated system longevity for each schedule across different solar environments — for example, open sky vs. dense canopy. Use those estimates to size your schedule for the conditions of the deployment site.
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 SD 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.
Format
Cards must be formatted as exFAT. This is 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 — we have found reliability limitations with both of these 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 this means at least 2× the microphone power consumption while audio is actively recording on a SanDisk Extreme or Extreme Pro versus the recommended Kioxia Exceria Plus — directly cutting deployment battery life. The configurator's Power tab shows the doubled estimate 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 (this is 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 has captured the expected data and that the device is still booting 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 developers so we can document it.
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.
- Open the enclosure (six cover screws). Take care if you Loctited — 242 / 243 should release with steady hand pressure, but go slowly.
- Slide the side switch to OFF.
- Remove the SD card.
- Inspect the gasket and the inside of the housing for moisture or debris.
- 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.
Known Limitations & In-Progress Features
CollarID Mk II is in active development. This section is the canonical list of features that are partial, not yet shipped, or constrained to a specific configuration. Items are removed as they ship.
In-progress / not yet functional
- LoRa Lost Mode. The toggle is visible under the radio settings, but is not yet wired through the firmware — enabling it currently has no effect.
Current scope
- Microphone and accelerometer data are stored locally only. Both streams write to the SD card and are retrieved from the device on recovery; they are never transmitted over LoRa or LoRaWAN.
- Particulate sensors are not in default units. They appear in the schedule configuration but are made available only on request. Their use also requires the outer plastic shell to stay relatively scratch-free, which limits the applications they can be deployed for.
Platform & configuration constraints
- Repopulating LoRaWAN settings from the server is available only on the web-based programmer (not the iOS or Android apps), and only for devices configured to talk to the CollarID gateway server.
- macOS + Chrome is the recommended environment for the web configurator and for firmware upgrades. Other OS / browser combinations may work but are less battle-tested — if you hit an oddity on a different platform, switch to macOS + Chrome before debugging further.
Working with the CollarID team
CollarID is actively co-developed with researchers whose deployment schedules carry a wide variety of unique constraints. The most reliable path is to share your intended schedule with the CollarID team so we can validate it in the lab first. This catches edge cases the configurator's own validation doesn't yet cover and avoids surprises in the field.
Troubleshooting
The boot animation keeps looping with a green flash
The SD card scan is failing. Power off, remove the card, reformat it as exFAT, re-insert, and power back on. If the loop continues with a known-good freshly formatted card, contact the developers.
The status LED is flashing red
Hardware fault. Power off the device and contact the developers with the serial number and a description of when the red flash appeared.
The flashing-blue LED never turns off
The device is searching for a GPS fix. Bring it outside under open sky and wait. If it has been more than 10 minutes the device will have already given up and moved on — the LED would be off, not flashing — in which case the device is now executing its schedule but is unsynced from world time. It will resync at its next GPS sampling interval.
BLE doesn't appear in the configurator
- Confirm the status LED is steady blue (not flashing). Flashing blue means GPS, not BLE.
- Re-trigger BLE with a magnet swipe or a fresh-SD-card boot.
- On web, confirm you're using Chrome or Firefox — Safari and most mobile browsers don't support Web Bluetooth.
- On mobile, confirm Bluetooth is enabled in the phone's system settings and the CollarID app has Bluetooth permission.
Charge LEDs don't light up when I plug in USB-C
- The cable may be charge-only. Try a different USB-C cable, ideally one that came with a phone or tablet.
- The USB-C port has no pass-through — confirm the cover is off and the cable is fully seated.
- Try a different power source (different wall brick or computer port).
My schedule doesn't seem to have been saved
The schedule commits when the steady-blue LED turns off, ~10 seconds after you disconnect. If you closed the configurator before that or lost BLE connection mid-edit, reconnect and re-apply your changes. The card-resident schedule is the source of truth.
Firmware update can't find the device
- The device must be in BLE mode (steady blue LED) and connected to the computer via USB-C at the same time.
- Use a USB-C data cable. Charge-only cables are the most common cause of this failure.
- Use Chrome or Firefox — firmware updates require Web Bluetooth.