Any protocols for serial data transfer?

I have often seen people asking how to handle binary data transfer between two computers. That is, between Arduinos and/or pcs.

I know that was solved long ago with protocols such as zmodem, xmodem and so on. With those you can transfer binary data (files) between two PCs. All you needed were three wires (tx, rx and gnd) and a free serial port.

Is there anything similar protocol for Arduino?

The standard serial connection is just plain serial, you can use it for whatever kind of data you wish, there are no error correction / detection protocols unless you choose to incorporate your own. I just use a checksum if I want a bit of error detection. It uses the same old 3 pins (and JUST 3 pins, theres nothing else...).

The standard serial connection is just plain serial, you can use it for whatever kind of data you wish, there are no error correction / detection protocols unless you choose to incorporate your own. I just use a checksum if I want a bit of error detection. It uses the same old 3 pins (and JUST 3 pins, theres nothing else…).

Those serial protocols work on serial bus(plain old). And just like with other computers, a reliable way of transferring data with Arduinos is needed.

I do not completely understand what you mean by your post, but there are two ways to handle data flow, hardware and soft. I think hardware flow control cant be used because it is hard to use and one signal is used in in Arduino programming. What I know, those (once) common protocols do not rely on hardware flow control. Data is sent in packets. But we do not need to know any details, if the transfer is handled in library.

I understand that there is no room in Arduino to receive large files, but files can be 1 byte long for instance.

There is no reason not to use XMODEM, KERMIT, or AX.25 on Arduino. Or you can go all the way to TCP/IP.

As far as I know, the efforts to create more general purpose networking protocols over async serial (as opposed to file transfer protocols) (like PCNet) never really went anywhere (they were essentially overwhelmed by newer networking technology like Ethernet and SLIP.)

A good number of the CP/M systems running XMODEM had less memory than an Arduino (probably all RAM, though.) (Among my older "credits": the Simtel20 side of XMODEM for the US Army's CP/M shareware collection, and an XMODEM implementation for the original IBM PC. (and a would-be competitor of Crosstalk v1 that never quite saw the light of day, yet provided a fine education in non-open-source software publishing.) )

There is no reason not to use XMODEM, KERMIT, or AX.25 on Arduino. Or you can go all the way to TCP/IP.

As far as I know, the efforts to create more general purpose networking protocols over async serial (as opposed to file transfer protocols) (like PCNet) never really went anywhere (they were essentially overwhelmed by newer networking technology like Ethernet and SLIP.)

Ok
But is there source code for those protocols. I’m thinking something which is also used in Windows. Ethernet works, but serial bus is in every Arduino. Besides, I think those protocols should be already in the library, there are so much other sw for Arduino.

there are so much other sw for Arduino

I have seen a Arduino serial protocol library posted in the past. You just have to keep searching if you don't want to write your own.

Lefty