arduino / arduino/ArduinoCore-arc32
Jira 906 Device locks up using CurieIMU
- Dominant language
- C
- Stars
- 330
- Forks
- 281
- PR merge metrics
- No merged PRs in 30d
Description
While testing the new 2.0.0/2.0.1 corelibs I have encountered a bug using the Curie IMU module. With the 101 in peripheral mode, if a BLE characteristic is written to from an external central device while using the IMU, the device will occasionally lock up requiring a reset.
I put together a simple test case by modifying the led example sketch to read from the IMU periodically. You can use the included ledtest.js node script to communicate with the Arduino.
[led.ino](https://gist.github.com/khanning/13b144c7acfdcf5dbd268a5fd0084ec3)
[ledtest.js](https://gist.github.com/khanning/fdac3f7a1b25a8b289641fc89dbbb1c2)
To test:
1. Upload the led.ino to the Arduino 101 using either 2.0.0 or 2.0.1 corelibs
2. Run `npm install noble` in the same directory as the ledtest.js file
3. Execute `node ledtest.js` and wait for the device to lockup
Please let me know if you require any additional information.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the linked led.ino sketch and ledtest.js script, then reproduce the lockup on an Arduino 101 with corelibs 2.0.0 or 2.0.1 using the listed npm and node commands. Trace the interaction between periodic IMU reads and BLE characteristic writes; done means the device no longer locks up during the reproduction test.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, javascript, node.js
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100