Work in process... AVR microprocessor, HopeRF RFM12B radios (433, 868/902-929MHz), 2mW.
C/C++ code, initially Arduino, uses only Arduino base libraries.
So far, the code can send/receive structured packets with a header. In the header is the packet length (variable), node IDs, and flags for "ACK required", and a CRC. Then the data payload (variable sized), with a separate CRC.
Video - demo, each node sending 5 messages per second, each message containing header + 30 byte data payload, w/CRC checking. The two LEDs: On blinks on Received packet, the other for each transmitted packet.
MP4 https://www.opendrive.com/files?21411268_DziHF
MOV https://www.opendrive.com/files?21395015_rMSQJ