Difference between revisions of "Microduino-Module Core"

From Microduino Wiki
Jump to: navigation, search
Line 176: Line 176:
* 32 digital I/O ports:
* 22 digital I/O ports:
** In the module, it is marked with D0, D1, D2~D13, A0~A7 and D14~D23.
** In the module, it is marked with D0, D1, D2~D13, A0~A7 and D14~D23.
* Eight analog input ports:  
* Eight analog input ports:  

Revision as of 06:44, 27 January 2016

Language: English  • 中文

Microduino-Core is one of core modules of Microduino series, Microduino-Core is an open source hardware and Arduino Uno compatible. It is an 8-bit microcontroller development board, based on Atmel ATmega328P/ATmega168PA series.

Comparing to Arduino Uno, Microduino-Core is featured by:

  • Microduino splits Arduino Uno into two parts: Microduino-Core and Microduino-FT232R modules -- MCU and USB2TTL parts. it means once designers uploaded program into Microduino-Core, Microduino-FT232R will be not necessary anymore, designers could have many Microduino-Core/Core+ modules with only one Microduino-FT232R. The board size becomes very small as only 25.4mm X 27.94mm (1.0inch X 1.1inch), like a quarter.
  • Microduino series uses the U-Shape 27-pin interface (UPin-27), the standard interface of Microduino, all Microduino modules and sensors can be easily stacked and extended, it is delivered ready to plug in.
  • With tiny shape and uniform interface, Microduino series dramatically decreases the size and cost of design prototype, remarkable improves usability and flexibility of Arduino-compatible boards, as well as user experience.

Microduino uses the same development environment as Arduino IDE, designers can use the Arduino IDE, Processing on Microduino for idea realization, prototype development and low volume production.

Microduino uses optiboot for bootloader, it takes less Flash than Arduino default engine and optimizes program uploading.

Currently, there are 4 different configurations for Microduino-Core modules:

Type Flash SRAM EEPROM Frequency Supply
Atmega328P@16M,5V 32K 2K 1K 16M 5.0V
ATmega328P@8M,3V3 32K 2K 1K 8M 3.3V
ATmega168PA@16M,5V 16K 1K 512 16M 5.0V
ATmega168PA@8M,3V3 16K 1K 512 8M 3.3V

Different configurations in frequency and supply voltage:

  • Clock frequency and supply voltage are paired, 8M module is supplied by 3.3V voltage, while 16M module is by 5.0V voltage.
  • A 16M with 5V Microduino-Core module is recommended for desktop equipments or designs; regarding mobile equipments or designs, a 8M with 3.3V module is suggested for low power and battery supply purposes.

Core vs Core+

  • Microduino also provides Microduino-Core+ module, aiming at high performance applications which require large SRAM/EEPROM/Flash and more I/O ports.
  • Both Microduino-Core and Microduino-Core+ use UPin-27 interface -- the standard module interface of Microduino series. The main difference between them is MCU chip: -Core module uses ATmega328P/ATmega168PA, as same as Arduino Uno; -Core+ module uses ATmega644PA/ATmega1284P, its performance is similar to Arduino Mega2560.
Microduino Chip Flash SRAM EEPROM Digital I/O Analog I/O PWM Hardware Serial
Core Atmega168PA 16K 1K 512 23 8 6 1
ATmega328P 32K 2K 1K 23 8 6 1
Core+ Atmega644PA 64K 4K 2K 32 8 6 2
ATmega1284P 128K 16K 4K 32 8 6 2
  • According above table, Core and Core+ are different in Flash, EEPROM and SRAM size, also, they supply different size of digital I/O and hardware serial ports, and there are 10 more digital I/O and 1 more hardware serial ports in Core+. Designers can select specific module regarding different application requirements on function, performance and power.
  • Both Core and Core+ use UPin-27 interface, Microduino program can be smoothly ported between them.


  • Small, stackable and cheap.
  • Open source hardware circuit design and Arduino compatible programming development environment;
  • Like Arduino, Microduino can use ISP download method and burn program into「bootloader」flexibly;
  • With uniform Microduino interface standard and rich peripheral modules, it can have an easy and flexible connection with other Microduino modules and sensor.
  • 2.54mm (0.1 inch) pin pitch, compatible to bread board and pegboards.


  • Microduino-Core+ is classified into four versions based on different core and clock frequency.
