ESP32 + ECC508A issue

I'm using an ESP32-WROOM-32D connected to an ECC508A via SDA and SCL. Both have 4.7k resistors.

Libraries used:

#include <ArduinoECCX08.h>
#include <utility/ECCX08SelfSignedCert.h>
#include <utility/ECCX08DefaultTLSConfig.h>
#include <EEPROM.h>
#include "CRC32.h"

on the ESP32 EEPROM i write the input, signature and public key.

On the ECC508A, slot 0, I store the private key.

Everything writes just fine to the esp32 eeprom and I'm assuming the ECC508A. I can dump the input, sig and pub key from EEPROM on the esp32 fine. Then I get this error below when I run :
ECCX08.ecdsaVerify(settings.input, settings.signature, settings.public_key)

Error is:

[ 2188][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263
[ 4189][E][Wire.cpp:513] requestFrom(): i2cRead returned Error 263 ..... etc etc.

It supposedly does communicate with the the ECC508A:

    Attempting to communicate with ECC508/ECC608...
    Successfully established communication with ECC508/ECC608.

I've tried to add Wire.settimeout(2000); to see if it helps but it doesnt. I'm totally stumped.

1 Like

Post complete code!

Error 263 means that the request timed out. Ensure the connection between the two boards is stable and all wires are OK!

I guess (or hope) there are missing some connection (GND, VCC). Post a link to the breakout board you used!

1 Like

its a custom PCB. I'll take a look at the gerber files.

Post the schematics!

1 Like

Yea not going to do that. What I am going to do is put the ecc508a on its own pcb with some dupont style connectors that way I can test the library. If that works (because its basically the same thing), then I'll know its my custom PCB that has the issue somewhere.

Wire.setBufferSize(256);

fixed it.

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