0

Feather M0 RFM69 and Airlift Feather
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Feather M0 RFM69 and Airlift Feather

by ltheoret on Fri May 31, 2019 12:14 pm

Hi,

I just noticed the airlift Feather. I am using Feather M0 RFM69 for remote acquisition and would like to use the airlift to communicate with MySQL. I already have some Feather M0 RFM69 board and I have the metro M4 airlift working with MySQL (Arduino IDE). but if the airlift feather work with the feather M0 RFM69 for me that would be a better option.
Would the airlift feather be compatible with the Feather M0 RFM69?

LTheoret

ltheoret
 
Posts: 35
Joined: Mon Nov 20, 2017 2:06 am

Re: Feather M0 RFM69 and Airlift Feather

by ltheoret on Tue Jun 04, 2019 9:38 pm

Hi,

I have just ordered 2 Airlift Feather wings. We will find out this weekend if they work with the Feather M0 RFM69. (Its going to rain all weekend.)

Ltheoret

ltheoret
 
Posts: 35
Joined: Mon Nov 20, 2017 2:06 am

Re: Feather M0 RFM69 and Airlift Feather

by jerryn on Tue Jun 04, 2019 10:29 pm

According to the guide https://learn.adafruit.com/adafruit-airlift-featherwing-esp32-wifi-co-processor-featherwing
It should work with the M0 board under Arduino, but not likely under CircuitPython due to the limited RAM.
For use in Arduino, the '328 and '32u4 you can do basic connectivity and data transfer but they do not have a lot of RAM so we don't recommend them - use the M0, M4 or similar, for best results! For CircuitPython use, a Feather M4 or nRF52840 works best - the M0 series does not have enough RAM in CircuitPython.


Good luck!

jerryn
 
Posts: 917
Joined: Sat Sep 14, 2013 9:05 am

Re: Feather M0 RFM69 and Airlift Feather

by adafruit_support_carter on Wed Jun 05, 2019 1:07 pm

It's basically just an ESP32 connected via SPI. So it's essentially just another gadget. As mentioned above, as long as you have the processing power/space to fit all the necessary software, it should work.

The RFM module also uses SPI, but you can share multiple devices as long as you have a unique chip select pin for each. The Feather M0 RFM69 use D8 for CS. The AirLift uses D13.
https://learn.adafruit.com/adafruit-air ... itions-6-2

adafruit_support_carter
 
Posts: 11467
Joined: Tue Nov 29, 2016 2:45 pm

Re: Feather M0 RFM69 and Airlift Feather

by ltheoret on Tue Jun 11, 2019 11:03 pm

Hi,

I tried using with Feather M0 with RFM69 module with the Airlift Feather and there a problem. I had it all working until i tried to log into the MySQL database then all stopped working. I can consistently get to that same spot.
Unfortunately that is the only code that I can get to work between the 2 boards. So I went back to the start and tried the WebClient example. This examples works flawlessly with the Metro M4 Airlift, with the Feather M0 Express and this same Airlift feather and with the Feather M0 Basic and this same Feather Airlift but not with 2 different Feather M0's with RFM69 modules and this same Feather Airlift. The first thing I suspected was my soldering but it all works with the other boards. Unfortunately I am current out of town on job. Debugging will continue when I get back home. I must have to reset the RFM69 module first or something.

LTheoret

ltheoret
 
Posts: 35
Joined: Mon Nov 20, 2017 2:06 am

Re: Feather M0 RFM69 and Airlift Feather

by ltheoret on Tue Jun 11, 2019 11:08 pm

Hi,

This is the code I was using with all boards.

LTheoret

Code: Select all | TOGGLE FULL SIZE
/*
  Web client

 This sketch connects to a website (wifitest.adafruit.com/testwifi/index.html)
 using the WiFi module.

 This example is written for a network using WPA encryption. For
 WEP or WPA, change the Wifi.begin() call accordingly.

 This example is written for a network using WPA encryption. For
 WEP or WPA, change the Wifi.begin() call accordingly.

 Circuit:
 * Board with NINA module (Arduino MKR WiFi 1010, MKR VIDOR 4000 and UNO WiFi Rev.2)

 created 13 July 2010
 by dlf (Metodo2 srl)
 modified 31 May 2012
 by Tom Igoe
 */


#include <SPI.h>
#include <WiFiNINA.h>

