> For the complete documentation index, see [llms.txt](https://wiki.cbunmanned.com/wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.cbunmanned.com/wiki/products/cbunmanned-stamp-eco-system/can-stamp.md).

# CAN Stamp

<figure><img src="/files/8xPr1X4vhSyM34Qjykrk" alt="" width="375"><figcaption></figcaption></figure>

The stamp is based on the STM32L431 IC and contains a CAN Transceiver, Power Regulation and a 120 Ohm CAN termination resistor. Just give it 5v & CAN and you are away!

Features:

* STM32L431
* 17.8x18.9mm
* TJA1051
* 1 Amp 3.3v LDO
* Input Fuse and Diode
* 120 ohm Termination Resistor
* Fully compatible with Ardupilot and Px4 Firmware

## General Overview

The general stamp Architecture:

<figure><img src="/files/Dg0nVUn3FbyjXPI56OsF" alt=""><figcaption></figcaption></figure>

## Power Domain

<figure><img src="/files/PUtzWnujD651N7WR3d2j" alt=""><figcaption></figcaption></figure>

The stamp takes 5v in from the FC and regulates that down to 3.3v with an onboard 1 Amp LDO to power the L431.

Drone CAN specifies that all modules on the CAN Bus have their own input Diode and 1 Amp fuse. For ease of integration they are included on the stamp and are broken out to edge pads. This gives edge pads as follows:

* 5v In Pad (From FC)
* *Goes through fuse and diode*
* 5v Out Pad (Fused for any 5v sensors)
* *Fused 5v goes to 3v3 LDO internally and powers L431*
* Fused 3.3v Out Pad (Fused for any 3v3 sensors)

## CAN Interface

<figure><img src="/files/fil6nlIP217TmGKFm0Oo" alt=""><figcaption></figcaption></figure>

The CAN Interface goes between the L431 and the main bus and converts the logic from the L431 into differential signalling using a CAN transceiver.

The L431 is connected to the Transceiver using pins PB8 & PB9 and exits the stamp using Edge Pad 8&9.

CAN Bus stipulates the the device on each end of the bus should have a 120 ohm termination resistor between CAN High & CAN Low. The stamp contains this resistor but by default it is ***NOT*** connected. To connect it please connect Stamp Edge Pad 10 with CAN Low (Edge Pad 9) on your PCB.

## L431 Pinout and Useable Pins

<figure><img src="/files/D1bXIRH4H2xshhlXhjP7" alt=""><figcaption></figcaption></figure>

Some of the pins from the L431 are used on the stamp and are not broken out, these are:

* PB8 - CANRx
* PB9 - CANTx
* PB3 - LED

Others *are* broken out but are preferred to be unused (SWD Programming Pins, also connected to the pads on the bottom of the PCB)

* PA13 - SWDIO
* PA14 - SWDCLK

The rest are available for use (if they are supported by ardupilot):

* PC13
* PC13
* PC15
* PA0
* PA1
* PA2
* PA3
* PA4
* PA5
* PA6
* PA7
* PA8
* PA9
* PA10
* PA11
* PA12
* PA13 - SWDIO
* PA14 - SWDIO CLK
* PA15
* PB0
* PB1
* PB2
* ~~PB3 LED~~
* PB4
* PB5
* PB6
* PB7
* ~~PB8 CAN~~
* ~~PB9 CAN~~
* PB10
* PB11
* PB12
* PB13
* PB14
* PB15
