RFM69 Error: Failed to find RFM69 with expected version, ch

Moderators: adafruit_support_bill, adafruit

Forum rules
Talk about Adafruit Raspberry Pi® accessories! Please do not ask for Linux support, this is for Adafruit products only! For Raspberry Pi help please visit: http://www.raspberrypi.org/phpBB3/
Locked
User avatar
mbsmith42
 
Posts: 15
Joined: Mon May 16, 2022 11:00 am

RFM69 Error: Failed to find RFM69 with expected version, ch

Post by mbsmith42 »

I just put a newly purchased RFM69HCW Transceiver Radio Bonnet, and attached it to a Pi 4.

TL;DR: The LCD display works, however it doesn't find the radio

I did the installs and am running the sample code from this page (also pasted below)

https://learn.adafruit.com/adafruit-rad ... y-pi-setup

When I run the script, the display lights up and the button presses show text. But the console shows this on repeat:

RFM69 Error: Failed to find RFM69 with expected version, check wiring!

Any ideas to troubleshoot?


Code: Select all

# SPDX-FileCopyrightText: 2018 Brent Rubell for Adafruit Industries
#
# SPDX-License-Identifier: MIT

"""
Wiring Check, Pi Radio w/RFM69

Learn Guide: https://learn.adafruit.com/lora-and-lorawan-for-raspberry-pi
Author: Brent Rubell for Adafruit Industries
"""
import time
import busio
from digitalio import DigitalInOut, Direction, Pull
import board
# Import the SSD1306 module.
import adafruit_ssd1306
# Import the RFM69 radio module.
import adafruit_rfm69

# Button A
btnA = DigitalInOut(board.D5)
btnA.direction = Direction.INPUT
btnA.pull = Pull.UP

# Button B
btnB = DigitalInOut(board.D6)
btnB.direction = Direction.INPUT
btnB.pull = Pull.UP

# Button C
btnC = DigitalInOut(board.D12)
btnC.direction = Direction.INPUT
btnC.pull = Pull.UP

# Create the I2C interface.
i2c = busio.I2C(board.SCL, board.SDA)

# 128x32 OLED Display
reset_pin = DigitalInOut(board.D4)
display = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c, reset=reset_pin)
# Clear the display.
display.fill(0)
display.show()
width = display.width
height = display.height


# RFM69 Configuration
CS = DigitalInOut(board.CE1)
RESET = DigitalInOut(board.D25)
spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)

while True:
    # Draw a black filled box to clear the image.
    display.fill(0)

    # Attempt to set up the RFM69 Module
    try:
        rfm69 = adafruit_rfm69.RFM69(spi, CS, RESET, 915.0)
        display.text('RFM69: Detected', 0, 0, 1)
    except RuntimeError as error:
        # Thrown on version mismatch
        display.text('RFM69: ERROR', 0, 0, 1)
        print('RFM69 Error: ', error)

    # Check buttons
    if not btnA.value:
        # Button A Pressed
        display.text('Ada', width-85, height-7, 1)
        display.show()
        time.sleep(0.1)
    if not btnB.value:
        # Button B Pressed
        display.text('Fruit', width-75, height-7, 1)
        display.show()
        time.sleep(0.1)
    if not btnC.value:
        # Button C Pressed
        display.text('Radio', width-65, height-7, 1)
        display.show()
        time.sleep(0.1)

    display.show()
    time.sleep(0.1)

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: RFM69 Error: Failed to find RFM69 with expected version

Post by mikeysklar »

Can you confirm that SPI is enabled via raspi-config?

It might be necessary to try a slow SPI bus speed with the same code. Modify this line to include baudrate:

Code: Select all

rfm69 = adafruit_rfm69.RFM69(spi, cs, reset, 915.0, baudrate=1000000)

User avatar
mbsmith42
 
Posts: 15
Joined: Mon May 16, 2022 11:00 am

Re: RFM69 Error: Failed to find RFM69 with expected version

Post by mbsmith42 »

I updated the baud rate, condensed the code down to just the rfm69 parts, and ran it while running PiScope. Screen shots of idle and running states are attached in case that helps

PiScope while script is idle
rfm69-idle.png
rfm69-idle.png (90.38 KiB) Viewed 172 times
PiScope whilst script running
rfm69-running.png
rfm69-running.png (125.18 KiB) Viewed 172 times
Pin Configuration
board-pins.png
board-pins.png (63.13 KiB) Viewed 172 times

Code: Select all

import time
import busio
from digitalio import DigitalInOut
import board
import adafruit_rfm69

CS = DigitalInOut(board.CE1)
RESET = DigitalInOut(board.D25)
spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)

while True:
    try:
        rfm69 = adafruit_rfm69.RFM69(spi, CS, RESET, 915.0,baudrate=1000000)
    except RuntimeError as error:
        print('RFM69 Error: ', error)
    time.sleep(0.1)


User avatar
mbsmith42
 
Posts: 15
Joined: Mon May 16, 2022 11:00 am

Re: RFM69 Error: Failed to find RFM69 with expected version

Post by mbsmith42 »

And just because it's fun to hack and debug, I tried running it on CE0. Here's the PiScope screen shot.
Attachments
rfm69-running-CE0.png
rfm69-running-CE0.png (128.77 KiB) Viewed 172 times

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: RFM69 Error: Failed to find RFM69 with expected version

Post by mikeysklar »

Thanks for showing your results from PiScope, rich.inspect and CE0 vs CE1.

Your example code looks reasonable enough, almost identical to what I am going to recommend. Can you run this script unmodified:

https://github.com/adafruit/Adafruit_Ci ... pletest.py

Just to confirm you see the same behavior.

