ZigBee module (SZ-05-ADV) Pros & Cons with shield and without shield

Hello everyone,

I am new to ZigBee modules and I ordered few SZ-05-ADV modules to communicate between Arduinos (Mega). But I didn't order any shields thinking it shouldn't be a problem as this ZigBee module requires 5V input and 250mA peak current. I found from the description of the Mega board that, the 3.3V pin can provide max 50mA current (through the regulator of course). But I don't know if there is any power/current limitation for the 5V pin and I don't know if it can provide enough current for this module. Can anyone help me remove my confusions? Even if I need a regulator, which available model should be better? Also can I solve this with the resistors or capacitors only somehow? And if it's possible to communicate without the shield, which other ways the shield could be helpful for this particular ZigBee module?


These modules, as per the datasheet ("SZ05 product manual"), have a peak current of 250mA. For the Mega, it seems the regulator is rated for a maximum current of 800mA.

I'm currently in the process of integrating these modules for a projet and they work fine.

What I did is connect GND, VCC (5V), RS1 (TTL receive), TX1 (TTL send), CFG (to 3.3V), SLP (to 3.3V) and the LEDS to RNU, NET and ALM. I had to leave the RET (Reset) pin unconnected (even though the doc says it is low effective)

To configure it :
First, open any terminal on the serial port on which the evaluation board is connected (configuration is always 38400 bauds)
To enter the configuration mode, press the button (on the evaluation board) or tie the CFG to ground for 3 seconds.
The module then asks which language to use, select English by entering "2".
Next, type "SHUNCOM". You should now see a menu to configure its settings.

Hi im using zigbee sz05-adv when i connect the rxpin (rx0) in the arduino uno(transmitting side). it doesnt transmit any data

Here's my program

const int lp = 13;
int ib;
void setup ()
Serial.begin (9600);
pinMode (lp, OUTPUT);
void loop ()
if (Serial.available () > 0)
ib = Serial.read ();
if (ib == 'H')
{ digitalWrite (lp,LOW);
Serial.print ('H');
if (ib == 'L')
{ digitalWrite (lp, HIGH);
Serial.print ('L');