RFReceiver and RFTransmitter


Is it possible to add RF Receiver and RF transmitter to the C# library please ?

Hi Steeve,

We will add it to our list of things to work on. Do you have a link to the specific Grove sensor?

Hi John,

Here it is (so it counts for both Receiver and transmitter) : http://www.seeedstudio.com/wiki/Grove_-_433MHz_Simple_RF_Link_Kit

Another one I had bought and I would like to use : http://www.seeedstudio.com/wiki/Grove_-_125KHz_RFID_Reader

  • Is there a way to be notified when those sensors will be added to the C# library ?

Thank you

It may be a while until we can support these sensors.

Is there a technical constraint or just your team don’t have the time to code it ?
If its a time constraint, I can do it if someone can give me some help about 2 or 3 things.
I learned how your sensors are instanciated… It’s just a matter of technical adaptation (I don’t really know how RF RX/TX communicate… but with little help, I think I would be able to do it)

Hey Steeve,
It’s both a technical constraint and also that it is pretty low on our priority right now. The Grove 433 Mhz modules are a bit strange. You can read a bit about the problems associated with it here: http://www.dexterindustries.com/topic/grovepi-and-simple-433-mhz-rf-link-kit/. So it would take some real effort from our side to get it working in Python and C# properly and very few people have actually asked for support around this sensor, so even if we spend a lot of time right now, we’ll have to shove something else in the back of the priority list which a lot of people are asking for.

You can have a look a the other thread. We’ll be happy to help you in any way we can to get this working with the GrovePi.


Honnestly, it is not the answer i expected and i’m sad to read this.
I know RF is particular (I looked at the RCswitch library that have been ported to C# but I got no result with it).

My main problem is that I actually don’t understand how the grovepi / grove sensors communicate with Raspberry in its globality.
I think grovepi is an intermediate between raspberry and grove module.
I think grovepi communicate with raspberry through I2C.
I would be very glad to see a simple example demonstrating the grove pi firmware interacting with raspberry and grove module.

Talking about RF : I saw that there is a kind of clock synchrnisation to get mounting and descending fronts and choosing the encoding you want, it’s not the same for all… I don’t really know if the grove rf module is the same or not (does it encode/decode manchester encoding? or do we have to do for him…).
Any documentation would be very cool to have ! about that, I didn’t noticed that you weren’t Seeed and you are dependent of their products (I read the other topic like you said and saw that).

An example of using RC Switch with arduino (in French but it is understandable just with code samples) :

If only I could understand how RF modules communicate with grovepi, i would try to adapt code.


I just saw that into the grovepi firmware, there are some lines about 433MHz transmitter
#define tx433_control_cmd 100
#define tx433_fill_buffer_cmd 101
#define tx433_control_set_pin_subcmd 1
#define tx433_control_set_buffer_subcmd 2
#define tx433_control_send_buffer_subcmd 3
#define tx433_buffer_max_size 64

What is it about ? someone tried and it’s still there ?

Sorry, I had forgot about that fix. That is an experimental fix that was submitted by one of the users and is still a work in progress and I don;t think a lot of users have tried it. You can read about it here: http://www.dexterindustries.com/topic/grovepi-and-simple-433-mhz-rf-link-kit/. If you really want to try it in python, you can try compiling it from here: https://github.com/DexterInd/GrovePi/tree/master/Firmware/Source/v1.2/grove_pi_v1_2_6 and then try uploading the firmware and try the example.
(Here are a few posts to help you with compiling and uploading the firmware: http://www.dexterindustries.com/topic/grovepi-with-arduino-ide/ and http://www.dexterindustries.com/topic/firmware-modification/).


Hi Karan,

I’m really surprised to see that you accept pull requests on your github repo that are still in development state…
Let’s talk about compiling and uploading new firmware :

I’m using a windows PC, with a raspberry pi 3 under Windows 10 IoT and a grove pi. So, i’m not using any linux/raspbian stuff.
The links you wrote on your last answers explain how to compile new firmware (this part is ok, you change some options on the Arduino IDE and you generate a new hex file).
Now, what about uploading the new firmware to the grovepi board through a windows device please ? I saw only sh scripts which are linux scripts.

insomniak49, we are working with the team at Microsoft to try to find a way to upload through WinIoT. We don’t have a way to do it now. If you need to update your firmware, your best bet is to burn our version of Raspbian for Robots to another 4GB SD card. These are pretty cheap, less thatn $5, and most people have them laying around. Good luck!

Hi John,

Thanks for your answer. I think I have a card somewhere to try this. I’ll give a try when I will have more time.


I am coming back after a few months away from my Raspberry Pi. If you are interested, I am currently working at adding partial support for the RCSwitch library in the firmware + python library.
Partial support: I focus on the RCSwitch functions sending on/off commands to commonly found remote-controlled power sockets. I have no plans for the moments for the other functions, used to listen and send arbitrary commands for unusual sockets.

Karan, John, when it will be done, will you want a pull request with the corresponding code? If so, in which firmware version?
I have no experience in C#, but maybe someone will step forward to embed the support for the corresponding firmware commands. If not, and if there is interest in this, I might give it a try.

Hey nikkoura,
It would be great to have that funationality integrated in the GrovePi. It would be great to have it integrated in 1.2.6. I have created a different branch for that firmware work: https://github.com/DexterInd/GrovePi/tree/firmware_1_2_6



I have locally integrated the library in the firmware. I still have to write documentation, sample code, and make some additional tests, but it should not take too long.

Should I integrate the Python code in /Software/Python/grovepi.py or /Firmware/Source/v1.2/grove_pi_v1_2_6/grovepi.py? You asked me to create the latter when the 1.2.6 version was created. If we go for the /Software/Python/grovepi.py route, should I reintegrate there the work previously done for data exchange over the RF Simple Link kit?

Hey nikkoura,
Can you send a link to the code that you have been working on, it would be great to have a look at it. Would it be possible to create a separate library separate from the grovepi.py for this which uses the GrovePi library. It might be easier for us to manage this if it is decoupled from the main code.


Hi Karan,

Juste pushed a first version in my github repo: https://github.com/nikkoura/GrovePi-contrib/tree/rcswitch

The 1.2.6 firmware of this branch is patched and contains some documentation.
I moved the relevant python code in a sub-folder of Software/Python, except for the command constants that I left in the main grovepi.py.
It needs documentation, that I will write whenever possible.

Let me know what you think of all of this!

You might also want to have a look at the RCSwitch library to see what it is all about:

and more specifically HowTo_OperateLowCostOutlets · sui77/rc-switch Wiki · GitHub