Having Trouble Using SparkFun's Pulse Ox sensor with my arduino nano

Im working on an engineering project which requires me to use sparkfun's pulse oximeter and heart rate sensor paired with an arduino nano. I've downloaded all the necessary libraries and made all the necessary hardware connections to the nano. But whenever I open the first example sketch provided it doesnt allow me to compile the code giving me error messages like

In file included from /Users/alexreimert/Documents/Arduino/libraries/SparkFun_Bio_Sensor_Hub_Library/src/SparkFun_Bio_Sensor_Hub_Library.h:4:0,
                 from /Users/alexreimert/Documents/Arduino/libraries/SparkFun_Bio_Sensor_Hub_Library/src/SparkFun_Bio_Sensor_Hub_Library.cpp:21:
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'bool SparkFun_Bio_Sensor_Hub::eraseFlash()':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~

I have been looking into this problem through the github sparkfun provides for the sketches but I haven't seen anyone run into the same problems that I am. This is just a sample of the error message, the actual error message is way too long to post.

Does this part of the message ring any bells with you? Perhaps the library is not made for a Nano.

1 Like

darn, anyway to work around this without buying a new sensor ?

Choose the correct board in the Arduino IDE. Of the six or so different Arduino "Nanos", which one do you actually have?

I have the nano every selected

Great. What Nano do you actually have?

I have the nano every

Have you checked whether the Sparkfun library supports the Nano Every?

Edit: I glanced through the library and it does not appear to use any CPU-specific registers. It calls the Wire library for all sensor activity.

So, it should work with the Every, provided you have initialized the Wire library correctly. The error snippet you posted does not give any insight into the actual problem, so state exactly which library example you are trying to compile, and post the complete error message, using code tags.

This is the example sketch for the spark fun I've been trying to get to work

/*
 This example sketch gives you exactly what the SparkFun Pulse Oximiter and
 Heart Rate Monitor is designed to do: read heart rate and blood oxygen levels.
 This board requires I-squared-C connections but also connections to the reset
 and mfio pins. When using the device keep LIGHT and CONSISTENT pressure on the
 sensor. Otherwise you may crush the capillaries in your finger which results
 in bad or no results. A summary of the hardware connections are as follows: 
 SDA -> SDA
 SCL -> SCL
 RESET -> PIN 4
 MFIO -> PIN 5

 Author: Elias Santistevan
 Date: 8/2019
 SparkFun Electronics

 If you run into an error code check the following table to help diagnose your
 problem: 
 1 = Unavailable Command
 2 = Unavailable Function
 3 = Data Format Error
 4 = Input Value Error
 5 = Try Again
 255 = Error Unknown
*/

#include <SparkFun_Bio_Sensor_Hub_Library.h>
#include <Wire.h>

// Reset pin, MFIO pin
int resPin = 4;
int mfioPin = 13;

// Takes address, reset pin, and MFIO pin.
SparkFun_Bio_Sensor_Hub bioHub(resPin, mfioPin); 

bioData body;  
// ^^^^^^^^^
// What's this!? This is a type (like int, byte, long) unique to the SparkFun
// Pulse Oximeter and Heart Rate Monitor. Unlike those other types it holds
// specific information on your heartrate and blood oxygen levels. BioData is
// actually a specific kind of type, known as a "struct". 
// You can choose another variable name other than "body", like "blood", or
// "readings", but I chose "body". Using this "body" varible in the 
// following way gives us access to the following data: 
// body.heartrate  - Heartrate
// body.confidence - Confidence in the heartrate value
// body.oxygen     - Blood oxygen level
// body.status     - Has a finger been sensed?


void setup(){

  Serial.begin(115200);

  Wire.begin();
  int result = bioHub.begin();
  if (result == 0) // Zero errors!
    Serial.println("Sensor started!");
  else
    Serial.println("Could not communicate with the sensor!");
 
  Serial.println("Configuring Sensor...."); 
  int error = bioHub.configBpm(MODE_ONE); // Configuring just the BPM settings. 
  if(error == 0){ // Zero errors!
    Serial.println("Sensor configured.");
  }
  else {
    Serial.println("Error configuring sensor.");
    Serial.print("Error: "); 
    Serial.println(error); 
  }

  // Data lags a bit behind the sensor, if you're finger is on the sensor when
  // it's being configured this delay will give some time for the data to catch
  // up. 
  Serial.println("Loading up the buffer with data....");
  delay(4000); 
  
}

