Replies: 12 comments 6 replies
-
Yes, people have done that. The PWM or PPM protocols are very easy to pulse out. E.g. for PWM you turn bits to |
Beta Was this translation helpful? Give feedback.
-
I just sent off a note about something similar. Perhaps this will help.
I implemented WP_433, https://github.com/hdtodd/WP_433, as an
Arduino-based remote weather sensor that uses the "Omni" protocol
for transmission.
And I implemented on Pico and Sparkfuns a few emulators of other
protocols that might work just as well for you if you're doing a
weather sensor: https://github.com/hdtodd/ISM_Emulator and
https://github.com/hdtodd/Emulators-433
Check out Omnisensor, https://github.com/hdtodd/omnisensor_433 to
see if it would be useful. 8 bytes of payload data, configurable
in 16 different formats (only two defined in the repository).
Simplest approach might be to use Format=0 and decode the hex string
at the end site.
As is, you'd need to install the "omni.c" driver in you own rtl_433
server. I'll submit that driver for inclusion in the base system,
so I'm hoping that using that protocol will be much easier in the
near future.
David
…On 4/30/25 3:38 PM, Christian W. Zuckschwerdt wrote:
Yes, people have done that. The PWM or PPM protocols are very easy to
pulse out. E.g. for PWM you turn bits to |1000| or |1110| and send
that. I don't remember any details or links for projects though.
And then there is a new protocol @hdtodd <https://github.com/hdtodd>
is just developing, more eyes on that will be helpful.
https://github.com/merbanan/rtl_433/wiki/Create-your-own-multi%E2%80%90sensor-rtl_433%E2%80%90compatible-remote-sensor
—
Reply to this email directly, view it on GitHub
<#3264 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABJWBXAKUDXYOCKXS3QZM5D24ERBXAVCNFSM6AAAAAB4GG2PG2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTEOJZHAYDGOA>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I'll give it a try, thanks a lot. The TX141 looks as if it fits on the atmega328p. |
Beta Was this translation helpful? Give feedback.
-
Yes, rtl_433 recognizes that protocol as TX141.
Please let me know if you have problems with it.
…On 5/2/25 2:19 AM, tobivan wrote:
I'll give it a try, thanks a lot. The TX141 looks as if it fits on the
atmega328p.
Just to get it right: if installed correctly, TX141 on an Arduino
should be recognized by rtl_433? That would be fantastic!
—
Reply to this email directly, view it on GitHub
<#3264 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABJWBXB7KNF76LM7ADNBKQT24ME7HAVCNFSM6AAAAAB4GG2PG2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMBRGA2TQMI>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Thanks. As I don't have a BME680 I have been trying to alter your code for a BME280. Is this possible at all? Just to be sure, is your code for an Arduino (Uno/Nano)?
|
Beta Was this translation helpful? Give feedback.
-
Thanks again for your kind help. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the update.
I don't think it's a problem in your code. My modified version of your
code (pulling out the BME280 references and just making up numbers for
temperature and humidity) worked on the Pico2 but not on the Uno. On the
other hand, another program (using different timings for a different
protocol) works just fine on the Uno.
So, let me know if your code works with the 680, but I'll keep working
on this to understand why your code (or my TX141Test.ino code, work on
the Pico but not the Uno. Since I have a working version, with
different timings, this just doesn't make sense. So I'm missing
something obvious.
…On 5/4/25 1:02 PM, tobivan wrote:
Thanks again for your kind help.
Yes, I have double checked the port.
I have ordered a BME680 and some other 433 MHz sender (syn115). As
soon as they will arrive I will test your unchanged code again. If it
works then, it is just that I have missed something when changing your
code for a BME280.
—
Reply to this email directly, view it on GitHub
<#3264 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABJWBXDBJBMIYQJ3KIWFTCD24ZBYVAVCNFSM6AAAAAB4GG2PG2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMBTGE4DSMQ>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
The BME680 arrived today, it is working fine as I have tested it with the BME680_test sketch. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the update again, and congrats on getting the BME680
working. It's a pretty nice device, though pretty expensive!
There are some overlaps in pin usage on the various microcontrollers, so
you have to check to see if I2C pins or SPI pins are overlapped with
other pins you might use for sensor control. One of mine (maybe SAMD21)
has that problem with pin 3 or 4 being used for I2C, and Pico2W has a
similar problem (I just have the Pico2, no WiFi, so it wasn't an issue
for me but I did leave a warning in the code).
But I've looked at the pinouts for the Uno and don't see any conflicts
with pin 3 or 4.
I'm continuing to work on the issue with TX141 on the Uno (which does
not happen on the Pico2!). The code executes fine, and it does
transmit, but the timings received by rtl_433 (particularly for
SIG_SYNC) are very different from what the Uno is supposed to be sending
(and which the Pico2 does send correctly). It really appears to be
something in my code, but since it's architecture-dependent, I'm having
a hard time finding it. Need to know what it is since I do move back
and forth among microcontrollers.
So I'll keep you informed if I find the problem. But don't be surprised
if it doesn't work on the Uno. (And tell me if it does!!!).
David
…On 5/6/25 9:02 AM, tobivan wrote:
The BME680 arrived today, it is working fine as I have tested it with
the BME680_test sketch.
With the SYN115 connected AND the BME680 connected via I2C it is
working now, with both TX141 and 609TXC. I am not having any luck with
the BME connected via SPI, maybe the code is running into some kind of
problem here. Next stept is trying your code with a BME280 as it is
cheaper and smaller. Let's see if it works :-)
However, now I am able to build my own low-power
outside-in-the-garden-sensors sending data to rtl_433 on my Home
Assistant.
Many thanks to your fantastic work and your great help!
—
Reply to this email directly, view it on GitHub
<#3264 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABJWBXEA5CUCORF36VUCXXT25CXGRAVCNFSM6AAAAAB4GG2PG2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMBVGAYTAMQ>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
I guess you might be aware but I wanted to note it for others interested: if timing the output for a bit-bang radio is not an (ideal) option (or you need better signal quality / range) then consider using a transceiver like the CC1101 via I2C. You basically load a string of fixed pre-computed settings onto the chip, then just fill a TX buffer with the whole packet. Transceivers can also generate preamble, sync-word and checksums. |
Beta Was this translation helpful? Give feedback.
-
Thanks for mentioning that CC1101. I've thought of that in the past but
the bit-banging seemed to work fairly well, so I haven't bothered ...
yet. But I'm thinking it might be a good thing to move to in order to
simplify the electronics a bit ... and particularly the timing issues.
…On 5/6/25 12:18 PM, Christian W. Zuckschwerdt wrote:
I guess you might be aware but I wanted to note it for others
interested: if timing the output for a bit-bang radio is not an
(ideal) option (or you need better signal quality / range) then
consider using a transceiver like the CC1101 via I2C. You basically
load a string of fixed pre-computed settings onto the chip, then just
fill a TX buffer with the whole packet. Transceivers can also generate
preamble, sync-word and checksums.
—
Reply to this email directly, view it on GitHub
<#3264 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABJWBXF2B32EP6GJQNFSDPT25DOGTAVCNFSM6AAAAAB4GG2PG2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMBVGIZTGOI>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
-
Just following up with my latest work on this. I had to suspend it at
the start of the month after spending about 5 days
trying to find the problem. (I hate to let a problem like this go
unresolved, but sometimes you just have to hit "pause". 🤒)
I posted a note to the Arduino forum today,
https://forum.arduino.cc/t/garbled-delaymicroseconds-on-uno/1385239 ,
with some sample code and some results.
In short, I found that the Uno timings (or, at least, the control of
voltage) get corrupted when held HIGH for more than about 500µsec.
Doesn't happen on the Pico2, running the same code. So it's a
misunderstanding on my part, a problem with the Arduino compiler, a
problem with one of the library routines, an unfortunate interaction
between them, or a problem with the Uno architecture.
The code's pretty simple and straightforward, so I don't *think* that's
the problem, but perhaps others will find something.
In any case, unless it's a stupid mistake on my part, it seems to be
deeper into the Uno system than I want to dig. Sorry I couldn't be more
helpful there.
The good news, though, is that the omni.c decoder is now part of the
rtl_433 repository, so my WP_433 code, which works fine on the Uno,
could be adapted to whatever sensor you're using. And it provides space
for several other readings. (http://github.com/hdtodd/WP_433)
If I hear anything back from the Arduino forum that might help with the
TX141 code, I'll let you know. Responses so far haven't been helpful
David
…On 5/6/25 12:47 PM, tobivan wrote:
Just a guess: could it be the MHz the Arduino is running at? Maybe the
16 MHz is too "slow" and we need to tune an atmega328p to e.g. 20 MHz?
—
Reply to this email directly, view it on GitHub
<#3264 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABJWBXCAT7G7DTNZ4IOCFNL25DRTRAVCNFSM6AAAAAB4GG2PG2VHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMBVGI3DQNI>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi there,
is there any known project to build your own temperature/humidity sensor on Arduino/atmega328p/attiny that sends data compatible to any of the known protocols implemented in rtl_433? There are tons of decoding libraries out there, but I was not able to find one that sends rtl_433 compatible data.
Thanks for sharing your ideas!
Tobias
Beta Was this translation helpful? Give feedback.
All reactions