arduinoembeddedarduino-ideadafruit

Fona 32u4 not passing base test "FONAtest_KEY_mod"


I have recently purchased the Adafruit Fona 32u4. The instant I received the item, I soldered pins on it. In hindsight, I believe it was a mistake.

The link to the Arduino code FONAtest_KEY_mod is this. https://github.com/adafruit/Adafruit_FONA

The purpose of the code is to test the functionality of the chip. You type in commands in the serial monitor and receive an output. But before that I keep on getting the response, "Fona not found". What should I do?


Solution

  • Actually you might as well have killed it when taking it out of the ESD protective bag. So don't feel bad about soldering some pins. And I don't believe that you get the response "Fona not found". The source code only contains "Couldn't find FONA". For the future please copy & paste error messages.

    To answer your question "What should I do?":

    If you face an error message and you don't know why you have to find out what makes your device print that error. As you have access to the source code this becomes easy.

    https://github.com/adafruit/Adafruit_FONA/blob/master/examples/FONAtest_KEY_mod/FONAtest_KEY_mod.ino

    Here we find that error the first time in the setup function:

    fonaSerial->begin(4800);
    if (! fona.begin(*fonaSerial)) {
     Serial.println(F("Couldn't find FONA"));
     while (1);
    }
    

    The second same error message is triggered by the same condition. So let's have a look why fona.begin(*fonaSerial) returns false...

    // Use this for FONA 800 and 808s
    Adafruit_FONA fona = Adafruit_FONA(FONA_RST);
    // Use this one for FONA 3G
    //Adafruit_FONA_3G fona = Adafruit_FONA_3G(FONA_RST);
    

    So fona is an instance of Adafruit_FONA. According to the datasheet the Fona 32u4 has a FONA 800 so that's fine.

    Next thing: read the implementation of begin and find out what's causing it to return false.