Verileriniz XBees üzerinden geçiyorsa, modülleri kaçış karakterleriyle API moduna geçirmeli, verilerinizi mantıksal paketlere ayırmalı ve API modunda bir XBee'ye verilen bir paketin bozulmadan veya bir şey değil. Protokolünüzü 1-255 baytlık yığınların iletimi etrafında tasarlayın ve XBee modüllerinin her bir yığın içindeki verilerin nasıl dağıtılacağı konusunda endişelenmesine izin verin. Tek tek paketlerin bütünlüğünü veya aralarındaki alt bölümleri korumak konusunda endişelenmeyin. Digi modülleri bununla ilgilenmek için iyi bir iş çıkarır. Endişelenmeniz gereken en büyük şey, bir paketi ileten düğümün teslim edilmediğine ve bir yedek gönderdiğine inansa bile, alıcının bunu bir şekilde elde edebileceği gerçeğidir - muhtemelen değiştirildikten sonra bile. Protokolünüzü bir tarafı "master" olacak şekilde tasarlarsanız en kolay şey olabilir; Master bir parça veri isterse, köle bir kez göndermeli ve master'ın alıp almadığından endişe etmemelidir. Eğer master istediği verileri alamazsa, tekrar talep edebilir.
Slave, verilere bir tür sıra numarası atamalı ve master, slave değiştirme durumunu talep etmek için sıra numaraları atamalıdır. Kaptanın isteği "sıra numarası XXX'dan büyük olan ilk öğeyi gönder" biçimindeyse ve ikincil öğenin her veri öğesi kendi sıra numarasını ve önceki öğenin isteğini içerir (arka arkaya numaralandırılmamışsa) ), geç gelen paketler, slave'in master'a yedekli olarak veri göndermesine neden olabilir, ancak master, gelen geç gelen yanıtları göz ardı etmekte zorluk çekmez. Slave, sıra numarası daha önceki bir isteğin altında olan bir durum değişikliği isteği alırsa, alınmadan önce üstlendiği için bu isteği yok saymalıdır.