ATtiny programming from Arduino 2.3.2 HELP please

Can anyone help me with communication with an ATtiny85 Digispark Kickstarter board please?
I have downloaded the Digistump board manager URL and then gone into the Arduino board manager and installed the Digistump AVR board.
The error statement seems to truncate the files location path to :-

Error opening C:\Users\Da: No such file or directory

Questions:-
1). Is this normal or does the loader think this truncated description is the 'FULL' path?
2). Have I failed to install something to get the Arduino IDE to successfully upload my sketch to the ATtiny85.
PLEASE help.

When I plug the Kickstarter board into the PC's USB it doesn't appear to be recognised in 'Device Manager' although the PC makes the USB device connection sound.
Whilst the PC doesn't appear to recognise the Kickstarted board, when I try to compile and upload my sketch the OUTPUT pane reports "Device is found" once I plug it in when prompted.
However as you can see from the rest of the output, it would appear that the uploader can't find the compiled HEX file.
I searched my C: drive and found the compiled file which is where the output pane says it is.
(Other than there seems to be a :i added to the end of the path).

Sketch uses 1490 bytes (24%) of program storage space. Maximum is 6012 bytes.
Global variables use 18 bytes of dynamic memory.
"C:\Users\Dave Bullock\AppData\Local\Arduino15\packages\digistump\tools\micronucleus\2.0a4/launcher" -cdigispark --timeout 60 -Uflash:w:C:\Users\Dave Bullock\AppData\Local\Temp\arduino\sketches\E0FF79247298F9D6FBFBA050BD6A76D3/sketch_Backlight.ino.hex:i
Running Digispark Uploader...
Plug in device now... (will timeout in 60 seconds)

Please plug in the device ...
Press CTRL+C to terminate the program.
Device is found!
connecting: 16% complete
connecting: 22% complete
connecting: 28% complete
connecting: 33% complete
Device has firmware version 1.6
Available space for user applications: 6012 bytes
Suggested sleep time between sending pages: 8ms
Whole page count: 94 page size: 64
Erase function sleep duration: 752ms
Error opening C:\Users\Da: No such file or directory
Error loading or parsing hex file.

When I see a message like that where a path has been truncated it means memory is being walked on. Try re-arranging the boards files in the preferences. See if anything changes.

Your path has a "space" in it. Move/remove/rename the path

Hi @davebullock. The problem is that the developers of the "Digistump AVR Boards" platform did not wrap the argument in quotes in the upload command.

The bug was reported to Digistump here:

Unfortunately Digistump abandoned the project years ago so the bug will never be fixed.

It would be simple for you to apply the fix to the platform configuration file manually, However, I would recommend you instead use the community created "ATTinyCore" boards platform, which also supports the Digispark board. This platform is relatively actively maintained.

You can install the platform by following the instructions here (the procedure is similar to installing Digistump AVR Boards):

https://github.com/SpenceKonde/ATTinyCore/blob/v2.0.0-devThis-is-the-head-submit-PRs-against-this/Installation.md#boards-manager-installation

Hi, I followed the instructions and installed the alternative board manager and then clicked 'install' which all seemed to go smoothly. However I still get the same error opening:- but the path is truncated even further =

Error opening C:\Users\Da: No such file or directory

This was only going to be a 5 minute job, what am I doing wrong... as a very inexperienced Arduino person I must be missing something fundamental?
Why does the end of the path to the HEX file end in :i is this wrong as the 'i' doesn't appear in the true path?
Help please :frowning:

Sketch uses 1490 bytes (24%) of program storage space. Maximum is 6012 bytes.
Global variables use 18 bytes of dynamic memory.
"C:\Users\Dave Bullock\AppData\Local\Arduino15\packages\digistump\tools\micronucleus\2.0a4/launcher" -cdigispark --timeout 60 -Uflash:w:C:\Users\Dave Bullock\AppData\Local\Temp\arduino\sketches\E0FF79247298F9D6FBFBA050BD6A76D3/sketch_Backlight.ino.hex:i
Running Digispark Uploader...
Plug in device now... (will timeout in 60 seconds)

