Difference between revisions of "Microduino-Module Core"

From Microduino Wiki
Jump to: navigation, search
(Specifications)
 
(8 intermediate revisions by 4 users not shown)
Line 3: Line 3:
 
|-
 
|-
 
|
 
|
[[file:Microduino-core -rect.jpg|400px|thumb|right|Microduino-Core]]
+
[[File:Microduino-core-rect.jpg|400px|thumb|right|Microduino-Core]]
 
+
Microduino-Core is an 8-bit microcontroller development board, with the core of Atmel ATmega328P and ATmega168PA series. It is a open-source, compatible-with-Arduino UNO controller module.
'''[[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.
+
Compared with Arduino UNO, Microduino-core has the following features:
 
+
* It uses the U-shape 27pin Microduino interface specification, and it has multiple interface compatible peripheral modules and sensors.
Comparing to Arduino Uno, '''[[Microduino-Core]]''' is featured by:
+
* Microduino breaks up the USB serial interface communication module and Atmega core module, and makes them into two Microduino development boards which can be divided and stacked.
* Microduino splits '''[http://arduino.cc/en/Main/ArduinoBoardUno 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.
+
* It uses micro USB to supply power, and removes the external power supply socket, making the whole size very small, 25.4mm long X 27.94mm wide(the size of a 1 yuan coin).
* 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.
+
Lightweight design makes Microduino has a unique advantage in the project designs with the requirement of size and cost, and it can achieve the fast and flexible function extension for the design with other Microduino modules, according to the need of the players.
* 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:
 
{|class="wikitable"
 
! 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.
 
  
 +
Microduino uses java and C language development environment, same as Arduino. The players can use Arduino IDE, together with software such as Flash and Processing, use Microduino and other electronic components, modules, and sensors to make many interesting and interactive works.
  
  
|-
+
==Feature==
|
+
* Small, cheap, stacked, and open.
==Core vs Core+==
+
* Open-source hardware circuit design, and programming development environment compatible with Arduino;
* Microduino also provides '''[[Microduino-Core+]]''' module, aiming at high performance applications which require large SRAM/EEPROM/Flash and more I/O ports.
+
* Same as Arduino, Microduino can use ISP download line to program to「bootloader」 flexibly;
 
+
* Unified Microduino interface specification and abundant peripheral modules, can be quickly and conveniently and flexibly connected and extended with other modules and sensors conforming to the Microduino interface specification;
* 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.
+
* 2.54-distance parent interface is convenient to integrate into the hole plate.
 
 
* Configuration difference between '''[[Microduino-Core]]''' and '''[[Microduino-Core+]]'''
 
:{|class="wikitable"
 
! Microduino
 
! Chip
 
! Flash
 
! SRAM
 
! EEPROM
 
! Digital I/O
 
! Analog I/O
 
! PWM
 
! Hardware Serial
 
|-
 
| rowspan="2" | Core
 
| Atmega168PA
 
| 16K
 
| 1K
 
| 512
 
| 23
 
| 8
 
| 6
 
| 1
 
|-
 
| ATmega328P
 
| 32K
 
| 2K
 
| 1K
 
| 23
 
| 8
 
| 6
 
| 1
 
|-
 
| rowspan="2" | 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.
 
 
 
|-
 
|
 
 
 
==Features==
 
* 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.
 
 
|-
 
|-
 
|
 
|
  
 
==Specification==
 
==Specification==
*'''[[Difference between Microduino-Core and Core+]]'''
+
*【Extension】'''[[Difference between Microduino-Core and Core+]]'''
  
  
* '''[[Microduino-Core]]''' is classified into four versions based on different core and clock frequency. 
+
*According to the different core and clock frequency, there are four different versions of the  '''[[Microduino-Core]]''':
 
:{|class="wikitable"
 
:{|class="wikitable"
! Type  
+
! Type
 
! Flash
 
! Flash
 
! SRAM
 
! SRAM
 
! EEPROM
 
! EEPROM
! Time clock frequency
+
! Clock frequency
! Operation voltage  
+
! Working voltage |-
|-
 
 
| Atmega328P@16M,5V  
 
| Atmega328P@16M,5V  
 
| 32K
 
| 32K
Line 160: Line 49:
 
| 3.3V
 
| 3.3V
 
|-
 
|-
| ATmega168PA@16M,5V
+
| ATmega168PA@16M, 5V
 
| 16K
 
| 16K
 
| 1K
 
| 1K
Line 167: Line 56:
 
| 5.0V
 
| 5.0V
 
|-
 
|-
| ATmega168PA@8M,3V3
+
| ATmega168PA@8M, 3V3
 
| 16K
 
| 16K
 
| 1K
 
| 1K
Line 175: Line 64:
 
|}
 
|}
  
* Microduino Size: 25.4mm X 27.94mm  
+
* The size of Microduino: 25.4mm X 27.94mm .
  
  
*22 digital I/O input/output ports:
+
* Digital I/O There are 22 digital input/output ports totally:
** You can see D0, D1, D2-D13 and A0-A7 marked on this module. For A6 and A7 are the input ports.  
+
** They are labeled on the module of D0, D1, D2~D13, and A0~A7, of which A6 and A7 can only input.
* Eight analog I/O input ports:  
+
* Analog I/O There are 8 analog input ports totally:
** A0-A7 marked on the module.
+
** They are labeled on the module of A0~A7;
** Each analog input port offers 10-bit resolution(namely, 0-1024). The analog voltage range is from GND to VCC by default.
+
** Each of them offers 10 resolution(namely 0~1024). By default, the analog voltage range for measurement is GND to VCC voltage values;
** For more information, please refer to: '''[http://www.arduino.cc/en/Reference/AnalogRead analogRead()]''' function.  
+
** Please refer to ''[http://www.arduino.cc/en/Reference/AnalogRead analogRead()]''' function for the details.
* PWM support:  
+
* PWM supports, a total of 6:
** In the module, it is marked with D3,D5,D6,D9,D10 and D11.  
+
** Respectively labeled on the module of D3,D5,D6,D9,D10,D11.
** For more information, please refer to: '''[http://www.arduino.cc/en/Reference/AnalogWrite analogWrite()]'''function.  
+
** Please refer to '''[http://www.arduino.cc/en/Reference/AnalogWrite analogWrite()]''' function for the details.
* Serial port support:
+
* A serial port support, a total of 1:
** In the module, it is marked with Serial[D0(RX),D1(TX)].
+
** Labeled on the module of Serial[D0(RX), D1(TX)]
** If it used with Microduino-USBTTL, the D0 and D1 will be occupied.
+
** If it connects with USBTTL module, it will take D0 and D1. If ports D0 and D1 are also be taken by other modules, it will communicate with USBTTL abnormal, and the program will not be able to download.
* SPI support:  
+
* SPI support, a total of 1:
** In the module, it is marked with D13(SCK),D12(MISO),D11(MOSI),D10(SS).  
+
** Labeled on the module of D13(SCK), D12(MISO), D11(MOSI), D10(SS).
* I2C support:  
+
* I2C support, a total of 1:
** In the module, it is marked with SDA(A4),SCL(A5)
+
** Labeled on the module of SDA(A4), SCL(A5).
* External interruption support:
+
* External interrupt support, a total of 2:
** In the module, it is marked with D2(interrupt0) and D3(interrupt1).  
+
** Labeled on the module of D2(interrupt0), D3(interrupt1).
** For more information, please refer to:'''[http://arduino.cc/en/Reference/AttachInterrupt attachInterrupt()]''' function.  
+
** Please refer to the'''[http://arduino.cc/en/Reference/AttachInterrupt attachInterrupt()]''' function for the details.
* Support ISP download function.
+
* It supports the ISP download function.
* Support AREF.  
+
* It supports the AREF end.
  
  
*Pin Description:  
+
*Introduction of Pins:
  
 
{|class="wikitable"
 
{|class="wikitable"
Line 282: Line 171:
 
|
 
|
  
==Documents==
+
==Document==
* '''[[Microduino-Core]]''' Eagle source file 【'''[[media:Microduino-Core.zip|download]]'''
+
Eagle PCB '''[[File:Microduino-Core.zip]]'''
* '''[[Microduino-Core]]''' main chips and devices
+
 
** MCU: '''[[media:ATmega168PA328P.pdf|ATmega168PA/328P]]'''
+
* The main components used in Microduino-core.
 +
** MCU: '''[[Media:ATmega168PA328P.pdf|ATmega168PA/328P]]'''
 
|-
 
|-
 
|
 
|
  
 
==Development==
 
==Development==
'''[[Microduino Getting start]]'''
+
* 1.Developing program to Microduino-core, players need to use '''[[Microduino-USBTTL]]''' module.
 +
* 2.The tutorial of setting up the development environment and installing the driver is as following:
 +
**'''[[Microduino Getting start]]'''
  
* Burn Microduino BootLoader
+
* Program 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.
+
** If you get a Microduin-Core empty board, you need to use Arduino UNO or the existing Microduino to program bootloader for another Microduino empty board. You can refer to the tutorial '''[[Do you know how to use Arduino UNO to program bootloader to Microduino-Core?]]'''.
** Microduino bootloader workshop: 【'''[[Burn Bootloader to Microduino-Core/Core+ with an Arduino]]'''.
+
** Each version of Microduino-Core uses different bootloader, and the initial bootloader is the bootloader that the optiboot aims at ATmegaX8 set, and it takes 512 bytes flash space.
** 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:'''[[Media:Arduino-Miccroduino-e.pdf|Download program to Microduino through Arduino ]]'''
 
 
|-
 
|-
 
|
 
|
  
==Applications==
+
==Application==
* room-Microduino
+
* [https://www.microduino.cc/project Microduino project cases]
* obdii-Microduino
+
* [https://www.microduino.cc/wiki/index.php?title=Microduino_(Arduino%E5%85%BC%E5%AE%B9%E6%9D%BF%EF%BC%89%E6%95%99%E7%A8%8B Microduino application tutorial]
* pilot-Microduino
+
* [http://www.geek-workshop.com/thread-4558-1-1.html Microduino application on the internet of things] 【From geek-workshop.com】
* green-Microduino
 
* music-Microduino
 
 
|-
 
|-
 
|
 
|
  
 
==FAQ==
 
==FAQ==
*Q:How can I tell the voltage of core--it is 3.3V or 5V? 
+
*Q:How can I judge the voltage of my Core 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.
+
**A:By the resistor. If the R1 is soldered, it is 3.3V, and if R2 is soldered, it is 5V.
*Q:Can I charge the 8M Core with the power supply of 5V?
+
*Q:Can I supply power to the Core+ of 16M color frequency with 3.3V?
**A:Yes
+
**A:It is not recommended. If the voltage is too low, it will be easy to be unstable.
 +
*Q:Can I use 5V voltage to supply power to the core of 8M clock frequency?
 +
**A:You can.
  
==Buy==
+
==Acquisition==
* Buy '''[http://www.microduino.cc/Modules/Microdoino%20Core%20Modules/Microdoino-Core Microduino-Core]'''
 
  
 
|-
 
|-
 
|
 
|
==History==
 
*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.
 
  
|-
+
==Map Storage==
|
 
==Pictures==
 
 
:[[file:Microduino-Core-t.JPG|thumb|600px|center|Microduino-core Front]]
 
:[[file:Microduino-Core-t.JPG|thumb|600px|center|Microduino-core Front]]
 
<br style="clear: left"/>
 
<br style="clear: left"/>
Line 337: Line 219:
 
:[[file:Microduino-Core-Upin27.jpg|thumb|600px|center|Microduino-core Upin27 model]]
 
:[[file:Microduino-Core-Upin27.jpg|thumb|600px|center|Microduino-core Upin27 model]]
 
<br style="clear: left"/>
 
<br style="clear: left"/>
 +
 +
==History==
 +
*On December 16, 2012, the Arduino IDE support service pack for Microduino Core is published. Refer to '''[[Install Arduino IDE Microduino hardware support package]]''' for the detail.
 +
*On November 18, 2012, the first released version was determined. Cut down some functions, maintain the minimum system of lean, reduce the cost and adopt beautiful manual wiring appearance.
 +
 +
|-
 +
|
 
|}
 
|}

Latest revision as of 03:42, 4 August 2017

Language: English  • 中文
Microduino-Core

Microduino-Core is an 8-bit microcontroller development board, with the core of Atmel ATmega328P and ATmega168PA series. It is a open-source, compatible-with-Arduino UNO controller module. Compared with Arduino UNO, Microduino-core has the following features:

  • It uses the U-shape 27pin Microduino interface specification, and it has multiple interface compatible peripheral modules and sensors.
  • Microduino breaks up the USB serial interface communication module and Atmega core module, and makes them into two Microduino development boards which can be divided and stacked.
  • It uses micro USB to supply power, and removes the external power supply socket, making the whole size very small, 25.4mm long X 27.94mm wide(the size of a 1 yuan coin).

Lightweight design makes Microduino has a unique advantage in the project designs with the requirement of size and cost, and it can achieve the fast and flexible function extension for the design with other Microduino modules, according to the need of the players.

Microduino uses java and C language development environment, same as Arduino. The players can use Arduino IDE, together with software such as Flash and Processing, use Microduino and other electronic components, modules, and sensors to make many interesting and interactive works.


Feature

  • Small, cheap, stacked, and open.
  • Open-source hardware circuit design, and programming development environment compatible with Arduino;
  • Same as Arduino, Microduino can use ISP download line to program to「bootloader」 flexibly;
  • Unified Microduino interface specification and abundant peripheral modules, can be quickly and conveniently and flexibly connected and extended with other modules and sensors conforming to the Microduino interface specification;
  • 2.54-distance parent interface is convenient to integrate into the hole plate.

Specification


  • According to the different core and clock frequency, there are four different versions of the Microduino-Core:
Type Flash SRAM EEPROM Clock frequency - 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
  • The size of Microduino: 25.4mm X 27.94mm .


  • Digital I/O There are 22 digital input/output ports totally:
    • They are labeled on the module of D0, D1, D2~D13, and A0~A7, of which A6 and A7 can only input.
  • Analog I/O There are 8 analog input ports totally:
    • They are labeled on the module of A0~A7;
    • Each of them offers 10 resolution(namely 0~1024). By default, the analog voltage range for measurement is GND to VCC voltage values;
    • Please refer to analogRead()' function for the details.
  • PWM supports, a total of 6:
    • Respectively labeled on the module of D3,D5,D6,D9,D10,D11.
    • Please refer to analogWrite() function for the details.
  • A serial port support, a total of 1:
    • Labeled on the module of Serial[D0(RX), D1(TX)]
    • If it connects with USBTTL module, it will take D0 and D1. If ports D0 and D1 are also be taken by other modules, it will communicate with USBTTL abnormal, and the program will not be able to download.
  • SPI support, a total of 1:
    • Labeled on the module of D13(SCK), D12(MISO), D11(MOSI), D10(SS).
  • I2C support, a total of 1:
    • Labeled on the module of SDA(A4), SCL(A5).
  • External interrupt support, a total of 2:
    • Labeled on the module of D2(interrupt0), D3(interrupt1).
    • Please refer to theattachInterrupt() function for the details.
  • It supports the ISP download function.
  • It supports the AREF end.


  • Introduction of Pins:
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 (AIN1)PD7 D7 D7
4 (ICP)PB0 D8 D8
5 (OC1A)PB1 D9 D9 yes
6 (OC1B/SS)PB2 D10 D10 yes SS
7 (OC2A/MOSI)PB3 D11 D11 yes MOSI
8 (MISO)PB4 D12 D12 MISO
9 (SCK)PB5 D13 D13 SCK
10 AREF AREF
11 (ADC0)PC0 A0 D14 A0
12 (ADC1)PC1 A1 D15 A1
13 (ADC2)PC2 A2 D16 A2
14 (ADC3)PC3 A3 D17 A3
15 (ADC4/SDA)PC4 SDA D18 A4 SDA
16 (ADC5/SCL)PC5 SCL D19 A5 SCL
17 (ADC6) A6 D20(only input) A6
18 (ADC7) A7 D21(only input) A7
19 (RXD)PD0 D0 D0 0(RX)
20 (TXD)PD1 D1 D1 0(TX)
21 (INT0)PD2 D2 D2 0
22 (OC2B/INT1)PD3 D3 D3 1 yes
23 (XCK/T0)PD4 D4 D4
24 (OC0B/T1)PD5 D5 D5 yes
25 (OC0A/AIN0)PD6 D6 D6 yes
26 RESET RST
27 GND GND GND


  • Microduino-Core Pinout
Microduino-Core-Pinout
Microduino-Core-Pinout
Microduino-Core-Pinout
Microduino-Core-Pinout

Document

Eagle PCB File:Microduino-Core.zip

Development

  • 1.Developing program to Microduino-core, players need to use Microduino-USBTTL module.
  • 2.The tutorial of setting up the development environment and installing the driver is as following:
  • Program Microduino BootLoader.
    • If you get a Microduin-Core empty board, you need to use Arduino UNO or the existing Microduino to program bootloader for another Microduino empty board. You can refer to the tutorial Do you know how to use Arduino UNO to program bootloader to Microduino-Core?.
    • Each version of Microduino-Core uses different bootloader, and the initial bootloader is the bootloader that the optiboot aims at ATmegaX8 set, and it takes 512 bytes flash space.

Application

FAQ

  • Q:How can I judge the voltage of my Core is 3.3V or 5V?
    • A:By the resistor. If the R1 is soldered, it is 3.3V, and if R2 is soldered, it is 5V.
  • Q:Can I supply power to the Core+ of 16M color frequency with 3.3V?
    • A:It is not recommended. If the voltage is too low, it will be easy to be unstable.
  • Q:Can I use 5V voltage to supply power to the core of 8M clock frequency?
    • A:You can.

Acquisition

Map Storage

Microduino-core Front


Microduino-core Back


Microduino-core 3D model


Microduino-core Upin27 model


History

  • On December 16, 2012, the Arduino IDE support service pack for Microduino Core is published. Refer to Install Arduino IDE Microduino hardware support package for the detail.
  • On November 18, 2012, the first released version was determined. Cut down some functions, maintain the minimum system of lean, reduce the cost and adopt beautiful manual wiring appearance.