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

I read this morning that the certificate underpinning Spencer Konde’s extensive TinyCore development has once again expired. Pasted below the latest two posts in the Issues thread, as I get security messages when browsing in that section.

Much of this is over my head. But it seems that several practical suggestions have been made to stabilise this important foundation.

As a hobbyist, I would for example like to be confident that my handful of atTiny85 chip projects won’t suddenly stop working!

Terry, UK.
—-

jvasileff
8 hours ago
It is, again, expired.

Image
kiwi64ajs commented 6 hours ago
@kiwi64ajs
kiwi64ajs
6 hours ago via email
Try using: https://raw.githubusercontent.com/semir-t/attinycore/refs/heads/main/package_drazzy.com_index.json

I ran into this today. Looking at the github readme, the board manager JSON is at an HTTP (not HTTPS) address and that loads in a browser fine, but I expect the server has an automatic redirect that the board manager is following because HTTPS is "preferred". I used the workaround of saving the JSON locally and using a file path in the board manager. The board manager in 1.8.19 still whinged about running the post install script -- I don't know what it would have done, but the 1.5.2 ATTiny core built and ran my ATTiny85 project.

Thanks. I'm putting off trying an upload to one of my Tiny85 chip projects until I need to. Your post on file for ref.

This time around, the situation is different than it was at the last time we talking here. Previously, the problem was that the SSL certificate was expired for azduino.com, where some of the archive files for the platform tool dependencies are hosted.

This time, it is the certificate for drazzy.com that is expired. drazzy.com is only used to host the package index JSON file, and nothing else. This means the workaround is more straightforward this time. The workaround is to change the package index URL in Arduino IDE's "Additional Boards Manager URLs" preference to an alternative source for that same file. I recommend using this URL:

https://raw.githubusercontent.com/SpenceKonde/ReleaseScripts/refs/heads/master/package_drazzy.com_index.json

This is the actual source file, from DrAzzy/SpenceKonde's GitHub repository where the file is developed (it is uploaded from there to drazzy.com). So this is the most official alternative URL and you can be confident that it is trustworthy and up to date, which is less certain for alternative URLs for files hosted by community members.

3 Likes

Thank you!

For my future reference:
Sat 15 Feb 2025. Used it to replace my previous version, which was working reliably last time I uploaded to a Tiny85 chip a week or two ago:
https://raw.githubusercontent.com/per1234/ReleaseScripts/refs/heads/provisional-package-index/package_drazzy.com_index.json

Not yet tested your new one but have every confidence it will work fine.
:slightly_smiling_face:

1 Like

The thread of a similar title I started four months ago is marked Solved.

Q1: Is the conclusion in post #13 of that previous thread still the case?
"https://raw.githubusercontent.com/SpenceKonde/ReleaseScripts/refs/heads/master/package_drazzy.com_index.json

This is the actual source file, from DrAzzy/SpenceKonde's GitHub repository where the file is developed (it is uploaded from there to drazzy.com). So this is the most official alternative URL and you can be confident that it is trustworthy and up to date, which is less certain for alternative URLs for files hosted by community members."

After much trouble-shooting yesterday which resulted in their loss, I seem to have uploads for my Tiny85 chips and Tiny88 boards working again. But the URL entry I have in Preferences is:

https://raw.githubusercontent.com/per1234/ReleaseScripts/refs/heads/provisional-package-index/package_drazzy.com_index.json

Q2: Is the core in my screenshot called 'ATTinyCore' or 'ATTinyCore Universal'?

Q3: Presumably it is not the core now specified in my Preferences URL?

Q4: Is my Preferences URL the current/latest version of the ATtinyCore?

Q5: Is the license renewal issue that led to the extremely helpful temporary URLs now behind us?

Your two or more topics on the same or similar subject have been merged.

Please do not duplicate your questions as doing so wastes the time and effort of the volunteers trying to help you as they are then answering the same thing in different places.

Please create one topic only for your question and choose the forum category carefully. If you have multiple questions about the same project then please ask your questions in the one topic as the answers to one question provide useful context for the others, and also you won’t have to keep explaining your project repeatedly.

Repeated duplicate posting could result in a temporary or permanent ban from the forum.

Could you take a few moments to Learn How To Use The Forum

It will help you get the best out of the forum in the future.

Thank you.

I think you probably know that I'm familiar enough with that.

The guidance at the end of that Solved thread says:
"If you have an unrelated issue, please start a new topic instead."

I raised FOUR new questions marked Q2, Q3, Q4 and Q5.

I'll agree its arguable about whether they are 'unrelated'. But IMO continuing that old and complex thread would have been confusing.

Hi @Terrypin.

No. The problem with the SSL certificate has been fixed. Use the official URL from the documentation:

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

The name you will see in Arduino IDE is "ATTinyCore":

The reason it says "ATTinyCore Universal" in the readme is because DrAzzy originally maintained two separate platforms:

  • "ATTinyCore"
  • "ATtiny Modern"

They later merged the two into one platform named "ATTinyCore".

False.

Yes, but you should still change it to use the official URL now that the official URL is functional.

It is a certificate, not a license. It is fixed, for now at least. From my understanding, there is still the need for DrAzzy to periodically take manual action to renew it, and the action is as inconvenient as always. So it could well recur at some point in the future.

1 Like

Thanks, good news.

Understood; I'll change my URL to
http://drazzy.com/package_drazzy.com_index.json
I was hesitant as that page like several others on the SpenceKonde site is dated 2023.

(Note for anyone chosing manual installation: the 'core installation' link is broken.)

Thanks, understood.

1 Like

Thanks again for your usual definitive (and friendly) help. After some floundering - several edits - all is now working OK with the 'official' URL.

1 Like