I'm working on a Futaba frame loss counter, and since the SBUS protocol uses an inverted serial signal, how can I invert it so it can be processed by Arduino? I know I have to create a serial inverter but I don't have the knowledge to do so. I know that I need transistors and resistors, but how exactly and where am I to solder what?
I tried using that library, however it is too slow for my purpose because in the time that software serial inverts the signal, there can be some important data missed out, hence I wanted to make a hardware version.
I thought SBUS hasn't been used since the 1990s when it was used in Sun Unix workstations, a little like PCI bus. That can't be what you're talking about?
So what is this protocol? How many data lines, what voltage etc?
SBUS runs at 100k baud. I know the max software serial can take is 115,200 baud however although it can receive at that baud rate, when a byte is received an interrupt will be generated hence it's not usable in this case.
Connected to Vin pin, yes, fine. Connect 9V to any other pin and...
You can easily reduce the voltage of a data signal down to 5V with a voltage divider (a pair of resistors), but only if you know what the input voltage is going to be.
Perhaps an opto-isolator would work at a wider range of voltages, and with a little ingenuity could invert the signal at the same time.
Ok, so a voltage divider to reduce that to 5V and a 74hc00/74hc04/74hc14/whatever-you-have to invert it?
Also, if you plan to use hardware serial for speed, choose an Arduino with an extra hardware serial port, like Pro Micro, otherwise debugging your code can become difficult, not being able to use serial monitor.