Skip to main content
replaced http://arduino.stackexchange.com/ with https://arduino.stackexchange.com/
Source Link

Now, as for standard RS-232-type serial done with TTL logic levels (ie: signal voltage levels 0 to 5V), via a UART (piece of hardware that allows this type of asynchronous communication protocol), I have written C++ code on a PC and on a standard Arduino (ex: Nano, Uno, or Pro Mini--under $10 cost + $2 external UART) which communicates at 250kbaud (though 2Mbaud is possible on an Arduino Uno--see Connor Wolf's answer herehere).

  1. ##I2C: Normal Arduino (ex: Uno) default speed is 100kbps; it can be increased to 400kbps. Some non-Arduino devices can do 1Mbps or 3.4Mbps.

  2. ##SPI: Arduino default speed is 4Mbps. Normal Arduinos can go up to 8Mbps; Galileo can do 25Mbps. I have seen some devices (ex: Wiznet W5200 Ethernet chip), which can do SPI serial communication up to 80Mbps (source).

  3. ##RS-232 TTL via UART: This is what most people mean I think when they just use the word "serial" without specifying it further by saying "SPI," "I2C," etc. Whenever you see the term "baud" or "baudrate," this is the type of serial communication they are referring to too. Hardware (UART)-based serial communication is done via pins 0 and 1 on most Arduinos. Normally, the "high-end" speed is considered 115200bps, but I regularly use 250kbps on an Arduino. Up to 2 Mbps is theoretically possible under the right conditions for the Atmel AVR-based Arduinos, like the Uno. See Connor Wolf's answer herehere. Arduino also includes a software serial library for this type of serial communication on any of the Arduino's pins, and I have used it up to 250kbps. I haven't yet tested it beyond that speed, but being software-based, I'd expect it to become unreliable much beyond that.

  4. ##USB: USB Speeds (https://en.wikipedia.org/wiki/USB)
    USB 1.0: Low Speed mode (1.5Mbps), Full Speed mode (12Mbps)
    USB 2.0: High Speed (480Mbps)
    USB 3.0: SuperSpeed (5Gbps)
    USB 3.1: SuperSpeed+ (10Gbps)

  5. ##Ethernet: Standard rates are 10/100/1000 Mbps.

Now, as for standard RS-232-type serial done with TTL logic levels (ie: signal voltage levels 0 to 5V), via a UART (piece of hardware that allows this type of asynchronous communication protocol), I have written C++ code on a PC and on a standard Arduino (ex: Nano, Uno, or Pro Mini--under $10 cost + $2 external UART) which communicates at 250kbaud (though 2Mbaud is possible on an Arduino Uno--see Connor Wolf's answer here).

  1. ##I2C: Normal Arduino (ex: Uno) default speed is 100kbps; it can be increased to 400kbps. Some non-Arduino devices can do 1Mbps or 3.4Mbps.

  2. ##SPI: Arduino default speed is 4Mbps. Normal Arduinos can go up to 8Mbps; Galileo can do 25Mbps. I have seen some devices (ex: Wiznet W5200 Ethernet chip), which can do SPI serial communication up to 80Mbps (source).

  3. ##RS-232 TTL via UART: This is what most people mean I think when they just use the word "serial" without specifying it further by saying "SPI," "I2C," etc. Whenever you see the term "baud" or "baudrate," this is the type of serial communication they are referring to too. Hardware (UART)-based serial communication is done via pins 0 and 1 on most Arduinos. Normally, the "high-end" speed is considered 115200bps, but I regularly use 250kbps on an Arduino. Up to 2 Mbps is theoretically possible under the right conditions for the Atmel AVR-based Arduinos, like the Uno. See Connor Wolf's answer here. Arduino also includes a software serial library for this type of serial communication on any of the Arduino's pins, and I have used it up to 250kbps. I haven't yet tested it beyond that speed, but being software-based, I'd expect it to become unreliable much beyond that.

  4. ##USB: USB Speeds (https://en.wikipedia.org/wiki/USB)
    USB 1.0: Low Speed mode (1.5Mbps), Full Speed mode (12Mbps)
    USB 2.0: High Speed (480Mbps)
    USB 3.0: SuperSpeed (5Gbps)
    USB 3.1: SuperSpeed+ (10Gbps)

  5. ##Ethernet: Standard rates are 10/100/1000 Mbps.

Now, as for standard RS-232-type serial done with TTL logic levels (ie: signal voltage levels 0 to 5V), via a UART (piece of hardware that allows this type of asynchronous communication protocol), I have written C++ code on a PC and on a standard Arduino (ex: Nano, Uno, or Pro Mini--under $10 cost + $2 external UART) which communicates at 250kbaud (though 2Mbaud is possible on an Arduino Uno--see Connor Wolf's answer here).

  1. ##I2C: Normal Arduino (ex: Uno) default speed is 100kbps; it can be increased to 400kbps. Some non-Arduino devices can do 1Mbps or 3.4Mbps.

  2. ##SPI: Arduino default speed is 4Mbps. Normal Arduinos can go up to 8Mbps; Galileo can do 25Mbps. I have seen some devices (ex: Wiznet W5200 Ethernet chip), which can do SPI serial communication up to 80Mbps (source).

  3. ##RS-232 TTL via UART: This is what most people mean I think when they just use the word "serial" without specifying it further by saying "SPI," "I2C," etc. Whenever you see the term "baud" or "baudrate," this is the type of serial communication they are referring to too. Hardware (UART)-based serial communication is done via pins 0 and 1 on most Arduinos. Normally, the "high-end" speed is considered 115200bps, but I regularly use 250kbps on an Arduino. Up to 2 Mbps is theoretically possible under the right conditions for the Atmel AVR-based Arduinos, like the Uno. See Connor Wolf's answer here. Arduino also includes a software serial library for this type of serial communication on any of the Arduino's pins, and I have used it up to 250kbps. I haven't yet tested it beyond that speed, but being software-based, I'd expect it to become unreliable much beyond that.

  4. ##USB: USB Speeds (https://en.wikipedia.org/wiki/USB)
    USB 1.0: Low Speed mode (1.5Mbps), Full Speed mode (12Mbps)
    USB 2.0: High Speed (480Mbps)
    USB 3.0: SuperSpeed (5Gbps)
    USB 3.1: SuperSpeed+ (10Gbps)

  5. ##Ethernet: Standard rates are 10/100/1000 Mbps.

added 116 characters in body
Source Link
  1. ##I2C: Normal Arduino (ex: Uno) default speed is 100kbps; it can be increased to 400kbps. Some non-Arduino devices can do 1Mbps or 3.4Mbps.

  2. ##SPI: Arduino default speed is 4Mbps. Normal Arduinos can go up to 8Mbps; Galileo can do 25Mbps. I have seen some devices (ex: Wiznet W5200 Ethernet chip), which can do SPI serial communication up to 80Mbps (source).

  3. ##RS-232 TTL via UART: This is what most people mean I think when they just use the word "serial" without specifying it further by saying "SPI," "I2C," etc. Whenever you see the term "baud" or "baudrate," this is the type of serial communication they are referring to too. Hardware (UART)-based serial communication is done via pins 0 and 1 on most Arduinos. Normally, the "high-end" speed is considered 115200bps, but I regularly use 250kbps on an Arduino. Up to 2 Mbps is theoretically possible under the right conditions for the Atmel AVR-based Arduinos, like the Uno. See Connor Wolf's answer here. Arduino also includes a software serial library for this type of serial communication on any of the Arduino's pins, and I have used it up to 250kbps. I haven't yet tested it beyond that speed, but being software-based, I'd expect it to become unreliable much beyond that.

  4. ##USB: USB Speeds (https://en.wikipedia.org/wiki/USB)
    USB 1.0: Low Speed mode (1.5Mbps), Full Speed mode (12Mbps)
    USB 2.0: High Speed (480Mbps)
    USB 3.0: SuperSpeed (5Gbps)
    USB 3.1: SuperSpeed+ (10Gbps)

  5. ##Ethernet: Standard rates are 10/100/1000 Mbps.

  1. ##I2C: Normal Arduino (ex: Uno) default speed is 100kbps; it can be increased to 400kbps. Some non-Arduino devices can do 1Mbps or 3.4Mbps.

  2. ##SPI: Arduino default speed is 4Mbps. Normal Arduinos can go up to 8Mbps; Galileo can do 25Mbps. I have seen some devices (ex: Wiznet W5200 Ethernet chip), which can do SPI serial communication up to 80Mbps (source).

  3. ##RS-232 TTL via UART: This is what most people mean I think when they just use the word "serial" without specifying it further by saying "SPI," "I2C," etc. Hardware (UART)-based serial communication is done via pins 0 and 1 on most Arduinos. Normally, the "high-end" speed is considered 115200bps, but I regularly use 250kbps on an Arduino. Up to 2 Mbps is theoretically possible under the right conditions for the Atmel AVR-based Arduinos, like the Uno. See Connor Wolf's answer here. Arduino also includes a software serial library for this type of serial communication on any of the Arduino's pins, and I have used it up to 250kbps. I haven't yet tested it beyond that speed, but being software-based, I'd expect it to become unreliable much beyond that.

  4. ##USB: USB Speeds (https://en.wikipedia.org/wiki/USB)
    USB 1.0: Low Speed mode (1.5Mbps), Full Speed mode (12Mbps)
    USB 2.0: High Speed (480Mbps)
    USB 3.0: SuperSpeed (5Gbps)
    USB 3.1: SuperSpeed+ (10Gbps)

  5. ##Ethernet: Standard rates are 10/100/1000 Mbps.

  1. ##I2C: Normal Arduino (ex: Uno) default speed is 100kbps; it can be increased to 400kbps. Some non-Arduino devices can do 1Mbps or 3.4Mbps.

  2. ##SPI: Arduino default speed is 4Mbps. Normal Arduinos can go up to 8Mbps; Galileo can do 25Mbps. I have seen some devices (ex: Wiznet W5200 Ethernet chip), which can do SPI serial communication up to 80Mbps (source).

  3. ##RS-232 TTL via UART: This is what most people mean I think when they just use the word "serial" without specifying it further by saying "SPI," "I2C," etc. Whenever you see the term "baud" or "baudrate," this is the type of serial communication they are referring to too. Hardware (UART)-based serial communication is done via pins 0 and 1 on most Arduinos. Normally, the "high-end" speed is considered 115200bps, but I regularly use 250kbps on an Arduino. Up to 2 Mbps is theoretically possible under the right conditions for the Atmel AVR-based Arduinos, like the Uno. See Connor Wolf's answer here. Arduino also includes a software serial library for this type of serial communication on any of the Arduino's pins, and I have used it up to 250kbps. I haven't yet tested it beyond that speed, but being software-based, I'd expect it to become unreliable much beyond that.

  4. ##USB: USB Speeds (https://en.wikipedia.org/wiki/USB)
    USB 1.0: Low Speed mode (1.5Mbps), Full Speed mode (12Mbps)
    USB 2.0: High Speed (480Mbps)
    USB 3.0: SuperSpeed (5Gbps)
    USB 3.1: SuperSpeed+ (10Gbps)

  5. ##Ethernet: Standard rates are 10/100/1000 Mbps.

added 4 characters in body
Source Link

Note that embedded boards and devices, microcontrollers, etc, can all do some type of serial communication, even if it's just slow bit-banged RS-232 TTL-type or SPI-type serial. Nevertheless, some high-end devices can do really high speed serial communication via USB, USB 3.0, high-speed Ethernet, high-speed SPI, etc. When it comes to really fast serial communication methods (~3Mbps and higher), synchronoussynchronous techniques must generally be used rather than asynchronousasynchronous techniques, as the errors in clock-rates caused by using separate clocks begin to be too pronounced.

Note that embedded boards and devices, microcontrollers, etc, can all do some type of serial communication, even if it's just slow bit-banged RS-232 TTL-type or SPI-type serial. Nevertheless, some high-end devices can do really high speed serial communication via USB, USB 3.0, high-speed Ethernet, high-speed SPI, etc. When it comes to really fast serial communication methods (~3Mbps and higher), synchronous techniques must generally be used rather than asynchronous techniques, as the errors in clock-rates caused by using separate clocks begin to be too pronounced.

Note that embedded boards and devices, microcontrollers, etc, can all do some type of serial communication, even if it's just slow bit-banged RS-232 TTL-type or SPI-type serial. Nevertheless, some high-end devices can do really high speed serial communication via USB, USB 3.0, high-speed Ethernet, high-speed SPI, etc. When it comes to really fast serial communication methods (~3Mbps and higher), synchronous techniques must generally be used rather than asynchronous techniques, as the errors in clock-rates caused by using separate clocks begin to be too pronounced.

added 229 characters in body
Source Link
Loading
added 85 characters in body
Source Link
Loading
added 19 characters in body
Source Link
Loading
added 19 characters in body
Source Link
Loading
added 64 characters in body
Source Link
Loading
added 204 characters in body
Source Link
Loading
Source Link
Loading