NASA/ASU Senior Design Project with Nicla Sense ME

Hello Everyone,

I have been a part of the community for several years now but would like some advice/guidance with a project. My senior design project is to develop a lander for a theoretical NASA mission to the Psyche Asteroid. (Read more here if you're interested: https://psyche.asu.edu/ )

My team has a concept we would like to test and I am trying to get ahead of the coming work. This may turn out to be a bit lengthy so I apologize.

1A: Is Nicla Sense ME set up to obtain data from the accelerometer and gyroscope sensors and display it through the serial port in 3D space? I have been reading through the Arduino Nicla Sense ME Cheat Sheet and it appears it's going to give the data as XYZ locations for the gyro and XYZ accels for acceleration. I know that Paul McWhorter does an entire series on a Nano/BNO055 and sends the data to python to show it in real-time, (see: 9-Axis IMU LESSON 1: Introduction to Nine Axis Sensors and Inertial Measurement Units with Arduino - YouTube ), but I was wondering if Arduino IDE had something similar.

1B: If the data can not be represented through the serial port in 3D space, does anyone know of a way to save the data to a file and a general idea on how to make it into a visualization? I am not opposed to doing it through python, but I do have access to Matlab and find that the 3D plotting looks a bit more professional.

2: The Nicla Sense ME says it has a 64 MHz Cortex M4 microprocessor, and the cheat sheet indicates that the sample rate and latency can be dictated through the "configure()" command. Does anyone have the slightest idea of the highest sample rate I may be able to obtain with this board? I apologize if this is straightforward, not only am I not that smart but I am also getting an ME degree.

CODE GIVEN:

#include "Arduino_BHY2.h"

SensorXYZ accelerometer(SENSOR_ID_ACC);
SensorXYZ gyro(SENSOR_ID_GYRO);

void setup(){
  Serial.begin(115200);
  BHY2.begin();
  configure(10,1); // **THIS IS WHERE THE SAMPLE RATE (10Hz) AND LATENCY (1ms) ARE **

  accelerometer.begin();
  gyro.begin();
}

void loop(){
  unsigned long lastCheck= millis();

  // Update function should be continuously polled
  BHY2.update();

  // Check sensor values every second  
  if (millis() - lastCheck >= 1000) {
    lastCheck = millis();

    Serial.println(String("acceleration: ") + accelerometer.toString());
    Serial.println(String("gyroscope: ") + gyro.toString());
  }
}

short accX = accelerometer.x();
short accY = accelerometer.y();
short accZ = accelerometer.z();

short gyroX = gyroscope.x();
short gyroY = gyroscope.y();
short gyroZ = gyroscope.z();

3: We are planning to drop our lander from 3 meters and would like to measure the acceleration to trigger another event. This event will need to be as precise as possible but due to the high current will be run through a relay as the switch. In any of your opinions is this sounding remotely possible and should I scrap the Arduino Nicla Sense ME with the built-in accelerometer and gyro for something else? If so what?

Thank you for your time and I hope you all are having a great time hacking!

Do you work for NASA? That's Awesome. If the lander uses an Arduino in Space successfully then Arduino would be more popular than ever. :slight_smile:

I don't work for NASA... yet! I graduate this semester and am still currently working through several interview processes. I would love to see Arduino used in a space mission. Through this project, I have brought up the possibility of also using the MKR 1300 wan board for its LoRa communication. It wasn't generally accepted as the current space communication is done through UHF radios.

You need to educate the people you are trying to persuade.

LoRa devices such as on the MKRWAN1300 are already UHF band radios and are capable of operating both the more conventional FSK data modes and in LoRa mode.

So possibly the best of both Worlds really, the ability to use conventional and proven FSK communications as well as the ability to use very long distance or low power LoRa modes.

Is Nicla Sense ME set up to obtain data from the accelerometer and gyroscope sensors and display it through the serial port in 3D space?

You need code for an AHRS (Attitude Heading and Reference System), specific for the on board IMU. The Mahony filter is popular, and also the fastest.

Presumably something similar is built in to the on board BHI260AP motion sensor, so do your research.

Rules for use of radio in space are NOT the same as on earth. NASA has all the rules available if the OP would ask them.

Thanks, jremington!

I will start reading. We have utilized the kalman filter for quadcopter projects here but were never introduced to the Mahony filter.

I really appreciate your time and knowledge!

Appreciate your time srnet! It wasn't so much of a "we can't use LoRa" it was more, they already have a system in place for communication and our job is to land something on the surface so let's stay focused on that aspect.

I would be incredibly interested in ranges for LoRa in space! With the fear of getting too off-topic here, I would bet that this module would work really well for the "lander to rover" communication especially being low power!

@Paul_KD7HB Rules for use of radio in space are NOT the same as on earth.

Didn't initially see your message Paul_KD7HB, my apologies.

You're absolutely right, NASA has the regs but as I said to srnet our main function is to develop a lander for the surface and we decided to use the TRL9-rated equipment NASA uses to communicate.

I appreciate your contribution!

If there is line of sight, often the case in space, then a typical 434Mhz LoRa module would have a range of circa 1000km @ 10mW, so maybe 3,000km @ 100mW with basic antennas.

Also just a general update!

Parts are on order and have shipped today so I will update with codes/problems.

I have the Nicla Sense ME and another Nano ordered through Arduino and then I have also ordered the Adafruit BNO055 9DOF sensor. The latter two have been ordered so I can follow through with Paul in the above link just in case I have trouble with the Nicla Sense.

Thanks everyone who has contributed to the post so far!