I'm curious if it would be possible to control the tinyG with an arduino.
Because of the nature of the USB protocol a USB connection between the devices is not possible - they are both too 'dumb' to serve as a host.
I don't yet have a tinyG, from the website visually I see no way to connect an arduino to a tinyG via I2C or any other manner. Is such a thing possible?
If I even managed to get them connected via something like I2C would feeding GCODE to the tinyG over I2C be feasible? The sending-instructions-programatically wiki suggests that I could.
Further, I have connected via Bluetooth and the serial I/f, esp8266 and both serial and USB, and (slowly) through a LoRa connection and the serial I/f.
USB is perfectly feasible, isn’t a protocol, and is supported for bidirectional traffic, natively. When you tell your arduino to report back a condition using Serial.println() you are doing exactly that, using the USB port for Comms. The FTDI chip or whatever brand is implemented as a seria-to-USB controller is there for a reason, is controllable and is capable of megabit speeds (I regularly talk to my WeMos devices at ~1Mbit over USB).
You may find locating a cable with compatible connectors on both ends difficult, but that’s what solder’s for.
The tinyG FW is natively interfacing with a serial I/O bus via on chip UART that "happens" to be connected to the FTDI USB to serial converter at the front end. It is possible to bypass the FTDI and wire-or a logic level Tx/Rx pair directly to the UART. One must of course be mindful of 3.3V logic interfacing.
Zootalaws has implemented a Bt link which bypasses the USB and others a while back were using small wifi dongles to do the same. This is not a typical connection, but connection point are available on most versions of tinyG, you may need to solder in header pins. Schematics for all versions are here: