Unable to implement hookup guide for RP2040 mikroBUS Development Board

Hello Sparkfun and developer community!

I am unable to implement the hookup guide associated with the SparkFun RP2040 mikroBUS Development Board (DEV-18721).: https://learn.sparkfun.com/tutorials/rp … -guide/all

I am having difficulty implementing the basic Arduino example. I’ve tried a lot (detailed below) but only get the error “The sensor did not respond. Please check wiring.”

Code I’m using (modified per the instructions in the hookup guide):

#include <Wire.h>

#include "SparkFunBME280.h"
BME280 mySensor;

void setup()
{
  Serial.begin(115200);

  while (!Serial){
      ; // wait for serial port
  }

  // Set I2C address
  mySensor.settings.I2CAddress = 0x76;

  Serial.println("Reading basic values from BME280");

  Wire.begin();

  if (mySensor.beginI2C() == false) //Begin communication over I2C
  {
    Serial.println("The sensor did not respond. Please check wiring.");
    while(1); //Freeze
  }
}

void loop()
{
  Serial.print("Humidity: ");
  Serial.print(mySensor.readFloatHumidity(), 0);

  Serial.print(" Pressure: ");
  Serial.print(mySensor.readFloatPressure(), 0);

  Serial.print(" Alt: ");
  //Serial.print(mySensor.readFloatAltitudeMeters(), 1);
  Serial.print(mySensor.readFloatAltitudeFeet(), 1);

  Serial.print(" Temp: ");
  //Serial.print(mySensor.readTempC(), 2);
  Serial.print(mySensor.readTempF(), 2);

  Serial.println();

  delay(50);
}

Hardware being used:

  • SparkFun RP2040 mikroBUS Development Board (DEV-18721)

  • MIKROE Weather Click (SEN-18823)

  • Various USB cables and various USB ports on three computers to rule out a bad cable / USB port.

I attempted to implement the code example using all combinations of the below to rule out OS and software differences:

  • Legacy Arduino IDE 1.8 and Arduino IDE 2;

  • Arduino Mbed OS RP2040 Boards board definitions version 4.0.8 (latest)

  • macOS, Windows 10 and Linux;

  • On Linux, updated serial port permissions and also ran post-install sh per instructions on Arduino’s website.

  • On windows, I associated the board with various COM ports in device manager;

  • All versions of the Sparkfun BME280 Arduino Library provided, from version 1 all the way to the latest.

Additional troubleshooting performed:

  • Ran the Blink uf2 example and this runs just fine on the development board.

  • Ran flash_nuke uf2 at multiple times to re-set the board.

  • Ran PICOPROBE uf2 per the hookup guide.

  • Ran various implementations of I2C scanners to see if the Weather Click is detected. I2C scanners do not see the click board.

  • Rather than inserting the Weather Click into the Click connector, I connected the sensor to the development board with jumper cables. I2C scanners don’t see the board.

  • Connected MIKROE LDC1101 Click (SEN-18826) to the board and ran I2C scanners; the board does not show up on scanners.

  • One at a time, connected a Sparkfun soil moisture sensor, Adafruit light sensor and Adafruit CO2 sensor to the Qwiic connection on the development board. I ran various implementations of the I2C scanner and none of the boards are detected.

The last point was an “a-ha” moment. One I2C bus being DOA is possible, but both I2C buses being DOA at the same time seems really unlikely. I believe I’m doing something wrong in the Arduino sketch. I did a lot of google searching and looked through the SparkFun Forums and wasn’t able to figure out what I’m doing wrong.

Any help is greatly appreciated. Thank you!

It sounds like it might be a defective board - Was it purchased from us? If so head over to www.sparkfun.com/returns (contact vendor if purchased elsewhere) and we’ll get ya squared away

The two are designed to plug into one another, have you tried that rather than using jumper wires?

TS-Russell:
It sounds like it might be a defective board - Was it purchased from us? If so head over to www.sparkfun.com/returns (contact vendor if purchased elsewhere) and we’ll get ya squared away

Thanks for the feedback. Yes, I bought the board directly from SparkFun.

I noticed that SparkFun’s site currently doesn’t have the development boards in stock. So I went ahead and ordered another one on Amazon. It arrived today (Sunday 10/29).

The new board has the same issues. The Weather Click doesn’t respond when connected to to the mikrobus connector; I2C scans don’t see the Weather Click; I2C scans don’t see other sensors connected with a Qwiic cable.

Any suggestions?

YellowDog:
The two are designed to plug into one another, have you tried that rather than using jumper wires?

Yes, plugging in the Weather Click into the mikrobus connector was the very first thing I did. Using jumper cables was a troubleshooting step (e.g. maybe something was shorting out when plugged into the mikrobus connector).

I repeated the implementation on another RP2040 mikroBUS Development Board that I ordered and arrived today. It has the same issues. Weather Click is not detected when plugged into the mikrobus connector. I2C scans don’t detect the Weather Click; nor does an I2C scan see other sensors connected via a Qwiic cable.

Any suggestions?

ohmslaw:

TS-Russell:
It sounds like it might be a defective board - Was it purchased from us? If so head over to www.sparkfun.com/returns (contact vendor if purchased elsewhere) and we’ll get ya squared away

Thanks for the feedback. Yes, I bought the board directly from SparkFun.

I noticed that SparkFun’s site currently doesn’t have the development boards in stock. So I went ahead and ordered another one on Amazon. It arrived today (Sunday 10/29).

The new board has the same issues. The Weather Click doesn’t respond when connected to to the mikrobus connector; I2C scans don’t see the Weather Click; I2C scans don’t see other sensors connected with a Qwiic cable.

Any suggestions?

A new discovery. Given my past experience with SparkFun, I felt the odds are low that both boards are bad. But that might be the case as a result of this test. The simple Blink example doesn’t work on the replacement board I got from Amazon. However, as noted in my initial post, Blink runs fine on the original board I got from SparkFun. Is it possible y’all had an unfortunate bad production run? Is there an ETA on the next batch of development boards?

ohmslaw:

ohmslaw:

TS-Russell:
It sounds like it might be a defective board - Was it purchased from us? If so head over to www.sparkfun.com/returns (contact vendor if purchased elsewhere) and we’ll get ya squared away

Thanks for the feedback. Yes, I bought the board directly from SparkFun.

I noticed that SparkFun’s site currently doesn’t have the development boards in stock. So I went ahead and ordered another one on Amazon. It arrived today (Sunday 10/29).

The new board has the same issues. The Weather Click doesn’t respond when connected to to the mikrobus connector; I2C scans don’t see the Weather Click; I2C scans don’t see other sensors connected with a Qwiic cable.

Any suggestions?

A new discovery. Given my past experience with SparkFun, I felt the odds are low that both boards are bad. But that might be the case as a result of this test. The simple Blink example doesn’t work on the replacement board I got from Amazon. However, as noted in my initial post, Blink runs fine on the original board I got from SparkFun. Is it possible y’all had an unfortunate bad production run? Is there an ETA on the next batch of development boards?

Yup, both boards are bad. Talk about bad luck, right? That said, I learned a bunch about troubleshooting, which is a valuable skill by itself.

I used a MicroMod mikroBUS Carrier Board https://www.sparkfun.com/products/18710 with a MicroMod RP2040 Processor https://www.sparkfun.com/products/17720 . I put the Weather Click into the carrier board; uploaded the sketch listed in my original post. The serial output properly lists humidity, altitude and temperature.