B4A Library IOIO board library

The request in this thread here introduced me to a product called IOIO that seems to have been designed by some Google engineers in the 20% of time that Google gives them to pursue their own interests,

The blog of the main mover of the project is at Microcontrollers, Electronics & Robotics: Meet IOIO - I/O for Android

The board will be available soon from here IOIO for Android - SparkFun Electronics

As the software has just been released I took a look at it and wrapped it in a couple of libraries for use with Basic4android. I obviously cannot test it as I have no board but the Basic4android library is a very thin veneer on top of the normal Android library so, typos and idiot errors aside, it should work with no problems and the software documentation should be pretty much applicable. I have copied a lot of the library help from the software documention so a B4A help viewer should give you a good grounding in how to use it.

I don't yet know if the board will be available this side of the pond - if anyone wants to ship me one for testing .... :)

EDIT :- Version 1.1 posted with INTERNET permission. See post #11 for details.

EDIT :- Version 1.2 posted with PulseInput. See post #37 for details.

EDIT :- Version 1.2 reposted with XML error fixed. See post #39 for details.

EDIT :- Version 1.3 posted with SPI and I2C support. See post #40 for details.

EDIT :- Version 1.3a posted with IOIOlib 3.2 included. See post #42 for details.

EDIT :- Version 1.4 posted. See post #47 for details.

EDIT :- IOIOlibBT 3.10 posted. See post#58 for details.

EDIT:- IOIOBT1.4 posted See post #63 for details

EDIT:- IOIOBT1.5 posted See post #77 for details.

THESE ATTACHMENTS ARE NOW OBSOLETE. SEE POST #105 FOR THE LATEST VERSIONS BY KOLBE: http://www.b4x.com/android/forum/threads/ioio-board-library.8942/page-6#post-90731
 

Attachments

  • IOIOBT1.5.zip
    102.3 KB · Views: 2,196
  • IOIO1.4.zip
    100.5 KB · Views: 1,658
Last edited by a moderator:

kolbe

Active Member
Licensed User
Longtime User
Hello all,

For a new project, I need 40 digital outputs and 80 digital inputs. My idea is to have 3 IOIO boards attached to a tablet. I could find somewhere on the net it should be possible to work with multiple IOIO boards together. Has anyone experience with multiple IOIO boards connected to 1 tablet? And if yes, do you think or know it is possible over USB, using a USB HUB ? My customer is afraid of connecting over BT and realy wants a wired connection, no radio.
Has anyone got experience to share about this ?
Thanks a lot for your kind reply !

I would go this route or this.

I know the multi ioio BT works. I've never tried through usb. You're device would have to be the host and also support usb hubs.
 

Cableguy

Expert
Licensed User
Longtime User
If all the inputs and Outputs are digital, why not go "single IO-IO board; Multiplexed Inputs and Outputs"?
I am almost sure that the latency wouldn't be that different, plus cost effective and even scalable
 

Jiemde

Member
Licensed User
Longtime User
image.jpg
[/url][/IMG] The picture below show original IOIO default bluetooth name
image.png


image.jpg
[/url][/IMG] The picture below show modifed IOIO bluetooth name

image.png


i just modified, the name of IOIO bluetooth
the existing library is search for IOIO (original name)

can you make an update, so that the library can work with any IOIO bluetooth name


How did you modify the IOIO bluetooth name ?
 

Reyes5

Member
Licensed User
Longtime User
I would go this route or this.

I know the multi ioio BT works. I've never tried through usb. You're device would have to be the host and also support usb hubs.

Where can I find the latest library for USB (open accessories) connection and the latest workbench example ?
I find many of them, but I think we are already at lib V4 ?
Please let me know ?
Thanks !
 

JTKEK

Member
Licensed User
Longtime User
How did you modify the IOIO bluetooth name ?

i modify from ioio firmware in ytai website
if you modify ioio bluetooth name, your not able to use this library unless you edit the library so that it will find the name that you edit
 

Cableguy

Expert
Licensed User
Longtime User
Hi guys,

Am I right in assuming that a b4j app can communicate and control an ioio board through Bluetooth!?

If so, what are the steps/libs needed to make it work?
 
Last edited:

Roycefer

Well-Known Member
Licensed User
Longtime User
As far as I know, not yet. kolbe had said something about porting the IOIO library to B4J but it hasn't materialized.
 

rosippc64a

Active Member
Licensed User
Longtime User
Hi Guys!
I use a ioio hardware with ioio 1.4 lib. ioiolib 3.20
Hardware SPRK0020
Bootloader ioio0401
Firmware ioio0500
All works ok.
When I want to move to ioio 2.05 lib (same hw), and I want to connect yoyo.connect(...), it cant' connect, with any connection mode.
Nothing special, just the simpleioio program.
Do I need the newer ioiolib 4.00, what mentioned in library manual? Where can I get this?
Is there any special thing to use ioio 2.05 lib?
Thanks in advance
Steve

the 1.9 ioio lib works.
 
Last edited:

Reyes5

Member
Licensed User
Longtime User
Hi Kolbe, Hi all, does somebody know the trick to get it working on 'older' devices ?
I have the latest workbench app installed on both a Nexus 5 (2013) running Android 6 AND on a tablet "CONNECT 7 Pro" running Android 4.4.2.
I want to use "open accessories" mode. Developper options and USB debug are OFF in both devices.
When I connect a powered IOIO to the devices, both ask me what app to run, so both recognise there is an open accessories attached.
I choose for the Workbench.
In Workbench, I choose ACCESSORY mode and press the (Dis)connect button.
The NEXUS does it perfect and shows me versions etc.
The 4.4.2 tablet does several attempts but always returns "connection lost"
My question : is there anything else to be installed or changed on the 4.4.2 tablet (or in the workbench app) to get it working ?
(PS, in ADB it can work, but I need accessory mode to charge the tablet ...)
It would great if somebody knew a sollution !
Thanks, Reyes.
 

Cableguy

Expert
Licensed User
Longtime User
If i'm not mistaken, open accessory is hardware dependant and only available on devices capable of OTG.
 
Last edited:

Cableguy

Expert
Licensed User
Longtime User
Well, if you're not afraid of bricking it, try a custom rom to see it it solves the issue.
 

Reyes5

Member
Licensed User
Longtime User
Yep, I know, but bad luck, our customer does not want rooted devices (security issue) ... thanks anyhow
 

Reyes5

Member
Licensed User
Longtime User
Very strange, it works now! but not always ... when I first connect the ioio to my nexus, disconnect from the nexus and connect to the tablet again, sometimes it connects and i can use the workbench (led on/off) . I have the feeling it is a timing issue, I think I wll rework the timing in the workbench, allowing more time for init and handshake.
Keep you posted.
 

Reyes5

Member
Licensed User
Longtime User
After upgrading the IOIO board to firmware 506 it seems to connect to all my android devices (4.0 , 4.4.2 , 5.1 and 6 ) without troubles ...
506 is a CANDIDATE release ... hope not to find other surprises now.
 

Cableguy

Expert
Licensed User
Longtime User
I need to upgrade my forward!!!
Does it bring any other changes?
 
Top