1. xChip Layout
    1. xBus
    2. xPDI
  2. Configuration
    1. I2C Address Selection
      1. SPI
      2. UART (also known as Serial or RS232C)
    2. UART Rx/Tx Setting
  3. Programming
  4. Getting Started
    1. What about SPI?
    2. What about UART (or Serial)?

 

1. xChip Layout

Each xChip are a multiple of 32x32 mm.

XChipDesc.jpg
Unit Size Size in mm xBus space
2x2 32x32 4
2x4 32x64 6
2x6 32x96 8
2x8 32x128 10
4x4 64x64 8
4x6 64x96 10
4x8 64x128 12
6x6 96x96 12
6x8 96x128 14
8x8 128x128 16

1.1 xBus

xChips have a xBus connection space for each 2U side, unless component size limits space for the connector on some sides. In the above picture of the CR01 (LoRa xChip), the North connector is occupied by a SMA connector, in this case to connect an antenna to the xChip.

Top Side Pin Name Type Description Bottom Side Pin Name Type Description
1 SCL Signal I2C 6 Reset Signal Reset
2 SDA Signal I2C 7 Alert Signal Special
3 GND Power Ground 8 RX/TX Signal UART Receive/Transmit
4 Vcc Power 3.3 volt 9 TX/RX Signal UART Transmit/Receive
5 Vbat Power Power from original power source 10 Vraw Power Power from solar panels, etc

 

1.2 xPDI

Programmable xChips, called Cores and starting with a C (Cxxx), typically also have one xPDI (Program and Debugging Interface), allowing you to program the Core. If the xChip has a xPDI space, it will always be on the South side and there will be only one.

Top Side Pin Name Type Description Bottom Side Pin Name Type Description
1 DP Signal USB D+ 4 DM Signal USB D-
2 DCK Signal TCK/SWDCLK/SCK 5 DI Signal TDI/MOSI
3 DIO Signal TMS/SWDIO/CS 6 DO Signal TDO/MISO

In order to program the core you will need an Interface, typically an Ixxx (Programmer Interface). These interfaces also provides power to the circuit and if they have a xPDI space, it will on the North side of these xChips. Some cores can be programmed using UART if the core already has a bootloader burnt in. In these cases you don't need to use the xPDI connector.

Remember if you need to use the xPDI space, you also need a XC55 connector.

2. Configuration

Some of the xChips have alternative configuration options, which is only needed in very seldom cases. The two most typical cases is I2C address selection and UART RX/Tx direction. In all cases of I2C address selection and with exception of a few cases in UART Rx/Tx direction setting, the configuration is done by closing or opening a pair of solder pads. In this case you obviously need a solder iron, but is only in seldom cases and for that reason we chose this method rather than an elaborate method using switches.

2.1 I2C Protocol

XinaBox's mission is to simplify building electronic devices. We have chosen I2C as the only communication protocol between xChips. In doing so we have eliminating the need to understand the pins and wiring in general.

2.1.1 SPI

Where some of our components natively communicate via SPI, we use an I2C converter chipset on board. If you have your own SPI component you want to connect to this eco system, then take a look at IX02, which features a I2C to SPI convertor and allows you to breadboard SPI components into XinaBox's eco-system.

2.1.2. UART (also known as Serial or RS232C)

Even though UART is found on the xBus, we only use it for simple programming. Other xChips using UART have a I2C to UART convertor chip. If you have your own UART component you want to connect to this eco system, then take a look at IX03, which features a I2C to UART convertor and is ready from breadboarding.

2.2 I2C Address Selection

Depending on the chipset used for the individual xChip, the solder pads are different from xChip to xChip. Some have one alternative address, some can have 8 or even more. Please check our wiki for specific I2C address specifications. The default I2C address is the address, where no soldering is required, leaving the solder pads bare.

2.2 UART Rs/Tx Setting

The setting here is called DTE (Data Terminal Equipment) and DCE (Data Communication Equipment). The cores are normally in DTE setting, and bridges and interfaces are normally in DCE setting.

3. Programming

If you want to program one of our Cores (Cxxx), you will also need an Interface. In the table below it shows which Interface supports which programming interface:

Method
Interface UART USB SWD JTAG SPI Special
IP01 X
IP02 X X
IP03 X X X X
IR01 X X

In the below table is a list of cores and which method of programming they require. For those that can be programmed with a bootloader, the bootloader is already burnt into the core. You therefore only need a programmer for burning a bootloader if you want to change the bootloader.

Core Default Burning
Bootloader
Notes
CC01 UART SPI
CC03 USB SWD
CR01 UART SPI
CR02 UART SPI
CR03 UART SPI
CS11 USB SWD Via SD card
CW01 UART n/a
CW02 UART n/a

 

While this document describes how each connector space is configured, none of the xChips are labelled per pin, since they are using our standard connector, and a few simple rules described in the Quick Start guide, will make easy to assembly a circuit without needing the above hardware knowledge.

The point with this eco system is to eliminate lot of different standards and therefore pins and wiring in general. For that reason the only protocol that is been used between the xChips is I2C. The xChips that uses SPI, has a converter chipset on board changing to I2C. If you have your own SPI component you want to connect to this eco system, then take a look at IX02, which features a I2C to SPI convertor and is ready from breadboarding.

UART, Serial or even sometimes referred to as RS232C is a point to point protocol, so even though is found on the xBus, we only use it for simple programming. Other xChips using UART has a I2C to UART convertor chip. If you have your own UART component you want to connect to this eco system, then take a look at IX03, which features a I2C to UART convertor and is ready from breadboarding.