How to connect Arduino (or ESP8266) to the Internet via Android Smartphone Tethering by USB (not by Wi-Fi)?

I need a help to connect Arduino (or ESP8266) to the Internet via Android Smartphone by USB (Tethering by USB).
The idea is to communicate the values ​​of the sensors of parked car to the Blynk via Internet, using the Smartphone USB tethering (connected to 3g / 4g). The Arduino (or ESP8266) connection would be made via USB cable (not Wi-Fi) connected to Android smartphone, smartphone connected to the 3g / 4g network.
Currently, I have solved it by using ESP8266 connected by Wi-Fi to the Android smartphone, creating the Wi-Fi access point, but it consumes me a lot of battery, therefore, the only thing I want is to change the connection from “by WiFi” to “by USB”

Thanks for your help.

Current required scripts work with computers, even the RPi (Linux)… But I am unaware of a method for using USB via a Phone’s OTG USB connection. This is theoretically possible, probably something custom, but based on my recollection of past similar topics… this is NOT something Blynk developers are looking into.

Hi Gunner,
thanks for your reply. That’s a pity that nobody needs it, would be nice to add this option when you choose the way of connection of the device (Ethernet, WiFi, USB, GSM…); could be added “USB tethering”… In fact should not be to so different from WiFi or Ethernet option I guess. Imagine, how easy then would be to use it and what’s new applications and projects! Simply connect it to old smartphone via OTG, SIM card with as data and that’s it.
Thanks again.

I’d much rather see development time spent on other things, but you can submit your idea here if you wish:


All I said is that Blynk is not likely to pursue further development in that backward direction. Phones typically use BT/BLRE for that need and Blynk IS working on making that more stable.

You can try if you want. The USB-TCP scripts currently used are not of Blynk’s design anyhow, and there is no reason one cannot make up their own similar phone based method of connecting a device to the internet, then using Blynk.Config for the Server connection.

That basic “connect the MCU to the internet/server link via SIM” is already done with GSM adapters