Difference between revisions of "MCookie Upin27 Layout"

From Microduino Wiki
Jump to: navigation, search
(Upin27 Layout)
Line 34: Line 34:
 
*Power is provided by power giving modules such as [[mBattery]], [[Battery Management]], etc. The power pins '''5V''', '''3V3''' and '''GND''' are share-able across all modules and do not cause a conflict.
 
*Power is provided by power giving modules such as [[mBattery]], [[Battery Management]], etc. The power pins '''5V''', '''3V3''' and '''GND''' are share-able across all modules and do not cause a conflict.
 
*Share-able communication pins such as I2C ('''SDA''' & '''SCL'''), and SPI ('''MISO [D11]''', '''MOSI [D12]''' & '''SCK [D13]''') will not cause a conflict between modules.  As they are designed to work as a share-able communication bus.
 
*Share-able communication pins such as I2C ('''SDA''' & '''SCL'''), and SPI ('''MISO [D11]''', '''MOSI [D12]''' & '''SCK [D13]''') will not cause a conflict between modules.  As they are designed to work as a share-able communication bus.
 +
**If the pins for I2C and SPI are not used in their intended share-able communication bus mode. Then the pins will follow the typical pin conflict rules.
 
*Non share-able communication pins such as UART ('''TX_''' & '''RX_''') will cause a conflict between modules to attempt to use the same pins. As UART is not a shared communication bus.
 
*Non share-able communication pins such as UART ('''TX_''' & '''RX_''') will cause a conflict between modules to attempt to use the same pins. As UART is not a shared communication bus.
 
*The [[Sensor Hub]] makes sensors connectable to a Core module.  
 
*The [[Sensor Hub]] makes sensors connectable to a Core module.  

Revision as of 20:26, 17 May 2017

Each stack-able mCookie module uses a set of 27 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.

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

  • Each stack-able mCookie module uses a set of 27 pins.
  • Core modules provides pins to other modules.
    • Only one Core module type should exist in a build / project.
    • Usage of a stack splitter such as mBattery or DUO simply allow the stack to be shorter by splitting the stack height, but both stacks are still connected.
  • Core Programmers are needed to upload a program to a Core module (except for CoreUSB, as there is an integrated programmer).
    • Core programmers use RX_ [D0] & TX_ [D1] on a Core module for programming.
    • RX_ [D0] & TX_ [D1] are also used for Serial communication with the Serial Monitor from the Core module to the Computer.
    • Programming and Serial Monitor does not cause a conflict.
    • RX_ [D0] & TX [D1] are also typically used by Communication modules such as Bluetooth and WiFi. Please be aware of this possible conflict.
    • Re-wiring on the Communication module may be needed in order to use a different pin set.
  • Other modules (non-Core modules) uses pins provided by Core modules.
  • Pin names for a non-Core module are sometimes repeated.
    • The default configuration is in not parenthesis, while a re-wiring alternative is in parenthesis.
    • Some modules need to be re-wired in order to avoid pin conflicts. See individual pages for re-wiring information.
  • Power is provided by power giving modules such as mBattery, Battery Management, etc. The power pins 5V, 3V3 and GND are share-able across all modules and do not cause a conflict.
  • Share-able communication pins such as I2C (SDA & SCL), and SPI (MISO [D11], MOSI [D12] & SCK [D13]) will not cause a conflict between modules. As they are designed to work as a share-able communication bus.
    • If the pins for I2C and SPI are not used in their intended share-able communication bus mode. Then the pins will follow the typical pin conflict rules.
  • Non share-able communication pins such as UART (TX_ & RX_) will cause a conflict between modules to attempt to use the same pins. As UART is not a shared communication bus.
  • The Sensor Hub makes sensors connectable to a Core module.
    • It provides connectivity to almost all of the pins on the Core module.
    • Be cautious when connecting a Sensor / Trinket to the Sensor Hub as that particular pin could be used by non-Core module in the build / project.
    • Visit the Sensor Hub page for information on how a Sensor / Trinket will map to a Core module based on the labeling.


Module 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 Modules
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
Core Programmers
BLE Upload UART TX RX IN OUT
mBattery UART TX RX OUT OUT OUT
USBTTL UART TX RX OUT OUT OUT
USBttlC UART TX RX OUT OUT OUT
Function Modules
Audio UART (TX) (RX) TX RX (TX) (RX) ADKEY OUT IN
AudioPro
Battery Management
GPS UART (TX) (RX) TX RX IN
mBattery UART TX RX OUT OUT OUT
Motion I2C 0x68(MPU) 0x1E(HMC) 0x77(BMP) (INT) (INT) SDA SCL IN
SD SPI CS MISO MOSI SCK (CD) IN
RTC I2C 0x51(pcf) 0x50(eep) INT (INT) SDA SCL (IN) IN
Communication Modules
Bluetooth (BLE) UART TX RX (TX) (RX) (TX) (RX) IN
BLE Upload UART TX RX IN OUT
NFC I2C 0x24 SDA SCL IN
WiFi UART TX RX (TX) (RX) IN RST


Extension Modules
Amplifier (RIN) (LIN) IN
Hub
Motor
LED Matrix DI (DI) (DI) IN
OLED

Known Conflicts

mCookie Motor

  • mCookie SD - Pin D7

mCookie SD

  • mCookie Motor - Pin D7