ATTinyCore

Arduino core for ATtiny 1634, 828, x313, x4, x41, x5, x61, x7 and x8

OTHER License

Stars
1.6K
Committers
60

Bot releases are hidden (Show)

ATTinyCore - 1.5.2 - New pinout images - and Micronucleus works on Windows again Latest Release

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.

ATTinyCore - 1.5.0 - Fix n' feature roundup prior to 2.0.0

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:

  • Dramatic improvement in execution time and flash use with constant pins for digitalWrite/etc (thanks @yumkam!)
  • Improvements to millis and micros timing, as well as delayMicroseconds particularly for oddball frequencies. (big thanks to @cburstedde!)
  • Update to Micronucleus 2.5 upload tool, now available for all Arduino platforms (#465, #477)
  • Add new rationalized pinout for x61
  • Correct bug with pin definitions for I2C pins on the ATtiny x61 series (#455)
  • Improve timing calculations for Wire on USI devices (#455)
  • Correct critical regression introduced in 1.4.0 where PWM controlled by timer 1 would have 1/4th of the expected duty cycle and frequency
  • my apologies that this has been uncorrected so long (#470)
  • Fix Serial RX on parts that use tinySoftSerial - LTO broke this because the ring buffer was updated in the ISR but none of the variables were declared volatile... (#472)
  • Correct name of bootloader file for 841 Micronucleus
  • Add missing bootloader options for 841/441 parts
  • Correct documentation for x313 parts to correctly reflect number of available PWM pins
  • Clarify USBTinyISP programmer options (#507)
  • Add several missing programmers, improve programmers list
  • Fix Timer1 PLL clock source menu option on x5, x61 (1.4.0 fix still didn't do it!)
  • Fix x313 pinout image to reflect OC0B's existence
  • Add in new Adafruit_NeoPixel functions to tinyNeoPixel
  • Add Serial.setTxBit() for parts that use tinySoftSerial. Call it before Serial.begin() to move the Tx pin to another pin/bit on the same PORT (#443)
  • Correct PWM frequency on ATtiny x5 and x61 parts operating below 3 MHz (#463)
  • Move PWM on pin 1 (PB1) on x5 to timer1 instead of timer0
  • Select /32 prescaler where available when operating with a system clock between 3 and 8 MHz, moving PWM on those pins back to the targeted 500 Hz to 1 kHz range
  • Correct WGM for Timer 1 PWM on x7 to phase correct (0b0001) rather than fast (0b0101) pwm modes
ATTinyCore - 1.4.1 - Fix timing regressions on 841, 1634, 828 and tiny88 micronucleus bootloader

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

ATTinyCore - 1.4.1 - Fix timing regressions on 841, 1634, 828 and tiny88 micronucleus bootloader

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.

ATTinyCore - 1.4.0 - Micronucleus support! 16MHz internal 841! Tons more!

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:

  • Servo was almost certainly broken on some parts, and should now work on them. Please report and emergent issues on Servo - breakage is not impossible, and I'm not well set up for testing it.
  • Servo now works parts with the PLL when the PLL is used to ramp up the speed of Timer1 (though this provides no benefit when it's being used for Servo).
  • The option to use the PLL for Timer1 on parts with a PLL (x61 and x5) now actually works.
  • noTone() now cleans up after itself.
  • Bootloaders have been rebuilt to correct the inverted LED flash.
  • The longstanding bug in the ATtiny861 optiboot bootloader's LED flash is fixed, finally.
  • A small number of missing bootloaders are no longer missing.
  • The PIN_Pxn notation which I have been promoting to refer to pins by port and bit now works. Previously I had added PIN_xn defines to do the same thing... and then Arduino added PIN_An constants that refer to the digital pin number of the specified analog pin.
  • pulseIn() now honors the timeout parameter correctly (previously, a bug in the assembly routine - which was or is present in all versions of Arduino that I haven't gotten this fix into and always had been - caused the timeout to count down 16/11ths as fast as it was supposed to before the pulse it was measuring started.
  • pulseInLong() added.
  • digitalRead() no longer turns off PWM. (this differs from the official core behavior, but it's dumb behavior - "read" should not alter the thing it's reading)
  • Improved handling of the oddly named registers in the ATtiny2313 (vs the much more common ATtiny2313A)
  • Removed some useless code that still got compiled in and took up space from several places in the core.
  • Major housecleaning in wiring.c and some other libraries.

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.

ATTinyCore - 1.4.0 - Micronucleus support! 16MHz internal 841! Tons more!

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:

  • Servo was almost certainly broken on some parts, and should now work on them. Please report and emergent issues on Servo - breakage is not impossible, and I'm not well set up for testing it.
  • Servo now works parts with the PLL when the PLL is used to ramp up the speed of Timer1 (though this provides no benefit when it's being used for Servo).
  • The option to use the PLL for Timer1 on parts with a PLL (x61 and x5) now actually works.
  • noTone() now cleans up after itself.
  • Bootloaders have been rebuilt to correct the inverted LED flash.
  • The longstanding bug in the ATtiny861 optiboot bootloader's LED flash is fixed, finally.
  • A small number of missing bootloaders are no longer missing.
  • The PIN_Pxn notation which I have been promoting to refer to pins by port and bit now works. Previously I had added PIN_xn defines to do the same thing... and then Arduino added PIN_An constants that refer to the digital pin number of the specified analog pin.
  • pulseIn() now honors the timeout parameter correctly (previously, a bug in the assembly routine - which was or is present in all versions of Arduino that I haven't gotten this fix into and always had been - caused the timeout to count down 16/11ths as fast as it was supposed to before the pulse it was measuring started.
  • pulseInLong() added.
  • digitalRead() no longer turns off PWM. (this differs from the official core behavior, but it's dumb behavior - "read" should not alter the thing it's reading)
  • Improved handling of the oddly named registers in the ATtiny2313 (vs the much more common ATtiny2313A)
  • Removed some useless code that still got compiled in and took up space from several places in the core.
  • Major housecleaning in wiring.c and some other libraries.

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.

ATTinyCore - 1.3.3 - 4MHz internal support on all parts, Wire bugfixes for 441/841 and more

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:

  • Add support for external CLOCK on 48/88/828. Document how to use external clock on other parts via manual AVRdude step (#355).
  • Fix bug with Wire library (#363)
  • Fix bug with using 32K ULP as clock source on 828.
  • A bit of boards.txt cleanup.
  • Reduce RAM usage on the 841/441/1634 when one but not both serial ports are in use. (#352)
  • Add printf support to printable class. (#367)
  • Add CLOCK_SOURCE define to identify clock source (#358)
  • Add support for 4MHz internal on all boards (#358)
  • Add support for 16.5MHz on x5 and x61 (#349)
  • Documentation improvements (#373, #375)
  • Burn Bootloader now executes as a single command; this should fix issues with some programmers. (#372)

As always report any problems through the Github Issues system - enjoy!
This is the version for board manager installation.

ATTinyCore - 1.3.3 - 4MHz internal support on all parts, Wire bugfixes for 441/841 and more

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:

  • Add support for external CLOCK on 48/88/828. Document how to use external clock on other parts via manual AVRdude step (#355).
  • Fix bug with Wire library (#363)
  • Fix bug with using 32K ULP as clock source on 828.
  • A bit of boards.txt cleanup.
  • Reduce RAM usage on the 841/441/1634 when one but not both serial ports are in use. (#352)
  • Add printf support to printable class. (#367)
  • Add CLOCK_SOURCE define to identify clock source (#358)
  • Add support for 4MHz internal on all boards (#358)
  • Add support for 16.5MHz on x5 and x61 (#349)
  • Documentation improvements (#373, #375)
  • Burn Bootloader now executes as a single command; this should fix issues with some programmers. (#372)

As always report any problems through the Github Issues system - enjoy!
This is the version for manual installation.

ATTinyCore - 1.3.2 - Bugfix release

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.

ATTinyCore - 1.3.2 - Bugfix release

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.

ATTinyCore - 1.3.1 - Bugfix for 261, 461, 861 (manual install 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.

ATTinyCore - 1.3.1 - Bugfix for 261, 461, 861

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.

ATTinyCore - 1.3.0 - Board manager improvements, enable/disable millis, new tinyNeoPixel library

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.

ATTinyCore - 1.3.0 ATTinyCore (for manual installation)

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.

ATTinyCore - 1.2.5 ATTinyCore - SPI library fixed, better pinout images, tone() on 87/167

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.

  • Corrected issue with SPI class name (SPIClass vs tinySPI) on SPI.h for parts with a USI. This should fix reported compatibility issues with Universal SPI library and SPI device libraries.
  • Corrected macros for INT0 on '841 and '441
  • LTO Enabled is now the default option - it defaulted previously to disabled, leading many users to not realize that it should be enabled, which resulting in larger compiled binaries and user complaints about bloat. As versions of the IDE where LTO is not supported are now rare, there is no reason to leave this as the default.
  • tone() now works correctly on the '87 and '167.
  • Slightly reduce compiled size of analogWrite() and digitalWrite() on most of the older ATtiny parts.
  • Improved pinout images. Pinout diagrams now show PCINT8 and up on the t4313 and t2313A, and all parts with a built-in software serial port show the TX and RX pins on the diagram.

1.2.5 introduces a key fix for the SPI library, and a number of other minor bugfixes and enhancements.

  • Corrected issue with SPI class name (SPIClass vs tinySPI) on SPI.h for parts with a USI. This should fix reported compatibility issues with Universal SPI library and SPI device libraries.
  • Corrected macros for INT0 on '841 and '441
  • LTO Enabled is now the default option - it defaulted previously to disabled, leading many users to not realize that it should be enabled, which resulting in larger compiled binaries and user complaints about bloat. As versions of the IDE where LTO is not supported are now rare, there is no reason to leave this as the default.
  • tone() now works correctly on the '87 and '167.
  • Slightly reduce compiled size of analogWrite() and digitalWrite() on most of the older ATtiny parts.
  • Improved pinout images. Pinout diagrams now show PCINT8 and up on the t4313 and t2313A, and all parts with a built-in software serial port show the TX and RX pins on the diagram.

This version is for manual installation, not board manager install.

ATTinyCore - 1.2.4 - Major bugfixes for 841/441 and others, 1MHz bootloaders

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:

  • Fix PWM on pins A3 and A6 on Tiny841/441 (#302)
  • Fix clockwise pinmapping on Tiny841/441
  • Add clockwise pinmapping to Tiny841/441 pinout diagram (#320)
  • Correct compilation error when using 14.7456MHz and 18.432MHz crystal (which has always been there, which says something about how many people are using these clock options) (#290)
  • Improve delayMicroseconds() accuracy for 18.432MHz crystal. (#292)
  • Fix issue with macros in pins_arduino.h for t1634 that could cause problems with some compiler (well, io.h) versions
  • Correct issues with some of the macros for t43. (#298)
  • Add missing attiny85 9.26MHz external clock menu option. (#296)
  • Correct hardware specs for Tiny24/44/84 and Tiny1634 (#304/305)
  • On the attiny25/45/85, tone() will now use hardware output compare for pin 1 and 4, not just pin 1. (#289)
  • Add missing low frequency internal (128kHz WDT or 32kHz ULP) for all parts where this wasn't already an option (#310)
  • Various documentation corrections and clarifications (#307 and others)
  • Remove U2X exception for 57600 baud (#309)
  • Give #error when compiling attiny841/441 on versions of the IDE where the cached core filename would exceed MAX_PATH under common conditions on windows. (#313)
  • Add 1MHz optiboot bootloaders (#310)
ATTinyCore - Bugfixes for Tiny841/441 and others

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.

Bug Fixes

  • Correct macro for PCINT lookup with new tiny841/441 pinout
  • Correct macros for new tiny841/441 pinout being used for both pinout settings
  • Correct include guards in pins_arduino.h for 841/441/1634/828
  • Add defines for DDAn on x313 - the io.h defines for these were misspelled (didn't match other DDRx registers or datasheet)
  • Remove entry from avrdude.conf that would cause some versions of avrdude to reject the configuration file
  • Correct DI/DO pin defines on tiny x61 series
  • Wire.end() now turns off pullup resistors on USI devices
ATTinyCore - 1.2.2 - Assembler Listings, ATtiny43, servo for x5, x61, and lots of fixes

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 ).

New Features

  • Add assembler listing to "export compiled binary" output.
  • Add support for ATTiny43.
  • Add support for Tinyx5 and Tinyx61 to included universal Servo library.
  • Add Wire mode menu for x41 and 828 to reduce flash use.
  • Add support for new clockwise pinout for x41 series and menu options for it.
  • Improve part-specific documentation.

Bug Fixes

  • Add missing #defines like NUM_DIGITAL_PINS for several supported parts.
  • Correct missing bootloader hex files for Tiny828.
  • Fix delay at extremely low clock speeds (under 1MHz).
  • Add failsafe against infinite loop with delay under adverse conditions.
  • Correct issues with pinout images.
  • Reduce flash usage of universal Wire library for 1634.
  • Remove unused files from universal Wire library.
  • Correct issue with "export compiled binary" on Linux/MacOS.
ATTinyCore - 1.2.1 - bugfix for 861, 461, 261

Published by SpenceKonde almost 6 years ago

This is a bugfix release to fix a regression that prevented compiling sketches for x61 series.