Last information about the current state of DroidTerm. Please check it out
During my most recent work I had to deal a lot with serial ports and Usb to serial converters. Most of the work used an Android device as a host of a usb-serial converter to send commands through a serial connection to a custom hardware we developed. I certainly missed a good replacement of PuTTY for Android. Some apps I encountered are faulty or does not support the converters I am using for. That is the reason because I started to develop my own replacement.
Finally I shipped the first version of this app that I called DroidTerm.
Here it is the link if you are interested
Features:
– Allows serial connections over Bluetooth Serial Port Profile and Usb.
– It supports FTDI chipsets (nice for Arduino stuff), CP210x family of chipsets and soon Prolific pl2303 chipsets. Not only defaults VID and PID, it supports custom VID and PIDS of other manufacturers too.
– In Usb serial connection, baud rate, data bits, stop bits, parity can be configurable before connection. Flow control is still not supported.
There is plenty of room for new features and improvements:
– Flow control and almost more importantly, a interface to handle it manually.
– Send through serial port a selected filed from a file explorer.
– Macros (Implement a simple BASIC-like language and a simple interface to code on mobile devices would be awesome).
– Add more not supported devices, although that must be done on Usb Serial android library
– Design improvement, that is not my best area so do not expect something much better than the retro style it has now.
If you use it, you find it useful and you have some new ideas or improvements I would love to hear them.
Happy craft!
UPDATE: Devices with PL2303 chipsets are now supported. I would like some feedback about this new feature 🙂
Please support PL2303.
Please release Version with PL2303 Support on Google Play
I am working on PL2303 support. There is an issue about data corruption in RXD but I hope I can release it soon
Ok thanks.
Is it also possible to integrate a option to save the output to a file.
That is a good idea, It should be easy to add.
I have released a new version of DroidTerm with PL2303 support
Hi,
i have testet V 1.1.
Problem:
Usb Device not supported: PID:3 VID: 7531
I think i have the old PL2303HXA or PL2303XA Chip.
Can you support the Old PL2303 Chip´s ???
other APP Slick 2 USB is running fine.
Hi!
Sorry, I had a little bug and those pid and vid values are shown in decimal values, I will fix this now.
So your real values are PID:0x0003 VID:0x1d6b. Querying on a usb id repository I saw that values match with Linux foundation as vendor and 3.0 root hub as product. What kind of device are you trying to connect?
I will try to support too the olds PL2303 although I own the HX version.
Hi,
I have directly connected the PL2303 USB to the OTG cable.
No USB hub or anything else.
I just uploaded a new version (google takes some hours to validate new apps) with the bug corrected. Let me know the VID and PID you get.
Anyways thanks for your feedback!
Hi,
Output from other App which support my PL2303.
Hope this helps.
1. /dev/bus/usb/002/001
Class: 9
Subclass: 0
Protocol: 3
Product Id: 3
Vendor Id: 7531
1. /dev/bus/usb/001/001
Class: 9
Subclass: 0
Protocol: 1
Product Id: 2
Vendor Id: 7531
Hi,
V 1.2
Problem:
Usb Device not supported: PID:3 VID: 1D6B
Hi,
FYI
i have found following on the Net:
http://www.basic4ppc.com/android/forum/threads/usbserial-library-supports-ftdi-arduinos-and-other-usb-serial-devices.24835/page-4#post-152672
I think this is the correct one.
1. /dev/bus/usb/001/002
Class: 0
Subclass: 0
Protocol: 0
Product Id: 8963
Vendor Id: 1659
That´s right, those are the VID and PID from Prolific and my app actually have support from both of them (My Pl2303 has the same values). The problem is we are getting the PID and VID from the Linux 3.0 hub and that´s weird because your have the next: Android device <- OTG Cable <- PL2303. I tested the app with the same configuration and it is working. I guess it is a dumb question but does your android device support being a usb host?
Could you check what you get using USB Host Viewer app? It is pretty simple but it works and We can check results with the same app
Here it is the link to the app store https://play.google.com/store/apps/details?id=com.synchack.android.usbhostviewer
Yes i have otg support.
Slick 2 usb serial terminal is running fine.
Output
067b:2303 PL2303 Serial Port
Device : /dev/bus/usb/001/002
Vendor : 0x067b Prolific Technology, Inc.
Product : 0x2303 PL2303 Serial Port
Class : 0x00 (Defined at Interface level)
SubClass : 0x00
Protocol : 0x00
Interface (1/1)
Class : 0xff Vendor Specific Class
SubClass : 0x00
Protocol : 0x00
Endpoint (1/3)
Attr. : 0x81 (num=1,IN)
Type : Interrupt
Interval : 0x01
Packsize : 0x000a (10)
Endpoint (2/3)
Attr. : 0x02 (num=2,OUT)
Type : Bulk
Interval : 0x00
Packsize : 0x0040 (64)
Endpoint (3/3)
Attr. : 0x83 (num=3,IN)
Type : Bulk
Interval : 0x00
Packsize : 0x0040 (64)
That is exactly what I get, I am going to give it a think.
I released another version with a minor change when app look for devices.
Are you using a Samsung device?
Hi,
I have a LG G2 device.
Now it will be detected,
but im not able to recieve or send commands.
I think i should try to get a FTDI adapther. It make no sense that you spend so much time for my Pl2303 device.
Only 1 App from the market runs fine SLIC 2 USB.
I dont know whats different to Droidterm.
Thanks for yor Work.
The App are very good.
Because I am testing on nexus devices I should have been aware of the different implementations in Android world. Probably your phone lists devices including the hubs and Nexus does not.
Probably your PL2303 must be an old one(Although they use same PID and VID), I use as reference PL2303 linux drivers and a sniffing of Windows drivers. Probably both are much oriented to the last PL2303 version. I just tested my device with the last version and I can send and receive.
I recommend you a FTDI chipset. It is everywhere now.
Thanks for your feedback, it leads me to some improvements 🙂
Hi,
can you also support the old PL2303HXA and PL2303XA Chip.
V1.1
USB Device not supported: Pid: 3 Vid: 7531
Other output when connected.
1. /dev/bus/usb/002/001
Class: 9
Subclass: 0
Protocol: 3
Product Id: 3
Vendor Id: 7531
1. /dev/bus/usb/001/002
Class: 0
Subclass: 0
Protocol: 0
Product Id: 8963
Vendor Id: 1659
1. /dev/bus/usb/001/001
Class: 9
Subclass: 0
Protocol: 1
Product Id: 2
Vendor Id: 7531
I have version 4 running with the Samsung adapter (PL2303). While I like the app Ok, I really wish someone would write a serial communications program for the android that’s along the lines of hyperterminal for windows or the serial communications feature of the program called putty for windows.
Are you missing some feature? 🙂
Maybe I’m missing something. Is send bulk data the only way to send data? I would have though one would be able to send data from the blue screen with the serial port info at the bottom. If one is supposed to be able to send data from that screen, it’s not working that way for me. I’m running the app on a Galaxy Tab 4 10.1
Yes, if you press the blue screen keyboard will appear and data will be sent each time you press a key. Sorry, this way is maybe not well indicated.
The keyboard appears when I touch the screen. It doesn’t send any data though. It does receive data on the blue screen. If I go to send bulk data and send the enter key, that works. I guess it doesn’t like the Galaxy tab 4.
Nah I dont think so. Your tablet is fine. I have uploaded DroidTerm 4.1 right now and it should be available in some hours. Tell me if it fix your problem 🙂
It’s closer to the way I’d expect a terminal program to work. I would rather it not have the black line where the text entered is displayed on the screen. Does it emulate a certain terminal type? Like a vt100 or vt220
I thought it would help to remember what you typed. I can erase it if it is not very useful.
No, I am not emulating a concrete terminal
For what I would like to use it for, it would need to emulate a terminal. Guess I’ll just stay with a PC and PUTTY.
Emulating a terminal is a nice feature I could add. I’ll give it a try…Thanks for your feedback!
Is this a dumb question? How does one send a CR/LF or CR+LF using the android virtual keyboard. I cannot seem to figure that out.
Not at all. Connect your device, press the menu button and choose “Input options”.
Can you load video on YouTube about how connect pl2303 and send data to it.
if I download Droidterm on my tablet that is enough to run pl2303 or not?
There shouldn’t be any problem. Connect your PL2303 and run DroidTerm. Nothing more is needed.
Hello , It is great effort. I reading data from glucose meter which uses cp2103. Via usb I can read and write data. But it also support Bluetooth communication and I don’t know how to communicate with android and meter via Bluetooth. Can you support me by giving me code or apk of Bluetooth communication. Thanks
I am sorry but I dropped the support for Bluetooth in DroidTerm. You can find good Bluetooth terminals in the google play store.
Have a need for an android usb to serial port app to connect to router interfaces for setup purposes. IPcop / IPFire & the like. These routers make use of text character based menu systems following the command line login for some of their initial setup & config purposes but, Droidterm & all other android usb to serial to terminal emulators I have tested fail to be able to render the text menus (will only render command line text. ) Putty, Hyperterm & standard terminal emulators all seem to be able to display these menus & config of these units is unable to be completed without being able to access them. Could you please advise whether there is a resolution for this or if it is a feature you could consider incorporating.
Hi Chris,
I am afraid is not possible without a considerable amount of effort. Actually I am using the standard TextView component of the Android api to emulate a terminal so it is probably not possible to draw a “ncurses-like” menu on it. Putty and the others works in a lower layer, that is why they can handle it.
Thank you for your prompt clarification on this & thanks also for your development work on the app. Despite the menu rendering limitation, it seems to be robust & reliable app & I can still make use of it for monitoring boot process, system statuses & running command lines on these headless router units Regards Chris
Hi, Do the latest improvements which have been made to droidterm in relation to extra terminal emulations and extended character sets etc allow for Ncurses type text menus on a connected serial device to be drawn and accessed from its interface window or is this functionality still impossible
Thanks Regards Chris
Hi there,
is it just me, or does the ctrl key (Hacker’s Keyboard et al) not work in general? Using DroidTerm for Linux console is not fun without it… Otherwise I have yet to find a better serial port app, great stuff!
Greetings
Nick
Hi Nick,
I didn’t even know about that keyboard. I will give it a try and see if I can do a workaround.
Felipe
Hi felhr
Bought the Pro version for the VT100 functionality. It is great that it works well when it works. However, some comment for your consideration:
1. My Galaxy Tab running Android 4.4.2 does not always detect the Arduino usb serial port using OTG cable. I have added external battery power to the Arduino but still not always detected. Even power reset on both devices did not change that. When it does not work, I have no sure way of making the communication start! This may not be caused by any bug in your application. Perhaps I haven’t make sure certain pre-conditions are met. Any advice will be appreciated.
2. Support for screen rotation (even just vertically flip over) will be very helpful. At the moment the OTG cable sticks out at the bottom side of the screen and thus the tablet can’t properly stand up even with a bookstand.
3. Can sending data out of the tablet be controlled by the keyboard rather than having to touch the “send” soft button on the screen, eg by allowing the use of the return key or other key combinations?
Thanks. AS