
Completed
Posted
Paid on delivery
I am working on a project using an nRF52840 Pro Micro to read data from a heart rate strap. I am using the latest SDK version (v3.3.1) with Zephyr, but I am having trouble actually reading the strap's data. My VS Code environment is set up, the SDK is installed, and flashing works fine; the issue lies in the code not reading the data. This nRF unit will function solely as a scanner, reading ANT+ data transmitted over the air—I want to capture everything the ANT+-enabled nRF can detect. It will operate continuously (24/7) as a scanner, so I need reliability features like a watchdog timer, transmission queues, or anything else that ensures stable, crash-free operation. I will share my `main.c` file and a photo of my nRF Pro Micro (Nice!Nano). !!!!!!!! IMPORTANT!! It doesn't have to be my code; if you have code that works with ANT+ device scanning and receives the data, I can use that. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I’ve built a prototype around an nRF52840 Pro Micro (Nice!Nano) running Zephyr v3.3.1. Flashing works, but my current C code never reports data from my ANT+ chest strap—no data is received even though the strap is broadcasting. What I already have • VS Code with the latest nRF Connect SDK installed • A boot-ready board that flashes and runs correctly • An initial main.c that sets the radio to scan ANT+ channels What I still need 1. Reliable parsing of the strap’s heart-rate broadcast plus the accompanying signal strength (RSSI). 2. Continuous 24/7 operation with stability safeguards: • Watchdog timer • Transmission / processing queues • Automatic reconnection if the strap drops out 3. Clean, well-commented Zephyr-based C code so I can maintain it. 4. Basic diagnostic logging so I can confirm packets in real time while testing. You’ll receive my existing main.c and a board photo so you can see pin assignments. A concise README explaining how to rebuild and flash the finished firmware rounds out the deliverable.
Project ID: 40558535
10 proposals
Remote project
Active 7 days ago
Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs

The ANT+ channel you're scanning might be misconfigured, most straps broadcast on channel 0 with a device type of 120 and a network key of 0xB9A521FBBD72C345. I'd start by verifying those parameters in your main.c and adding a debug log for every channel event, not just the ones you expect. In my experience, the watchdog timer often gets overlooked until the board locks up after a few hours. I'll set up a Zephyr watchdog thread that feeds the timer every 5 seconds and logs a heartbeat, so you can see exactly when things go wrong. You'll get a single C file that compiles cleanly, logs every packet with timestamp and RSSI, and keeps running even if the strap drops out for a minute.
$20 USD in 2 days
0.0
0.0
10 freelancers are bidding on average $75 USD for this job

Hi I am an embedded systems engineer with over 16 years of experience. I have extensive experience with nRF52/nRF52840 firmware, Zephyr/Nordic SDK projects, C radio drivers, watchdogs, queues, and products that need to run unattended for long periods. For your Nice!Nano scanner I would first review the current main.c and confirm the ANT+ channel/profile setup, then fix the receive path so the heart-rate pages and RSSI are logged reliably. After that I can add a watchdog, buffering/processing queue, drop-out handling, and clean diagnostics so you can see packets during testing without making the firmware fragile. I will keep the code commented and include a short README for rebuild/flash steps. One thing I would like to confirm is whether you already have the required ANT/ANT+ network/profile details in the code, or if the current implementation is trying to capture raw radio packets. Please contact me to discuss details.
$30 USD in 3 days
7.6
7.6

Rough estimates on the price and timeline above - real numbers come after we look at your existing code and talk through what you need. Your nRF52840 is flashing and booting fine, which means the hardware and toolchain are solid. The gap is in the ANT+ channel configuration - getting the Zephyr ANT stack to actually open a slave channel on the right network key and device type for a HR strap, then parsing the incoming broadcast pages correctly. You want this running 24/7 as a passive scanner, so stability is just as important as getting the first packet through. Here's how we'd approach this: - ANT+ channel setup: Review your main.c for the channel configuration - network key, channel type, device profile (HR = device type 0x78) and period. This is usually where the silence comes from. - HR data parsing: Decode the ANT+ HR broadcast pages (Page 0/4) to pull out the heart rate value and attach RSSI from the radio layer so you have both in each log line. - Stability layer: Wire up Zephyr's watchdog (wdt_feed in the main loop), add a k_msgq or k_fifo for packet processing so the radio callbacks stay lean, and handle channel drops with an automatic reopen. - Diagnostic logging: Clean LOG_INF output per packet with timestamp, HR value and RSSI so you can confirm reception in real time over RTT or UART. - README and comments: A short rebuild-and-flash guide plus inline comments on the non-obvious Zephyr ANT API calls so the code stays maintainable. Once we've had a quick look at your main.c and the board photo, we can send a proper written proposal with a firm price and delivery time. Want to jump on a quick call this week, or just drop the file here and we can give you an initial read on what needs fixing? Best, 96 Studio
$30 USD in 5 days
0.9
0.9

I've shipped multiple Zephyr projects on nRF platforms and have hands-on experience with ANT+ packet parsing and radio configuration. I'll debug your main.c to identify why the ANT+ scanner isn't capturing strap broadcasts, implement robust channel scanning with proper radio state management, add watchdog timer and processing queues for bulletproof 24/7 operation, and build in real-time diagnostic logging so you can monitor RSSI and heart rate packets during testing. You'll get clean, well-commented code, a working device tree configuration for your Nice!Nano board, and a README covering build and flash procedures. I can start immediately and deliver a stable, production-ready firmware in 4 days.
$10 USD in 4 days
0.0
0.0

hi! there... i understand this project needs both stable low level ant+ packet handling and long running reliability on the nrf52840 under zephyr. one important issue is correctly configuring the ant stack and parsing broadcast payloads with rssi in zephyr v3.3.1, and another is ensuring the scanner can recover cleanly from signal drops or runtime stalls during 24/7 operation. i have strong experience with embedded c, nrf52 development and wireless protocol debugging, and i can provide clean well documented zephyr based code with watchdog handling, reconnect logic and real time diagnostic logging. thanks.
$60 USD in 1 day
0.0
0.0

Hi, I have experience with embedded C development, debugging, and wireless communication, and I can help get your nRF52840 scanner reliably receiving ANT+ heart rate data. Whether it's fixing your existing code or providing a clean working implementation from scratch, I'll focus on a stable Zephyr-based solution that continuously scans, parses heart rate and RSSI data, and runs reliably with proper watchdog handling, reconnection logic, and diagnostic logging. I'll deliver well-commented code along with a concise README explaining how to build, flash, and test the firmware so it's easy to maintain going forward. I'm available to start immediately and look forward to helping you get the scanner working reliably. Thank you.
$20 USD in 7 days
0.0
0.0

Niterói, Brazil
Payment method verified
Member since May 1, 2017
$10-30 USD
$10-30 USD
$30-250 USD
$30-250 USD
$30-250 USD
$25-50 USD
$30-250 USD
₹600-1500 INR
$10-50 USD
$3000-5000 USD
$30-250 USD
€8-30 EUR
₹600-1500 INR
$30-250 USD
₹12500-37500 INR
$30-250 USD
£20-250 GBP
₹1500-12500 INR
₹1500-12500 INR
₹12500-37500 INR
$10-30 USD
₹600-1500 INR
£2-5 GBP / hour
$10-30 USD
$30-250 USD