Hardware/software needed to decode Differential Manchester?
Well it can't be received with an UART easily. One thing you could do with Arduino is to feed the data to Timer Capture Input pin and triggering on the edges and every time an edge happens make it trigger on the other edge and look at timer value how much time was between edges to decode the bits.