void loop(){

    // Information from the readBpm function will be saved to our "body"
    // variable.  
    body = bioHub.readBpm();
    Serial.print("Heartrate: ");
    Serial.println(body.heartRate); 
    Serial.print("Confidence: ");
    Serial.println(body.confidence); 
    Serial.print("Oxygen: ");
    Serial.println(body.oxygen); 
    Serial.print("Status: ");
    Serial.println(body.status); 
    // Slow it down or your heart rate will go up trying to keep up
    // with the flow of numbers
    delay(250); 
}

and this is the complete error message im getting

In file included from /Users/alexreimert/Documents/Arduino/libraries/SparkFun_Bio_Sensor_Hub_Library/src/SparkFun_Bio_Sensor_Hub_Library.h:4:0,
                 from /Users/alexreimert/Documents/Arduino/libraries/SparkFun_Bio_Sensor_Hub_Library/src/SparkFun_Bio_Sensor_Hub_Library.cpp:21:
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'bool SparkFun_Bio_Sensor_Hub::eraseFlash()':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'version SparkFun_Bio_Sensor_Hub::readBootloaderVers()':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'version SparkFun_Bio_Sensor_Hub::readSensorHubVersion()':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'version SparkFun_Bio_Sensor_Hub::readAlgorithmVersion()':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint8_t SparkFun_Bio_Sensor_Hub::enableWrite(uint8_t, uint8_t, uint8_t)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint8_t SparkFun_Bio_Sensor_Hub::writeByte(uint8_t, uint8_t, uint8_t)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint8_t SparkFun_Bio_Sensor_Hub::writeByte(uint8_t, uint8_t, uint8_t, uint16_t)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint8_t SparkFun_Bio_Sensor_Hub::writeByte(uint8_t, uint8_t, uint8_t, uint8_t)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint8_t SparkFun_Bio_Sensor_Hub::writeLongBytes(uint8_t, uint8_t, uint8_t, int32_t*, size_t)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint8_t SparkFun_Bio_Sensor_Hub::writeBytes(uint8_t, uint8_t, uint8_t, uint8_t*, size_t)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint8_t SparkFun_Bio_Sensor_Hub::readByte(uint8_t, uint8_t)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint8_t SparkFun_Bio_Sensor_Hub::readByte(uint8_t, uint8_t, uint8_t)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint8_t SparkFun_Bio_Sensor_Hub::readFillArray(uint8_t, uint8_t, uint8_t, uint8_t*)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint16_t SparkFun_Bio_Sensor_Hub::readIntByte(uint8_t, uint8_t, uint8_t)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint8_t SparkFun_Bio_Sensor_Hub::readMultipleBytes(uint8_t, uint8_t, uint8_t, size_t, int32_t*)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h: In member function 'uint8_t SparkFun_Bio_Sensor_Hub::readMultipleBytes(uint8_t, uint8_t, uint8_t, size_t, uint8_t*)':
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:63:12: note: candidate 1: size_t TwoWire::requestFrom(int, int)
     size_t requestFrom(int, int);
            ^~~~~~~~~~~
/Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire/src/Wire.h:61:12: note: candidate 2: virtual size_t TwoWire::requestFrom(uint8_t, size_t)
     size_t requestFrom(uint8_t, size_t);
            ^~~~~~~~~~~
Sketch uses 7885 bytes (16%) of program storage space. Maximum is 49152 bytes.
Global variables use 596 bytes (9%) of dynamic memory, leaving 5548 bytes for local variables. Maximum is 6144 bytes.
avrdude: jtagmkII_initialize(): Cannot locate "flash" and "boot" memories in description