// Configure the pins used for the ESP32 connection
#if !defined(SPIWIFI_SS)  // if the wifi definition isnt in the board variant
  // Don't change the names of these #define's! they match the variant ones
  #define SPIWIFI     SPI
  #define SPIWIFI_SS    13  // Chip select pin
  #define SPIWIFI_ACK   11   // a.k.a BUSY or READY pin
  #define ESP32_RESETN  12   // Reset pin
  #define ESP32_GPIO0   -1  // Not connected
#endif


#include "arduino_secrets.h"
///////please enter your sensitive data in the Secret tab/arduino_secrets.h
char ssid[] = SECRET_SSID;        // your network SSID (name)
char pass[] = SECRET_PASS;    // your network password (use for WPA, or use as key for WEP)
int keyIndex = 0;            // your network key Index number (needed only for WEP)

int status = WL_IDLE_STATUS;
// if you don't want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
//IPAddress server(74,125,232,128);  // numeric IP for Google (no DNS)

char server[] = "wifitest.adafruit.com";    // name address for adafruit test
char path[]   = "/testwifi/index.html";

// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
WiFiClient client;

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  // check for the WiFi module:
  WiFi.setPins(SPIWIFI_SS, SPIWIFI_ACK, ESP32_RESETN, ESP32_GPIO0, &SPIWIFI);
  while (WiFi.status() == WL_NO_MODULE) {
    Serial.println("Communication with WiFi module failed!");
    // don't continue
    delay(1000);
  }

  String fv = WiFi.firmwareVersion();
  if (fv < "1.0.0") {
    Serial.println("Please upgrade the firmware");
  }
  Serial.print("Found firmware "); Serial.println(fv);

  // attempt to connect to Wifi network:
  Serial.print("Attempting to connect to SSID: ");
  Serial.println(ssid);
  // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
  do {
    status = WiFi.begin(ssid, pass);
    delay(100);     // wait until connection is ready!
  } while (status != WL_CONNECTED);
 
  Serial.println("Connected to wifi");
  printWifiStatus();

  Serial.println("\nStarting connection to server...");
  // if you get a connection, report back via serial:
  if (client.connect(server, 80)) {
    Serial.println("connected to server");
    // Make a HTTP request:
    client.print("GET "); client.print(path); client.println(" HTTP/1.1");
    client.print("Host: "); client.println(server);
    client.println("Connection: close");
    client.println();
  }
}

void loop() {
  // if there are incoming bytes available
  // from the server, read them and print them:
  while (client.available()) {
    char c = client.read();
    Serial.write(c);
  }

  // if the server's disconnected, stop the client:
  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting from server.");
    client.stop();

    // do nothing forevermore:
    while (true);
  }
}


void printWifiStatus() {
  // print the SSID of the network you're attached to:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  // print your board's IP address:
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  // print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
}

ltheoret
 
Posts: 35
Joined: Mon Nov 20, 2017 2:06 am

Re: Feather M0 RFM69 and Airlift Feather

by ltheoret on Tue Jun 11, 2019 11:15 pm

Hi,

Forgot to mention the Feather M0 with RFM69 modules cannot find the wifi module. And Yet it does with my code that is in progress. till it fails to connect or crashed when it tries to connect to MySQL. Hmm could be out of memory???? But I am doing an insert not a query!!! But It does not get that far it wont connect or timeout it just crashes.

LTheoret

ltheoret
 
Posts: 35
Joined: Mon Nov 20, 2017 2:06 am

Re: Feather M0 RFM69 and Airlift Feather

by jerryn on Wed Jun 12, 2019 2:35 am

There may be a conflict with the RFM69 CS pin (#8)
From the guide: https://learn.adafruit.com/adafruit-feather-m0-radio-with-rfm69-packet-radio/pinouts
The CS pin (#8) does not have a pullup built in so be sure to set this pin HIGH when not using the radio!

jerryn
 
Posts: 917
Joined: Sat Sep 14, 2013 9:05 am

Re: Feather M0 RFM69 and Airlift Feather

by ltheoret on Wed Jun 12, 2019 8:10 am

Hi jerryn,

Ah. Yes, I suspected something like that. I should be going back home in a few days. I hope that will solve the problem.
Thank you

LTheoret

ltheoret
 
Posts: 35
Joined: Mon Nov 20, 2017 2:06 am

Please be positive and constructive with your questions and comments.