IOIO connection stability fixes and more issues

63 views
Skip to first unread message

Andries Kruger

unread,
Aug 18, 2015, 5:47:57 AM8/18/15
to ioio-users
Good day,

When starting out with the IOIO I had a lot of issues regarding a reliable connection to the phone (Samsung galaxy S3 mini I8200 && I8190). I am using IOIOService to connect to and manage the IOIO and all my connected components. Ytai released an update to the android libraries that really helped but did not completely fix the issue for me. I would still on occasion lose connection to the board.
I figured out that I could manually recreate my issues by fiddling with the USB connection between the USB-OTG cable and the normal USB cable. So to try and avoid this I plugged the connections as normal and soldered around the housing of the connections so that the connection would be what I like to call "permanent". I also soldered the micro USB end of the cable to the IOIO board. This did not solve my issues unfortunately. I guess it was because of the way the USB connector is designed with the contacts just pushing down on each other.
Taking it another step further, I cut the normal USB cable connected to the phone on the one end. I then soldered the USB wires directly on the IOIO board using pads I found on the bottom (I am using the Sparkfun version of the board). I also bypassed the Auto/Host switch on the board so it will be the way I need it permanently. The only physical connection remaining now is the micro USB connection to the phone. This improved my disconnects considerably. 

I would say that I have the boards are running 95% reliable now. I do not - as far as I know - get any random disconnects from the board once a connection is established. But I have picked up a problem none the less. I have "hacked" the phone to startup automatically when the power is connected so that no user intervention will be needed and the devices can be in remote areas and start up when needed. The issue is that sometimes when the phone starts up, the connection to the IOIO is never made. My app also becomes very unresponsive (basically freezes) when I try to manually start and stop the service. When I unplug the phone from the IOIO, the app works fine, but plugging the phone back in does not fix my issue. It is like the IOIO board just locks up completely. This is the part where I'm kind of stuck.

I say kind of because I do have a workaround, but it is messy and I think there should be a way to solve this by going into the firmware of the IOIO. The thing is I just don't know where to start looking for or know how to fix the problem.

For those interested in the workaround:
I plugged in one end of an auxiliary cable to the phone and cut off the other end and connected it to a small circuit that uses a 1 kHz signal to trigger a transistor. The circuit (transistor end) is then wired back to the MCLR of the IOIO. When I detect that the IOIO is not connected to the phone, I just play the tune which resets the board and the connection comes back up - so far without fail.

Ytai Ben-Tsvi

unread,
Aug 18, 2015, 11:24:50 AM8/18/15
to ioio-...@googlegroups.com
If you want to dive into firmware land, the best thing to start with is to try to build and install the existing firmware yourself. The next step would be to build it with logging enabled, which would give you some more visibility into where it is getting stuck.

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ioio-users+...@googlegroups.com.
To post to this group, send email to ioio-...@googlegroups.com.
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages