Adafruit Library for the GridEYE AMG8833

Hello everyone, I have a question:
Does the Adafruit_AMG88xx library use instructions only available to an AVR-architecture controller? In other words, is the library applicable for the Arduino UNO R4?

Background of my question: I’am using the GridEye with an Arduino UNO R4.
On the statement T = grideye.getPixelTemperature(pixnum); -99 is returned.which is the code for a read error.
Before using the UNO R4, I used an UNO R3. That worked ok, only rather slow.
Can you help me out? Thank you in advance.
Frans

The Adafruit forum would be a better place to ask questions about Adafruit products. However, the library is written in C/C++ and does not appear to assume use of any particular processor.

Thank you for your answer Jremington, I mentioned the Adafruit library. That was a mistake, I meant the Sparkfun library. Sorry. It has to do with the display in my project, Adafruit library.
I saw that the Sparkfun library is also written in C++.
I’ll have to look further in it.
Thanks again.

I can see that the latest release was in 2022. GitHub - sparkfun/SparkFun_GridEYE_Arduino_Library: Library for the Panasonic GridEYE Thermopile Array - AMG88
That means it does not support R4.

The library date is irrelevant and the Sparkfun library code makes no assumptions about the processor.

It is possible that minor modifications to the library might be needed for the R4, but you won’t know until you have installed the library and tried one of the examples.

2 Likes

Thanks Dilshana & Jremington for your reactions.
I’m going to try one or more example(s).

I tried examples 3 and 4. They act in the same way as my sketch; read errors -99 is returned.
I’ll recheck the hardware.

Please post a link to the GridEYE module that you have.

First, use the I2C address scanner program to determine if the correct I2C address is found. If it doesn’t, nothing can work.

See this getting started guide: Qwiic GRID-Eye Infrared Array (AMG88xx) Hookup Guide - SparkFun Learn

I’m using a GY-AMG8833.
I already changed the adress form x069 to x068. No succes.
I’ll try the I2C scanner program.

Hi Frans ,

Example1-SerialVisualizer is working OK for me on an Arduino UNO R4 WiFi with the GridEYE connected via Qwiic. See screenshot below.

On the R4 WiFi, the Qwiic connector is Wire1, not Wire, so I had to modify lines 51 and 53 to match.

If you are using the R4 Minima, please be careful with your I2C I/O voltages. The Minima I/O pins are 5V, not 3.3V.

I hope this helps,
Paul

Hello Jremington and PaulZC, I tried a scanner program on the UNO R4 → No adress found.
I tried the same on the UNO R3 → Adress 0x69 was found.
I also tried Example4 on the UNO R3. It works ok. I also measured the SDA and CLK signals. They are in good shape.
I tried example4 on the UNO R4. Foutcodes -99. No signals; SDA = HIGH and CLK = Low.
I saw that the compiler gives some Warnings. They are about the bufferlenght for I2C.
They are changed to 255 and back to 32. It has to do with using the UNO R4.
I do not understand why. The Sparkfun library and the IDE library are involved in this.
It are warnings and the sketch is running, it displays the error codes.
I’m going to check if the same warning appear when compiling example4.
By the way; The 5V on the UNO pins is reduced to 3.3 V

Using Wire1, as instructed above?

No, the compiler gives an error message ‘Wire 1 not declared in this scope’.
I checked the manuals of the Minima and also of the WIFI.
The WIFI has the possibility for an Qwiic connection, The Minima doesn’t have that.

Hello PaulZC,
I found no Qwiic connector on my R4 WiFi but I did modifie ‘Wire’ into ‘Wire1’ in my sketch. The compiler gave error messages, ‘Wire1 not declared in this scope’ . I should have told you this earlier, sorry.
Now I have read in the manuals that the WiFi has a Qwiic connection and the Minima has not. So the Minima has just one I2C connection.
I keep looking for a solution.
Frans

Can you provide photos showing how you have things connected?

Post the code, using code tags, and people can help fix your mistake.

I have read in the manuals that the WiFi has a Qwiic connection and the Minima has not. So the Minima has just one I2C connection. That will be the reason that the compiler does not recognize ‘Wire1’.
I will post the code of example4 with the output for both situations ; with UNO R4 and UNO R3.

Hello YellowDog, I will provide pictures as soon as possible.

I checked the manual for the R4 Minima, and indeed Wire is the correct call.

However, the manual also explains that the required pullup resistors are not included on the I2C SDA and SCL pins, so I2C communications will not work unless you add those. See https://docs.arduino.cc/tutorials/uno-r4-minima/cheat-sheet/

To safely connect a 3.3V sensor to a 5V Arduino, bidirectional logic level shifters are strongly recommended.