Confuision (again) re SpenceKonde ATTinyCore status

I'm an infrequent github user (I find it hard going) but posted yesterday here:

Maybe should have used the Discussion tab, not Issues, but both are pretty quiet. No replies yet.

Meanwhile I wonder if one of the gurus here could offer any advice please? For convenience here's my post, which was in response to a comment from another user:

"I downloaded and extracted the zip. I now have a folder named ATTinyCore-1.5.2 and within it a folder of the same name. which of the two do I copy to Documents/Arduino/hardware?"

I'm confused about this too (as I usually am whenever I trouble-shoot issues with this core.) How/where did you get a recent folder called ATTinyCore-1.5.2?

The lowest extracted subfolder from the latest ZIP download I've just done from

is named 'ATTinyCore-2.0.0-devThis-is-the-head-submit-PRs-against-this' . The folder's properties identifies it as version 2.0.0. Did you/others just rename it to the much shorter and more sensible name?

Adding to my confusion (probably down to me - not rare!) is that this folder has a size of 31,774,918 bytes, but an earlier version
(April) of exactly the same name is 63,545,738, suspiciously close to twice the size.

Given the license matter, can one of the experts also advise if I should still have this, not the original, in Preferences please?
https://descartes.net/package_drazzy.com_index.json

Terry, hobbyist end user

Hi @Terrypin.

You get it by downloading the "Source code (zip)" asset from the 1.5.2 release of the ATTinyCore boards platform:

The reason your folder has the -2.0.0-devThis-is-the-head-submit-PRs-against-this prefix is because you downloaded the ZIP file for the repository from the tip of the repository's default 2.0.0-devThis-is-the-head-submit-PRs-against-this branch. It is appropriate to download that version of the repository if you are contributing to the project's development through beta testing. But for normal usage it is generally best to use the release version of the platform because the release version is typically more stable than the beta versions.

No. You have the explanation above.

GitHub automatically appends the Git ref to the folder name of the downloaded archive. It would be misleading to change the suffix from -2.0.0-devThis-is-the-head-submit-PRs-against-this to -1.5.2 because these are two different versions of the platform.

The bulk of the files in the platform are the bootloader binaries. The platform has many different bootloader binaries because there are a huge number of possible relevant board configurations when you multiply the list of supported microcontrollers by each of the relevant custom board options. Every time a new microcontroller or custom board option is added, a large number of additional bootloader binaries must also be added to the platform. Likewise, if some optimization is made to the platform's board configurations, a large number of bootloader binaries can be removed.

It is likely that the difference in sizes is simply caused by some change to the board options between the two versions. You should not worrry about the difference unless you find that the platform is not working as expected.

"License matter" is not an accurate description of the problem. The problem is an expired SSL certificate:

Unfortunately the expired certificate is still a problem at the time we are having this discussion so it is not possible to use the canonical Boards Manager URL as specified in the ATTinyCore installation instructions.

I haven't tested the workaround URL, but if it is working for you, then by all means continue to use it until @DrAzzy/SpenceKonde is able to renew the certificate.

Did you install the package already? If yes, I would (for now) just remove the URL from the additional board URL still such time that the issue is solved.

There is another topic here: Problem with drazzy.com - #14 by wes2859

Thanks a bunch, appreciate that characteristically thorough explanation. Clears up much of what's been eluding me. But I'm confused by the introduction of 'Micronuceus' to my thinking. Why when/should I need that? Is it quite separate from the 'ATTinyCore'?

For context, I'm working with cheap ATTiny85 chips and (after considerable trial & error) these are my choices to upload a program to one with a Uno:

