MightyCore : An Arduino core for the ATmega16, ATmega32, ATmega324 and more…

MightyCore is an Arduino core for large AVR ICs running Optiboot 6. Major libraries such as SD, Servo, SPI and Wire are modified to work with this core. Still, a large amount of third-party libraries often works without any modifications.

This core requires at least Arduino IDE v1.6, where v1.6.11+ is recommended.

Supported microcontrollers

  • ATmega16*
  • ATmega32*
  • ATmega324*
  • ATmega1284*
  • ATmega644*
  • ATmega164*
  • ATmega8535*

* All variants – P, PA, A except PB. Select the correct version in the ‘Variant’ menu

Supported clock frequencies

  • 20 MHz external oscillator
  • 16 MHz external oscillator (default)
  • 12 MHz external oscillator
  • 8 MHz external oscillator
  • 8 MHz internal oscillator *
  • 1 MHz internal oscillator

How to install

Boards Manager Installation

This installation method requires Arduino IDE version 1.6.4 or greater.

  • Open the Arduino IDE.
  • Open the File > Preferences menu item.
  • Enter the following URL in Additional Boards Manager URLs: https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json
    • Separate the URLs using a comma ( , ) if you have more than one URLMighty core prefernces
  • Open the Tools > Board > Boards Manager… menu item.
  • Wait for the platform indexes to finish downloading.
  • Scroll down until you see the MightyCore entry and click on it.
  • Click Install.boatds_manager
  • After installation is complete close the Boards Manager window.

Manual Installation

Click on the “Download ZIP” button. Exctract the ZIP file, and move the extracted folder to the location “~/Documents/Arduino/hardware“. Create the “hardware” folder if it doesn’t exist. Open Arduino IDE, and a new category in the boards menu called “MightyCore” will show up.


PlatformIO is an open source ecosystem for IoT development. It got a built-in library manager and is Arduino compatible. It support most operating systems; Windows, Mac OSX, Linux 32 and 64-bit; ARM and X86.

So Lets Get It Started

  • Open the Tools > Board menu item, and select a MighyCore compatible microcontroller.select_ic
  • If the BOD option is presented, you can select at what voltage the microcontroller will shut down at. Read more about BOD here.
  • Select your prefered pinout. Personally I prefer the standard pinout because it’s “cleaner”, but the Bobuino pinout is better at Arduino UNO pin compatibility. Here I am using Bobuino pinout. Read more about the different pinouts here.bobuino_pinout
  • Select your prefered clock frequency. 16 MHz is standard on most Arduino boards.
  • Select what kind of programmer you’re using under the Programmers menu. Here I am using USBasp(MightyCore). You can buy it from our Store.IMG_0018 copy
  • If the Variants option is presented, you’ll have to specify what version of the microcontroller you’re using. E.g the ATmega1284 and the ATmega1284P got different device signatures, so selecting the wrong one will result in an error.
  • Hit Burn Bootloader. If an LED is connected to pin PB0, it should flash twice every second.
  • Now that the correct fuse settings is set and the bootloader burnt, you can upload your code in two ways:
    • Disconnect your programmer tool (USBasp), and connect a USB to serial converter to the microcontroller, like shown in the minimal setup circuit.minimal_setup Then select the correct serial port under the Tools menu. Under the Programmers menu select ArduinoISP(MightyCore) and click the Upload button.img_20161028_161751_mm If you’re getting some kind of timeout error, it means your RX and TX pins are swapped, or your auto reset circuity isn’t working properly (the 100 nF capacitor on the reset line).
    • Keep your programmer connected, and hold down the shift button while clicking Upload. This will erase the bootloader and upload your code using the programmer tool.

Your code should now be running on your microcontroller!

You can buy all the required hardware from our Store.

An Arduino forum post for this particular core are located here.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s