SoftSerial v.s. Serial1 Feather M0 adalogger with FONA 808 breakout

Hey guys,

Hopefully a simple comm's question for you, for me i'll spin my wheels until they fall off.

So i have a FONA 808 gprs/gps shield. Iv'e successfully and thoroughly tested this device on my Mega2560. Design requirements of my project are dictating low weight and not much space so i decided to drop down to the nice light feather. I mistakenly got the M0 cortex version. Now i'm not sure what circumstances this has for my purpose, but one thing i did read is the feathers don't have SoftwareSerial. Or it happens on another level directly as hardware serial? This is where my understanding would only serve to embarrass me. Can anyone shed light on if i can use the FONA808 breakout (typically using SS), perhaps an idea of what pins may work best for this?

To those who realize there's a Feather FONA, yes i would have prefered to forgo the breakout altogether and use the Feather FONA, but that version does not contain a standalone GPS/GNSS of which i NEED.

Now i'm not sure what circumstances this has for my purpose, but one thing i did read is the feathers don't have SoftwareSerial.

I sincerely hope you didn't use SoftwareSerial on a Mega2560. You do know that this board has 4, in words: four hardware serial interface so there's absolutely no need to use that crippled piece of software called SoftwareSerial. Because the Mega2560 is enough compatible with the UNO to run most of it's software SoftwareSerial unfortunately is available on that platform too but it should be used in emergencies only.

As on the feather M0 almost any pin supports a hardware serial interface nobody wasted time to develop a software emulation for that.

The Adafruit library for the FONA expects a Stream based class in the begin() method, so you can use any of the hardware serial interfaces for it.

The Adafruit feather m0 tutorial mentions Serial1 and the pins to use. I would try this to connect the FONA board.

pylon:
I sincerely hope you didn't use SoftwareSerial on a Mega2560. You do know that this board has 4, in words: four hardware serial interface so there's absolutely no need to use that crippled piece of software called SoftwareSerial. Because the Mega2560 is enough compatible with the UNO to run most of it's software SoftwareSerial unfortunately is available on that platform too but it should be used in emergencies only.

As on the feather M0 almost any pin supports a hardware serial interface nobody wasted time to develop a software emulation for that.

The Adafruit library for the FONA expects a Stream based class in the begin() method, so you can use any of the hardware serial interfaces for it.

Thanks for the input guys. I did some more research last night and discovered the M0 has at least 4 Hardware serial connections using a set of standard pins.

Thanks for the information on the mega!!! I only used softserial one time on the mega and i think it was due to me using the TFT shield, which ganks a lot of the pins on the mega. While using the TFT, Touch, SD, and FONA libraries i think i needed Software serial for one of those. Or i used it on the Fona because that's what the 'test' program used for the fona.

Tbh i didn't know much about serial comm especially about which to use or why you would use that one until this issue forced me to really look into it. Not a huge programmer just kind of picking it up over time because i love to tinker. This particular setup is going to be a cellular weather balloon tracker, more specifically im datalogging air pressure data with gps coordinates and time. The cellular is a redundant tracker to find the payload once she lands. My RC link will already contain gps data the whole trip, but this is my redundant fail-safe if you will.

Ahhh this is why i was using soft serial.

" At this time we don't have support for Hardware Serial to talk to the FONA"

What does that mean for me if the feather doesn't have a softserial library haha. Well perhaps i cant use this guy. I do recall reading somewhere of someone getting hardware serial working on it though so ill continue to dig. If anyone knows anything about this please help a dude out :stuck_out_tongue:

The version on git might be newer than the officially released version.

// We default to using software serial. If you want to use hardware serial
// (because softserial isnt supported) comment out the following three lines 
// and uncomment the HardwareSerial line
#include <SoftwareSerial.h>
SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX);
SoftwareSerial *fonaSerial = &fonaSS;

// Hardware serial is also possible!
//  HardwareSerial *fonaSerial = &Serial1;

The version on git might be newer than the officially released version.

You get the same version if you install with the IDE library manager. I always expect users to use that system, that way the IDE will keep the libraries updated.