Comm between Arduino and a ARM SBC, what easy, reliable way ?

Would like to exchange some information (100 bytes/sec is enough), intermittently (e.g. once every few seconds), between Arduino and an an ARM9 SBC running Linux.

One viable way, I believe is I2C, but from my research so far, it looks like there isn't a well-tested / mature library on Arduino side to do client-side communication. Is this really (still) the case ?

Another approach could be USB. However, that is not preferred because the ARM SBC is short on USB ports, existing port is already occupied. Also, when I mention Arduino, I mean a possible low-cost bare-bones ATmega328 based custom board, which is unlikely to have USB.

What other options do I have ? Within multiple options, my preference would be for one, which has least overall complexity, and cost.

thanks,
F

SPI.

Thanks @CodingBadly.