Author Topic: Library not working with Arduino Nano Every  (Read 41 times)

saporter97

  • Newbie
  • *
  • Posts: 1
Library not working with Arduino Nano Every
« on: November 12, 2019, 04:32:37 PM »
Hello,

I am attempting to use a pair of Arduino Nano Every boards to control a pair of RFM69 transceivers.
The Nano Every is a new board from Arduino, using an ATMega4809, and I am using the RFM69 breakout from Sparkfun.

https://www.sparkfun.com/products/12775

I am using the code found here, modified as prescribed for each node.

https://learn.sparkfun.com/tutorials/rfm69hcw-hookup-guide#running-the-example-code

The connections between the Arduino and the radio, through a 5V - 3.3V bidirectional level shifter, are:
Pin 13 - clock
Pin 12 - MISO
Pin 11 - MOSI
Pin 10 - slave select
Pin 2 - packet received interrupt

I have been unable to achieve communication between the two nodes. I have used an oscilloscope to look at some of the lines. Clock and MOSI both look good when a packet is communicated to the radio. However, SS stays high at all times when it should go low to signal the radio to expect incoming communication.

I have tried to force SS (pin 10) low with a digitalWrite statement just before radio.sendWithRetry, but doing that causes the code to not complete the radio.sendWithRetry statement. I haven't tried to pull SS straight to my project's ground because I have other SPI devices on the bus, so I need to be able to control SS.

To debug I replaced the Nano Every boards with Uno R3s. Otherwise, the circuit stayed exactly the same. I immediately achieved communication this way. Monitoring the SS line showed that it was automatically pulled down as bytes were sent over the MOSI line.

I have gotten the standard SPI communication library to work between the Nano Every and other devices, so that doesn't seem to be the problem. My conclusion is that this RFM69 library is not compatible with the new MCU on the Nano Every.

I have very little experience working with MCU registers and libraries, so I wonder if this is a simple problem to fix?

Thanks in advance