User avatar
mbsmith42
 
Posts: 15
Joined: Mon May 16, 2022 11:00 am

Re: RFM69 Error: Failed to find RFM69 with expected version

Post by mbsmith42 »

I got the same error as that code.

I have another Pi on loan to a friend, I'll get that and see if the problem is there too. In the meantime, any thoughts on re-installs? I've already done that, but could there be any underlying dependencies that could mess things up? I'm not using a venv, the system I'm building is self contained so all pip installs are with sudo

I tried running the above script with sudo as a hunch, but no dice.
Attachments
simpletest.png
simpletest.png (23.67 KiB) Viewed 142 times

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: RFM69 Error: Failed to find RFM69 with expected version

Post by mikeysklar »

Can you post a photo of the detached RFM69 hardware top / bottom? I'd like to just verify it is the device we are discussing as there are related models with the same form factor.

In terms of installing libraries you have the right ideal. If you installed with `sudo pip` then it is a good idea to run the python code with `sudo python`.

Are you running v2.1.9 of the Adafruit_CircuitPython_RFM69 library?

https://github.com/adafruit/Adafruit_Ci ... thon_RFM69

User avatar
mbsmith42
 
Posts: 15
Joined: Mon May 16, 2022 11:00 am

Re: RFM69 Error: Failed to find RFM69 with expected version

Post by mbsmith42 »

Here's the pics
Attachments
DA1C452F-FF86-4CA2-837A-5308CEADCE46.jpeg
DA1C452F-FF86-4CA2-837A-5308CEADCE46.jpeg (42.86 KiB) Viewed 137 times
DFE5DB83-33E5-4D99-BCD2-053791876294.jpeg
DFE5DB83-33E5-4D99-BCD2-053791876294.jpeg (599.75 KiB) Viewed 137 times

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: RFM69 Error: Failed to find RFM69 with expected version

Post by mikeysklar »

Thank you for the quality photos.

Did you also try running the rfm69_check.py? I expect the same error, but I guess it is just one more confirmation.

Were you able to obtain another Pi to try on?

Code: Select all

# SPDX-FileCopyrightText: 2018 Brent Rubell for Adafruit Industries
#
# SPDX-License-Identifier: MIT

"""
Wiring Check, Pi Radio w/RFM69

Learn Guide: https://learn.adafruit.com/lora-and-lorawan-for-raspberry-pi
Author: Brent Rubell for Adafruit Industries
"""
import time
import busio
from digitalio import DigitalInOut, Direction, Pull
import board
# Import the SSD1306 module.
import adafruit_ssd1306
# Import the RFM69 radio module.
import adafruit_rfm69

# Button A
btnA = DigitalInOut(board.D5)
btnA.direction = Direction.INPUT
btnA.pull = Pull.UP

# Button B
btnB = DigitalInOut(board.D6)
btnB.direction = Direction.INPUT
btnB.pull = Pull.UP

# Button C
btnC = DigitalInOut(board.D12)
btnC.direction = Direction.INPUT
btnC.pull = Pull.UP

# Create the I2C interface.
i2c = busio.I2C(board.SCL, board.SDA)

# 128x32 OLED Display
reset_pin = DigitalInOut(board.D4)
display = adafruit_ssd1306.SSD1306_I2C(128, 32, i2c, reset=reset_pin)
# Clear the display.
display.fill(0)
display.show()
width = display.width
height = display.height


# RFM69 Configuration
CS = DigitalInOut(board.CE1)
RESET = DigitalInOut(board.D25)
spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)

while True:
    # Draw a black filled box to clear the image.
    display.fill(0)

    # Attempt to set up the RFM69 Module
    try:
        rfm69 = adafruit_rfm69.RFM69(spi, CS, RESET, 915.0)
        display.text('RFM69: Detected', 0, 0, 1)
    except RuntimeError as error:
        # Thrown on version mismatch
        display.text('RFM69: ERROR', 0, 0, 1)
        print('RFM69 Error: ', error)

    # Check buttons
    if not btnA.value:
        # Button A Pressed
        display.text('Ada', width-85, height-7, 1)
        display.show()
        time.sleep(0.1)
    if not btnB.value:
        # Button B Pressed
        display.text('Fruit', width-75, height-7, 1)
        display.show()
        time.sleep(0.1)
    if not btnC.value:
        # Button C Pressed
        display.text('Radio', width-65, height-7, 1)
        display.show()
        time.sleep(0.1)

    display.show()
    time.sleep(0.1)
https://learn.adafruit.com/adafruit-rad ... y-pi-setup

User avatar
mbsmith42
 
Posts: 15
Joined: Mon May 16, 2022 11:00 am

Re: RFM69 Error: Failed to find RFM69 with expected version

Post by mbsmith42 »

I did run that and got the same error.

I tried going into into the RFM69 package and added a print statement for what value was being returned and it was zero.

I'm out of town for a week and can try the other pinwhen I'm back.

Quick question: if we determine the unit is faulty is there an RMA process at the end of this?

And I need to add, this is the best and in depth customer service I've ever received on a technology product...and a complicated product at that. I appreciate the in depth help

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: RFM69 Error: Failed to find RFM69 with expected version

Post by mikeysklar »

I think you have done your due diligence. If you want to start the RMA before you go out of town for a week that is reasonable.

Please contact [email protected] requesting a replacement and link them to this forum thread while providing your original invoice#.

Locked
Forum rules
Talk about Adafruit Raspberry Pi® accessories! Please do not ask for Linux support, this is for Adafruit products only! For Raspberry Pi help please visit: http://www.raspberrypi.org/phpBB3/

Return to “Adafruit Raspberry Pi® accessories”