Tonight I made some progress. By using code similar to the above, but with disabled CRC, and by spamming thousands of "abcdefgh" messages on the Micro:bit side, I managed to receive the following data:
Code: Select all
b'\xcb1\n\xfdL\xf4\x11\x9c\x97j\xff\xea[j\x19}le|\x94\xeb\xda\xc8\xa5\xbe\xe7\xf1\x7f\x7f\xadt\xba'
b'\xcb1\n\xfdL\xf4\x11\x9c\x97j\xff\xf5&$\x86\xdc~\x9b\x17=V\xa8}H+\xb4{\x92\x8ee\xb8\x0f'
b'\xcb1\n\xfdL\xf4\x11\x9c\x97j\xff\xf6nE4\xcdOG\x17\xb6|Rh\xee\x08\xba\x9d\xd0\x8b,J\xe4'
b'\xcb1\n\xfdL\xf4\x11\x9c\x97j\xff\xf5\xeeB\xbc\x82\xaa[v\xea\xa1y9\x9b\xe9\xd6\xa2]lR\xf6\xdc'
b'\xcb1\n\xfdL\xf4\x11\x9c\x97j\xff\xf6\xaf\xc5\x17y\xe3\xb8w\x1b;63{\x1c\xca\xaf\xf0\x9e\x11[\xa1'
b'\xcb1\n\xfdL\xf4\x11\x9c\x97j\xff\xf8\xdfj\xb7k\xb0\x98\x1aZ\x9d\xd4\x05\x94\x94\xd6\xb7-(\x92\xc1M'
b'\xcb1\n\xfdL\xf4\x11\x9c\x97j\xff\xffwz\x8eZ\xefRZ\xf6\xaa\xf7P\xaf[\x1d\xfc)i\xd9\xa9U'
b'\xcb1\n\xfdL\xf4\x11\x9c\x97j\xffr\x97\x8d\xb67\x8b\xa9\xfbzH\xad!\xd6\x15.\xaa\xa6+Z\t-'
b'\xcb1\n\xfdL\xf4\x11\x9c\x97j\xff\xfc\xb7\xdb\xe8\xdfWZm\xb5K\xb3\xbaY9\xdd\xb3\xd0\xaa\xfeK\xbf'
b'\xcb1\n\xfdL\xf4\x11\x9c\x97j\xff\xed\xbd\x11\xa4\xa3T\xba\xca\xb6\x9a\xd4\xefM}I\x9b\xd4\xad\xb8\xee\xaa'
As you can see, this is complete garbage. However, it is regular in a way -- it always starts with the same characters, and then they become more and more different. Also, from thousands of messages, only those few got through.
From this I *suspect*, that my NRF24L01 modules (Chinese clones, of course) don't use exactly the same data rate as the NRF51822 chip on the Micro:bit, and as a result of the differences in their clocks the data gets corrupted. Occasionally they will align enough to get the address bytes correct, and then I will see a message, but of course the bits will lose alignment quickly afterwards, so the actual data is corrupted. This would also explain why the modules see each other without any problems -- they are both from the same source and probably have the same fault. I will try experimenting with different modules when i get them.