I am working on a project with an Arduino Nano, I am reading in the SBUS from an RC receiver. Basically, this is just a common RS232 with its own protocol. The problem is however that when I plug in the Nano the signal low jumps from 0V up to 3V. Please see these images:
It's impossible to decipher the connections from the image alone (although it's a welcome addition). Please draw a wiring diagram. Please supply data or links about the RC module.
Thank Aarg.. see image. I do not have any schematics on the receiver however..
I have noticed that the issue does not occur on some cheap china copies of the Nano
You have no link? I don't feel like Googling Tunngy iAGC or whatever and struggling with the spelling... it is important to understand the "SBUS" characteristics and/or protocol.
Also where is your code? Have you accidentally misconfigured the RX pin?
/*
Serial Event example
When new serial data arrives, this sketch adds it to a String.
When a newline is received, the loop prints the string and clears it.
A good test for this is to try it with a GPS receiver that sends out
NMEA 0183 sentences.
NOTE: The serialEvent() feature is not available on the Leonardo, Micro, or
other ATmega32U4 based boards.
created 9 May 2011
by Tom Igoe
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/SerialEvent
*/
String inputString = ""; // a String to hold incoming data
bool stringComplete = false; // whether the string is complete
void setup() {
// initialize serial:
Serial.begin(115200);
// reserve 200 bytes for the inputString:
inputString.reserve(200);
}
void loop() {
// print the string when a newline arrives:
if (stringComplete) {
Serial.println(inputString);
// clear the string:
inputString = "";
stringComplete = false;
}
}
/*
SerialEvent occurs whenever a new data comes in the hardware serial RX. This
routine is run between each time loop() runs, so using delay inside loop can
delay response. Multiple bytes of data may be available.
*/
void serialEvent() {
while (Serial.available()) {
// get the new byte:
char inChar = (char)Serial.read();
// add it to the inputString:
inputString += inChar;
// if the incoming character is a newline, set a flag so the main loop can
// do something about it:
if (inChar == '\n') {
stringComplete = true;
}
}
}
I have searched the web but cant find schematics on the receiver.
It seems to be something to do with the Nano's, because I had Nano's before that ran fine and I had the whole protocol sussed out as well. I was pulling all the data at the time. I hoped it might be a pull up pull down issue or such. Might need to try some other Nano's
I found the issue, this nano must be a Chinese knock off with a CH340, and they have not put in the 1k's but 220ohms instead.. Thanks guys, need to get my hands on some propper Nano's
I'm still curious how you will read the SBUS signal then on the RX pin through the UART. The SBUS signal is an inverted serial protocol, so unless you add an inverter or use SoftwareSerial I would not know how it can be done with a nano.