PiicoDev Transceiver 915MHz (CE08757)

This is a placeholder topic for “PiicoDev Transceiver 915MHz” comments.

Unlock wireless communication up to 100m with this long-range transceiver.

Read more


Using PiicoDev what is recommended micro sd reader that is compatible with this for a pico / pico w

1 Like

Hey @Steffan224686 - there is currently no PiicoDev uSD reader, but setting up the Makerverse MicroSD Card Adapter is really straightforward.

We can add a uSD module to the PiicoDev roadmap :wink:


Couple of Questions. 1) The HopeRF RFM69HCW operates at 915MHz. According to the ACMA radiofrequency spectrum plan (2022) the relevant ISM band is 918MHz to 926MHz. So the Hope RF device is just outside that band. Are there legality issues when operating it?
Question 2) I develop in C using the Raspberry Pi Pico C-Development environment. Are you aware of C libraries for the HopeRF RFM69HCW?

1 Like

Hey @Joe53903 - welcome to the forums :smiley:

1) There are no legality issues assuming you don’t change the frequency the device is operating at (in firmware). The radio is colloquially referred to as 915MHz, but PiicoDev actually initialises the device at 922MHz by default - right in the middle of the 918 → 926 band.
See the device defaults for more information.

2) There certainly are Arduino libraries for the RFM69HCW - have a search online if you’d rather interact with the module directly.


Tks Michael - answers my 1st question. I’ll find the Arduino libraries and see how I can ‘port’ these to the Raspberry Pi Pico development environment.


Hi Michael,
I don’t have a PiicoDev transceiver, and maybe I could work this out is I did, but can the 915MHz transceiver be set to 921.4MHz and 919.8MHz, the Australian Z-wave, home-automation frequencies? The .radio_frequency on GitHub seems to indicate only a small number of integer values can be set.
The follow-on question is, of course, can the transceiver be used for developing Z-wave sensors and devices?
Thanks in advance,


@David173576 sounds like an interesting project!

My gut feeling is that the PiicoDev Transcevier won’t be compatible with other sensors - the reason for this is the way payloads are formatted with channels and receiver addresses. PiicoDev packs user-data into a payload that contains that metadata. On the receiver end the metadata is stripped out before the payload is handed over. Even the .send_bytes() method still expects a receiver address.

Any changes to this would probably require changes to the C++ driver code flashed onto the Transeiver’s ATtiny1616

As for frequencies:
I don’t recall the specifics of what frequencies are available in the underlying RFM69 driver, but it looks like the .set_frequency property calls writes to these three registers. This is the trail of breadcrumbs to find if the radio has the granularity you need.

_RFM69_REG_FRFMSB      = 0x07
_RFM69_REG_FRFMID      = 0x08
_RFM69_REG_FRFLSB      = 0x09

Best of luck with your projects, Dave :smiley:


@David173576 perhaps I spoke too soon…
You should verify this claim by digging into the source code yourself, but it appears all payload packing happens in the MicroPython driver ( inside the .send() method )

There is a private function ._send_payload(data) which looks to be the one you might be interested in.
where .send() is the wrapper, performing all the metadata manipulation and data packing.
If you want to send absolutely raw packets of binary data or whatever, you might have luck looking into ._send_payload(data).

From memory, the Transceiver only reports a message has been received if the payload contains its group/address. But this could be useful for issuing commands to generic devices.


Hi Michael,
Thanks heaps for that information. I need to do more digging. I read more about Z-wave and while there are claims that it is the most broadly used, etc, it seems too proprietary. A bit like Apple “you will do it our way and pay extra for the privilege”.

It’s a longer term project. The next house we build will have home automation. Home Assistant, on a Pi looks like a good open source idea. There might be a lot of commercial sensors and devices for various systems, but they are still limited. I also like the idea of getting out of the busy 2.4GHz WiFi part of the spectrum.

So I think I will need to do some experiments and, if need be, use the Home Assistant as a bridge between anything using the 915MHz transceivers and Z-wave. Ikea use Zigbee, and they have some of the reasonably priced items, so maybe I’ll end up with a PiicoDev & Zigbee combination.

Thanks again. Cheers, Dave


Sounds like a hell of a project @David173576 - the integration is the project. Best of luck with it - I’m looking forward to hearing your updates :smiley:

1 Like

I would like to use this device with a AVR MCU, probably a UNO to begin with, eventual target being something small like an ATtiny. Has anyone tried using this with Arduino MCU’s ??

While it works very well with a Pico and Micropython, the Pico is too power hungry and does not sleep very well. Cutting the power to the Pico via a Makerverse Nano Timer is the best way I have found to make a battery last any length of time. Project wakes every 5 minutes, reads some sensors, sends the data and goes back to sleep.

In the past I have had success with AVR MCU’s in sleep mode. The Pico seems an overkill for something that is very simple.


1 Like

Nice @James46717 :smiley: An AVR port would be really cool for this product.

I hope the MicroPython library is easy enough to reverse engineer and port to C - it should just be a matter of porting each method piece by piece.

The PiicoDev Transceiver has not been created with low-power applications in mind - the onboard AVR will not go into a deep sleep mode without some modification to it’s underlying code.
All the MicroPython drivers / C firmware can be found on the Repo