Much as it probably upsets the embedded purists you can use many of the Atmel now Microchip microcontrollers with the Arduino IDE
To do this you need to the following basic process in the IDE
This is a basic process for adding new cores to the Arduino IDE
Open the Arduino IDE.
Open the File > Preferences menu item.
Enter the URL in Additional Boards Manager URLs – you can find these in the links below
Open the Tools > Board > Boards Manager… menu item.
Wait for the platform indexes to finish downloading.
Scroll down until you see the entry for the core you desire and click on it.
After installation is complete close the Boards Manager window.
There are more than this but here are some that we recommend
You can visit the links and find out more about the features present, features that are missing and the exact list of microcontrollers that are supported
This is a minimal Arduino core for programming the ATtiny10/9/5/4. It doesn’t include any Arduino functions pinMode(), millis(), etc.
Arduino support for almost every classic tinyAVR device! Supports ATtiny 1634, 2313/4313, 24/44/84, 441/841, 25/45/85, 261/461/861, 87/167, 48/88, 43 and 828. Supports programming vis ISP, Serial (Optiboot – all parts with >4k flash, and all parts with 4k flash for which an 8k version is available) or VUSB (Micronucleus – where appropriate)
MicroCore is a lightweight Arduino hardware package for ATtiny13, ATtiny13A and ATtiny13V. It’s easy to install, easy to use, have lots of features and support most Arduino functions. If you’re into low level AVR programming, I’m happy to tell you that all relevant keywords are being highlighted by the IDE through a separate keywords file.
Arduino core for the tinyAVR 0/1/2-series – this is any ATtiny with 2, 4, 6, or 7 in the 1’s place, 0, 1, or 2 in the tens, and the flash size in the remaining digits
Arduino hardware package for ATmega64, ATmega128, ATmega640, ATmega1280, ATmega1281, ATmega2560, ATmega2561, AT90CAN32, AT90CAN64 and AT90CAN128
Arduino hardware package for ATmega1284, ATmega644, ATmega324, ATmega324PB, ATmega164, ATmega32, ATmega16 and ATmega8535
Arduino hardware package for ATmega8, ATmega48, ATmega88, ATmega168, ATmega328 and ATmega328PB