MCU type Flash SRAM EEPROM Clock frequency Operation voltage
ATmega644PA 64K 4K 2K 16M 5.0V
ATmega644PA 64K 4K 2K 8M 3.3V
Atmega1284P 128K 16K 4K 16M 5.0V
ATmega1284P 128K 16K 4K 8M 3.3V

  • 22 digital I/O ports:
    • In the module, it is marked with D0, D1, D2~D13, A0~A7 and D14~D23.
  • Eight analog input ports:
    • In the module, it is marked with A0~A7.
    • Each analog input port offers 10-bit resolution(namely, 0-1024). The analog voltage range is from GND to VCC by default.
    • For more information, please refer to: analogRead().
  • PWM support:
    • In the module, it is marked with D7,D8,D9,D10,D12,D13,D22 and D23.
    • For more information, please refer to: analogWrite() function.
  • Serial port support:
    • In the module, it is marked with Serial[D0(RX),D1(TX)] and Serial1[D2(RX),D3(TX)].
    • If it used with Microduino-USBTTL, the D0 and D1 will be occupied.
  • SPI support:
    • In the module, it is marked with D13(SCK),D12(MISO),D11(MOSI) and D10(SS).
  • I2C support:
    • In the module, it is marked with SDA(D20) and SCL(D21).
  • External interruption support:
    • In the module, it is marked with D2(interrupt0),D3(interrupt1) and D6(interrupt2)
    • For more information, please refer to:attachInterrupt() function.
  • Support ISP download function.
  • Support AREF.

  • Pin Description:
Pin Original Pin Name Map Pin Name Digital Pin Analog Pin interrupt PWM Serial SPI I2C Power
1 VCC +5V +5V
2 VCC +3V3 +3.3V
3 (OC0A/AIN1)PB3 D7 D7 yes
4 (OC2B/ICP)PD6 D8 D8 yes
5 (OC1A)PD5 D9 D9 yes
6 (OC0B/SS)PB4 D10 D10 yes SS
7 (MOSI)PB5 D11 D11 MOSI
8 (MISO)PB6 D12 D12 yes MISO
9 (SCK)PB7 D13 D13 yes SCK
11 (ADC7)PA7 A0 D24 A0
12 (ADC6)PA6 A1 D25 A1
13 (ADC5)PA5 A2 D26 A2
14 (ADC4)PA4 A3 D27 A3
17 (ADC1)PA1 A6 D30 A6
18 (ADC0)PA0 A7 D31 A7
19 (RXD0)PD0 D0 D0 0(RX)
20 (TXD0)PD1 D1 D1 0(TX)
21 (INT0)PD2 D2 D2 0 1(RX)
22 (INT1)PD3 D3 D3 1 1(TX)
23 (XCK0/T0)PB0 D4 D4
24 (CLKO/T1)PB1 D5 D5
25 (INT2/AIN0)PB2 D6 D6 2
28 (TOSC2)PC7 D14 D14
29 (TOSC1)PC6 D15 D15
30 (TDI)PC5 D16 D16
31 (TDO)PC4 D17 D17
32 (TMS)PC3 D18 D18
33 (TCK)PC2 D19 D19
34 (ADC3)PA3 A4 D28 A4
35 (ADC2)PA2 A5 D29 A5
36 (OC1B)PD4 D22 D22 yes
37 (OC2A)PD7 D23 D23 yes
Microduino-Core+ Pin-out

Microduino-Core+ Pin-out

Microduino-Core+ Pin-out



Microduino Getting start

  • Burn Microduino BootLoader
    • Bootloader burning is necessary if designers want to update Microduino-Core/Core+ firmware by themselves, designers can leaverage Arduino Uno or another burned Microduino-Core/Core+ to make a new one.
    • Microduino bootloader workshop: 【Burn Bootloader to Microduino-Core/Core+ with an Arduino】.
    • Bootloader is specified for different Microduino-Core/Core+ configurations, correct one must be selected during burning.
    • Initial bootloader is designed for ATmegaX8 series optiboot, which occupies only 512 bytes flash.
  • How to download program to Microduino through Arduino:Download program to Microduino through Arduino


  • room-Microduino
  • obdii-Microduino
  • pilot-Microduino
  • green-Microduino
  • music-Microduino


  • Q:How can I tell the voltage of core--it is 3.3V or 5V?
    • A:You can refer to the resisitor. If the R1 is soldered, it is the core of 3.3V. Or if the R2 is soldered, then it is the core of 5V.
  • Q:Can I charge the 8M Core with the power supply of 5V?
    • A:Yes



  • 2012/12/16: Published Microduino-Core patch for Arduino IDE
  • 2012/11/18: Optimized the first formal release, finalized Miroduino-Core configuration
  • 2012/11/06: Beta version.


Microduino-core Front

Microduino-core Back

Microduino-core 3D model

Microduino-core Upin27 model