Eco System

From XinaBox Wiki!
Jump to: navigation, search

XinaBox, pronounced "X in a Box", and also written as ☒, is an easy to develop and use eco system of small boards, quickly assembled by clicking them together.


XinaBox was created as a high-speed, low-cost hardware development platform - especially for Internet of Things (IoT). The idea was to offer a solution that doesn't require hardware knowledge and by that also doesn't require laboratory or laboratory equipment, such as multimeters, oscilloscopes or even solder irons.

The low cost comes in form of modules, we call them xChips, that doesn't contain any connectors, which traditionally are the most expensive component on small PCBs, due to their high content of metal. Instead the connector is a loose unit, that only needs to be used where a connection is wanted.

It is important to understand that this eco system doesn't feature standard 2.54 mm (0.1") solder point or headers on the xChips in general. If you want to use this eco system with a breadboard solution or connect them otherwise using standard 2.54 mm headers, then take a look at our IXxx range of interfaces.


Each xChip are a multiple of 32x32 mm. The long time goal is to have xChips that are 16x16 mm, and we call those 1x1U (U for Unit). So currently the smallest xChip are 2x2U.

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


The xChips has a xBus connection space for each 2U side. In the above table as an example a 2x4U has 6 xBus spaces. But not all xChips have all spaces open. In the above picture of the CR01, 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


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-

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.


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.

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.

UART Rx/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.


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:

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
CS11 USB SWD Via SD card
CW01 UART n/a
CW02 UART n/a

Getting Started

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.

What about SPI

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.

What about UART (or Serial)

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.