ZigBee is a widely used wireless technology in low-power and short-range scenarios such as Internet of Things (IoT), sensor networks, and industrial wireless networks. However, the standard ZigBee supports only one data rate, 250Kbps, which thoroughly limits ZigBee's efficiency in dynamic wireless channels. In this paper, we propose Mrs.Z, a novel physical layer design to enable multi-rate selection in ZigBee. The key idea is to change the single spectrum spreading length to multiple ones. Correspondingly, to gracefully adapt to the channel variations, we propose a BER-based rate selection scheme, dividing bit errors into two categories: errors caused by the exceeding despreading threshold, which can be discovered in the physical layer, and caused by incorrect despreading, which is not visible until cyclic redundancy check (CRC) in the media access control (MAC) layer. Then, the receiver selects the rate based on the underlying negative impacts incurred by them and feedbacks to the transceiver. We implement Mrs.Z on USRPs and evaluate its performance in different scenarios. Results demonstrate that Mrs.Z achieves an improvement of 20% and 80% compared to the classic SoftRate and the standard ZigBee.