DFRDuino Uno R3 + XBee ZigBee module + Co2 Sensor ISSUE

Hi everyone,
I'm working to build one Wireless Sensor Network on ZigBee protocol.
For each End Node I'm using this components:
- DFRduino UNO R3;
- IO Expansion Shield for Arduino V7.1
- MicroSD Card module
- SD2403 Real Time Clock
- XBee 2mW PCB Antenna module
- 2 DHT11 Temperature and Humidity Sensor
- 2 DS18B20 Temperature sensor
- 1 CO2 sensor
- 12Vdc 2A power supply
When I turn on each node, it works fine for 5/10 minutes. The status led of XBee socket of IOExpansion shield blinks and the light is very strong, and I can see the data sent from the end node to my PC (On my Pc I'm using XBeeUsb module. This is the ZigBee network's Coordinator).
But, after 5/10 minutes the node does not work anymore. The status led of XBee socket of IOExpansion shield is still flashing but its light is very weak and DFRDuino stops scan and send data. If I measure the voltage of any digital pin of IOExpansion Shield, this is no longer 5 Volts as it should be, but drops to 3.3V.
I get this issue ONLY if I connect the CO2 Sensor.
If I remove the CO2 sensor (without comment their Arduino code), the node runs smoothly for days.
I think it can be a power issue, I tried many solution but without succes...
Hope someone can help me...
Many greetings.
Have a good day
Paolo
thank you for your support !!
Yes, problem was the current consumption of Co2 Sensor.
When stops working, in fact, Arduino was very hot and therefore went into protection status to prevent damage!
The solution is supply Co2 Sensor with an external power supply (5 Vdc) and make a common GND with Arduino's GND.
Have a good day,
Paolo

Sorry be so late
the CO2 sensor will cost a lot power to detect the consume of CO2, so you need a 12V power supply, generally speaking, the battery is not suitable for the current is not enough.
Hope this could help.

