Dfu-util location missing trying to upload Science Journal firmware on Arduino101

Hello everyone.

I’m trying to set an Arduino101 board to communicate with Science Journal Android app.
I’m on a Windows 10 machine and I’m using VSCode.

I managed to compile it with some trouble but now I stuck on this problem.
It say I have to specify dfu-util location.

I tried a lot of workaround and Im trying to get some help on Arduino forum as well here:
Problem with dfu-util trying to upload on Arduino 101 - Arduino Education Kits / Arduino Science Journal & Arduino Science Kit - Arduino Forum

This is the Firmware I have to upload:
GitHub - google/science-journal-arduino: Science Journal Arduino Firmware

I can give you all the information I can but I dont know which ones could be of interest to the matter.
Hope someone can say something about it here, thanks in advance.

According to

it at least tries to get the dfu-util path.

What is the verbose upload invocation of the arduino101load program? Project tasks → Advanced → Verbose Upload.

There it is @maxgerhardt

I think you’re in a weird sitation here. You need the old platform version to compile correctly, but it doesn’t have the right uploader invocation that later versions have. Compare above code to the current

and it’s using a totally different argument passing style.

Well that wasn’t too hard. Just use the latest platform-intel_arc32 version but tell it to use the older Arduino core version. There are only 2.

So you get a good compile + upload.

Fixed platformio.ini:

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter, extra scripting
;   Upload options: custom port, speed and extra flags
;   Library options: dependencies, extra library storages
;
; Please visit documentation for the other options and examples
; http://docs.platformio.org/en/stable/projectconf.html

[env:blend]
platform = atmelavr
framework = arduino
board = blend
src_filter = +<blend/>
lib_deps =
	EEPROM
	SPI
	ble-sdk-arduino
	Nanopb@0.3.7
; force goosci for now, fix the circular dependency between GoosciBleGatt and goosci
build_flags = -I$PROJECT_DIR/lib/goosci
lib_ldf_mode = chain+

[env:101]
platform = intel_arc32@1.3.0
framework = arduino
board = genuino101
src_filter = +<arduino101/>
lib_deps = Nanopb@0.3.7
lib_ignore = GoosciBleGatt, BLEPeripheral
platform_packages = platformio/framework-arduinointel@1.10006.0

[env:mega2560]
platform = atmelavr
framework = arduino
board = megaatmega2560
src_filter = +<arduino/>
lib_deps =
	SPI
	BLEPeripheral@^0.3.1
lib_ignore = GoosciBleGatt

[env:uno]
platform = atmelavr
framework = arduino
board = uno
src_filter = +<arduino/>
lib_deps =
	SPI
	BLEPeripheral@^0.3.1
lib_ignore = GoosciBleGatt

Thanks a lot @maxgerhardt

If you read the post on Arduino forum you will see that I had to do exactly that to have it to at least compile.

In fact, the problem it gives me with the 1.0.3 is…

Strangely enough, arranging to give you a screenshot of the build process with 1.0.3, it gives me no more the old error afflicting me that brought me to force 1.0.2.
In fact, it used to exit build process failing to download the 1.0.2 package even having the new 1.0.3 already installed.

Anyway, now the build process looks like this.

It’s still using the wrong package version (framework-arduinointel @ 1.20002.0).

Are you 10000% sure you 1:1 copy-pasted my platformio.ini that has the critical platform_packages = platformio/framework-arduinointel@1.10006.0 line?

Wait…NO!

And wait, it compile…

Let me try to upload on the actual board!!

So first of all, thanks.
I will study your replies thoroughly to see what you did to have it to compile and upload.

But, I’m at the same point I was sadly.

As I wrote in the Arduino post, I already had it to compile with 1.0.2 and upload with that trick to switch the executables.
The problem was that my Science Journal app did not recognize the board.
And now the same.

You had it to build and upload in a correct way, but still nothing on the field.
The app still does not recognize the board.

Any other suggestion?
Ps. the Bluetooth module work on the board, I tested it with simple BLE sketch on Arduino IDE.

Did you put a BLE scanner app on your phone so that you can see if your board is advertising anything at all? There should be something called “Initial” the 555a0001-0aaa-467a-9538-01f0652c74e8 service available.

Just downloaded this BLE Scanner by Bluepixel (the most downloaded) but nothing.

But I dont know if it need some particular setting to work with the device.
I just dowloaded it, turned the bt ON on my device and pushed Scan.

Nothing.

And it 100% works in the Arduino IDE when you install that older Arduino core version for the 101 board?

What? The bluetooth module when I tried a BLE sketch on Arduino IDE?

Yes, it recognizes things around.
So, it seems to work.

If was this what you meant.

No, I meant when you flash the Google Science Journal Sketch on it via the Arduino IDE.

I never did that.

Via Arduino IDE I only flashed that little Scan.ino sketch to test the board.

But that should be possible if you used the older version of the Intel ARC32 platform (might have to downgrade via Tools->Board->Board Manger).

Just trying to figure out whether this is a PlatformIO fault.

If you are asking if I tried to downgrade Intel Curie Board package via Arduino IDE Board Manager THEN flash Via PlatformIO…yes I did. I downgrade it to 1.0.7 (from the current 2.0.6).

If you are asking if I tried to flash directly through Arduino IDE… no I didn’t because I know that its not possible (at least in a sort of semi automated fashion)
In fact, why they ask you explicitly to do that via PlatformIO IDE if that could have been done via Arduino IDE.

Ps. Anyway, you have to consider Im pretty noob on this matter (I think it is quite evident) so I may ignore a lot of things.

Thans again for all the time you are spending on the topic with me.