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.
  • 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


                      30

                      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