MiniCore environment setup

For professional maker, you can install the MiniCore directly from these JSON file.

  • Boboduino MiniCore <–Simplified and tailored version for most user (recommend)

  • Legacy MiniCore <–Install this version only if you want to modified the hardware of Boboduino.

For beginner, please follow the article below..


Something about MiniCore and Boboduino MiniCore

Why we need MiniCore hardware package?
Make Boboduino board recognizable by Arduino IDE by installing the MiniCore bootloader third-party board environment.

After you have grab your Boboduino board, you’ll need to install the USB driver (CH340G driver) and the MiniCore third-party Arduino hardware package in order to start developing your projects with the Boboduino in the Arduino IDE environment.

Why do we need these two drivers?
Simply speaking, the USB driver makes your board recognizable by your computer as a USB device, allowing data transfer (like Serial communication) between your computer and the Boboduino board. The MiniCore third-party board driver enables your Arduino IDE environment to communicate with your Boboduino board hardware as a third-party board, allowing you to write and upload your code in the lovely Arduino IDE environment.

In this article, we will provide the information to let you know how to install the original MiniCore hardware package in Arduino IDE.

However, we only recommend you to install the original MiniCore when you want to modified the Boboduino Uno board such as changing the McU or crystal to other model.

Install the Boboduino MiniCore to make your life simpler
Because the Boboduino has the 328PB chip with a 16 MHz crystal oscillator mounted, most users will not need to use the function to choose another processor or crystal oscillation frequency.
We highly recommend that you install the simplified Boboduino MiniCore version tailored for the Boboduino board. This is suitable for most cases if you are NOT planning to replace the chip or crystal oscillator with other specifications.


Bootloader – The First Program After Powering On

Have you noticed that when you power up the Boboduino board with a USB connection, the LED on the board blinks a few times? Actually, those few blinks are what the bootloader does right after it starts.

You might wonder, what’s the significance of those blinks after powering on? In reality, the blinking action is mostly a way to inform the user that the board has been powered up, and there isn’t much more to it. However, there’s one other thing worth mentioning: “The board has been waiting a while after powering up to see if the user is trying to uploading a program.” This design is very convenient for beginners because, after connecting the board via USB, you can directly upload the program you’ve written without needing additional hardware like a programmer to do this.

In simple terms, the bootloader is a short segment of code that runs initially on the microcontroller board when it’s powered up or restarted. Its main job is to wait and see if the user is uploading a new program. If no program is received during this wait time, the bootloader hands over control to the previously stored program in the controller.


MiniCore Bootloader

MiniCore bootloader is a core that supports a variety of MCUs, such as ATmega8, ATmega48, ATmega88, ATmega168, ATmega328, and ATmega328PB. It has been adopted by many users when they want to design their own AVR hardware. With MiniCore bootlaoder, you can choose the crystal oscillator frequency you prefer. It also supports the printf function, brownout detection (BOD), link-time optimization (LTO), and more features. You can find out more on the MiniCore bootloader Github page.

Do I need to upload the bootloader yourself?

To make our lives easier, the MiniCore bootloader has already been installed to the board. This only needs to be done once, just like installing the Windows, Mac, or Linux operating system on a computer. Once the operating system is installed, the computer can boot directly into it without any additional steps. However, you may want to install a different bootloader one day to access advanced but uncommon features in the future.


MiniCore Installation Steps

First, we open the Arduino IDE. In this demonstration, we use version 1.8.19. However, you can also install it on Arduino IDE 2.0+ with no problem. I recently found version 2.0+ to be more user-friendly. I will provide some more demonstrations using version 2.0+ in the future. Maybe also the process on Windows and Linux.


Select [Preferences] from the dropdown menu in Arduino (please note that the Windows and Linux interface may look slightly different from Mac).


In [Arduino>Preferences], let’s find the dialog box labeled “Additional board manager URLs” and enter the following URL:

Afterwards, click [OK] to close this window.


Next, go to [Tool > Board > Board Manager].

Inside the Board Manager window, search for “MiniCore” and click on the [Install] button.


After installation is complete, click on [Close] to close the window.

Next, let’s go to [Tool > Board], and you should be able to find “MiniCore and ATMEGA328.

In the future, when uploading a program, we’ll choose the option [MiniCore > ATmega328] for uploading.


MiniCore setting parameters

Here we have summarized all the parameter settings you will need to use the MiniCore on Boboduino board.

MiniCore JSON file https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
BoardMiniCore>ATmega328
ClockExternal 16 MHz
BODBOD 2.7V
EEPROMEEPROM retained
Compiler LTOLTO disabled
Variant328PB
BootloaderYes (UART0)
PortThe Port (or COM in Windows) which has been recognized by your computer

You may encounter some uploading error if you didn’t set the parameter correctly in [Tools>Boards].

Go back to here and check if you have set it properly like the screenshot below!


What if the code cannot being upload successfully?

When you encounter an uploading error with the MiniCore, please check if you have selected all of these options:

Board: ATmega328

Clock: 16 MHz

Variant: 328PB

Bootloader: Yes (UART0)

Port: The USB port (or COM port in Windows) that the computer has detected after you plug in the Boboduino board.


Further reading