RAK12011 sensor is not working with examples

My setup is RAK4631 Core with board RAK19007 (also tested with RAK19003). Arduino-BSP with the sketch RAK1902_MEMS_Pressure_LPS33HW.ino shown in the Quick Start Guide here:

https://docs.rakwireless.com/Product-Categories/WisBlock/RAK12011/Quickstart/

Tested also with this one that I believe is the same:

RAK4631 core details:

UF2 Bootloader 0.4.2 lib/nrfx (v2.0.0) lib/tinyusb (0.10.1-293-gaf8e5a90) lib/uf2 (remotes/origin/configupdate-9-gadbb8c7)
Model: WisBlock RAK4631 Board
Board-ID: WisBlock-RAK4631-Board
Date: Dec 1 2021
SoftDevice: S140 6.1.1

Computer OS: Windows 10

When the sensor RAK12011 is plugged into the base board the sketch doesn’t run, I have no output in the serial monitor. When the sensor is not plugged in, I get the following lines:

Adafruit LPS33 test!

Failed to find LPS33 chip

When it’s plugged there is no output in the serial monitor.

I’ve tried the following:

  • Uploading the sketch with Arduino IDE and Visual Studio Code.
  • Slots tried in RAK19007: A, C and D. In the RAK19003: C and D.
  • Two different RAK12011 modules that are brand new.
  • In the original sketch the I2C address used is 0x5d, and in the WisBlock IO Pin Mapping Tool for this sensor I’ve seen address 0x57. Both gave the same result.

The RAK4631 module seems to work perfectly well with other Arduino BSP and RUI3 examples, in the serial monitor I get what I expect.

I’m new to the RAK environment, am I missing something with this RAK12011 sensor?

I would actually like to use the sensor with the RUI3 environment, is it supported? If so, what example could I try? I’ve seen examples of other sensors in RUI3, but not this one.

Any help would be much appreciated. Thanks.

Welcome to RAK forum @Yeshe ,

The default example on the Quick Start Guide works on my setup of RAK4631 both Arduino-BSP and RUI3 v4.1.1. We also have same Arduino-BSP bootloader and softdevice version.

I have a RAK12011_VA module board versions.

image

Hi Carl,

Thanks for you fast response.

My two RAK12011 are also RAK12011_VA.

I’ve tested again with Arduino BSP and the result is the same. I’ve now changed the RAK4631 to RUI3 and uploaded the same sketch. Now I get one line more than before:

Adafruit LPS33 test!

And there it stops printing anything more. Also, I noticed that AT commands are not working if the sensor is plugged in and this sketch uploaded. If it’s not plugged in all AT commands I’ve tried worked without problems. If it’s plugged in but I load some other sketch like Arduino_LED_Breathing the sketch runs without problems and AT commands are working. Just in case is useful, these are the result of some of the AT commands I tried:

AT+VER=RUI_4.1.1_RAK4631
AT+CLIVER=1.5.11
AT+APIVER=3.2.9
AT+HWMODEL=rak4630
AT+BOOTVER=RUI_BOOT_0.7_nRF52840

It might be related or not but every time I try to change to Arduino BSP or RUI3 with the adafruit-nrfutil.exe command line utility, the RAK4631 get’s stuck and I will get errors every time I try to upload any sketch, in that state it’s like bricked. In the case of RUI3, no AT commands give any response and in the case of Arduino BSP I cannot put in DFU mode with double click the reset button. Luckily for me a I have RAKDAP1 and I’m able to install Arduino BSP or RUI3 though the pyocd utility without problems.

Do you have any idea of what other tests I can do to get any more clues of why this sensor is not working for me?

For anybody facing the same issue with this sensor, I managed to get it working by adding to the RAK19011_MEMS_Pressure_LPS33HW.ino example sketch, the following lines in the setup function:

pinMode(WB_IO2, OUTPUT);
digitalWrite(WB_IO2, 0);
delay(1000);
digitalWrite(WB_IO2, 1);
delay(1000);

I don’t really understand why is working so if somebody knows I will be very interested.

WB_IO2 controls the supply voltage of the RAK12011. You might not need the sequence of setting it to 0 then to 1, just set it to 1 and it should work.

Hi Bernd, Yes, setting only to 1 has also worked.

pinMode(WB_IO2, OUTPUT);
digitalWrite(WB_IO2, 1);
delay(1000);

Example in Github is updated.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.