Difference between revisions of "MCookie Upin27 Layout"
From Microduino Wiki
(→The Chart) |
|||
(26 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
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. | 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 [[#Notes| '''Notes''']] for technical descriptions and details (highly recommended). | ||
See section [[#Known_Conflicts | '''Known Conflicts''']] to see a list of already known conflicts. | See section [[#Known_Conflicts | '''Known Conflicts''']] to see a list of already known conflicts. | ||
=Upin27 Layout= | =Upin27 Layout= | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==The Chart== | ==The Chart== | ||
{|class="wikitable" | {|class="wikitable" | ||
Line 48: | Line 25: | ||
{|class="wikitable" | {|class="wikitable" | ||
− | + | ! '''Module''' | |
− | + | ! '''BUS''' | |
− | + | ! '''I2CAddr (7bit)''' | |
− | + | ! scope="col" style ="width:45px;" | '''D0''' | |
− | + | ! scope="col" style ="width:45px;" | '''D1''' | |
− | + | ! scope="col" style ="width:45px;" | '''D2''' | |
− | + | ! scope="col" style ="width:45px;" | '''D3''' | |
− | + | ! scope="col" style ="width:45px;" | '''D4''' | |
− | + | ! scope="col" style ="width:45px;" | '''D5''' | |
− | + | ! scope="col" style ="width:45px;" | '''D6''' | |
− | + | ! scope="col" style ="width:45px;" | '''D7''' | |
− | + | ! scope="col" style ="width:45px;" | '''D8''' | |
− | + | ! scope="col" style ="width:45px;" | '''D9''' | |
− | + | ! scope="col" style ="width:45px;" | '''D10''' | |
− | + | ! scope="col" style ="width:45px;" | '''D11''' | |
− | + | ! scope="col" style ="width:45px;" | '''D12''' | |
− | + | ! scope="col" style ="width:45px;" | '''D13''' | |
− | + | ! scope="col" style ="width:45px;" | '''A0''' | |
− | + | ! scope="col" style ="width:45px;" | '''A1''' | |
− | + | ! scope="col" style ="width:45px;" | '''A2''' | |
− | + | ! scope="col" style ="width:45px;" | '''A3''' | |
− | + | ! scope="col" style ="width:45px;" | '''A4''' | |
− | + | ! scope="col" style ="width:45px;" | '''A5''' | |
− | + | ! scope="col" style ="width:45px;" | '''A6''' | |
− | + | ! scope="col" style ="width:45px;" | '''A7''' | |
− | + | ! scope="col" style ="width:45px;" | '''5V''' | |
− | + | ! scope="col" style ="width:45px;" | '''3V3''' | |
− | + | ! '''RST''' | |
− | + | ! '''AREF''' | |
− | |||
|- | |- | ||
| style="background: LightSalmon;" | [[MCookie_Core_Modules|'''Core Modules''']] | | style="background: LightSalmon;" | [[MCookie_Core_Modules|'''Core Modules''']] | ||
|- | |- | ||
− | | Core||||||RX0||TX0||||||||||||||||||||MISO||MOSI||SCK||||||||||SDA||SCL||||||IN||(IN)||RST||AREF | + | | [[MCookie-Core|Core]]||||||RX0||TX0||||||||||||||||||||MISO||MOSI||SCK||||||||||SDA||SCL||||||IN||(IN)||RST||AREF |
|- | |- | ||
− | | Core+||||||RX0||TX0||RX1||TX1||||||||||||||||MISO||MOSI||SCK||||||||||SDA||SCL||||||IN||(IN)||RST||AREF | + | | [[MCookie-Core%2B|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 | + | | [[MCookie-CoreUSB|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 | + | | [[MCookie-CoreRF|CoreRF]]||||||RX0||TX0||RX1||TX1||||||||||||||||MISO||MOSI||SCK||||||||||SDA||SCL||||||IN||IN||RST||AREF |
|- | |- | ||
| style="background: LightSalmon;" | [[MCookie_Core_Programmers|'''Core Programmers''']] | | style="background: LightSalmon;" | [[MCookie_Core_Programmers|'''Core Programmers''']] | ||
|- | |- | ||
− | | BLE Upload||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||||IN||OUT|| | + | | [[MCookie-BLE_Upload|BLE Upload]]||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||||IN||OUT|| |
|- | |- | ||
− | | mBattery||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||OUT||OUT||OUT|| | + | | [[MCookie-Battery|mBattery]]||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||OUT||OUT||OUT|| |
|- | |- | ||
− | | USBTTL||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||OUT||OUT||OUT|| | + | | [[MCookie-USBTTL|USBTTL]]||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||OUT||OUT||OUT|| |
|- | |- | ||
− | | USBttlC||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||OUT||OUT||OUT|| | + | | [[MCookie-USBttlC|USBttlC]]||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||OUT||OUT||OUT|| |
|- | |- | ||
| style="background: LightYellow;" | [[MCookie_Function_Modules|'''Function Modules''']] | | style="background: LightYellow;" | [[MCookie_Function_Modules|'''Function Modules''']] | ||
|- | |- | ||
− | | Audio||UART||||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||||||||||||||||||||||||||||||style="background: PeachPuff;" |ADKEY||||OUT||IN|||| | + | | [[MCookie-Audio|Audio]]||UART||||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||||||||||||||||||||||||||||||style="background: PeachPuff;" |ADKEY||||OUT||IN|||| |
|- | |- | ||
− | | AudioPro||SPI||||||style="background: | + | | [[MCookie-AudioPro|AudioPro]]||SPI||||||style="background: LightGrey;" |MIDI||style="background: PeachPuff;" |DERQ||||||||||||||||||style="background: LightCyan;" |MISO||style="background: LightCyan;" |MOSI||style="background: LightCyan;" |SCK||||||style="background: PeachPuff;" |DCS||style="background: PeachPuff;" |CS||||||||||||IN|||| |
|- | |- | ||
− | | Battery Management||||||||||||||||||||||||||||||||||||||||||||||||||OUT||OUT||OUT|| | + | | [[MCookie-BM|Battery Management]]||||||||||||||||||||||||||||||||||||||||||||||||||OUT||OUT||OUT|| |
|- | |- | ||
− | | GPS||UART||||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||IN|||| | + | | [[MCookie-GPS|GPS]]||UART||||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||IN|||| |
|- | |- | ||
− | | mBattery||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||OUT||OUT||OUT|| | + | | [[MCookie-Battery|mBattery]]||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||OUT||OUT||OUT|| |
|- | |- | ||
− | | Motion||I2C||0x68(MPU) 0x1E(HMC) 0x77(BMP)||||||style="background: LightGrey;" |(INT)||style="background: LightGrey;" |(INT)||||||||||||||||||||||||||||||style="background: LightCyan;" |SDA||style="background: LightCyan;" |SCL||||||||IN|||| | + | | [[MCookie-Motion|Motion]]||I2C||0x68(MPU) 0x1E(HMC) 0x77(BMP)||||||style="background: LightGrey;" |(INT)||style="background: LightGrey;" |(INT)||||||||||||||||||||||||||||||style="background: LightCyan;" |SDA||style="background: LightCyan;" |SCL||||||||IN|||| |
|- | |- | ||
− | | SD||SPI||||||||||||||||||style="background: PeachPuff;" |CS||||||||style="background: LightCyan;" |MISO||style="background: LightCyan;" |MOSI||style="background: LightCyan;" |SCK||style="background: LightGrey;" | | + | | [[MCookie-SD|SD]]||SPI||||||||||||||||||style="background: PeachPuff;" |CS||||||||style="background: LightCyan;" |MISO||style="background: LightCyan;" |MOSI||style="background: LightCyan;" |SCK||style="background: LightGrey;" |CD||||||||||||||||||IN|||| |
|- | |- | ||
− | | RTC||I2C||0x51(pcf) 0x50(eep)||||||style="background: PeachPuff;" |INT||style="background: LightGrey;" |(INT)||||||||||||||||||||||||||||||style="background: LightCyan;" |SDA||style="background: LightCyan;" |SCL||||||(IN)||IN|||| | + | | [[MCookie-RTC|RTC]]||I2C||0x51(pcf) 0x50(eep)||||||style="background: PeachPuff;" |INT||style="background: LightGrey;" |(INT)||||||||||||||||||||||||||||||style="background: LightCyan;" |SDA||style="background: LightCyan;" |SCL||||||(IN)||IN|||| |
|- | |- | ||
| style="background: LightBlue;" | [[MCookie_Communication_Modules|'''Communication Modules''']] | | style="background: LightBlue;" | [[MCookie_Communication_Modules|'''Communication Modules''']] | ||
|- | |- | ||
− | | Bluetooth (BLE)||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||||||||||||||||||||||||||||||||||||IN|||| | + | | [[MCookie-BT|Bluetooth (BLE)]]||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||||||||||||||||||||||||||||||||||||IN|||| |
|- | |- | ||
− | | BLE Upload||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||||IN||OUT|| | + | | [[MCookie-BLE_Upload|BLE Upload]]||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||||||||||||||||||||||||||||||||||||||||||||IN||OUT|| |
|- | |- | ||
− | | NFC||I2C||0x24||||||||||||||||||||||||||||||||||||||style="background: LightCyan;" |SDA||style="background: LightCyan;" |SCL||||||||IN|||| | + | | [[MCookie-NFC|NFC]]||I2C||0x24||||||||||||||||||||||||||||||||||||||style="background: LightCyan;" |SDA||style="background: LightCyan;" |SCL||||||||IN|||| |
|- | |- | ||
− | | WiFi||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||||||||||||||||||||||||||||||||||||||||IN||RST|| | + | | [[MCookie-WiFi|WiFi]]||UART||||style="background: PeachPuff;" |TX||style="background: PeachPuff;" |RX||style="background: LightGrey;" |(TX)||style="background: LightGrey;" |(RX)||||||||||||||||||||||||||||||||||||||||IN||RST|| |
|- | |- | ||
| style="background: LightGreen;" | [[MCookie_Extension_Boards|'''Extension Modules''']] | | style="background: LightGreen;" | [[MCookie_Extension_Boards|'''Extension Modules''']] | ||
|- | |- | ||
− | | Amplifier||||||||||||||||||||||||style="background: PeachPuff;" |RIN||style="background: PeachPuff;" |LIN||||||||||||||||||||||||IN|||||| | + | | [[MCookie-Amplifier|Amplifier]]||||||||||||||||||||||||style="background: PeachPuff;" |RIN||style="background: PeachPuff;" |LIN||||||||||||||||||||||||IN|||||| |
|- | |- | ||
− | | Hub || || || colspan="22"| | + | | [[MCookie-Hub|Hub]] || || || colspan="22" style="background: Yellow; text-align:center;"|Conflicts will occur if a Sensor / Trinket is connected to a pin used by another non-Core module. Read about [[MCookie-Hub|Hub module]].|| IN || IN || || |
|- | |- | ||
− | | Motor | + | | [[MCookie-Motor|Motor]]||||||||||||||||style="background: PeachPuff;"|2A||style="background: PeachPuff;"|1A||style="background: PeachPuff;"|2B||style="background: PeachPuff;"|1B|||||||||||||||||||||||||||||IN|||||| |
|- | |- | ||
− | | LED Matrix||||||||||||||||||||||||||||||||||DI||(DI)||(DI)||||||||||||IN|||||| | + | | [[MCookie-LED_Matrix|LED Matrix]]||||||||||||||||||||||||||||||||||style="background: PeachPuff;" |DI||style="background: LightGrey;" |(DI)||style="background: LightGrey;" |(DI)||||||||||||IN|||||| |
|- | |- | ||
− | | OLED | + | | [[MCookie-OLED|OLED]]||I2C||0x3C||||||||||||||||||||||||||||||||||||||style="background: LightCyan;" |SDA||style="background: LightCyan;" |SCL||||||||IN|||| |
|} | |} | ||
+ | |||
+ | ==Notes== | ||
+ | *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. | ||
+ | **'''A Core module acts as a brain of a project where almost all pins need to be connected to in order to be accessible / functional.''' | ||
+ | **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_ [pin D0]''' & '''TX_ [pin D1]''' on a Core module for programming. | ||
+ | **'''RX_ [pin D0]''' & '''TX_ [pin 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_ [pin D0]''' & TX '''[pin 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]]. | ||
+ | **'''Once a pin is being used / occupied, it should not be used by other modules. Unexpected behavior or interference can and will likely occur when there is a pin overlap.''' | ||
+ | *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 supplying 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 [pin A4]''' & '''SCL [pin A5]'''), and SPI ('''MISO [pin D11]''', '''MOSI [pin D12]''' & '''SCK [pin 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 that attempt to use the same pins. As UART is not a shared communication bus. | ||
+ | *The [[Sensor Hub]] makes Sensors / Trinkets 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 a 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. | ||
=Known Conflicts= | =Known Conflicts= | ||
+ | ==mCookie Programmers, mCookie WiFi and mCookie Bluetooth== | ||
+ | *mCookie Core Programmers uses '''pin D0''', and '''pin D1''' for programming and Serial communication (serial port from Core modules to Computer via Serial Monitor). Programming and Serial Monitor occurs at separate times, which means these will not conflict with each other. | ||
+ | *mCookie WiFi and mCookie Bluetooth uses (by default) '''pin D0''' and '''pin D1''' for communicating to and from a Core module. | ||
+ | *A conflict occurs on Core modules (Core, Core+, CoreRF) between mCookie Core Programmers and Communication modules such as mCookie WiFi and mCookie Bluetooth as they use the same pins ('''pin D0''' and '''pin D1'''). Refer to chart to see overlap. | ||
+ | *These conflicts can be avoid by rewiring the mCookie WiFi or mCookie Bluetooth module to a different set of pins by cutting the trace under the board and creating the appropriate solder bridge. | ||
+ | |||
==mCookie Motor== | ==mCookie Motor== | ||
*mCookie SD - Pin D7 | *mCookie SD - Pin D7 |
Latest revision as of 22:51, 23 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 Notes for technical descriptions and details (highly recommended).
See section Known Conflicts to see a list of already known conflicts.
Contents
Upin27 Layout
The Chart
Color | Meaning |
---|---|
Green | Provides pin. |
Red | Occupies pin. Will conflict. |
Grey | Alternative pin for labeled name. Or unconnected pin. |
Blue | Uses pin, but does not conflict. |
Module | BUS | I2CAddr (7bit) | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | D11 | D12 | D13 | A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 | 5V | 3V3 | RST | AREF |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Core Modules | ||||||||||||||||||||||||||||
Core | RX0 | TX0 | MISO | MOSI | SCK | SDA | SCL | 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 | SPI | MIDI | DERQ | MISO | MOSI | SCK | DCS | CS | IN | |||||||||||||||||||
Battery Management | OUT | OUT | OUT | |||||||||||||||||||||||||
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 | Conflicts will occur if a Sensor / Trinket is connected to a pin used by another non-Core module. Read about Hub module. | IN | IN | |||||||||||||||||||||||||
Motor | 2A | 1A | 2B | 1B | IN | |||||||||||||||||||||||
LED Matrix | DI | (DI) | (DI) | IN | ||||||||||||||||||||||||
OLED | I2C | 0x3C | SDA | SCL | IN |
Notes
- 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.
- A Core module acts as a brain of a project where almost all pins need to be connected to in order to be accessible / functional.
- 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_ [pin D0] & TX_ [pin D1] on a Core module for programming.
- RX_ [pin D0] & TX_ [pin 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_ [pin D0] & TX [pin 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.
- Once a pin is being used / occupied, it should not be used by other modules. Unexpected behavior or interference can and will likely occur when there is a pin overlap.
- 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 supplying 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 [pin A4] & SCL [pin A5]), and SPI (MISO [pin D11], MOSI [pin D12] & SCK [pin 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 that attempt to use the same pins. As UART is not a shared communication bus.
- The Sensor Hub makes Sensors / Trinkets 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 a 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.
Known Conflicts
mCookie Programmers, mCookie WiFi and mCookie Bluetooth
- mCookie Core Programmers uses pin D0, and pin D1 for programming and Serial communication (serial port from Core modules to Computer via Serial Monitor). Programming and Serial Monitor occurs at separate times, which means these will not conflict with each other.
- mCookie WiFi and mCookie Bluetooth uses (by default) pin D0 and pin D1 for communicating to and from a Core module.
- A conflict occurs on Core modules (Core, Core+, CoreRF) between mCookie Core Programmers and Communication modules such as mCookie WiFi and mCookie Bluetooth as they use the same pins (pin D0 and pin D1). Refer to chart to see overlap.
- These conflicts can be avoid by rewiring the mCookie WiFi or mCookie Bluetooth module to a different set of pins by cutting the trace under the board and creating the appropriate solder bridge.
mCookie Motor
- mCookie SD - Pin D7
mCookie SD
- mCookie Motor - Pin D7
Pin Usage 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.