The main reason why you need any program like
minicom to communicate over a serial port is that the port needs to be set up prior to initiating a connection. If it weren't set up appropriately, the
echo commands would not do for you what you might have expected. Notice that once you run a program like
minicom, the port is left with the settings that
minicom used. You can query the communication settings using
stty program like this:
stty < /dev/ttyS0
If you have done it right; after booting the computer and before running any other program like
minicom, the communication settings will be at their default settings. These are probably different then what you will need to make your connection. In this situation, sending the commands
echo to the port will either produce garbage or not work at all.
stty again after using
minicom and you'll notice the settings are set to what the program was using.
Minimal serial communication
Basically, what needs to be done in order to have two-way communication through a serial port, is: 1) configuring the serial port, and 2) opening the pseudo-tty read-write.
The most basic program that I know that does this is
picocom. You can also use a tool like
setserial to set up the port and then interact with it directly from the shell.