MCookie Upin27 Layout
Each stack-able mCookie module uses a set of 27 pins.
The pins usually connect to a Core module's pins. Core modules provide the pins functionality. This is the reason why a Core module type is required in a build. Other modules (non-Core modules) uses / consumes / occupies a pin. This enables the Core module to control, communicate, etc with the stacked module.
When a module uses a pin, it can be thought of as consuming or occupying a pin, which would make other modules attempting to use the same pin unusable. Although, care is taken to avoid conflicts with pin usage. Sometimes pin functionalities overlap between different modules.
NOTE: Multiple Core modules on the same connected stack will interfere with each other as each will try to provide pin functionalities. Usage of a stack splitter such as DUO-V, mBattery, etc are considered the same stack because the pins will be connected across the mirrored pins.
Below is the chart which shows which pins are used for each specific module and can be used to find overlaps. If a conflict or overlap exist it is unlikely that both modules will be usable at the same time for a project. See section Known Conflicts to see a list of already known conflicts.
NOTE: I2C (SDA & SCL) and SPI (MISO & MOSI) are not conflicts between modules since they are share-able communication buses. Therefore, multiple modules can use these pins -- I2C (SDA & SCL) and SPI (MISO & MOSI) -- in their respective mode without a problem. Although, if those pins are use as a regular pin such as a digital IO or analog IO, then they will produce a conflict. UART (RX & TX) is not a share-able communication bus and will produce a conflict.
Contents
Examples
Example 1
- A mCookie Core module is picked as a Core module. mCookie Core provides the pins for functionality.
- A mCookie Motor is stacked. mCookie Motor uses pins D5, D6, D7, and D8 from the mCookie Core module. D5, D6, D7, D8 are now used / consumed / occupied by the mCookie Motor module.
- No conflicts exists.
Example 2
- A mCookie Core module is picked as a Core module. mCookie Core provides the pins for functionality.
- A mCookie Motor is stacked. mCookie Motor uses pins D5, D6, D7, and D8 from the mCookie Core module. D5, D6, D7, D8 are now used / consumed / occupied by the mCookie Motor module.
- A mCookie AudioPro is stack. mCookie AudioPro uses pins D13, D12, D11, D8.
- Pin D8 is now conflicted. D8 on mCookie Motor is used for motor control. D8 on mCookie SD is used to select the SD card module in SPI mode. Therefore, both modules will not work correctly because of the overlapping pin.
Upin27 Layout
Micromodule | BUS | I2CAddr (7bit) | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | D11 | D12 | D13 | A0 | A1 | A2 | A3 | SDA | SCL | A6 | A7 | 5V | 3V3 | RST | AREF |
Core | RX0 | TX0 | MISO | MOSI | SCK | A4 | A5 | IN | (IN) | RST | AREF | |||||||||||||||||
Core+ | RX0 | TX0 | RX1 | TX1 | MISO | MOSI | SCK | SDA | SCL | IN | (IN) | RST | AREF | |||||||||||||||
CoreUSB | RX1 | TX1 | MISO | MOSI | SCK | SDA | SCL | IN | OUT | RST | AREF | |||||||||||||||||
CoreRF | RX0 | TX0 | RX1 | TX1 | MISO | MOSI | SCK | SDA | SCL | IN | IN | RST | AREF | |||||||||||||||
CoreBLE | RX0 | TX0 | (A2) | (A3) | MISO | MOSI | SCK | (D2) | (D3) | SDA | SCL | DC | DD | IN | RST | |||||||||||||
CoreSTM | RX0 | TX0 | RX1 | TX1 | DIO | TCK | MISO | MOSI | SCK | SDA | SCL | IN | IN | RST | ||||||||||||||
CoreMSP | RX0 | TX0 | MISO | MOSI | SCK | SDA_S | SCL_S | DIO | (TCK) | |||||||||||||||||||
USBTTL | UART | TX | RX | OUT | OUT | OUT | ||||||||||||||||||||||
BLE Upload | UART | TX | RX | IN | OUT | |||||||||||||||||||||||
Ethernet(WIZ) | SPI | IRQ | CS | MISO | MOSI | SCK | IN | RST | ||||||||||||||||||||
Ethernet(ENC) | SPI | IRQ | CS | MISO | MOSI | SCK | IN | RST | ||||||||||||||||||||
RS485 | UART | (TX) | (RX) | (TX) | (RX) | (TX) | (RX) | IN | ||||||||||||||||||||
USBHOST | SPI | (INT) | CS | MISO | MOSI | SCK | OUT | IN | RST | |||||||||||||||||||
nRF | SPI | (IRQ) | CSN | CE | MISO | MOSI | SCK | IN | ||||||||||||||||||||
SmartRF | SPI | DO0 | DO2 | CS | MISO | MOSI | SCK | IN | ||||||||||||||||||||
Zigbee | UART | (TX) | (RX) | (TX) | (RX) | TX | RX | (RST) | IN | (RST) | ||||||||||||||||||
BLE | UART | TX | RX | (TX) | (RX) | (TX) | (RX) | IN | ||||||||||||||||||||
WIFI,CC3000 | SPI | IRQ | EN | CS | MISO | MOSI | SCK | IN | ||||||||||||||||||||
WIFI,ESP | UART | (TX) | (RX) | TX | RX | IN | RST | |||||||||||||||||||||
GPRS | UART | (TX) | (RX) | TX | RX | (DTR) | ||||||||||||||||||||||
NFC | I2C | 0x24 | SDA | SCL | IN | |||||||||||||||||||||||
LED Matrix | DI | (DI) | (DI) | IN | ||||||||||||||||||||||||
RTC | I2C | 0x51(pcf) 0x50(eep) | INT | (INT) | SDA | SCL | (IN) | IN | ||||||||||||||||||||
SD | SPI | CS | MISO | MOSI | SCK | (CD) | IN | |||||||||||||||||||||
Amplifier | (RIN) | (LIN) | IN | |||||||||||||||||||||||||
Audio | UART | (TX) | (RX) | TX | RX | (TX) | (RX) | ADKEY | OUT | IN | ||||||||||||||||||
Motion | I2C | 0x68(MPU) 0x1E(HMC) 0x77(BMP) | (INT) | (INT) | SDA | SCL | IN | |||||||||||||||||||||
GPS | UART | (TX) | (RX) | TX | RX | IN | ||||||||||||||||||||||
BM Li-ion | (PD) | (PD) | (PD) | OUT | OUT | |||||||||||||||||||||||
BM WirelessPower | (PD) | (PD) | (PD) | OUT | OUT |
Known Conflicts
mCookie Motor
- mCookie SD - Pin D7
mCookie SD
- mCookie Motor - Pin D7