My TinyTiles have arrived! Firmware Bootloader Failing!

I ordered a couple TinyTiles from MCM Electronics and received them yesterday (2/15/2017)!!!

Now the fun begins. I was excited to load up my Arduino IDE (1.6.10) on my Windows 8.1 laptop.

Under "File" - > "Preferences" -> "Additional Boards Manager URLs":

https://adafruit.github.io/arduino-board-index/package_adafruit_index.json
http://arduino.esp8266.com/stable/package_esp8266com_index.json
https://github.com/01org/corelibs-arduino101/releases/download/2.0.0/package_2.0.0-rc4_index.json

I have closed my IDE, re-opened it and checked updates in the Board Manager - everything looks updated (but now i have two "Intel Curie Boards" listed.
Intel Curie Boards by Intel version 1.0.7 INSTALLED
and
Intel Curie Boards (Test) by Intel version 2.0.0 INSTALLED

I select "Tools" -> "Board:Arduino/Genuino 101" == BTW, there are two of those now, so I'm selecting the second one
I select "Tools" -> "Programmer: Arduino/Genuino 101 Firmware Updater" == BTW, there are two of these as well -- I'm selecting the bottom one
I then select "Tools" -> "Burn Bootloader"

C:\Users\birchtree\AppData\Local\Arduino15\packages\Intel-Test\tools\flashpack\2.0.0/flash_dfu.bat

Reset the board before proceeding...
find: 'sensor': No such file or directory
find: 'sensor': No such file or directory
find: 'sensor': No such file or directory
find: 'sensor': No such file or directory

I'm trying to NOT uninstall a bunch of things. I'd like to try and get this working without all of that work. Seems like it should be possible. Any suggestions?

BTW: The reason for all of this, is when I load the Arduino/Genuino 101 Sample Sketch "CurieIMU -> Accelerometer" I get this result:

Starting download script...
Args to shell: [C:\Users\birchtree\AppData\Local\Arduino15\packages\Intel\tools\arduino101load\1.6.9+1.28/x86/bin C:\Users\birchtree\AppData\Local\Temp\build556afad2c684a8400d7ad8bbe2abe4ad.tmp/Accelerometer.ino.bin COM5 verbose ATP1BLE000-1541C5635 141312]
Serial Port: COM5
BIN FILE C:\Users\birchtree\AppData\Local\Temp\build556afad2c684a8400d7ad8bbe2abe4ad.tmp/Accelerometer.ino.bin
Waiting for device...
Device found!
Verifying BLE version: ATP1BLE000-1541C5635
!! BLE firmware version is not in sync with CurieBLE library !!

  • Set Programmer to "Arduino/Genuino 101 Firmware Updater"
  • Update it using "Burn Bootloader" menu
    An error occurred while uploading the sketch

I've checked the CurieBLE library by Emutex and have Version 1.0.0 Installed, with on option to update it.

Thanks folks -- look forward to your advice...
birchtree
:o :slight_smile:

@ birchtree123

You are currently in the Arduino 101 section and the tile isnt quite a 101 and seems to be made by Element14 NOT arduino.

You may be better off on the forum or web site from where you purchased it as they will have far more info on it than here especially seeing as its quite a new product.

I presume you have a decent JTAG unit to program it as it seems that's what they are using to update the firmware initially.

Although I see Element14 don't have much for it either.
That's sometimes the issue with new products But Arduino is a little better in that respect.

Thanks for the reply. I'll go digging on the Intel website too. I did find the webpage: tinyTILE Board - Intel Software Zone

It did say I should have a couple of items (of course, I don't - but will order now...):

Thanks for responding,

Regards,

birchtree123

Hmmm they look a tad expensive.

Have a wander around Ebay or Amazon you will I think get lucky and probably save some cash too.

Just throw "JTAG" into a search on either of those ... just double check any cables have the correct spacings.

birchtree123,

Just received my tinyTILE from MCM as well. It has been a long wait!

I am using Arduino IDE 1.6.11 with BSP 1.0.7.

Following the instructions on the enclosed packet, generated a bunch of orange error messages in the bottom window. However it also stated that I needed to choose the:

Arduino/Genuino 101 Firmware Updater as the programmer under the Tools tab.

I also was instructed to select Burn Bootloader i=under the same Tools tab.

After doing this I was able to upload the accelerometer sketch, the battery level monitor sketch and my own imu/ble sketch example code from my projects:

and

So I can confirm that I am getting accelerometry reading over BLE as well.

I wish you luck!

As this board is a "miniaturized" 101 I can't think of a better place to ask questions. My plans are to develop with the 101 then deploy with the tinyTILE!

Make links not silos!

G

UPDATE

After continuing to research - this appears to be a problem with my laptop and the dfu-util.exe

Here is what I think happens when you select "Tools" -> "Programmer: "Arduino/Genuino 101 Firmware Updater"
and then "Burn Bootloader"

  • This will launch the script (.bat or .sh depending on your OS) located in
    C:\Users\myusername\AppData\Local\Arduino15\packages\Intel\tools\flashpack\1.0.0\flash_dfu.bat.
  • This script creates some arguments to pass to the program
    C:\Users\myusername\AppData\Local\Arduino15\packages\Intel\tools\flashpack\1.0.0\bin\dfu-util.exe
  • Turns out, this programs can be the source of all evil if you are having problems getting your firmware flashed. This program will cause your device to reset - and when that happens, it will scan the return IO, looking for device information that only appears during the first few seconds of device reset, which looks like the below (you can do this manually by hitting on the command while simultaneously pressing the reset button on the device :
C:\Users\myusername\AppData\Local\Arduino15\packages\Intel\tools\flashpack\1.0.0\bin>dfu-util.exe --list
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Found DFU: [8087:0aba] ver=8087, devnum=20, cfg=1, intf=0, path="2-2", alt=8, name="ble_core", serial="56140100XXXXXXXX"
Found DFU: [8087:0aba] ver=8087, devnum=20, cfg=1, intf=0, path="2-2", alt=7, name="sensor_core", serial="56140100XXXXXXX"
Found DFU: [8087:0aba] ver=8087, devnum=20, cfg=1, intf=0, path="2-2", alt=6, name="logs", serial="56140100XXXXXXX"
Found DFU: [8087:0aba] ver=8087, devnum=20, cfg=1, intf=0, path="2-2", alt=5, name="events", serial="56140100XXXXXXX"
Found DFU: [8087:0aba] ver=8087, devnum=20, cfg=1, intf=0, path="2-2", alt=4, name="panic", serial="56140100XXXXXXX"
Found DFU: [8087:0aba] ver=8087, devnum=20, cfg=1, intf=0, path="2-2", alt=3, name="config", serial="56140100XXXXXXX"
Found DFU: [8087:0aba] ver=8087, devnum=20, cfg=1, intf=0, path="2-2", alt=2, name="x86_app", serial="56140100XXXXXXX"
Found DFU: [8087:0aba] ver=8087, devnum=20, cfg=1, intf=0, path="2-2", alt=1, name="x86_boot", serial="56140100XXXXXXX"

Found DFU: [8087:0aba] ver=8087, devnum=20, cfg=1, intf=0, path="2-2", alt=0, name="x86_rom", serial="56140100XXXXXXX"

C:\Users\myusername\AppData\Local\Arduino15\packages\Intel\tools\flashpack\1.0.0\bin>

What I discovered is...interesting...

  • I will occasionally get the proper output as above --
  • I will also more regularly see the output return at a rate of 300 baud - slowly scrolling onto the screen
  • Additionally, I will see returns of "UNKNOWN" on name occasionally too.
  • This crappy and unreliable output will cause the BAT file to spin forever (or times out after 5 minutes). It is looknig for a keyword "sensor" in the return data. I've tried resetting the device while this script is running and still don't get it bootstrapped. I think the return rate is so slow that the return strings are not actually parsed together for the script to read the word "sensor" and then wait for the serial number to be captured.

From this link: Uploading error: Cannot open DFU device 8087:0aba on PC [PARTLY SOLVED USB 3] - Arduino 101 - Arduino Forum i found people with similar issues. I've tried all of them.

My Solution
I tried taking the device to a completely separate system that has USB3.0 ports on the front of it - and got the device flashed immediately -- no issues, problems or anything -- super smooth. I then took the device back to my PITA laptop and was able to install the BLINK example - so now I have a working TinyTile.

I tried uninstalling and reinstalling all 1.6.8, 1.6.10, 1.6.13 as well as 1.8.1. Additionally -- I've tried those with BSP 1.0.6, 1.0.7 and the beta 2.0.0 - none of that foolishness made a difference. BTW- as part of those installs, I also blew away the AppData\local\Arduino15 directory too - so I didn't have any older programs laying around.

Hope this helps a few people...

Enjoy,
birchtree123

@ birchtree123

Thank you for adding your findings..
Is those that help much more than you know.