UART over PWM [WIP]

Idea

This is a system meant for RC applications. Learn more about the technology behind here. Usually a RC channel is used to control a servo or a motor "steppless" and with a low latency. But sometimes you just want to switch a I/O port or have a application where it is not important to have low latencys. There had been different projects to expand the number of channels but this is always standalone with no other components involved. I want to build a system where I use a bluetooth module (or something similar) within the sender to send UART to the receiver. This is giving me the possibility to do whatever I want on the receiver side. There is no limitation of channels or whatever. As the receiver of the MX12 is bidirectional (so its acutally a transceiver) I maybe could make it to also make the UART bidirectional but Im not sure how to get the data on the sender side.

concept

Each channel is a pulse which is fired every 20ms (50Hz). The resolution of the signal is 8 bit. So there would be a theoretical maximal bandwidth of 400bit/s. This is a maximum, because it is not very accurate to generate the exact voltage (on the sender side I have to use a analogue input) so I think 250-300bit/s should be realistic. Also I want to make the system work on analogue systems where a bandwith of 150bit/s should be realistic.

1 UART character is 11 bit (8N1) so at a minimum of 100bit/s the speed would be 9 baud which is absolutely fast enough for this purpose. Also there need to be some kind of checksum as there may be corrupt data.

Implementation

Other projects have a higher priority at the moment.

Leave a Reply