Arduino nano ble sebse rev 2

:memo: Edge Impulse Forum Submission Draft (Customized)

Question/Issue: Cannot connect Arduino Nano 33 BLE Sense Rev2 running custom 6-axis IMU sketch using WebUSB, and the edge-impulse-data-forwarder command is failing to connect to the serial port, preventing 6-axis data collection.

Project ID: [Provide your Project ID here, e.g., 12345]

Context/Use case: I am collecting 6-axis Inertial Measurement Unit (IMU) data (3-axis Accelerometer + 3-axis Gyroscope) for a motion classification model. Since the official WebUSB connection only provides 3 axes on this board, I am using a custom Arduino sketch to stream the full 6 axes via Serial at 100Hz. I am having trouble getting the data forwarder to recognize the serial stream.

Summary: The board is running a custom sketch to stream 6-axis IMU data (using the Rev2’s BMI270 sensor) at 100Hz. The WebUSB/WebBluetooth connections fail (as expected). When attempting to use the edge-impulse-data-forwarder, the tool fails to establish a serial connection to the board.

Steps to Reproduce:

  1. Upload a custom Arduino sketch (using the Arduino_BMI270_BMM150.h library) to the Nano 33 BLE Sense Rev2 to read and print 6 axes (ax, ay, az, gx, gy, gz) to the Serial port at 100Hz (delay(10)).
  2. The Serial print format is verified as: Serial.print(ax); Serial.print(','); ... Serial.println(gz); (verified by observing the stream in the Arduino Serial Monitor).
  3. Close the Arduino IDE and Serial Monitor to free the port.
  4. Run the data forwarder command in the terminal: edge-impulse-data-forwarder --frequency 100
  5. The tool successfully logs in and selects the project but fails to connect to the board’s serial port during the device detection phase.

Expected Results: The edge-impulse-data-forwarder successfully connects to the Nano 33 BLE Sense Rev2’s serial port, prompts for the 6 axis names (accX…gyrZ), and the device appears in the Edge Impulse Studio as ready for 6-axis data collection.

Actual Results: WebUSB/WebBluetooth connection fails. The edge-impulse-data-forwarder command runs but either cannot find the board or gets stuck during the connection/initialization phase.

  • [Paste the specific final error message from the data forwarder here, e.g., “Failed to connect to /dev/ttyACM0. Is the device connected?”]

Reproducibility:

  • [X] Always
  • [ ] Sometimes
  • [ ] Rarely

Environment:

  • Platform: Arduino Nano 33 BLE Sense Rev2
  • Build Environment Details: Arduino IDE [Provide your IDE version, e.g., 2.3.2]
  • OS Version: [Provide your OS version, e.g., Windows 10, macOS Sonoma 14.2]
  • Edge Impulse Version (Firmware): Custom Sketch (n/a)
  • Edge Impulse CLI Version: [e.g., 1.17.6] (Run edge-impulse-data-forwarder -v to get this)
  • Project Version: [e.g., 1.0.0]
  • Custom Blocks / Impulse Configuration: No custom blocks used yet. Issue is in the data acquisition phase.

Logs/Attachments:

  • The complete Arduino sketch code (copy-pasted).
  • The complete output log from the terminal when running edge-impulse-data-forwarder --frequency 100 where it fails.

Additional Information: I am a high school student just starting out with TinyML and Edge Impulse, so I appreciate any foundational guidance you can offer! The board is definitely sending data (I confirmed it with the Arduino Serial Monitor). The main problem seems to be the data forwarder not acquiring the serial port. Thanks for your help!

Can you share the Arduino sketch code you’re using in a code block here?
Thanks,
Jim

Hi Jim do you by chance know if its possible to connect using web os the nano ble 33 rev2 because I find the data forwarder to be way more complicated. thank you very much for your help appreciate it. im stuck on this highschol project for a while now and cant solve this issue