MCookie-CoreRF

From Microduino Wiki
Revision as of 09:45, 28 September 2016 by Fengfeng (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
mCookie-CoreRF

mCookie-CoreRF is AVR core board, supporting for 802.15 Wireless Protocol natively. It integrates 802.15.4 Wireless Protocol modules, including ZigBee, MAC/6LoWPAN and RF4CE.

Features

  • Integrate 802.15.4 Wireless Protocol modules, including ZigBee, MAC/6LoWPAN and RF4CE.
  • Small, cheap, stackable and open;
  • Open-source hardware circuit design, and compatible-with-Arduino programming development environment;
  • The unified Microduino interface specification, and abundant peripheral modules, which make it can be extended and connected with other modules and sensors which meet the Microduino interface specification, quickly, conveniently and flexibly;

Specification

Adopt ATmega128RFA1 core:

Power supply 3.3 V
Flash 128 KB
SRAM 16 KB
EEPROM 4 KB
Speed of clock 16 MHz


  • There are 22 Digital I/O(6 during them support ADC):
  • 2 hard serial ports:
    • UART0_RX: D0
    • UART0_TX: D1
    • UART1_RX: D2
    • UART1_TX: D3
  • Support 7 PWM:
    • D4, D5, D6, D7, D8, D9, D10
  • 6 external interrupt:
    • Interrupt0 (pin SCL)
    • Interrupt1 (pin SDA)
    • Interrupt2 (pin D2)
    • Interrupt3 (pin D3)
    • Interrupt4 (pin D5)
    • Interrupt5 (pin D6)
  • There are 10 Analog I/O :
    • On the module labeled A0, A1, A2, A3, A6, A7, D8(A8), D9(A9), D3(A10), and D4(A11);
    • Each provides 10 resolution ratios(that is 0~1024). By default, the measurement range of analog voltage is the value from GND to VCC;
    • Please refer to analogRead()function for details.
  • There is one SPI supporter:
    • On the module labeled D13(SCK),D12(MISO),D11(MOSI),D10(SS).
  • There is one I2C supporter:
    • On the module labeled SDA(D18),SCL(D19).


  • Description 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 (OC0A/OC1C)PB7 D7 D7 yes
4 (OC1B)PB6 D8 D8 yes
5 (OC1A)PB5 D9 D9 yes
6 (OC2A/SS)PB4 D10 D10 yes SS
7 (PDI/MOSI)PB2 D11 D11 MOSI
8 (PDO/MISO)PB3 D12 D12 MISO
9 (SCK)PB1 D13 D13 SCK
10 AREF AREF
11 (ADC7)PF7 A0 D14 A0
12 (ADC6)PF6 A1 D15 A1
13 (ADC5)PF5 A2 D16 A2
14 (ADC4)PF4 A3 D17 A3
15 (SDA)PD1 SDA D18 1 SDA
16 (SCL)PD0 SCL D19 0 SCL
17 (ADC3)PF3 A6 D20 A6
18 (ADC2)PF2 A7 D21 A7
19 (RXD0)PE0 RX0 D0 0(RX)
20 (TXD0)PE1 TX1 D1 0(RX)
21 (RXD1)PD2 D2 D2 2 1(RX)
22 (TXD1)PD3 D3 D3 3 1(TX)
23 (OC3A)PE3 D4 D4 yes
24 (OC3B)PE4 D5 D5 4 yes
25 (OC3C)PE5 D6 D6 5 yes
26 RESET RST
27 GND GND GND
File:MCookie-CoreRf-pin.jpg
Microduino-CoreRF Pins
File:MCookie-CoreRFpinlayout.jpg
Microduino-CoreRF Components

Documents

  • Main components used in Microduino-coreRF

ATmega128RFA1: http://www.atmel.com/zh/cn/devices/ATMEGA128RFA1.aspx?tab=documents

Development

  • 1.To download programs to Microduino-CoreRF, players need to use Microduino-USBTTL module.
  • 2.The tutorial of setting development environment and installing the driver is as following:

Application

Microduino-Quadcopter Tutorial

Test

Use the example program "ZigduinoRadioExample" in ZigduinoRadio library to test

void loop() 
{ 
    if (Serial.available()) 
    { 
        ZigduinoRadio.beginTransmission(); 
 
        Serial.println(); 
        Serial.print("Tx: "); 
 
        while(Serial.available()) 
        { 
            char c = Serial.read(); 
            Serial.write(c); 
            ZigduinoRadio.write(c); 
        } 
 
        Serial.println(); 
 
        ZigduinoRadio.endTransmission(); 
    } 
 
    if (ZigduinoRadio.available()) 
    { 
        Serial.println(); 
        Serial.print("Rx: "); 
 
        while(ZigduinoRadio.available()) 
            Serial.write(ZigduinoRadio.read()); 
 
        Serial.println(); 
        Serial.print("LQI: "); 
        Serial.print(ZigduinoRadio.getLqi(), 10); 
        Serial.print(", RSSI: "); 
        Serial.print(ZigduinoRadio.getLastRssi(), 10); 
        Serial.print(" dBm, ED: "); 
        Serial.print(ZigduinoRadio.getLastEd(), 10); 
        Serial.println("dBm"); 
    } 
 
    delay(100); 
} 
 
void errHandle(radio_error_t err) 
{ 
    Serial.println(); 
    Serial.print("Error: "); 
    Serial.print((uint8_t)err, 10); 
    Serial.println(); 
} 
 
void onXmitDone(radio_tx_done_t x) 
{ 
    Serial.println(); 
    Serial.print("TxDone: "); 
    Serial.print((uint8_t)x, 10); 
    Serial.println(); 
}

This example realizes the wireless transmission function. Because Core RF adopts ports to download, you need to stack a Microduino-USBTTL at first: The board card , choose Microduino Core RF.

154343ch79m113a77932i7.jpg

After downloading programs to two Core-RF, open the serial port monitor, and input "Hello Microduino!", then you will get the following result:

Result.png
Result1.png

The test is completed now.

FAQ

Purchase

History

Gallery

MCookie-CoreRF-F.JPG
MCookie-CoreRF-b.JPG