BT not working on one IOIO, although right firmware installed

147 views
Skip to first unread message

Matthew Kelton

unread,
Jun 15, 2012, 11:46:44 AM6/15/12
to ioio-...@googlegroups.com
I have 4 IOIO modules.  3 are working fine with BT, but the fourth is not working.  I developed my app with the first two when the 3.01 + App V3.11 package was current.  I recently acquired two more boards from sparcfun.  I programmed both boards with 3.01 + App V3.11 and only one was working over BT, although both work over USB.  I tried 3.03 + App V3.23 with the same results.

On the faulty board, USB works with no problem.  The trim pot is on all the way, and the voltage level seems fine at 5V.  I had some issues getting the unit to pair, but even after it successfully paired, it would not function in the app (the app doesn't find the IOIO board).  I have tried my app along with Hello IOIO and the other IOIO example programs.  I only have one BT adapter, as the boards go to my customer who has the BT adapters for final use.  So, this BT module has worked in 3 out the 4 IOIO boards purchased.

The Blink 2 program is running on the board, so I know the IOIO board has the correct bootloader in it.

Any thoughts on what could be going on?

Thanks,
Matthew

Ed Orsini

unread,
Jun 15, 2012, 11:49:41 AM6/15/12
to ioio-...@googlegroups.com
Hi Mathew:

I am currently having issues with my board and using BT with it.  Not sure if I should just try another dongle.  The dongle that I purchased was the recommended BT 3.0 from deal extreme.

How were you able to pair it?  I am having trouble getting it to pair with my phone.

Thanks!

-- Ed

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/3CXGirSISe4J.
To post to this group, send email to ioio-...@googlegroups.com.
To unsubscribe from this group, send email to ioio-users+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/ioio-users?hl=en.

Matthew Kelton

unread,
Jun 15, 2012, 11:58:54 AM6/15/12
to ioio-...@googlegroups.com
Ed,

I honestly don't know what changed to get it to pair.  I did power cycle my phone, as the BT scanning seemed stuck.  After power cycle, it paired, but still didn't work when it came to the app itself.

The IOIO definitely seems picky when it comes to BT modules.  I tried two name brand modules that I could get in the local store and neither worked.  I swear one of them is the same BT module from Fry's that someone else could get to work.  I finially bit the bullet and waited the month for dealextreme to ship me the BT 2.0 modules and those worked.  I had an old BT 1.1 module that also worked.  I kept one of the dealextreme modules and sent the other two to my customer.

I don't know what is making the IOIO so sensitive to BT modules.

Matthew

Ytai Ben-Tsvi

unread,
Jun 16, 2012, 2:27:09 AM6/16/12
to ioio-...@googlegroups.com
Matthew,
The fact that 4 seemingly identical IOIOs behave differently with the same dongle gave me an idea as for what might be wrong.
The IOIOs are using an internal oscillator of the PIC as clock. It is factory-calibrated and should have the required precision USB specifies (+-0.25%), but I checked one of mine and got a deviation of 0.3%. The deviation is also slightly temperature dependent, but could be tuned to meet the specs for under a reasonable temperature range. After tuning the oscillator I managed to get mine to a 0.07% deviation.
To test my hypothesis, will you be willing to run a similar test (I'll provide you a modified firmware and Android app, which will let you measure your oscillator frequency)? After that, if indeed the one problematic IOIO is found to be deviating more than the others, I can try to provide you with a compensated firmware, to see if that's indeed what made your dongle unhappy.


Matthew

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/ixsER1vlK_sJ.

Matthew Kelton

unread,
Jun 19, 2012, 10:45:05 AM6/19/12
to ioio-...@googlegroups.com
Ytai,

Sure, I can do what you ask.

Matthew
To unsubscribe from this group, send email to ioio-users+unsubscribe@googlegroups.com.

Ytai Ben-Tsvi

unread,
Jun 22, 2012, 2:15:37 AM6/22/12
to ioio-...@googlegroups.com
A little fix. Use this apk instead.

On Thu, Jun 21, 2012 at 10:53 PM, Ytai Ben-Tsvi <yta...@gmail.com> wrote:
OK!
Sorry for taking a little long on this, I've been a bit busy.
Here's what we're gonna do:
At first stage, we're going to test your oscillator calibration (for the "bad" IOIO and for one of the "good" IOIOs, for comparison).
If we find a deviation, I'll send you a tuned firmware to test.
  1. Use one of the good IOIOs as a programmer / tester.
  2. Use this IOIO and IOIOManager (programmer screen) to install the provided ioioimg. I also included hex files in case you prefer to use a programmer. If programming was successful, the programmed IOIO sould start blinking at a rate of 1 sec per-toggle.
  3. Install the provided .apk on your Android.
  4. Connect the programmer IOIO to the target IOIO with pin 38 <-> pin 38 (if you used it as a programmer, you don't need to change anything).
  5. The target IOIO "blinks" pin 38 at the same rate as the LED. The programmer IOIO's app that I sent measures the average rate of the pulses using the Android clock (which is assumed to be accurate).
  6. Run the app. Preferably use OpenAccessory, but if you can't, ADB will do. The programmer IOIO will start blinking together with the target. Let is stand for a while, until the reading stabilizes. You can try to exit the app and re-enter to verify that it's consistent
  7. If the number is not within +-0.25%, then the USB spec is violated, and there's some chance calibration will help.
  8. Send me your results and we'll proceed.


To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/nPVtpQDuBCMJ.

To post to this group, send email to ioio-...@googlegroups.com.
To unsubscribe from this group, send email to ioio-users+...@googlegroups.com.
OscTuner.apk

Matthew Kelton

unread,
Jun 22, 2012, 2:02:04 PM6/22/12
to ioio-...@googlegroups.com
Ytai,

Thanks for your help.  Unfortunately, I had to send the good IOIOs to my customer yesterday, so I only have the one "bad" IOIO, so have no way to program the board anymore.  If my customer comes back with additional boards for me to program, I will come back to this.

Is the oscillator come out of the PIC and available for probing? I do have a scope I can use to measure the clock if that would help.

Matthew

Ytai Ben-Tsvi

unread,
Jun 22, 2012, 3:33:42 PM6/22/12
to ioio-...@googlegroups.com

It's not, but you can set a high rate pwm on one of the pins and measure.

To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/tkqFjclry8YJ.

To post to this group, send email to ioio-...@googlegroups.com.
To unsubscribe from this group, send email to ioio-users+...@googlegroups.com.

usedWEB

unread,
Jul 11, 2012, 1:27:26 PM7/11/12
to ioio-...@googlegroups.com
Hi Matt:

Any new findings?  I still have not successfully paired my BT 3.0 dongle (the IOIO device never gets listed when I scan for devices).  I have been playing with the USB cable.

Should I try the BT 2.0 recommended dongle or is there any additional tests that I can work through?

Thanks,

-- Ed


On Saturday, June 16, 2012 2:27:09 AM UTC-4, Ytai wrote:
To unsubscribe from this group, send email to ioio-users+unsubscribe@googlegroups.com.

Ytai Ben-Tsvi

unread,
Jan 8, 2013, 11:19:06 PM1/8/13
to ioio-...@googlegroups.com
Please note the subject of this thread. It would have been better to open a new thread for this question.
I chose not to use a crystal for the sake of reducing component count and earning two more I/O pins.


On Sat, Jan 5, 2013 at 2:25 PM, Ameo <kamon....@gmail.com> wrote:
Hi ,I'm begining to use ioio board. i confused for circuit pic24f between microchip adk demo and ioio board,why microchip adk use osc but ioio not use (I think ioio board use FRCPLL 96MHz for USB?).

--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/iH6ZwhTVqNgJ.

To post to this group, send email to ioio-...@googlegroups.com.
To unsubscribe from this group, send email to ioio-users+...@googlegroups.com.

zhiyong li

unread,
Mar 28, 2016, 4:49:00 PM3/28/16
to ioio-users
Sorry to dig out this old thread:)

My related question is: if an external crystal is needed/preferred, how do we implement it? In the latest version, BOOT is connected to OSCI pin, so I guess we need to reroute it to some other pin. Also do we need to change the firmware or application as you call it? 

Please advise. Thanks.

Ytai Ben-Tsvi

unread,
Mar 29, 2016, 12:45:03 PM3/29/16
to ioio-...@googlegroups.com
First, this thread was started WRT the first version of the IOIO. The current IOIO-OTG goes through a calibration process, which gets the oscillator to within about 0.025% (250ppm) of nominal IIRC. While this is not as precise as a crystal, it is pretty precise, definitely within USB specs.

If you still want an oscillator, it would require firmware changes, mostly in the path of board and platform identification all the way from the bootloader, app, through the client software, then some definitions on what pins do what on this new platform. It is not very complicated, but you'd need to understand what you're doing to get it right.

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.
Reply all
Reply to author
Forward
0 new messages