SparkFun 9DoF Razor IMU M0 (SEN-14001) wireless through BlueSMiRF Gold (WRL-12582)

Hello, the old 9DoF Razor IMU (SEN-10736) had a guide to make it wireless through the BlueSMiRF Gold (step-by-step).

The new one has no guide and I have not been able to get a wireless transmission through Bluetooth. I have searched the forums and online with no success. I have only found guides to old IMUs and one similar forum topic. Neither have helped to accomplish my goal. The forum topic is too vague and lacks many steps. It would be appreciated to have a step-by-step guide on how to do this including wiring and code changes.

Hi mecheng431,

The old 9 DoF Razor had an ATMega328 on it and the stock firmware just spit data out via the serial header so it was very easy to just attach a Bluetooth board like the BlueSMiRF since it shared the same pinout.

The new 9 DoF Razor uses a SAMD21 for the microcontroller so setting it up to send serial data via Bluetooth is a bit more difficult but can be done with some minor adjustments to the stock firmware or with your own code. The SAMD21 has a couple of serial ports so to send data through the RX and TX pins broken out, you need to adjust to send data via Serial1. There is a note in the end of [this section of our Hookup Guide that explains how to do that with the stock firmware.

Once you have adjusted the code, you should be able to connect your BlueSMiRF to 3.3V, GND, RX and TX and should see data piped through that module.

I hope this helps you get the new 9 DoF Razor sending data via Bluetooth. If you have any other questions about this IMU, let us know and we would be happy to help as much as we can.](https://learn.sparkfun.com/tutorials/9dof-razor-imu-m0-hookup-guide#using-the-mpu-9250-dmp-arduino-library)

Here are some pictures of the modifications that I have made to make the board read out. I will also attach pictures of the code I have changed. In the Arduino IDE I have set it to the Board “SparkFun 9dof Razor IMU M0” I have made sure ground to ground, 3V to VCC, TX to RX, and RX to TX. I get nothing through the serial monitor.

Here are the code changes I have made.

Code snip1.JPG

Code snip three.JPG

Hmm, that should work. Do you have a USB to serial device like an FTDI Basic you could test with in place of the BlueSMiRF Gold? That would help identify if you are getting serial data to print out of that port.

I have a FTDI and it does get a read out. Here is a post of the read out. Do you think the BlueSMiRF is damaged or maybe the dongle is isn’t communicating?

I would be surprised if the BlueSMiRF is damaged but it’s possible. My guess is it’s a baud rate mismatch. The first thing I would do is configure the BlueSMiRF with an FTDI (or an Arduino with a [Serial Passthrough sketch) to make sure you have the correct baud rate and other settings by checking the Basic Settings.

The RN-41 defaults to 115200 bps and also reverts to that at every power cycle so you will need to include the command to set it to 9600 bps if you intend to run your serial data at that baud rate. The Serial Passthrough sketch in the section of the BlueSMiRF Hookup Guide I linked above has that built-in to the code so you can port that over to your 9DoF Razor.

If that does not fix the issue, the next step would be to run through the rest of the Hookup Guide for the BlueSMiRF to test if the RN-41 is functioning properly.](Using the BlueSMiRF - SparkFun Learn)

How do I change the baud rate on the BlueSMiRF? Is it through the program or a command?

I was able to change the name but the Baud rate doesn’t want to change. Any trick to it?

If you are using the example code I linked in my previous response to configure the module with your Arduino, that has the command built-in to the code. The example code sets the module into Command Mode by sending $$$ and a short pause, then writes “U, 9600, N” to set it to 9600 baud with no parity per the notes in the code.

You can also view the entire list of commands for this module in the [Advanced Users Guide.](https://cdn.sparkfun.com/assets/1/e/e/5/d/5217b297757b7fd3748b4567.pdf)

I found out why it wasn’t transmitting. I had Blue SMiRF from the previous Razor and compared their settings. I changed the Baud rate to 9600 (SU command (SU,96)), changed the Configuration Timer (ST command(ST,255)), and set the Remote Address to None Set (SR command (SR,Z)). Now it works. I think it was mainly looking for a device it wasn’t paired to and the Baud rates didn’t match.

ME444L-02 settings highlight.jpg

Awesome! I’m glad to hear it is all working as it should now and you can continue with your project. Let us know if you run into any other issues with these or if you have any other questions about any of our products or tutorials and we would be happy to help as much as we can.