Using Reset to disable Xbee

I have an application where I have one co-ordinator and 30 end-units, working in transparancy mode. I only want to receive data when the end-units have a certain amount of data.
I was thinking to hold down the reset pin until the end-unit has the correct amount of data, and then have the co-ordinater looking for end-units on line. If one or more are on line, then I know they have data to be transmitted.

My question is, if that is a good practice to control the end-units by the reset pin?


No, it is not a good idea to hold a module in a reset state. It is also not a good idea to have any of the Mesh based module with 30 end nodes for one coordinator or parent.

1 Like

Thanks for the response.

This leave me with more questions.

  1. Do I damage the unit by keeping it in the reset state?
  2. Are there another state I can set the end-unit in so the co-ordinater doesn’t see it? (If not then I have to talk to each end-unit to see if there is data)
  3. Why do you say that 30 end-units is too many?
    I looked into the API mode, and that needs lots of coding. That is why I stayed away from it.

Best regards,

Holding any device in Reset is NOT good practice. You can cause undo effects on the hardware as well as unknown issues when to release it in the firmware including but not limited to entering command mode or causing a watchdog reset.

It would be far better off to simply power it off and power it back on when you wanted to communicate or simply use the Pin sleep function. After all, that is what the function is there for.

You need to use a Non mesh application for that many end nodes. The reason being that the parent Zigbee module or Coordinator in this case must hold any children in a child table. That child table does not remove a module from it without either a network reset occurring or until 2 1/2 times the sleep time without the child checking in.