I have uploaded code for serial communication for seeeduino xiao through the Arduino IDE. I tested it with arduino serial monitor and linux serial terminal, and it is working well with them. But when I connect it to android phone usb port to interface with an app, it gives error saying no driver. I tried with multiple apps, but same code i burned to arduino uno, and it is working fine. So i think I’m missing something. Kindly help me out. I think it has something to do with seeeduino xiao being relatively new board in the market.
Hello, I would be happy to help you. Can you tell me what Android App you are using? What are the exact steps and procedure you followed to find the error? If you can provide more details, this would help us to reproduce and resolve the problem as soon as possible.
Thank you, the issue was resolved. It was android app issue, where I had to add custom prober to recognize the seeeduino xiao, I was able to do by adding correct product and vendor ids. Since it is not seeeduino issue, the question is not relevant to this forum. Thank you so much.
Hi Renju,
actually, I’m facing the same issue like you did. So I tried to use a custom prober (as explained here: GitHub - mik3y/usb-serial-for-android: Android USB host serial driver library for CDC, FTDI, Arduino and other devices.) and to establish a connection as follows:
...
val customTable = ProbeTable()
customTable.addProduct(0x2886, 0x8045, CdcAcmSerialDriver::class.java) // vendor and product IDs of my Seeed Xiao
val availableDrivers = UsbSerialProber(customTable).findAllDrivers(usbManager)
val driver: UsbSerialDriver = availableDrivers[0]
var connection = usbManager.openDevice(driver.getDevice())
port = driver.getPorts().get(0)
port?.open(connection)
port?.setParameters(protocol.BAUD_RATE, 8, UsbSerialPort.STOPBITS_1, UsbSerialPort.PARITY_NONE)
...
While I was able to make a connection this way, unfortunately, I wasn’t able to read or write over the port and run e.g. into the following exception:
“Error writing x bytes at offset y length= z” (raised in line 312 in CdcAcmSerialDriver.java)
Did you face similar issues? How did you make it work?
Thanks a lot!
Dear Asche_Thor,
I did this some time ago. I used the same github code you have shared.
Within the code, i had changed the device_filter.xml file. I had added another usb device under ‘cdc driver’ with following details.
usb-device vendor-id=“10374” product-id=“47”
I didn’t use any custom prober. Used getDefaultProber()
Port.setparameters(115200,8,usbSerialPort.STopbits_1, usbserialport.parity_none)
Thanks a lot for your reply!
I also looked into this github-Repository: GitHub - kai-morich/SimpleUsbTerminal: Android terminal app for devices with a serial / UART interface connected with a USB-to-serial-converter which is based on mik3y’s usb-serial-for-android as well and now it works somehow