Please plug in the device ...
Press CTRL+C to terminate the program.
Device is found!
connecting: 16% complete
connecting: 22% complete
connecting: 28% complete
connecting: 33% complete
Device has firmware version 1.6
Available space for user applications: 6012 bytes
Suggested sleep time between sending pages: 8ms
Whole page count: 94 page size: 64
Erase function sleep duration: 752ms
Error opening C:\Users\Da: No such file or directory
Error loading or parsing hex file.

Hi, Not sure whereabouts you mean there is an 'erroneous' space, the path seems to match the 'real' path on my PC.
What am I missing?
Dave

The space between these two words will give compilers a difficult time.

It is because you still have the board from the "Digistump AVR Boards" platform installed.

Select Tools > Board > ATTinyCore > ATtiny85 (Micronucleus / Digispark) from the Arduino IDE menus and then try again.

It is not wrong. We can explain this to you, but I don't think that doing so would be productive at this point. For now, focus on getting a successful upload. After that, we can circle back to providing the explanation.

Only when the platform developers are too incompetent too wrap the path in quotes.

HI,
Thanks for your patience helping me with this issue.
I started this just wanting the smallest microcontroller that could PWM a LED backlight and found a complete project on Youtube (serves me right yes?)
I stupidly expected it to be a simple 'plug and play' operation.

So I have uninstalled the Digistump AVR board manager and checked the 'Install' button on the ATtiny85 (Micronucleus / Digispark) board manager.

The uploader now seems to be addressing the correct board?, but still seems to have an 'issue' with the path:-

Sketch uses 1050 bytes (15%) of program storage space. Maximum is 6586 bytes.
Global variables use 6 bytes (1%) of dynamic memory, leaving 506 bytes for local variables. Maximum is 512 bytes.
"C:\Users\Dave Bullock\AppData\Local\Arduino15\packages\ATTinyCore\tools\micronucleus\2.5-azd1b/micronucleus" --no-ansi --run --timeout 60 C:\Users\Dave Bullock\AppData\Local\Temp\arduino\sketches\E0FF79247298F9D6FBFBA050BD6A76D3/sketch_Backlight.ino.hex

Please plug in the device (will time out in 60 seconds) ...
Device is found!
connecting: 16% complete
connecting: 22% complete
connecting: 28% complete
connecting: 33% complete
Device has firmware version 1.6
Available space for user applications: 6012 bytes
Suggested sleep time between sending pages: 8ms
Whole page count: 94 page size: 64
Erase function sleep duration: 752ms
Error opening Bullock\AppData\Local\Temp\arduino\sketches\E0FF79247298F9D6FBFBA050BD6A76D3/sketch_Backlight.ino.hex: No such file or directory
Error loading or parsing hex file.
Failed uploading: uploading error: exit status 1

I don't understand this as the Arduino chooses the path to store the compiled HEX file and so I would have expected it would remember where it put it when asked to 'upload' it?
I have NO control where the Arduino IDE places the file and don't understand how/if I can change/edit this automatically generated path?
In the error log output, why does it truncate or omit parts of the path in the report, as you can see this time it's missing the 'Dave' (Bullock etc)off the start of the path

I need this explaining in words that a 4 year old can understand I guess...sigh!
Dave

I see now that unfortunately ATTinyCore has the same unquoted path bug as the "Digistump AVR Boards" platform.

I'll provide instructions you can follow to fix the bug in the platform.

  1. Select File > Quit (or Arduino > Quit Arduino for macOS users) from the Arduino IDE menus if it is running.
    All Arduino IDE windows will close.
  2. Open any text editor.
  3. Create a new file in the text editor.
  4. Add the following text to the new file:
    tools.micronucleus.upload.pattern="{cmd.path}" --no-ansi --run --timeout 60 "{build.path}/{build.project_name}.hex"
    
  5. Save the file with the name platform.local.txt at the following path:
    C:\Users\Dave Bullock\AppData\Local\Arduino15\packages\ATTinyCore\hardware\avr\1.5.2\platform.local.txt
    
  6. Start Arduino IDE.
    It is necessary to restart Arduino IDE so that it will recognize the change you made to the platform configuration.

Now try uploading to your Digispark board again, just as you did before. Hopefully this time it will be successful.

Are you using one of the following boards:?
DigisparkAttiny85Board
Figure-1: Original

Attiny85DevBoard
Figure-2: Colone

Does the board work with IDE 1.8.19?