Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Feature Requests
  3. Please add a guide for how to connect use the RFM69(H)W

Please add a guide for how to connect use the RFM69(H)W

Scheduled Pinned Locked Moved Feature Requests
16 Posts 5 Posters 8.3k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • carlierdC Offline
    carlierdC Offline
    carlierd
    wrote on last edited by
    #4

    Thanks Hek !! Do you also add procedure for modification of librairie to use RFM69 ? I understood that something needs to be done ?

    L 1 Reply Last reply
    1
    • carlierdC carlierd

      Thanks Hek !! Do you also add procedure for modification of librairie to use RFM69 ? I understood that something needs to be done ?

      L Offline
      L Offline
      lafleur
      wrote on last edited by lafleur
      #5

      @carlierd

      Yes, it would be very helpful to have a guide that shows what needed in software to add the RFM69 radio, how to change its I/O pins, change its power out, setup for HW variant... in 1.5 and 1.6

      A guide for using Moteino and Moteino-Mega with these radios would be helpful.

      1 Reply Last reply
      0
      • carlierdC Offline
        carlierdC Offline
        carlierd
        wrote on last edited by
        #6

        Hello,

        I think I can do it but not before end of February ...

        David.

        1 Reply Last reply
        0
        • hekH Offline
          hekH Offline
          hek
          Admin
          wrote on last edited by hek
          #7

          Moteino should work out of the box with the dev-branch. Think it defaults to its pin-wiring.

          Not sure about the Moteino-mega though. Haven't got that one.

          alexsh1A 1 Reply Last reply
          0
          • L Offline
            L Offline
            lafleur
            wrote on last edited by
            #8

            The fix for the long term, is radio abstraction...

            ie: radio = rfm69c, or radio = rfm69w, or radio = rfm69hw, or radio = nRF24 or radio = xyz

            with some layer of abstraction for radio options like the ones below...

            radio.set_freq= 912650000 ( this could imply the band also)
            radio.set_band= 915MHZ
            radio.set_channel = 72

            #define MY_RFM69HW true
            #define MY_RFM69_FREQUENCY RF69_915MHZ
            #define RFM69_FREQUENCY 912650000
            #define RFM69_NETWORKID 120
            #define RF69_SPI_CS 10
            #define RF69_IRQ_PIN 2
            #define RF69_IRQ_NUM 0

            all items like this should be abstracted to the radio level...

            for now, it would be nice to have a guide for using each type of radio, with documentation on all known options...

            (By the way, MY_RFM69_FREQUENCY should be MY_RFM69_BAND, as it selects the freq band the radio is in, not its exact frequency)

            Thanks... my two bits...

            1 Reply Last reply
            0
            • hekH Offline
              hekH Offline
              hek
              Admin
              wrote on last edited by hek
              #9

              @lafleur
              PRs against dev-branch is welcome.

              1 Reply Last reply
              0
              • hekH hek

                Moteino should work out of the box with the dev-branch. Think it defaults to its pin-wiring.

                Not sure about the Moteino-mega though. Haven't got that one.

                alexsh1A Offline
                alexsh1A Offline
                alexsh1
                wrote on last edited by
                #10

                @hek the pins on Moteino-Mega do not correspond:

                D2 - DIO0
                D4 - NSS
                D5 - MOSI
                D6 - MISO
                D7 - SCK

                Where do I change the softSPI settings please for RFM69(H)W? It is not in MyConfig.h for rfm69?

                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  lafleur
                  wrote on last edited by lafleur
                  #11

                  The SPI connections are hardware SPI in the chip, not a softSPI.. (may work, but I have not tested)

                  If you look at the data sheet and schematics for the Mega, you see that the SPI pins are very well documented.....

                  http://lowpowerlab.com/blog/2014/08/09/moteinomega-available-now/

                  https://github.com/LowPowerLab/Moteino/blob/master/MEGA/MoteinoMEGA_Schematic.pdf

                  Pins 7-6--5-4 are the four standard SPI pins, SCK, MISO, MOSI, SS, pin D2 is use as the interrupt from DIO0 on the radio... Look at the schematic and you see the correct pin-out from the radio to the processor... You will note the swap in MISO and MOSI pins. In on the CPU is out on the radio.. ect...
                  CPU RFM69
                  4 NSS
                  5 MOSI
                  6 MISO
                  7 SCK
                  2 DIO0

                  In my main code I use these defines... not in the config.h file... ( you could put them there also)
                  I'm using ver 2.0 code base, NOT 1.4 or 1.5

                  #ifdef __AVR_ATmega1284P__        // use for Moteino Mega Note: LED on Mega are 1 = on, 0 = off
                  // MoteinoMEGA
                  #define MY_RF69_SPI_CS            4
                  #define MY_RF69_IRQ_PIN           2
                  #define MY_RF69_IRQ_NUM           2
                  #define MY_DEFAULT_TX_LED_PIN     15   // the PCB, on board LED
                  #define MY_DEFAULT_ERR_LED_PIN    7
                  #define MY_DEFAULT_RX_LED_PIN     6
                  #else
                  
                  // Moteino 
                  #define MY_RF69_SPI_CS            10
                  #define MY_RF69_IRQ_PIN           2
                  #define MY_RF69_IRQ_NUM           0
                  #define MY_DEFAULT_TX_LED_PIN     9   // 4 on sensor 2a PCB as LED3 (9 == on Moteino)
                  #define MY_DEFAULT_ERR_LED_PIN    6   // 6 on sensor 2a PCB as Err
                  #define MY_DEFAULT_RX_LED_PIN     7   // 7 on sensor 2a PCB as Rx
                  #endif
                  
                  
                  alexsh1A 1 Reply Last reply
                  0
                  • L lafleur

                    The SPI connections are hardware SPI in the chip, not a softSPI.. (may work, but I have not tested)

                    If you look at the data sheet and schematics for the Mega, you see that the SPI pins are very well documented.....

                    http://lowpowerlab.com/blog/2014/08/09/moteinomega-available-now/

                    https://github.com/LowPowerLab/Moteino/blob/master/MEGA/MoteinoMEGA_Schematic.pdf

                    Pins 7-6--5-4 are the four standard SPI pins, SCK, MISO, MOSI, SS, pin D2 is use as the interrupt from DIO0 on the radio... Look at the schematic and you see the correct pin-out from the radio to the processor... You will note the swap in MISO and MOSI pins. In on the CPU is out on the radio.. ect...
                    CPU RFM69
                    4 NSS
                    5 MOSI
                    6 MISO
                    7 SCK
                    2 DIO0

                    In my main code I use these defines... not in the config.h file... ( you could put them there also)
                    I'm using ver 2.0 code base, NOT 1.4 or 1.5

                    #ifdef __AVR_ATmega1284P__        // use for Moteino Mega Note: LED on Mega are 1 = on, 0 = off
                    // MoteinoMEGA
                    #define MY_RF69_SPI_CS            4
                    #define MY_RF69_IRQ_PIN           2
                    #define MY_RF69_IRQ_NUM           2
                    #define MY_DEFAULT_TX_LED_PIN     15   // the PCB, on board LED
                    #define MY_DEFAULT_ERR_LED_PIN    7
                    #define MY_DEFAULT_RX_LED_PIN     6
                    #else
                    
                    // Moteino 
                    #define MY_RF69_SPI_CS            10
                    #define MY_RF69_IRQ_PIN           2
                    #define MY_RF69_IRQ_NUM           0
                    #define MY_DEFAULT_TX_LED_PIN     9   // 4 on sensor 2a PCB as LED3 (9 == on Moteino)
                    #define MY_DEFAULT_ERR_LED_PIN    6   // 6 on sensor 2a PCB as Err
                    #define MY_DEFAULT_RX_LED_PIN     7   // 7 on sensor 2a PCB as Rx
                    #endif
                    
                    
                    alexsh1A Offline
                    alexsh1A Offline
                    alexsh1
                    wrote on last edited by alexsh1
                    #12

                    @lafleur Thanks. Yes I did look at the schematics of Mega.
                    Looking at your post above, where do you define MISO, MOSI and SCK please? I can see you defined MY_RF69_SPI_CS, MY_RF69_IRQ_PIN MY_RF69_IRQ_NUM only

                    1 Reply Last reply
                    0
                    • L Offline
                      L Offline
                      lafleur
                      wrote on last edited by
                      #13

                      The pins for the SPI device is supplied by the SPI support library for the CPU device that you are using in the Arduino IDE library

                      alexsh1A 1 Reply Last reply
                      0
                      • L lafleur

                        The pins for the SPI device is supplied by the SPI support library for the CPU device that you are using in the Arduino IDE library

                        alexsh1A Offline
                        alexsh1A Offline
                        alexsh1
                        wrote on last edited by
                        #14

                        @lafleur OK, but there is no such thing as soft SPI for this module?

                        1 Reply Last reply
                        0
                        • L Offline
                          L Offline
                          lafleur
                          wrote on last edited by
                          #15

                          There might be, do a search for: "arduino software spi"

                          Almost all chip supported by the Arduino IDE have one or more hardware SPI channels, each can be shared with multiple SPI devices connected to it with proper selection of the device CS line...

                          So the need for a software SPI is rare...

                          Good Luck...

                          1 Reply Last reply
                          0
                          • alexsh1A Offline
                            alexsh1A Offline
                            alexsh1
                            wrote on last edited by
                            #16

                            @hek I can confirm that Moteino Mega USB (and I think Moteino Mega as well) works out of the box:

                            Starting sensor (RRNNA-, 2.0.0-beta)
                            Radio init successful.
                            find parent
                            send: 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
                            find parent
                            send: 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
                            Init complete, id=255, parent=255, distance=255
                            find parent
                            send: 255-255-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
                            
                            1 Reply Last reply
                            2
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            29

                            Online

                            11.7k

                            Users

                            11.2k

                            Topics

                            113.1k

                            Posts


                            Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • MySensors
                            • OpenHardware.io
                            • Categories
                            • Recent
                            • Tags
                            • Popular