(After doing so I can include the Servo_ATTinyCore.h library, replacing the 'regular' servo.h, which doesn't work).

This is currently working OK. That's still with this alternative/temporary URL in Preferences.

https://descartes.net/package_drazzy.com_index.json

Perhaps this is out of date - how/when would I know? I read in github about other
'work arounds', but I'm not risking experiment.

Thanks. Yes, I've had the ATTinyCore package installed for a long time. I raised a similar issue arising from the earlier expiry in
https://github.com/SpenceKonde/ATTinyCore/issues/861

Just posted a more detailed reply to @ptillisch. I still have the temporary 'Descartes' URL, which is working reasonably well. Considering a post somewhere to see if anyone else doing similar work using the Servo_ATTinyCore.h library.

If you are using a board that makes a direct connection between the primary microcontroller and the USB cable, and thus uses V-USB for USB communication with the computer.

The most common such board is the "Digispark":

http://digistump.com/products/1

Another common board is the "MH-Tiny".

No.

If you don't have it connected directly to the USB cable, then don't use the ATTinyCore "Micronucleus" option. Just ignore the platform's Micronucleus support and everything will be fine.

The URL is only used if you install the platform via Boards Manager. I see that you did a manual installation of the platform. The URL is completely irrelevant when you do a manual installation of the platform.

Now that's the sort of plain advice I like! At least until I ever get around to using Digispark.

I think I did both at some stage, back in Jan/Feb. Now deleted that URL. Maybe some/all of the others I have are redundant too; what's the immediate evidence of a manual install?

There is an "(in sketchbook)" suffix after the platform name in Arduino IDE's Tools > Board menu:

1 Like

I wanted to circle back to say that I did test it later and found that it has the same problem.

That URL was created as a workaround for the problem of an expired SSL certificate on drazzy.com, where the package index is hosted. At that time, the only thing required to work around the problem was to host the package index JSON file on a website with a functional SSL certificate.

However, this time we have another problem, which is that the SSL certificate is also expired on another one of DrAzzy's websites: azduino.com. The archive files for the micronucleus tool dependency of ATTinyCore is hosted on that website, so even though Arduino IDE can download the JSON file from the Boards Manager URL, the installation of ATTinyCore still fails once it tries to install micronucleus, with an error like:

ATTinyCore:micronucleus@2.5-azd1b Get "https://azduino.com/bin/micronucleus/micronucleus-cli-2.5-azd1b-x86_64-mingw32.zip": tls: failed to verify certificate: x509: certificate has expired or is not yet valid:
Error during install: Get "https://azduino.com/bin/micronucleus/micronucleus-cli-2.5-azd1b-x86_64-mingw32.zip": tls: failed to verify certificate: x509: certificate has expired or is not yet valid:

This is the same whether you use the official Boards Manager URL or the descartes.net URL because both of them reference the same URLs for the micronucleus archive files hosted on azduino.com:

{
  "name": "micronucleus",
  "version": "2.5-azd1b",
  "systems": [
    {
      "size": "1166778",
      "checksum": "SHA-256:db8f92750d1c94669ba5d8b46e72d27d28ec927a19344cf42b7ae7bd1b5c30c9",
      "host": "x86_64-mingw32",
      "archiveFileName": "micronucleus-cli-2.5-azd1b-x86_64-mingw32.zip",
      "url": "https://azduino.com/bin/micronucleus/micronucleus-cli-2.5-azd1b-x86_64-mingw32.zip"
    },
    {
      "size": "1159717",
      "checksum": "SHA-256:5e795fb90598ea7a0e917965fc9bc6d536c405df50d2735f12b2fb8710bcec54",
      "host": "i686-mingw32",
      "archiveFileName": "micronucleus-cli-2.5-azd1b-i686-mingw32.zip",
      "url": "https://azduino.com/bin/micronucleus/micronucleus-cli-2.5-azd1b-i686-mingw32.zip"
    },
    {
      "size": "325836",
      "checksum": "SHA-256:c557d5769125f94b82ec2c30b1b68c9fb8a140e06b141aafb794907022f0bf56",
      "host": "aarch64-linux-gnu",
      "archiveFileName": "micronucleus-cli-2.5-azd1-aarch64-linux-gnu.tar.bz2",
      "url": "https://azduino.com/bin/micronucleus/micronucleus-cli-2.5-azd1-aarch64-linux-gnu.tar.bz2"
    },
    {
      "size": "276745",
      "checksum": "SHA-256:cedf56ab3f2fdaa2ad2e55de26d73b41aa03c3ac9698ab3b719ef86d76487084",
      "host": "arm-linux-gnueabihf",
      "archiveFileName": "micronucleus-cli-2.5-azd1-arm-linux-gnueabihf.tar.bz2",
      "url": "https://azduino.com/bin/micronucleus/micronucleus-cli-2.5-azd1-arm-linux-gnueabihf.tar.bz2"
    },
    {
      "size": "372733",
      "checksum": "SHA-256:daea74a05671b14f619763dc21168103c9837c56ba84aa88c329979a1eac8bd7",
      "host": "i686-linux-gnu",
      "archiveFileName": "micronucleus-cli-2.5-azd1-i686-linux-gnu.tar.bz2",
      "url": "https://azduino.com/bin/micronucleus/micronucleus-cli-2.5-azd1-i686-linux-gnu.tar.bz2"
    },
    {
      "size": "51607",
      "checksum": "SHA-256:cf0d268409ba8a5121225aceb5d8a562915b85bc96c270db5fb776a983355d51",
      "host": "x86_64-apple-darwin",
      "archiveFileName": "micronucleus-cli-2.5-azd1-x86_64-apple-darwin.tar.bz2",
      "url": "https://azduino.com/bin/micronucleus/micronucleus-cli-2.5-azd1-x86_64-apple-darwin.tar.bz2"
    },
    {
      "size": "431381",
      "checksum": "SHA-256:1a9efa50e23fec004bf169579978882db6079b76c52da9188d149d270ded432c",
      "host": "x86_64-linux-gnu",
      "archiveFileName": "micronucleus-cli-2.5-azd1-x86_64-linux-gnu.tar.bz2",
      "url": "https://azduino.com/bin/micronucleus/micronucleus-cli-2.5-azd1-x86_64-linux-gnu.tar.bz2"
    }
  ]
}

Since it seems like we might have a while to wait before the problem with azduino.com is fixed, I went ahead and published a provisional Boards Manager URL that will allow the Arduino community to easily install this platform until such time as SpenceKonde/DrAzzy can get the problem with the website fixed.

I'll provide instructions for using that workaround to install ATTinyCore:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Enter the following URL into the "Additional Boards Manager URLs" field in the "Preferences" dialog:
    https://raw.githubusercontent.com/per1234/ReleaseScripts/refs/heads/provisional-package-index/package_drazzy.com_index.json
    
    :exclamation: If there are already Boards Manager URLs in the field, separate them with commas.
  3. Click the "OK" button.
    The "Preferences" dialog will close.
  4. You will now see a "Downloading index: ..." notification at the bottom right corner of the IDE window. Wait for that notification to close.
  5. Select Tools > Board > Boards Manager... from the Arduino IDE menus to open the "Boards Manager" view in the left side panel.
  6. Scroll down through the list of boards platforms until you see the "ATTinyCore" entry.
  7. Click the "INSTALL" button at the bottom of the entry.
  8. Wait for the installation process to finish, as indicated by a notification at the bottom right corner of the Arduino IDE window:

    Successfully installed platform ...

You should now see the boards of the installed platform under the Tools > Board menu in Arduino IDE.


:exclamation: Please note that the Boards Manager URL I provided in step (2) of the instructions above is only intended to be used as a temporary workaround for the problem with the official Boards Manager URL for ATTinyCore.

You should monitor the bug report at https://drazzy.com/package_drazzy.com_index.json - SSL-certificate expired 3 days ago · Issue #885 · SpenceKonde/ATTinyCore · GitHub and once SpenceKonde reports that the problem is fixed, change the URL in your Arduino IDE preferences to the official URL, which is specified in the ATTinyCore documentation:

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