Tawaki/v2.01

Autopilots
__TOC__
== Hardware Revision History ==
Version #	Release Date	Release Notes
v2.01 	03/2024 	
Push-Button added for easier boot mode selection
I2C 5V connector replaced by I2C 3.3V
Solder jumper JP2 added for CAN bus resistor termination setup
v2.00 	10/2023 	Initial release of Tawaki v2
== Overview ==
=== Pictures ===
Tawaki_v201_3D_persp_top_view.jpg
Tawaki_v201_3D_persp_bottom_view.jpg
=== Key Features ===
*STMicro STM32H753VIH Micro Controller Unit
**ARM Cortex-M7, 480 MHz CPU, FPU & DSP instructions, 2MBytes Flash, 1MB RAM, etc.
*On-board Sensors
**6 DOF Accelerometers & Gyrometers TDK-Invensense ICM-42688-P
**3 DOF Magnetometer STMicro LIS3MDL
**Baro-Altimeter Bosch BMP390
*8x Servos or ESC outputs: PWM/OneShot/DShot (+D-Shot Telemetry serial input)/DShot bidir
*2x RC Receiver Inputs (S.BUS, PPM & Spektrum Satellite compatible, including receiver binding)
*Communication Buses
**3x UARTs (including one with hardware flow control signals)
**1x I2C bus (3.3V logic level, 2 connectors)
**1x SPI bus (with Slave Select, Master or Slave)
**1x CAN/CANFD bus
**1x USB-C (& remote) : DFU mode (download) or USB storage (direct access to MicroSD card) or FullSpeed Mode
*8x Auxiliary Inputs/Outputs spread over 2 connectors (8x ADC, 8x Timers different from servos, x1 UART, etc.)
*MicroSD card (+ dedicated power supply for emergency files closing system)
*Debug Connector (Serial Wire Debug)
*Power
**source 2 to 6 Lipo cells (6 to 26v)
**5V/5A (max total for Tawaki + Servos + Payload)
**3.3V/3A Low Noise (max total for payload)
**Controlled PowerSwitch 5V/2A supply on AUX A connector
*x4 Status Leds
*Connectors fully compatible with Tawaki v1 & Apogee autopilot
*Mechanical
** 53 x 25mm (2.1" x 0.98"), including 4x Φ2mm mounting holes (shares the same external dimensions and mounting points as Tawaki v1 & Apogee)
** 4x Φ3mm extra mounting slotted holes, 30 to 31mm spacing (30.5mm standard from Racers ESC, GPS modules, etc. )
** 11g (0.4 oz) (including Micro-SD card)
=== Pinout ===
==== Simplified Pinout Diagram (Paparazzi use) ====
Pins Name and Type are specified with respect to the Autopilot Board
==== Simplified Pinout Tables (Paparazzi use) ====
Servos a1 / a2 / a3 / a4
Pin #	Name 	Type	MCU Port 	PrimaryMCU Resource 	Description
1 	GND 	PWR 	- 	- 	common ground
2 	+5V 	PWR 	- 	- 	5V Rail from autopilot
3 	SRVa1SRVa2SRVa3SRVa4	OUT 	PE9PE11PE13PE14	Tim1.Ch1Tim1.Ch2Tim1.Ch3Tim1.Ch4	Servo signal (PWM)
Servos b
Pin #	Name 	Type 	MCU Port	PrimaryMCU Resource	Description
1 	GND 	PWR 	- 	- 	common ground
2 	VBAT 	PWRIN/OUT	- 	- 	Battery Rail (if solder bridge JP1 ON)
3 	SRVb1 	OUT 	PA6 	Tim3.Ch1 	Servo signal (PWM)
4 	SRVb2 	OUT 	PA7 	Tim3.Ch2 	Servo signal (PWM)
5 	SRVb3 	OUT 	PB0 	Tim3.Ch3 	Servo signal (PWM)
6 	SRVb4 	OUT 	PB1 	Tim3.Ch4 	Servo signal (PWM)
7 	DSHTin	IN 	PA10 	UART1.Rx 	DShot Telemetry serial input
R/C
Pin #	Name 	Type	MCU Port	PossibleMCU Resource 	Description
1 	GND 	PWR 	- 	- 	common ground
2 	+5V 	PWR 	- 	- 	5V Rail from autopilot
3 	+3.3V	PWR 	- 	- 	3.3V Rail from autopilot
4 	RC1 	IN 	PE0 	UART8.Rx 	(5V Tolerant) Serial (SBUS, Spektrum, etc.)
5 	RCaux	I/O 	PC6 	UART6.TxTim3.Ch1Tim8.Ch1	(5V Tolerant) Serial (SBUS, Spektrum, etc.) or PPM Stream RC receiver signal
UART2
Pin #	Name 	Type	MCU Port	PrimaryMCU Resource	Description
1 	GND 	PWR 	- 	- 	common ground
2 	+5V 	PWR 	- 	- 	5V Rail from autopilot
3 	+3.3V	PWR 	- 	- 	3.3V Rail from autopilot
4 	RX2 	IN 	PD6 	UART2.Rx 	Serial Input (3.3V level)
5 	TX2 	OUT 	PD5 	UART2.Tx 	Serial Output (3.3V level)
UART3
Pin #	Name 	Type	MCU Port	PrimaryMCU Resource	Description
1 	GND 	PWR 	- 	- 	common ground
2 	+5V 	PWR 	- 	- 	5V Rail from autopilot
3 	+3.3V	PWR 	- 	- 	3.3V Rail from autopilot
4 	RX3 	IN 	PD9 	UART3.Rx 	Serial Input (3.3V level)
5 	TX3 	OUT 	PD8 	UART3.Tx 	Serial Output (3.3V level)
UART7
Pin #	Name 	Type	MCU Port	PrimaryMCU Resource	Description
1 	GND 	PWR 	- 	- 	common ground
2 	+5V 	PWR 	- 	- 	5V Rail from autopilot
3 	+3.3V	PWR 	- 	- 	3.3V Rail from autopilot
4 	RX7 	IN 	PB3 	UART7.Rx 	Serial Input (3.3V level)
5 	TX7 	OUT 	PA15 	UART7.Tx 	Serial Output (3.3V level)
I2C2 (x2)
Pin #	Name 	Type 	MCU Port	PrimaryMCU Resource	Description
1 	GND 	PWR 	- 	- 	common ground
2 	+5V 	PWR 	- 	- 	5V Rail from autopilot
3 	+3.3V	PWR 	- 	- 	3.3V Rail from autopilot
4 	SDA2 	Open Drain I/O	PB11 	I2C2.SDA 	Serial Bus DAta (3.3V level, 2.2kΩ pull-up)
5 	SCL2 	Open Drain I/O	PB10 	I2C2.SCL 	Serial Bus CLock (3.3V level, 2.2kΩ pull-up)
SPI2
Pin #	Name 	Type	MCU Port	PrimaryMCU Resource	Description
1 	GND 	PWR 	- 	- 	common ground
2 	+5V 	PWR 	- 	- 	5V Rail from autopilot
3 	+3.3V	PWR 	- 	- 	3.3V Rail from autopilot
4 	NSS2 	I/O 	PB12 	SPI2.nSS 	Slave Select. Selects the SPI slave
5 	MOSI2	I/O 	PB15 	SPI2.MOSI 	Master Out Slave In. Data output from master / data input to slave
6 	MISO2	I/O 	PB14 	SPI2.MISO 	Master In Slave Out. Data input to master / data output from slave
7 	SCK2 	I/O 	PD3 	SPI2.SCK 	Serial clock. Clock output from master or input to slave
CAN FD
Pin #	Name	Type	MCU Port	MCU Resource 	Description
1 	CANL	I/O 	PD0PD1 	FDCAN1.RxFDCAN1.Tx	CAN FD bidirectional - line
2 	CANH	I/O 	PD0PD1 	FDCAN1.RxFDCAN1.Tx	CAN FD bidirectional + line
Note: solder JP2 to enable embedded 120Ω terminator resistor 
AUX a
Pin #	Name 	Type	MCU Port 	PossibleMCU Resource 	Description
1 	GND 	PWR 	- 	- 	common ground
2 	+5V Aux	PWR 	(Controlled by) PC13	- 	5V from autopilot through Power Switch(PC13 = Low => OFF / PC13 = High => ON)
3 	+3.3V 	PWR 	- 	- 	3.3V Rail from autopilot
4 	AUXa1 	I/O 	PA0 	ADC1.InP16Tim2.Ch1Tim5.Ch1UART2.CTSUART4.Tx 	General Purpose I/O
5 	AUXa2 	I/O 	PA1 	ADC1.InP17/N16Tim2.Ch2Tim5.Ch2UART2.RTSUART4.Rx	General Purpose I/O
6 	AUXa3 	I/O 	PA2 	ADC1/2.InP14Tim2.Ch3Tim5.Ch3UART2.Tx 	General Purpose I/O
7 	AUXa4 	I/O 	PA3 	ADC1/2.InP15Tim2.Ch4Tim5.Ch4UART2.Rx 	General Purpose I/O
AUX b
Pin #	Name 	Type	MCU Port	PossibleMCU Resource 	Description
1 	GND 	PWR 	- 	- 	common ground
2 	+5V 	PWR 	- 	- 	5V Rail from autopilot
3 	+3.3V	PWR 	- 	- 	3.3V Rail from autopilot
4 	AUXb1	I/O 	PB6 	Tim4.Ch1UART1.TxUART5.TxI2C1.SCLCAN2.Tx 	General Purpose I/O
5 	AUXb2	I/O 	PB7 	Tim4.Ch2UART1.RxI2C1.SDA 	General Purpose I/O
6 	AUXb3	I/O 	PB8 	Tim4.Ch3Tim16.Ch1UART4.RxI2C1.SCL 	General Purpose I/O
7 	AUXb4	I/O 	PB9 	Tim4.Ch4Tim17.Ch1UART4.TxI2C1.SDASPI2.NSS	General Purpose I/O
USB FS
Pin #	Name	Type	MCU Port	Description
1 	GND 	PWR 	- 	common ground
2 	D+ 	I/O 	PA12 	USB Full Speed bidirectional D+ line
3 	D- 	I/O 	PA11 	USB Full Speed bidirectional D- line
4 	VBUS	IN 	PA9 	USB bus power (5V)
5 	BOOT	IN 	BOOT0 	DFU or USB Mode selection (BOOT0 MCU pin)
Note: USB-C Receptacle and Molex Picoblade connectors are in parallel, only one should be connected at a time.
SWD
Pin #	Name 	Type	MCU Port	Description
1 	GND 	PWR 	- 	common ground
2 	+3.3V	PWR 	- 	3.3V Rail from autopilot
3 	nRST 	IN 	NRST 	MCU Reset (active low)
4 	SWCLK	IN 	PA14 	Serial Wire Clock
5 	SWDIO	I/O 	PA13 	Serial Wire Data Input/Output
== Detailed Features ==
=== Power Supply ===
There are several ways to power the Tawaki board. CAUTION! use only one of these sources at a time:
*with a battery or any power source that delivers between 6 and 26V
*by connecting it to a USB port
*with a power source that delivers a regulated, stable 5V
Each of these methods is detailed below.
==== Powering using battery/external source soldered onto battery pads ====
This is the basic setup: the Tawaki then generates all the internal power sources needed by its components. Additionally, the board provides +5V and +3.3V power sources through dedicated ports for external payload.
Limitations:
*input power source range: 6-26V (2-6 Lipo cells)
*maximum current usable by both Tawaki and payload on the +5V: I5V < 5A
*maximum current usable for payload on the +3.3V: I3.3V < 3A
*maximum total current usable: (I5V+I3.3V) < 5A
With this setup, the external power source is available on the “VBAT” pin of the “Servos B” header - but only if solder bridge JP1 is jumped (turned ON) with a small blob of solder.
Limitation:
*maximum current on the “VBAT” pin: IVbat < 1A (because of the header’s specifications)
==== Powering using battery/external source connected on "Servos B" header ====
With this setup, the “GND”(-) and “VBAT”(+) pins of the “Servos B” header are used as the main entry ports for the external power source - but only if solder bridge JP1 is jumped (turned ON) with a small blob of solder. This can be interesting when the ESC already delivers the external power source voltage through its command and control signals (as is frequently the case on multi-rotors).
Limitations: 
*input power source range: 6-26V (2-6 Lipo cells)
*maximum current on the “VBAT” pin: IVbat < 1A (because of the header’s specifications)
==== Powering using USB-C only ====
It is possible to power the Tawaki with only a host computer, through the USB-C cable. This setup allows to power the board and all its components, while at the same time flashing it.
In this case, the "VBUS" pin of the "USB FS" header must be connected to the "+5V" pin of any header that is equipped with one - with the exception of the "5Vaux" pin of the "AUX a" header.
Limitation:
*the host computer must be capable of providing the current needed for: powering the board, and any potential external payload. With a maximum limit of 1A (because of the header’s specifications)
Note: with this setup, the voltage of the external power source (VBAT) obviously cannot be measured by the micro-controller (MCU).
==== Powering using external 5V source ====
In some cases the external power source is out of range and cannot be used, but an external 5V power source is available (for example provided by the ESC). In this case, the external 5V power source must be connected to the "+5V" and "GND" pins of any header that are equipped with them - with the exception of the "5Vaux" pin of the "AUX a" header.
Limitations:
*the external 5V power source must be capable of providing the current needed for powering the Tawaki and any potential external payload. With a maximum limit of 1A (because of the headers' specifications)
*voltage range: depending on potential external payload 5V capability, 4-6V for Tawaki board only.
* the "VBUS" pin of the "USB FS" header must not be connected to the "+5V" pin of any header
Note: with this setup, the voltage of the external power source (VBAT) obviously cannot be measured by the micro-controller (MCU).
=== USB Modes ===
==== DFU Flash mode ====
There is two options to boot the autopilot in DFU mode in order to flash it:
#push and maintain "BOOT" small button
#plug USB cable (already host connected)
OR
#push and maintain "BOOT" small button
#turn on autopilot power source.
#plug USB cable.
 OR
==== USB Storage mode ====
USB Storage mode make autopilot's SDcard content easily available by host computer as for an Pendrive.
To enter in USB storage mode, simply connect it to host computer USB (no action on small button) :
*If autopilot power is OFF, a new external disk drive should be detected by host computer OS.
*If autopilot power is already ON and running, autopilot task is stopped and board enters in USB storage mode. When unmounted and unplugged, autopilot task restart.
==== Wiring vs Button ====
For all previous USB modes, small "BOOT" push-button action can be replaced by shorting pin #4 (VBUS) and pin #5 (BOOT) of "USB FS" header.
In these configurations (button pushed or pin# 4 & 5 connected), BOOT0 pin of the STM32 MCU is connected to VBUS pin.
This "USB FS" header arrangement allow to wire a "remote" USB interface (USB receptacle + mode push-button) reasonably distant from autopilot board.
=== Detailed Pinout ===
Pins Name and Type are specified with respect to the Autopilot Board
=== Schematic ===
=== Mechanical ===
==== CAD Files / 3D Model ====
WIP
== Board production ==
WIP
=== Hardware Source Files ===
Tawaki v2.01 hardware design (zipped Kicad 8 project) 
== Source code ==
Available in Paparazzi latest git master branch.
== Where to Buy ==
Check availability on Get Hardware page
Category:Autopilots