This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

SDK15 Invensense MPU9250

Hi, we switched from your competition to your platform. I know you wrote somewhere that you cannot provide examples for every sensor out there. But your Nordic Dev Zone is a bit messy, information cluttered everywhere. And soon, information is also outdated by your own updates.

If we would talk about motion sensors, I know there are like only two manufacturers: Invensense & Bosch.

Your competition has better community and also the owners themselves care more and provide basic examples on everything. I'm not asking you to do so. Just motion sensors, there is not many vendors and you have 50+ similar questions about motion sensors. It would be good, responsible, western EU style behavior, if your management would get some feedback from community managers. If so many people asking about issues or examples. You can have better ROI and save resources here, if you would, by all the years, provide some, even basic example. You have MPU in your documentation, but that does not stand for motion processing unit, it is some memory protection unit instead (only adds to confusion when googling).

We have met on CES at Las Vegas, you ask for some feedback, how to get better than competition. Your competition have better examples of how easy is to use their product. How good is time to market. Here I see only messy forum and customer rant about the same thing again & again and it is more than 1 year.

And before you will send here the unofficial Michael's github, I want to say that it was for SDK14. Not for SDK15. Next it does not use Invensense DMP driver.

I want to use eDMP motion driver by Invensense. Read quaternion (4D vector) and use their pipeline and configuration. Because, unlike Bosch with second ARM coprocessor, Invensense requires to load their driver in your firmware memory, in order to get these data. You can find many examples on Sparkfun, Adafruit, not to mention Arduino community itself. Also other ARM vendors provide at least one example.

I'm not asking you provide examples on every sensor out there. Just, when it comes to market share, there is only Invensense and Bosch with MPUs. That would be quite basic bluetooth beacon example in 2019.

So my question is: can I get SDK15 working with MPU9250 using DMP? On various boards including ESP, NXP, Arduino, it is really a matter of minutes and then companies, your customers, can focus on developing the product and time to market is acceptable. Here with Nordic, my experience so far, is that the community is not exchanging projects as it should and Nordic company is not doing anything to bring more customers on their platform. What took me one day on other platforms, is impossible to accomplis on SDK15.

I think it is start of 2019 and time to rethink this whole community / customer / startup / manufacturers strategy.

Parents Reply Children
  • I'm getting better in EHAL line by line. I hope, one day, I will be able to help you. But for now, the result is the same and I tried to put #define NORDIC_NUS_SERVICE before. It writes: This service does not have required services, no matter what.

    You have NRF5 SDK 15.2 or different version? I need to rework sdk_config.h according to the one from Segger project. Maybe also some different includes. But it's a lot of stuff.

  • Master branch is on SDK15.2 for nRF52 series, SDK12.x for nRF51.  The hex I sent, does not contain Softdevice.  You need to flash it first or use mergehex to combine them.  Do you have a nordic DK to try the hex file on ? I am curious why it doesn't work on the ublox.  Can you also try nRFConnect ?

  • Then I don't know, where is the problem. Here also SDK15.2. The only board pins used in project are LED, UART. I do not import blueio_board.h anywhere (except usage inside EHAL project maybe).

    Both programmed succesfully:

    C:/Users/Lukas/Documents/s140nrf52611/s140_nrf52_6.1.1_softdevice.hex

    C:/Users/Lukas/Downloads/5775.UartBleDemo.hex

    NrfGo Studio shows memory divided correctly (152kb softdevice, 872kb app starting at 0x26000)

    I can discover, but Nrf Tools not working. I have also NRF UART 2.0 Android app. NRF Connect does not find this device as well.

    It will list UARTDemo device in Bluetooth settings (Android) and in NRF Tools. You cannot pair it with the phone, of course. But even cannot debug using NRF Connect to see service id. So maybe it does not broadcast any service id at all. 

    Another Android app: Bluetooth LE Tool shows:

    MAC: DF:A2:3C:0F:ED:44

    Tx power: Not supported

    Flags:

    Limited discoverable: True

    General discoverable: False

    Legacy supported: False

    Manufacturer ID: 0x177

    Name: I-SYST inc.

    Physical information - bytes:

    02 01 05 0B FF 77 01 00 00 00 00 00 00 00 00 09 09
    55 41 52 54 44 65 6D 6F 03 FF 77 01 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00 00 00 00

  • I just tried to connect with nRFToolbox fine.  Works with booth nRFConnect and Toolbox with Nordic DK though.  The code does not advertise the service uuid.  To change it, go to the s_BleAppCfg and change .pAdcUuids = s_AdvUuids,  .NbAdvUuid = 1,

    Just found something.  My bad. I inverted to characteristics, RX and TX in the NUS UUID.  Just switch them like this

    #define BLE_UART_UUID_TX_CHAR BLE_UUID_NUS_RX_CHARACTERISTIC 

    #define BLE_UART_UUID_RX_CHAR BLE_UUID_NUS_TX_CHARACTERISTIC 

Related