MIDI communication over star network

Hello everyone!

I’m trying to design a star network to use as serial communication between my MIDI devices. The idea is to have a certain number of clients (up to 15 as the MIDI protocol provides 16 channels) and a coordinator that receives MIDI messages from them.

Clients would have necessarily to be battery-powered. So my main questions are:

  1. To activate clients’ sleep mode, is it mandatory to have a MCU for each one of them, or are there alternative solutions?

  2. Depending on the answer to the first question, what are the best solutions to supply power to the clients?

Thanks a lot for support.

Most XBees have two types of sleep modes:

  • Pin sleep which requires an MCU to control a line’s voltage
  • Cyclic sleep which just uses the radio’s internal hardware and doesn’t require an MCU

Many people power sleeping clients with batteries.

Thanks a lot for your answer.

What I would like to do is to keep all client in sleep mode and only when the MIDI device requests the transmission of a message, wake up the client and send the message to the coordinator, that, with the help of the MCU, will handle the management of all messages from clients.

So my question is: in your experience, using one of the two above-mentioned sleeping mode, is it possible and convenient to proceed in this way or are there much better design solutions?

For the power supply my goal it is precisely to use the batteries for various clients. In this regard, I tried to figure out what is the best choice in terms of battery life since the devices may also remain in function for two hours or more (at the time I could not make an estimate of how much each client will remain in sleep mode or in transmission mode in this period of time, but I would say a 35% transmission and 65% sleep might be fine as an initial hypothesis). At the following link there are the results of some tests with different types of battery, but, since I’m a novice in Xbee, if someone with more experience has any suggestions they would be very useful.


Thank you again for the very useful support.

No the radio does not support that kind of sleep. The only sleep options that are supported are either a Pin sleep which is external processor controlled or a cyclic sleep where the module wakes and polls the coordinator for data on a given time cycle.