Replies: 5 comments 4 replies
-
I already did some experiments and "radio protocol" design using
Reading the "old" code again, much less mature than I had in mind. But it worked as a very basic wireless DMX system ;) Talking about the ESP32, the RP2040-based board announced by Arduino (called |
Beta Was this translation helpful? Give feedback.
-
Another requirement:
|
Beta Was this translation helpful? Give feedback.
-
I don't think you are unfortunately. They offer modules of various types and complexities to add their stuff to you product.
This could potentially be dummied up as RDM so it just integrates into the rest of the GUI. |
Beta Was this translation helpful? Give feedback.
-
Update: I attached an nRF24L01+-dongle to the board and porting the https://github.com/nRF24/RF24 library to the RP2040 is in progress (nRF24/RF24#727). Right now, I have QLC+ generating data, passing it to OLA, passing it via USB to the pico board. This sends it via the nRF24-dongle to an Arduino that has 8 WS2812-LEDs attached. Update rate is currently relaxed to 100ms (= 10 updates per second) but it's working like a charm after adding some additional capacitors. Looks like they should be added to the baseboard in the next revision ;) This nRF24-library already has a mesh implementation ready: https://github.com/nRF24/RF24Mesh. I will try that next. Looks promising, really curious to see how well it will work! |
Beta Was this translation helpful? Give feedback.
-
Just an idea that I would like to write down at least once. Open for lots of discussion :)
So the RP2040 has (one or more) SPI ports. So far, nothing special. Nordic Semiconductors provide chips that do radio communication pretty well (thinking about the longer-range, fewer bandwidth things in one of the ISM bands) and that can be spoken to via SPI. "Breakout boards" or "radio modules" containing such chips are actually pretty cheap. Those modules could be hooked up to the RP2040 to form a network of wireless DMX nodes.
I know that there are standards already such as
LumenRadio CRMX
or the RC4-based products or "WDMX". However, they all seem to be proprietary and closed. I would be happy to be proven wrong, though.Some more details:
The nRF905 is the common chip for "sub-GHz" ISM band operation (frequency depending on region where it shall be operated). The chip is always the same, the module is usually tuned for a specific frequency (433/868/915MHz) and usually cost less than $/€10.
The disadvantage of those ISM bands is that you usually have some
duty cycle limit
so you cannot send all the time. Usually it's sending at most 1% of the time (= 36 seconds transmission in one hour), receiving only for the rest of the time. So it's not really suitable for a "one DMX sender sends updates all the time" scenario. Some devices enforce those limits, some don't. The advantage is that those bands are less crowded due to the duty cycle limitation and as such are pretty reliable. The range that can be achieved in those bands is also pretty impressive.The other possible solution would be to use the famous 2.4GHz ISM band. Yep, the one that WiFi, Bluetooth and lots of cheap wireless microphones are using. However, there is no limitation of time transmitting and if using some frequency-hopping technology, the reliability and range can also be quite good. Price range is from very cheap to cheap, depending on transmit power and antenna design. Usually much cheaper than the nRF905.
System-design wise, I would like to have (big wishlist here):
sender
(= transmitting DMX frames) (either controlled by a Host PC or reading the data on one or more DMX INPUT ports) or asreceiver
(= receiving DMX frames over the air and converting them to RS-485-based DMX-512 or to WS2812-based LEDs or to control el-cheapo LED-devices that are usually controlled via an infrared remote control. That basically means that there should be only "one device" not devices with a fixed role.sender
) and perform areceiver
discoverydelta-only
transmissionfeedback channel
so the receivers can report current radio signal levels and maybe report non-received frames. And battery level if the receiver is battery-poweredI might have had more ideas about that but right now, I cannot remember anything more :D
Of course, the
sender
device should still be able to output DMX data via the "local ports" and not "send via air, only". And in larger systems, this increases the number of "ports" that the DMX-data-generating software need to address and patch. And their number might well be very dynamic, depending on the number of receivers in the system. OR one fixes the number of possible universes to lets say 32 universes and the "patching" of the universes to the individual receivers is done by the standalone control software.Beta Was this translation helpful? Give feedback.
All reactions