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. Hardware
  3. Support for CC1101 radios

Support for CC1101 radios

Scheduled Pinned Locked Moved Hardware
9 Posts 5 Posters 470 Views 4 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.
  • B Offline
    B Offline
    buxtronix
    wrote on last edited by
    #1

    I wanted 433MHz support to improve performance in an environment challenging to 2.4GHz, so I bought a bunch of cheap CC1101 radio modules and set about writing a HAL driver for this chipset. I probably should have bought some RFM69 modules, but I wanted the challenge of supporting another popular radio.

    I took inspiration from some of the other radio drivers, and now have a fully featured driver that is very stable and I have a small network of nodes running nicely now. Nodes are AVR and the gateway is ESP32.

    Power consumption is very similar to the RF24 radios (~20mA on full power xmit and a couple of uA in sleep). It also includes adaptive power control to automatically set TX power to just the necessary level.

    My fork with cc1101 branch are in my repo, I have also added some documentation (some AI assistance here as I got lazy) . I've gotten the code pretty clean but probably still has a little development cruft left in it.

    Would there be any interest in merging into the core?

    Happy to take feedback, PRs, etc.

    dirkjuD 1 Reply Last reply
    3
    • nagelcN Offline
      nagelcN Offline
      nagelc
      wrote on last edited by
      #2

      Nice. I know there are RFM69's, but I've seen quite a few requests for the CC1101. Always good to have options.
      I did something similar with the WIO-E5 chips in my repo. The E5 is not quite ready for prime time, but the basics are working.
      I have many MySensors nodes, and still adding more. Good to see some new code for it.

      1 Reply Last reply
      0
      • B buxtronix

        I wanted 433MHz support to improve performance in an environment challenging to 2.4GHz, so I bought a bunch of cheap CC1101 radio modules and set about writing a HAL driver for this chipset. I probably should have bought some RFM69 modules, but I wanted the challenge of supporting another popular radio.

        I took inspiration from some of the other radio drivers, and now have a fully featured driver that is very stable and I have a small network of nodes running nicely now. Nodes are AVR and the gateway is ESP32.

        Power consumption is very similar to the RF24 radios (~20mA on full power xmit and a couple of uA in sleep). It also includes adaptive power control to automatically set TX power to just the necessary level.

        My fork with cc1101 branch are in my repo, I have also added some documentation (some AI assistance here as I got lazy) . I've gotten the code pretty clean but probably still has a little development cruft left in it.

        Would there be any interest in merging into the core?

        Happy to take feedback, PRs, etc.

        dirkjuD Offline
        dirkjuD Offline
        dirkju
        wrote on last edited by
        #3

        @buxtronix thanks for the effort! Why not make a PR? 433MHz is a quite unique value proposition of MySensors. I'd recommend a quick search through the open issues on MySensors github, maybe some CC1101 support was requested already. In any way, I'd encourage to raise a PR to the development branch. Who knows, if we get some people engaged, maybe we can release a new official version of MySensors with improved hardware support.
        Thx, Dirk.

        1 Reply Last reply
        0
        • B Offline
          B Offline
          buxtronix
          wrote on last edited by
          #4

          I finally got around to creating a PR into the official repo, as it's been running reliably for some time so I believe it's ready.

          1 Reply Last reply
          5
          • TheoLT Offline
            TheoLT Offline
            TheoL
            Contest Winner
            wrote on last edited by
            #5

            So almost time to create a 3rd gateway? :) I'm switching over to RFM69 for now, due to it's high range. Although it's significantly slower than NRF. So Curious about the performance of CC1101 any stats on power consumption?

            1 Reply Last reply
            0
            • B Offline
              B Offline
              buxtronix
              wrote on last edited by
              #6

              The CL got accepted and merged, so now MySensors officially supports CC1101!

              Yes CC1101 is slower than NRF (the bitrate tops out at 250k, NRF starts at 250k), so I imagine this would increase
              power consumption a little simply due to the longer airtime. However idle power consumption is comparable.

              Penetration is certainly better, I have been running an NRF network for nearly a decade, but wanted to add a 433MHz network due to wall penetration issues, hence this feature.

              1 Reply Last reply
              4
              • TheoLT Offline
                TheoLT Offline
                TheoL
                Contest Winner
                wrote on last edited by
                #7

                Thank you Buxtronix

                1 Reply Last reply
                0
                • B Offline
                  B Offline
                  buxtronix
                  wrote last edited by
                  #8

                  I finally got around to measuring power consumption, with some good results. I made two nodes that were identical except one with a CC1101 and the other on an RF24 network. The nodes had a single SHT31 temp/humidity sensor and woke up every 10s to transmit a single temperature value.

                  I measured power consumption with an oscilloscope across a 10 ohm shunt on the battery line, so current is v/10. For both nodes, sleep current was near identical, around 4.5uA.

                  Values for TX over a 60mS window:

                  • On the CC1101 without MY_PASSIVE_NODE, average current draw during TX was 9.7mA.
                  • When I enabled MY_PASSIVE_NODE, this dropped considerably down to 3.3mA.
                  • For RF24 both with and without MY_PASSIVE_NODE, current was 2.2mA.

                  When averaging for a node transmitting once per minute, this would provide a long lifetime on both radios. With a 180mAh CR2032, I'd calculate a lifetime of:

                  • 1150 days on a RF24
                  • 540 days for CC1101 without MY_PASSIVE_NODE
                  • 975 days for CC1101 with MY_PASSIVE_NODE

                  The use of MY_PASSIVE_NODE helps on CC1101, as the node does a 'fire-and-forget' on TX. Without this, it listens for an ack from the gateway, drawing RX current. For RF24, the ack is handled in hardware which is considerably quicker.

                  Some graphs! The ~12mS hump before TX is the SHT31 acquisition.

                  RF24 transmit (not sure what the initial 4ms bump is, radio coming out of sleep maybe?):

                  24active.png

                  CC1101 active mode (blue curve is CC1101 CLK line):

                  433actve.png

                  CC1101 passive node:

                  433passv.png

                  So yeah, interesting results, in summary the CC1101 is a bit more power hungry than the RF24, but results in only around 10% drop in battery life if used in passive mode (or 50% in active mode).

                  1 Reply Last reply
                  2
                  • OldSurferDudeO Offline
                    OldSurferDudeO Offline
                    OldSurferDude
                    wrote last edited by
                    #9

                    nice! I'm happy that there is another radio to use

                    1 Reply Last reply
                    1
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    9

                    Online

                    11.8k

                    Users

                    11.2k

                    Topics

                    113.2k

                    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