Possible for 1 transmit shield to send to 2 receiver shields simultaneously?

I’ve got a project I’m evaluating CyberBrick for, and I’m leaning towards “not a good fit” but wondering if I’m just missing something.

My project is set up like this:

Physical location 1:

  • physical control (likely a toggle switch) that activates the devices in Location 2, and…
  • 1 servo/actuator and LED(s)

Physical location 2, preferably wireless, driven by the physical control in location 1:

  • 1 servo
  • 1 motor
  • several LEDs

As far as I can tell, there’s no shield that combines input/transmitter functions and outputs.

Is it possible for the X12 transmitter to send instructions to two X11 receivers at the same time? If so, I could pair the transmitter with a receiver in Location 1, with a second receiver in Loc 2.

Alternatively, is it possible to address the pinouts on the Core A11 directly? If so, I’m thinking it might be possible to send PMW signaling directly from the core on pins unused by the X12 to the local servo, with voltage coming off a shared power bus.

Are either of those approaches possible & sane, or should I just give up on cyberbrick for this project, and if so, any suggestions on other approaches?

If you use the stock python I don’t think so, but it would be a very small change to flip the “which model” bit (normally fed from a switch) back and forth.

Ah, you mean switch in code in response to the physical input? Send instructions to one receiver, switch, and then to the second? That’s what I assumed I’d have to do (very comfortable with python, “it’s like a second language to me” :sweat_smile:)

Does that mean the hardware is capable of a single transmitter sending to two receivers?

It is, but that is not what I meant.

The existing cyberbrick software can send to 2 different models, one at a time. Normally this is controlled with a switch. Change it to always send to 1 first, then the 2nd.

1 Like

Yes, this is possible, but you’ll need some custom development to make it work.

One approach would be to have Location 1 run a WebSocket server that listens for connections. Locations 2 and 3 would connect as clients. Location 1 could then send movement commands to the other locations through those WebSocket connections.

You can also directly control the pinouts. Rotorman has done some excellent work in this area: GitHub - rotorman/CyberBrick_ESPNOW: Custom firmware for internal ExpressLRS RF module to act as a CyberBrick ESP-NOW protocol TX module · GitHub

I’ve implemented a similar architecture for an online soccer bot. The bot acts as the server, and users connect as clients to send movement commands. The same mechanism is used to control the targets that players try to score into.