# TinyCore - a new Arduino core for classic ATtiny chips

**URL:** <https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547>\
**Category:** 3rd Party Boards\
**Created:** [April 5, 2026, 6:58pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547 "2026-04-05T18:58:45Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![hansibull](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/hansibull/32/1127066_2.png) [@hansibull](https://forum.arduino.cc/u/hansibull)\
**Post date:** [April 5, 2026, 6:58pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/1 "2026-04-05T18:58:45Z")

</div>

Hi!

I'm the creator of several popular 3rd party Arduino cores such as [MiniCore](https://github.com/MCUdude/MiniCore) and [MightyCore](https://github.com/MCUdude/MightyCore). Recently I've been working on a new project I'm excited to share with you!

[ATtinyCore](https://github.com/spencekonde/attinycore) has been the go-to 3rd party Arduino core for support for "classic" ATtiny chips such as the ATtiny84 and ATtiny84. However, ATtinyCore hasn't seen meaningful contributions in years, and a new major version (ATtinyCore 2.0.0) remain untested and unfinished.

I have quite a lot of experience when it comes to 3rd party Arduino cores, so I decided to fork ATtinyCore and continue the work as a new core TinyCore.

_ **TinyCore** is a new Arduino core for the ATtiny25/45/85, ATtiny24/44/84, ATtiny441/841, ATtiny261/461/861, ATtiny87/167, ATtiny48/88, ATtiny2313/4313, ATtiny1634, ATtiny828, ATtiny43U and ATtiny26_.

### TinyCore brings lots of new improvements that's worth looking into!

- Arduino IDE 1.8 and 2.x supported!
- Optiboot have been fully replaced by the rock-solid [Urboot](https://github.com/stefanrueger/urboot) bootloader with have lots of features, including "brick prevention" built-in. The bootloader itself only occupies only 256 bytes of flash, and is optional.
- [Greatly improved documentation](https://github.com/MCUdude/TinyCore?tab=readme-ov-file#supported-microcontrollers) with new pinout diagrams and minimal setup schematic diagrams for all chip families
- Full hardware debugger support in Arduino IDE 2.x using [PyAvrOCD](https://pyavrocd.io) (bundled in the boards manager installer)
- Uploading is done using the latest and greatest [Avrdude v8.1](https://github.com/avrdudes/avrdude) (also bundled in the boards manager)
- [Built-in support for simple internal oscillator calibration](https://github.com/MCUdude/TinyCore?tab=readme-ov-file#internal-oscillator-calibration-osccal) using a USB to serial adapter
- The IDE tools menu have been updated and is now way less cluttered with fewer obscure options
- Lots and lots of bugs have been tracked down and fixed
  - Most of the core functionality is [systematically tested on real hardware](https://github.com/MCUdude/TinyCore/blob/main/avr/extras/tests/README.md)

# [You can read more about TinyCore here!](https://github.com/MCUdude/TinyCore)

## Installation can easily done [through the boards manager](https://github.com/MCUdude/TinyCore?tab=readme-ov-file#how-to-install)

Please give it a try, and let me know what you think! I'm open to suggestions, and ideas for improvement! TinyCore is still very much a work in progress, so please report any bugs or issues you may find, here, or on [Github](https://github.com/MCUdude/TinyCore/issues).

 ![Pinout_x5](https://europe1.discourse-cdn.com/arduino/original/4X/b/2/3/b233e067b25ae4f82c0595e97f42c000c619a817.jpeg)

 ![ATtiny25_45_85_minimal_setup](https://europe1.discourse-cdn.com/arduino/original/4X/b/9/8/b98bed279ddabe44b89e7c6c303b5f3c5d55d927.png)

> I want to thank @fogg for providing and implementing the excellent cross-platform PyAvrOCD GDB server, and extensive help with performing systematic tests on real hardware.

> Also, big thanks to Spence Konde for all the work put into the ATtinyCore project over many years. TinyCore would not have existed if it weren't for ATTinyCore.

---

<div class="post-metadata">

**Author:** ![xfpd](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/xfpd/32/1120236_2.png) [@xfpd](https://forum.arduino.cc/u/xfpd)\
**Post date:** [April 5, 2026, 11:43pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/2 "2026-04-05T23:43:31Z")

</div>

Got it! Thanks.

 ![image](https://europe1.discourse-cdn.com/arduino/original/4X/9/e/f/9ef78c27b29b4f05b5e1065ca289d5e1583216cb.png)

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [April 6, 2026, 8:31am UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/3 "2026-04-06T08:31:19Z")

</div>

It's sad that Spence Konde is no longer maintaining ATtinyCore for whatever reason. Life changes, that's the usual reason.

I have used ATtinyCore for several years and recommended it to others many times. I would also like to send my thanks to Spence for his excellent work.

But I'm very glad that @hansibull has taken up the responsibility of maintaining and improving the project. I have also used and recommended MiniCore many times, so I know that the project is in good hands. Thanks @hansibull !

---

<div class="post-metadata">

**Author:** ![PaulRB](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/paulrb/32/216330_2.png) [@PaulRB](https://forum.arduino.cc/u/PaulRB)\
**Post date:** [April 6, 2026, 8:53am UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/4 "2026-04-06T08:53:00Z")

</div>

> [@hansibull](#):
>
> Arduino IDE 1.8 and 2.x supported!

Glad about this also. I am still using 1.8.19. I will get around to installing 2.x sometime soon. The noise and complaints about it seem to be diminishing. I must also update my Ubuntu version...

---

<div class="post-metadata">

**Author:** ![6v6gt](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/6v6gt/32/225488_2.png) [@6v6gt](https://forum.arduino.cc/u/6v6gt)\
**Post date:** [April 6, 2026, 9:58am UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/5 "2026-04-06T09:58:11Z")

</div>

On the matter of the history of the ATtinyCore I want to also emphasise my thanks for the incredible amount of work that Spence Konde (@DrAzzy) put into it and that I have found this very valuable. It amazes me that some people are prepared to, and are capable of, producing huge amounts of useful resources for the community without any obvious reward (apart from a few karma points). This simply amplifies what I said when the TinyCore was first mentioned [Attiny by SpenceKonde - #30 by 6v6gt](https://forum.arduino.cc/t/attiny-by-spencekonde/1434789/30) including an acknowledgement that the work that we have already seen from @hansibull makes him an ideal candidate for this activity.

Having said all that, I no longer use the ancient ATTiny AVR series chips and have only one active application which uses an ATTINY85. For low power non-wifi projects I now use the newer TinyAVR series 1 and 2 chips and, of course, Spence's megaTinyCore.

Spence, however, appears not to have quit scene entirely and his Github page [SpenceKonde (Spence Konde (aka Dr. Azzy)) · GitHub](https://github.com/spencekonde) shows a recent burst of activity, focussed mainly on the DxCore . However, this does highlight the issues which can occur when major contributors do actually, for one reason or another, abandon (even temporarily) their work.

I've seen the most satisfactory results when the previous major contributor announces a successor to carry on the good work and it all seems friendly. Bad is when major work just gets lost or where there is fragmentation because multiple people grab hold of it or where those who do get hold of it, at least initially, appear not to have the necessary skills that the task demands.

---

<div class="post-metadata">

**Author:** ![gilshultz](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gilshultz](https://forum.arduino.cc/u/gilshultz)\
**Post date:** [April 6, 2026, 2:34pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/6 "2026-04-06T14:34:05Z")

</div>

Thanks you did a great job it is very much appreciated.

---

<div class="post-metadata">

**Author:** ![hansibull](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/hansibull/32/1127066_2.png) [@hansibull](https://forum.arduino.cc/u/hansibull)\
**Post date:** [April 6, 2026, 9:17pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/7 "2026-04-06T21:17:28Z")

</div>

Thanks for the kind words!

> I no longer use the ancient ATTiny AVR series chips and have only one active application which uses an ATTINY85. For low power non-wifi projects I now use the newer TinyAVR series 1 and 2 chips and, of course, Spence's megaTinyCore.

This absolutely makes sense, as the newer chips are cheaper and more capable. However, there are a lot of existing products and projects out there that is runs on "classic" ATtiny chips.

The goal for this core is not to keep adding new functionality, but to provide a stable, efficient and reliable framework for projects to be built upon or ported to. Once most bugs have been found and eliminated, This core will go into the same kind of "maintenance mode" as my other core. Not necessarily under "active development", but in a state where I will be responding to reported issues and submitted pull request. I will also make sure tools such as Avrdude and PyAvrOCD is kept up to date.

I have also deliberately removed functionality I think clutters the source code, makes the documentation harder to follow and the project harder to maintain. Most noticeably, TinyCore won't support the Digispark, its bootloader or any of the emulates USB libraries. The ATtiny family is heavily memory constrained, the software USB implementation is flakey and something I don't want to support or troubleshoot. If you own a Digispark there are several other Arduino cores you can use.

---

<div class="post-metadata">

**Author:** ![ptillisch](https://avatars.discourse-cdn.com/v4/letter/p/ad7895/32.png) [@ptillisch](https://forum.arduino.cc/u/ptillisch)\
**Post date:** [April 7, 2026, 7:05am UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/8 "2026-04-07T07:05:41Z")

</div>

> [@hansibull](#):
>
> If you own a Digispark there are several other Arduino cores you can use.

Is there a specific one you would recommend?

I am aware of these:

- [**ATTinyCore**](https://github.com/SpenceKonde/ATTinyCore)
- [**Digistump AVR Boards** (ArminJo fork)](https://github.com/ArminJo/DigistumpArduino)
- [**Digistump AVR Boards** (original)](https://github.com/digistump/DigistumpArduino)

The official **Digistump AVR Boards** is abandoned. ArminJo deprecated their fork in favor of **ATTinyCore**.

---

<div class="post-metadata">

**Author:** ![sterretje](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/sterretje/32/391294_2.png) [@sterretje](https://forum.arduino.cc/u/sterretje)\
**Post date:** [April 7, 2026, 8:56am UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/9 "2026-04-07T08:56:22Z")

</div>

A post was split to a new topic: [Digispark Attiny85 Board and ATTinyCore question](https://forum.arduino.cc/t/digispark-attiny85-board-and-attinycore-question/1438769)

---

<div class="post-metadata">

**Author:** ![hansibull](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/hansibull/32/1127066_2.png) [@hansibull](https://forum.arduino.cc/u/hansibull)\
**Post date:** [April 7, 2026, 9:45am UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/10 "2026-04-07T09:45:09Z")

</div>

> [@ptillisch](#):
>
> Is there a specific one you would recommend?
> 
> I am aware of these:
> 
> - [**ATTinyCore**](https://github.com/SpenceKonde/ATTinyCore)
> - [**Digistump AVR Boards** (ArminJo fork)](https://github.com/ArminJo/DigistumpArduino)
> - [**Digistump AVR Boards** (original)](https://github.com/digistump/DigistumpArduino)
> 
> The official **Digistump AVR Boards** is abandoned. ArminJo deprecated their fork in favor of **ATTinyCore**.

These as the ones I know about too. However, ATtinyCore does not include any Digispark (USB) related libraries, which is IMO what makes the Digispark so neat. In my opinion, a dedicated Digispark Arduino core would be better than combining everything. I would root for the ArminJo fork.

---

<div class="post-metadata">

**Author:** ![ShermanP](https://avatars.discourse-cdn.com/v4/letter/s/b19c9b/32.png) [@ShermanP](https://forum.arduino.cc/u/ShermanP)\
**Post date:** [April 7, 2026, 2:23pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/11 "2026-04-07T14:23:09Z")

</div>

> [@hansibull](#):
>
> Optiboot have been fully replaced by the rock-solid [Urboot](https://github.com/stefanrueger/urboot) bootloader with have lots of features

> [@hansibull](#):
>
> TinyCore won't support the Digispark, its bootloader or any of the emulates USB libraries.

Just to clarify, is it just the Digispark bootloader that isn't supported in TinyCore on the ATtiny85? Or is there no bootloader for the 85 at all?

---

<div class="post-metadata">

**Author:** ![GolamMostafa](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/golammostafa/32/239011_2.png) [@GolamMostafa](https://forum.arduino.cc/u/GolamMostafa)\
**Post date:** [April 7, 2026, 2:56pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/12 "2026-04-07T14:56:18Z")

</div>

> [@ShermanP](#):
>
> Just to clarify, is it just the Digispark bootloader that isn't supported in TinyCore on the ATtiny85? Or is there no bootloader for the 85 at all?

If I have uderstood correctly --  
The Digispark bootloader supports sketch uploading without the need for an additional hardware, as the bootloader emulates a USB port in ATtiny85 to communicate directly with the PC/IDE.

The @hansibull bootloader also supports sketch uploading, but it requires additional hardware, such as a USB-to-TTL converter.

---

<div class="post-metadata">

**Author:** ![ptillisch](https://avatars.discourse-cdn.com/v4/letter/p/ad7895/32.png) [@ptillisch](https://forum.arduino.cc/u/ptillisch)\
**Post date:** [April 7, 2026, 3:03pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/13 "2026-04-07T15:03:08Z")

</div>

> [@ShermanP](#):
>
> is there no bootloader for the 85 at all?

**TinyCore** provides the option to use the ATtiny85 with the **urboot** bootloader. You must select one of the "Yes" options from Arduino IDE's **Tools \> Bootloader** menu in order to configure the board definition to use the bootloader.

If you have " **No**" selected from that menu, then the board definition is configured for use without a bootloader. In this configuration, you must use an ISP programmer to upload to the ATtiny85 target. With this configuration, a **Tools \> Burn Bootloader** operation only sets the configuration fuses on the ATtiny85.

---

<div class="post-metadata">

**Author:** ![GolamMostafa](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/golammostafa/32/239011_2.png) [@GolamMostafa](https://forum.arduino.cc/u/GolamMostafa)\
**Post date:** [April 7, 2026, 3:06pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/14 "2026-04-07T15:06:56Z")

</div>

> [@ptillisch](#):
>
> **TinyCore** provides the option to use the ATtiny85 with the **urboot** bootloader. You must select one of the "Yes" options from Arduino IDE's **Tools \> Bootloader** menu in order to configure the board definition to use the bootloader.

Does that bootloader communicate with the PC/IDE using a software UART port, for which a TTL-to-USB converter is required?

---

<div class="post-metadata">

**Author:** ![fogg](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/fogg/32/726525_2.png) [@fogg](https://forum.arduino.cc/u/fogg)\
**Post date:** [April 7, 2026, 3:24pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/15 "2026-04-07T15:24:26Z")

</div>

> [@GolamMostafa](#):
>
> Does that bootloader communicate with the PC/IDE using a software UART port, for which a TTL-to-USB converter is required?

That's what the README says under the heading [Bootloader](https://github.com/MCUdude/TinyCore?tab=readme-ov-file#bootloader).

---

<div class="post-metadata">

**Author:** ![GolamMostafa](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/golammostafa/32/239011_2.png) [@GolamMostafa](https://forum.arduino.cc/u/GolamMostafa)\
**Post date:** [April 7, 2026, 3:32pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/16 "2026-04-07T15:32:41Z")

</div>

Then the @hansibull bootloader is exactly similar to UNO R3's bootloader??

---

<div class="post-metadata">

**Author:** ![ptillisch](https://avatars.discourse-cdn.com/v4/letter/p/ad7895/32.png) [@ptillisch](https://forum.arduino.cc/u/ptillisch)\
**Post date:** [April 7, 2026, 3:51pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/17 "2026-04-07T15:51:22Z")

</div>

It is a UART bootloader just like the [**Optiboot**](https://github.com/Optiboot/optiboot) bootloader used by the UNO R3.

I think the difference in bootloaders won't have any effect on the user's workflow. However, there are some differences between the two. You can learn about the **urboot** bootloader used by **TinyCore** here:

[https://github.com/stefanrueger/urboot/#urboot](https://github.com/stefanrueger/urboot/#urboot)

---

<div class="post-metadata">

**Author:** ![ShermanP](https://avatars.discourse-cdn.com/v4/letter/s/b19c9b/32.png) [@ShermanP](https://forum.arduino.cc/u/ShermanP)\
**Post date:** [April 7, 2026, 9:24pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/18 "2026-04-07T21:24:31Z")

</div>

Can the urboot bootloader be used to send UART data back to the Serial Monitor from the ATtiny?

---

<div class="post-metadata">

**Author:** ![ptillisch](https://avatars.discourse-cdn.com/v4/letter/p/ad7895/32.png) [@ptillisch](https://forum.arduino.cc/u/ptillisch)\
**Post date:** [April 7, 2026, 11:18pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/19 "2026-04-07T23:18:20Z")

</div>

No. The bootloader is only active during the upload process. At that time, the upload tool has control over the board's serial port and Serial Monitor is disconnected from the port.

Communication between the ATtiny and Serial Monitor can only be done via the sketch program. You can use the usual `Serial.println("Hello, world!")` type approach for that. This is true even for the parts like ATtiny85 that don't have a hardware UART. The reason is that **TinyCore** provides a special software serial implementation for these parts:  
[https://github.com/MCUdude/TinyCore#spi-i2c-and-uart](https://github.com/MCUdude/TinyCore#spi-i2c-and-uart)

It defines an object named `Serial` that uses its internal "TinySoftwareSerial" implementation when using one of the parts that doesn't have a hardware UART.

That software serial implementation is available for use by the sketch even if you don't have the bootloader installed on the chip (i.e., **Tools \> Bootloader \> No** ).

---

<div class="post-metadata">

**Author:** ![hansibull](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/hansibull/32/1127066_2.png) [@hansibull](https://forum.arduino.cc/u/hansibull)\
**Post date:** [April 21, 2026, 7:40pm UTC](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547/20 "2026-04-21T19:40:18Z")

</div>

Well, the core is still under active development, and I have some exciting news to share!

First, we now have [support for PlatformIO](https://github.com/MCUdude/TinyCore/blob/main/PlatformIO.md), for those who prefer to use this (like me!). This means that you can flash your sketch, set fuse bits and burn the exact bootloader you want. Since Avrdude [creates the bootloader binary on request](https://avrdudes.github.io/avrdude/8.1/avrdude_19.html#Autogenerated-Files), you can specify the exact bootloader variant that fits your exact application. This is IMO one of the most impressive features in the latest Avrdude (8.1) release. There have also been lots of under-the-hood improvements. Your average sketch will be smaller in size when compared to ATtinyCore, and especially if you're using `Serial`.

Another big thing is that @fogg and I have spent lots of time to [test all core functionally](https://github.com/MCUdude/TinyCore/tree/main/avr/extras/tests) (digitalRead/Write, analogRead/Write, Serial, Wire, etc.) to make sure it properly works on all supported chips. We found a bunch of bugs dating back to ATtinyCore 2.0.0 and even 1.5.2, and we have also done some significant improvements that lots of users will benefit from, mostly in terms of reduce flash and RAM usage

- We have switched to a non-buffered hardware serial TX impementation that acts similar to the TinySoftwareSerial implementation that non-UART chips already uses. Doing this saves a whopping 226 bytes of flash and 18 bytes of RAM! The old, buffered implementation can be enabled when using PlatformIO
- It's now an option to disable Serial RX on chips with hardware serial. This saves another 162 bytes of flash and 18 bytes of RAM!
- Added support for the [MH-Tiny ATtiny88 board](https://github.com/MCUdude/TinyCore/blob/main/avr/extras/ATtiny_x8.md)
- Lots of documentation improvements and other bug fixes

### Download the [latest TinyCore version](https://github.com/MCUdude/TinyCore#how-to-install) from the boards manager and give it a try!

If you find any issues or bugs, please create an issue or a pull request on Github. I'm grateful for every contribution!

[Next page](https://forum.arduino.cc/t/tinycore-a-new-arduino-core-for-classic-attiny-chips/1438547.md?page=2)
