Bluetooth AND 433MHz tranceivers on one Arduino

Hi everyone,

So I am working on a system that has multiple arduino comunicating through 433MHz transmitters and receivers (cheap $$). I want one of these arduinos to forward the information in this network to my phone and be able to execute commands to the arduinos. Is it possible to hook up two different wireless modules transmitting and receiving different information on an uno r3. Are there any alternatives to allow me to do this? One thing to keep in mind is that I'm trying to keep this project as cheap as possible which is why I'm not usig bluetooth for everything in the first place.

Thanks

How do you want to synchronize the transmitters? When two or more modules send at the same time, at the same frequency, a receiver will only get garbage.

Bluetooth is around 2.4ghz, 433mhz is around 433mhz. So no issue with interferance there. This project seems perfectly feasible - you're making basically a bluetooth to 433mhz crap-RF bridge :stuck_out_tongue:

Use the thin yellow not-quite-the-cheapest receivers with the SOIC-14 package on them for longer range.

This might be of interest to you (no bluetooth involved, and pins are for an ATTiny841 but I've been working on serial to 433mhz RF (using my own protocol), as a way of not having to constantly deal with interrupts related to the noise when there's no signal) - https://github.com/SpenceKonde/AzzyProjects/tree/master/433mhz/txrxtoserial21 Of course, I didn't do bluetooth (though most bluetooth connects as serial, right?).

Interference comes from multiple 433MHz senders, transmitting at arbitrary times. This will require collision detection and resolution.

Since a sender cannot detect transmission from other senders while sending itself, the network master will have to check an incoming transmission (by checksum...). When a collision is detected (wrong checksum...), it should start a polling sequence. E.g. it sends an transmission request for every client, and waits for receiving a message or NAK from it. During that sequence no client is allowed to transmit, except immediately after receiving its own ID code. In response to its request it sends either the message, or NAK to indicate no message to transmit. A timeout may be used instead of sending NAK, when the clients should preserve power.

Thank you all for your help.

The biggest thing I was worried about was, considering there is only one TX pin and one RX pin on an uno, is it possible for me to hook two different modules up to the same pins and send different signal from each module . If I can't hook the modules onto the same Rx and Tx pins is there a workaround I can use? I'm a novice so if this seems like a dumb question it probably is.

Regarding all of the other suggestions, thank you. I will definitely be looking into trying to make things easily understandable from the network of 433 transmitters. I'm not 100% how at this moment. Maybe having the arduinos sync and send their signals at different times. I initially thought I could just slap an identifier into the beginning of the transmitted signal but I'm just thinking now that I don't think that will work.

I was also wondering if anyone has had any luck sending pictures over 433MHz. This is something I'm gonna google right now though haha

Thanks

The bluetooth talks over serial, and hence it needs to be connected on the tx and rx hardware serial pins.

But the 433mhz modules, if they're the ones I'm thinking of ( and the good receivers

these do not care which pins they're connected to.

sending pictures on an arduino is too much. An Arduino only has 2k of RAM - it's really not the right tool for the job if you need to shuffle pictures around - it can be done, slowly, in little pieces, sure, but if that's what you want to do, you should consider whether this is the right platform. Sending them over 433mhz cheapo-RF has the same problem (it could be done, but expect less than 1 kbit per second).

You can have several serial ports on a Uno by using Software Serial. Having more than one device on port would not normally be a good idea.