Those aren't error messages. You seem to have two Wire libraries, so I suggest to get rid of one of them.

The program appears to have been compiled successfully, and issues the following mysterious message during upload:

avrdude: jtagmkII_initialize(): Cannot locate "flash" and "boot" memories in description

But according to this post, that message can also be ignored.

So, the evidence suggests that the upload was successful, and your program should be working.

In the Arduino Preferences, turn on verbose for compiling and linking to see more error details.

This is what it's giving me now. Do you mean that I have two identical copies of the wire library?

Compiling library "Wire"
Using previously compiled file: /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/libraries/Wire/Wire.cpp.o
Using previously compiled file: /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/libraries/Wire/utility/twi.c.o
Compiling core...
Using previously compiled file: /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/core/variant.c.o
Using precompiled core: /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/cores/arduino_megaavr_nona4809_mode_on_f918d880773bddc1870a777381c83401/core.a
Linking everything together...
/Users/alexreimert/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-gcc -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -Wl,--section-start=.text=0x0 -mmcu=atmega4809 -o /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/Example1_config_BPM_Mode1.ino.elf /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/sketch/Example1_config_BPM_Mode1.ino.cpp.o /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/libraries/SparkFun_Bio_Sensor_Hub_Library/SparkFun_Bio_Sensor_Hub_Library.cpp.o /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/libraries/Wire/Wire.cpp.o /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/libraries/Wire/utility/twi.c.o /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/core/variant.c.o /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/../../cores/arduino_megaavr_nona4809_mode_on_f918d880773bddc1870a777381c83401/core.a -L/private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC -lm -Wl,-Map,/private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/Example1_config_BPM_Mode1.ino.map
/Users/alexreimert/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-objcopy -O binary -R .eeprom /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/Example1_config_BPM_Mode1.ino.elf /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/Example1_config_BPM_Mode1.ino.bin
/Users/alexreimert/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/Example1_config_BPM_Mode1.ino.elf /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/Example1_config_BPM_Mode1.ino.eep
/Users/alexreimert/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-objcopy -O ihex -R .eeprom /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/Example1_config_BPM_Mode1.ino.elf /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/Example1_config_BPM_Mode1.ino.hex

Using library SparkFun Bio Sensor Hub Library at version 1.1 in folder: /Users/alexreimert/Documents/Arduino/libraries/SparkFun_Bio_Sensor_Hub_Library 
Using library Wire at version 1.0 in folder: /Users/alexreimert/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.8/libraries/Wire 
/Users/alexreimert/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-size -A /private/var/folders/zs/03fg_lmj4txff0d5ntsmdjzr0000gn/T/arduino/sketches/F2A79D5782A1AA9F537F980B827388AC/Example1_config_BPM_Mode1.ino.elf
Sketch uses 7885 bytes (16%) of program storage space. Maximum is 49152 bytes.
Global variables use 596 bytes (9%) of dynamic memory, leaving 5548 bytes for local variables. Maximum is 6144 bytes.

Looks like the process was successful. Is the program working?

I now think that it is not an issue of two different libraries, instead the compiler or linker is complaining about two different overloads of requestFrom(), and don't know why.

It's still giving me the same messages as before. I am very sure of the fact that I don't have two seperate wire libraries

So what? Ignore them.

The question is: does the program run?

No the program doesn't run which is why I'm saying that it's still giving me the same messages as before. My professor provided us with these components so it wouldn't make too much sense if they just didn’t work together.

Ask your professor why the program "doesn't run".

I haven't tried this, this might be useful tho thank you !

Hi, @anon73394031

What version IDE are you using?

Thanks.. Tom.. :grinning: :+1: :coffee: :australia:

2.2.1

I notice that you posted on the Sparkfun forum that the program outputs "jumbled letters" on the serial monitor.

That is very useful information, which almost certainly means that the program is running normally, but that you have a serial Baud rate mismatch between the serial monitor and the program code. That is a very common beginner error, and a shame that you didn't mention it here.

Make sure that the number in Serial.begin() matches the setting of the serial monitor program.

1 Like