Bot releases are hidden (Show)
Published by SpenceKonde over 3 years ago
Quick fix to get Micronucleus working on Windows again, because it was broken there, Let me know if this has caused any issues.
This fixes the path to the binaries, and no longer tries to use the old "launcher", and the windows files have been repackaged as .zip files, because the .tar.bz2 files, no matter how I nested the folders before tar-ing, came out wrong. Zip worked fine, and I was getting sick and tired of this crap.
Published by SpenceKonde over 3 years ago
It has become apparent that the changes I'm currently developing are quite substantial - and I've decided to release the changes currently checked into master as a 1.5.0 Interim version, as it has been faaaar too long since I did a release, and there are far too many small and medium improvements and fixes that you all are missing out on if you're using the board manager releases. I'd also like to make sure I get bug reports on the stuff going into 1.5.0 (I'm sure I've written some bugs), so it will be fixed for next release!
Before we go any farther, I want to give a huge thank you to @yumkam and @cburstedde for the great enhancements they contributed! Yumkam's pseudo-fast digital I/O improvements are a great middle-ground between Fast Digital I/O (which can't be done automatically without breaking compatibility, since stuff depends on them not being near-instantaneous - but that is not a universal free pass for slow, inefficient digital I/O. ) and the agonizingly slow stock implementations. @cburstedde's improvements are less visible, but no less important: millis() and micros() drift is now essentially as accurate as the clock, on all frequencies, even the wacky ones! These are probably two of the most visible changes in the release - and all I had to do is merge them :-)
Also, a lot of people have worked to get the Micronucleus usb upload tool rebuilt and available for all Arduino supported platforms; this should address issues installing via board manager on ARM platforms (which previously didn't have a Micronucleus tool) - big thanks to them as well; I certainly am not qualified to deal with software that runs on a desktop machine - if I can't address all of it's ram with 16 bits, programming it is above my pay grade :-)
Beyond that, I'm just gonna copy-paste the changelog:
Published by SpenceKonde about 4 years ago
In the short time since 1.4,0 was released, some serious regressions were discovered: Changes made very late in the development cycle inadvertantly broke all time keeping (millis, micros, and delay) on the ATtiny x61, x41, 1634, and 828 (in different ways - the 861's millis timer simply never got turned on, while the others had interrupts disabled, which apparently causes micros() to behave bizarrely, which in turn leads to delay, which relies on it, passing by lightning fast.
Some users with the MH-ET tiny88 board also tried upgrading the bootloader and discovered the one I packed with the core was non-functional (in my defense, I just used the files that were in common circulation in the micronucleus packages - I shouldn't have assumed that just because they were in a bunch of repos around the internet, that they actually work! D+ and D- were swapped. Rebuilt the bootloader, and in the process, also did all the t88 bootloader building planned for micronucleus, so it now has a set of bootloaders with various entry methods. I came up with what I think is a really clever way of keeping the most convenient entry mode, reset, from bricking the board: You try to read the reset pin. If it's a 0, it could be disabled and LOW, but if it's a 1, you know it is both enabled and the pin is high. Hence the "rescue" procedure if you put this new version of the external reset entry mode on a reset-disabled board is just to apply power with reset tied to Vcc, then put a more appropriate bootloader version on.
1.4.1 fixes these serious issues, and all users - especially those on 1.4.0 - are encouraged to upgrade.
This is the version for board manager install
Published by SpenceKonde about 4 years ago
In the short time since 1.4,0 was released, some serious regressions were discovered: Changes made very late in the development cycle inadvertantly broke all time keeping (millis, micros, and delay) on the ATtiny x61, x41, 1634, and 828 (in different ways - the 861's millis timer simply never got turned on, while the others had interrupts disabled, which apparently causes micros() to behave bizarrely, which in turn leads to delay, which relies on it, passing by lightning fast.
Some users with the MH-ET tiny88 board also tried upgrading the bootloader and discovered the one I packed with the core was non-functional (in my defense, I just used the files that were in common circulation in the micronucleus packages - I shouldn't have assumed that just because they were in a bunch of repos around the internet, that they actually work! D+ and D- were swapped. Rebuilt the bootloader, and in the process, also did all the t88 bootloader building planned for micronucleus, so it now has a set of bootloaders with various entry methods. I came up with what I think is a really clever way of keeping the most convenient entry mode, reset, from bricking the board: You try to read the reset pin. If it's a 0, it could be disabled and LOW, but if it's a 1, you know it is both enabled and the pin is high. Hence the "rescue" procedure if you put this new version of the external reset entry mode on a reset-disabled board is just to apply power with reset tied to Vcc, then put a more appropriate bootloader version on.
1.4.1 fixes these serious issues, and all users - especially those on 1.4.0 - are encouraged to upgrade.
This is the version for manual installation.
Published by SpenceKonde about 4 years ago
This release introduces the long-awaited, oft-requested support for the Micronucleus VUSB bootloader! When installed through board manager, (manual installs require having already installed micronucleus-using package through board manager), you can now upload to those USB ATtiny85 "Digispark", ATtiny167 "Digispark Pro", ATtiny841 "Nanite", ATtiny88 "MH Tiny" and ATtiny84 boards! This has been a huge update - and there's much more planned to further enhance this functionality. You can also load the Micronucleus bootloader onto these using an ISP programmer, or upgrade the bootloader to the version included with ATTinyCore via USB. All the usual ATTinyCore features and options are available too (provided they make sense)!
This also introduces improvements to the bootloaders for the 841, 441, 828, and 1634 that should help alleviate the issues with the the internal oscillator's voltage dependence, and the >4.5v version no longer requires a different bootloader, and achieves approximately 8 MHz by nudging OSCCAL down, instead of by compiling for a slightly faster clock speed. Adventurous users of the ATtiny841 can now crank the internal oscillator all the way up to approximately 16MHz - some parts can juuuust barely make it - but so far all the ones I've tested were able to do it. There are some significant caveats to this (beyond the fact that we can't guarantee that we actually got right on 16MHz - it's not tuned... serial receiving and transmission won't work while writing the EEPROM).
Finally, we have a MASSIVE backlog of small (and not-so-small) fixes:
There is also more to come for ATTinyCore - a long overdue migration of the four parts that currently use the "tinymodern" core to the main core is coming, there are a number of optimizations to reduce flash usage in the works, plus the "fast digital I/O" functions. The USB libraries to support the micronucleus boards acting as keyboards, mice, and serial ports is coming, as is a suite of new micronucleus bootloader binaries with support for all the entry conditions that look useful, including combinations of them.
Further in the future, you can expect micronucleus bootloader support for all the parts that don't have it, along with hardware from my Tindie store to use it with! Take it for a spin, see what I broke in the process, and report them to me so I can unbreak them in 1.4.1 :-)
This is the version for manual installation.
Published by SpenceKonde about 4 years ago
This release introduces the long-awaited, oft-requested support for the Micronucleus VUSB bootloader! When installed through board manager, (manual installs require having already installed micronucleus-using package through board manager), you can now upload to those USB ATtiny85 "Digispark", ATtiny167 "Digispark Pro", ATtiny841 "Nanite", ATtiny88 "MH Tiny" and ATtiny84 boards! This has been a huge update - and there's much more planned to further enhance this functionality. You can also load the Micronucleus bootloader onto these using an ISP programmer, or upgrade the bootloader to the version included with ATTinyCore via USB. All the usual ATTinyCore features and options are available too (provided they make sense)!
This also introduces improvements to the bootloaders for the 841, 441, 828, and 1634 that should help alleviate the issues with the the internal oscillator's voltage dependence, and the >4.5v version no longer requires a different bootloader, and achieves approximately 8 MHz by nudging OSCCAL down, instead of by compiling for a slightly faster clock speed. Adventurous users of the ATtiny841 can now crank the internal oscillator all the way up to approximately 16MHz - some parts can juuuust barely make it - but so far all the ones I've tested were able to do it. There are some significant caveats to this (beyond the fact that we can't guarantee that we actually got right on 16MHz - it's not tuned... serial receiving and transmission won't work while writing the EEPROM).
Finally, we have a MASSIVE backlog of small (and not-so-small) fixes:
There is also more to come for ATTinyCore - a long overdue migration of the four parts that currently use the "tinymodern" core to the main core is coming, there are a number of optimizations to reduce flash usage in the works, plus the "fast digital I/O" functions. The USB libraries to support the micronucleus boards acting as keyboards, mice, and serial ports is coming, as is a suite of new micronucleus bootloader binaries with support for all the entry conditions that look useful, including combinations of them.
Further in the future, you can expect micronucleus bootloader support for all the parts that don't have it, along with hardware from my Tindie store to use it with! Take it for a spin, see what I broke in the process, and report them to me so I can unbreak them in 1.4.1 :-)
This is the version for board manager installation.
Published by SpenceKonde almost 5 years ago
This release adds a few requested features, streamlines the burn bootloader process (which may also fix an issue encountered with some programmers that mishandle the reset line between programming operations). All users are encouraged to update to this version. It will be available for board manager later tonight. The full list of changes is:
As always report any problems through the Github Issues system - enjoy!
This is the version for board manager installation.
Published by SpenceKonde almost 5 years ago
This release adds a few requested features, streamlines the burn bootloader process (which may also fix an issue encountered with some programmers that mishandle the reset line between programming operations). All users are encouraged to update to this version. It will be available for board manager later tonight. The full list of changes is:
As always report any problems through the Github Issues system - enjoy!
This is the version for manual installation.
Published by SpenceKonde about 5 years ago
This version remedies several problems introduced by 1.3.0 that prevent compiling sketches for x5 and x61 optiboot boards, and with the Servo_ATTinyCore library (which would only build for a small number of boards). All users are encouraged to upgrade.
This is the board manager version.
Published by SpenceKonde about 5 years ago
This version remedies several problems introduced by 1.3.0 that prevent compiling sketches for x5 and x61 optiboot boards, and with the Servo_ATTinyCore library (which would only build for a small number of boards). All users are encouraged to upgrade.
This is the manual installation version.
Published by SpenceKonde about 5 years ago
1.3.0 introduced a regression that prevented compiling any sketch for the x61 boards with Timer 1 Clock Source set to CPU (default). This corrects that bug.
This is the version for manual installation.
Published by SpenceKonde about 5 years ago
1.3.0 introduced a regression that prevented compiling any sketch for the x61 boards with Timer 1 Clock Source set to CPU (default). This corrects that bug.
Published by SpenceKonde about 5 years ago
This release adds two exciting new features - a menu option to enable/disable the millis/micros timer (in order to save flash), and a new highly integrated tinyNeoPixel library that supports all clock speeds from 7.3728MHz and up. See the documentation ( https://github.com/SpenceKonde/ATTinyCore/blob/master/avr/extras/tinyNeoPixel.md ) for details.
This release also corrects a few issues:
digitalPinToInterrupt for INT0 on 841/441 was still not correctly fixed in 1.2.5; now it is.
Correct issue with slave mode on chips with slave-only hardware I2C.
Board Manager: Ensure that the latest AVRDude version (6.3.0 arduino17) is installed, this fixes compatibility problems depending on other installed cores
Board Manager: Ensure that avrgcc 7.3.0 is installed, this will, among other things, fix compatibility issues with Mac OS Catalina.
Published by SpenceKonde about 5 years ago
This release adds two exciting new features - a menu option to enable/disable the millis/micros timer (in order to save flash), and a new highly integrated tinyNeoPixel library that supports all clock speeds from 7.3728MHz and up. See the documentation ( https://github.com/SpenceKonde/ATTinyCore/blob/master/avr/extras/tinyNeoPixel.md ) for details.
This release also corrects a few issues:
digitalPinToInterrupt for INT0 on 841/441 was still not correctly fixed in 1.2.5; now it is.
Correct issue with slave mode on chips with slave-only hardware I2C.
The board manager release will include some significant board manager fixes as well.
Published by SpenceKonde about 5 years ago
1.2.5 introduces a key fix for the SPI library, and a number of other minor bugfixes and enhancements.
Published by SpenceKonde about 5 years ago
1.2.5 introduces a key fix for the SPI library, and a number of other minor bugfixes and enhancements.
This version is for manual installation, not board manager install.
Published by SpenceKonde over 5 years ago
This release is primarily a bug fix release for a number of issues - particularly, the clockwise pinmapping on the tiny841/441 was completely busted. This version also adds 1MHz bootloaders on applicable parts (though I do suggest to anyone running at 1MHz for power saving to consider whether running at 8MHz with sleep would do the job). This version also checks for for the compatibility problems with the tiny841/441 core and versions of the IDE before 1.8.6 (where the cached, compiled core would be given a name that exceeded the windows maximum file path length, leading to the file not being saved, and subsequent compile attempts failing).
The full list of fixes:
Published by SpenceKonde over 5 years ago
This is a bugfix release - there are no new features, but some of the bugs fixed are quite serious, and we recommend all users to update.
Published by SpenceKonde almost 6 years ago
At long last, ATTinyCore supports generation of an assembly listing! Just do Sketch -> Export Compiled Binary, and the .lst file will be output to the sketch directory, in addition to the usual hex file. The option to intermix source code with the generated assembly is used. This is very helpful when trying to optimize flash usage, and was instrumental in the improvements to flash usage with I2C on some parts. There is now a menu for Wire (I2C) mode on the 841, 441, and 828 - selecting slave or master only will save 1k of flash or more on these devices. The included Servo library now supports the tiny85/45/25 and tiny861/461/261. This release also introduces preliminary support for the ATtiny43, which features an on-chip boost converter (just add diode, inductor and capacitor) allowing it to run from a single alkaline battery. There is a new pinout option for the ATtiny841/441, which will be featured on a new and improved ATtiny841 breakout board coming soon to my Tindie store.
ATtiny43 support has not been rigorously tested yet - as always, please report bugs with this (or anything else) via GitHub issue, or via email ( [email protected] ) or PM (or new thread in Microcontroller section) on Arduino forums ( username: DrAzzy ).
Published by SpenceKonde almost 6 years ago
This is a bugfix release to fix a regression that prevented compiling sketches for x61 series.