Difference between revisions of "Tawaki/v2.01"

From PaparazziUAV
Jump to navigation Jump to search
 
(13 intermediate revisions by the same user not shown)
Line 14: Line 14:
!''Version #''!!''Release Date''!!''Release Notes''
!''Version #''!!''Release Date''!!''Release Notes''
|-
|-
|v2.01||03/2024||I2C 5V connector replaced by I2C 3.3V<br>
|v2.01||03/2024||
Push-Button added for easier boot mode selection<br>
I2C 5V connector replaced by I2C 3.3V<br>
Solder jumper JP2 added for CAN bus resistor termination setup
Solder jumper JP2 added for CAN bus resistor termination setup
|-
|-
Line 24: Line 26:
=== Pictures ===
=== Pictures ===
<gallery>
<gallery>
Tawaki_v201_top_pers.JPG
Tawaki_v201_3D_persp_top_view.jpg
Tawaki_v201_bottom_pers.JPG
Tawaki_v201_3D_persp_bottom_view.jpg
Tawaki_v201_bottom_hand.JPG
Tawaki_v201_top_SD_beside.JPG
Tawaki_v201_top_x4.JPG
</gallery>
</gallery>


Line 73: Line 72:
'''Servos a1 / a2 / a3 / a4'''
'''Servos a1 / a2 / a3 / a4'''
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="15%"|''Primary<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="10%"|''Primary<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
|-
|-
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
Line 85: Line 84:
'''Servos b'''
'''Servos b'''
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="15%"|''Primary<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="10%"|''Primary<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
|-
|-
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
Line 91: Line 90:
|2||style="background:orangered; color:black"|VBAT||PWR<sub>IN/OUT</sub>||-||-||Battery Rail (if solder bridge JP1 ON)
|2||style="background:orangered; color:black"|VBAT||PWR<sub>IN/OUT</sub>||-||-||Battery Rail (if solder bridge JP1 ON)
|-
|-
|3||style="background:cyan; color:black"|SRVb1||OUT||PB6||Tim4.Ch1||Servo signal (PWM)
|3||style="background:cyan; color:black"|SRVb1||OUT||PA6||Tim3.Ch1||Servo signal (PWM)
|-
|-
|4||style="background:cyan; color:black"|SRVb2||OUT||PB7||Tim4.Ch2||Servo signal (PWM)
|4||style="background:cyan; color:black"|SRVb2||OUT||PA7||Tim3.Ch2||Servo signal (PWM)
|-
|-
|5||style="background:cyan; color:black"|SRVb3||OUT||PB8||Tim4.Ch3||Servo signal (PWM)
|5||style="background:cyan; color:black"|SRVb3||OUT||PB0||Tim3.Ch3||Servo signal (PWM)
|-
|-
|6||style="background:cyan; color:black"|SRVb4||OUT||PB9||Tim4.Ch4||Servo signal (PWM)
|6||style="background:cyan; color:black"|SRVb4||OUT||PB1||Tim3.Ch4||Servo signal (PWM)
|-
|-
|7||style="background:green; color:black"|DSHTin||IN||PA10||UART1.Rx|| DShot Telemetry serial input
|7||style="background:green; color:black"|DSHTin||IN||PA10||UART1.Rx|| DShot Telemetry serial input
Line 105: Line 104:
'''R/C'''
'''R/C'''
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="15%"|''Possible<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="10%"|''Possible<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
|-
|-
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
Line 121: Line 120:
'''UART2'''
'''UART2'''
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
!style="background:#F0F0F0";style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0"|''Description''
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="10%"|''Primary<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
|-
|-
|1||style="background:black; color:white"|GND||PWR||-||common ground
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
|-
|-
|2||style="background:Orange; color:black"|+5V||PWR||-||5V Rail from autopilot
|2||style="background:Orange; color:black"|+5V||PWR||-||-||5V Rail from autopilot
|-
|-
|3||style="background:Red; color:black"|+3.3V||PWR||-||3.3V Rail from autopilot
|3||style="background:Red; color:black"|+3.3V||PWR||-||-||3.3V Rail from autopilot
|-
|-
|4||style="background:green; color:white"|RX2||IN||PD6||UART2 Serial Input (3.3V level)
|4||style="background:green; color:white"|RX2||IN||PD6||UART2.Rx||Serial Input (3.3V level)
|-
|-
|5||style="background:blue; color:white"|TX2||OUT||PD5||UART2 Serial Output (3.3V level)
|5||style="background:blue; color:white"|TX2||OUT||PD5||UART2.Tx||Serial Output (3.3V level)
|}
|}
<br>
<br>
Line 137: Line 136:
'''UART3'''
'''UART3'''
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0"|''Description''
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="10%"|''Primary<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
|-
|-
|1||style="background:black; color:white"|GND||PWR||-||common ground
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
|-
|-
|2||style="background:Orange; color:black"|+5V||PWR||-||5V Rail from autopilot
|2||style="background:Orange; color:black"|+5V||PWR||-||-||5V Rail from autopilot
|-
|-
|3||style="background:Red; color:black"|+3.3V||PWR||-||3.3V Rail from autopilot
|3||style="background:Red; color:black"|+3.3V||PWR||-||-||3.3V Rail from autopilot
|-
|-
|4||style="background:green; color:white"|RX3||IN||PD9||UART3 Serial Input (3.3V level)
|4||style="background:green; color:white"|RX3||IN||PD9||UART3.Rx||Serial Input (3.3V level)
|-
|-
|5||style="background:blue; color:white"|TX3||OUT||PD8||UART3 Serial Output (3.3V level)
|5||style="background:blue; color:white"|TX3||OUT||PD8||UART3.Tx||Serial Output (3.3V level)
|}
|}
<br>
<br>
Line 153: Line 152:
'''UART7'''
'''UART7'''
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
!style="background:#F0F0F0";style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0"|''Description''
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="10%"|''Primary<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
|-
|-
|1||style="background:black; color:white"|GND||PWR||-||common ground
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
|-
|-
|2||style="background:Orange; color:black"|+5V||PWR||-||5V Rail from autopilot
|2||style="background:Orange; color:black"|+5V||PWR||-||-||5V Rail from autopilot
|-
|-
|3||style="background:Red; color:black"|+3.3V||PWR||-||3.3V Rail from autopilot
|3||style="background:Red; color:black"|+3.3V||PWR||-||-||3.3V Rail from autopilot
|-
|-
|4||style="background:green; color:white"|RX7||IN||PB3||UART7 Serial Input (3.3V level)
|4||style="background:green; color:white"|RX7||IN||PB3||UART7.Rx||Serial Input (3.3V level)
|-
|-
|5||style="background:blue; color:white"|TX7||OUT||PA15||UART7 Serial Output (3.3V level)
|5||style="background:blue; color:white"|TX7||OUT||PA15||UART7.Tx||Serial Output (3.3V level)
|}
|}
<br>
<br>
Line 169: Line 168:
'''I2C2 (x2)'''
'''I2C2 (x2)'''
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0"|''Description''
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="10%"|''Primary<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
|-
|-
|1||style="background:black; color:white"|GND||PWR||-||common ground
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
|-
|-
|2||style="background:Orange; color:black"|+5V||PWR||-||5V Rail from autopilot
|2||style="background:Orange; color:black"|+5V||PWR||-||-||5V Rail from autopilot
|-
|-
|3||style="background:red; color:black"|+3.3V||PWR||-||3.3V Rail from autopilot
|3||style="background:red; color:black"|+3.3V||PWR||-||-||3.3V Rail from autopilot
|-
|-
|4||style="background:sienna; color:white"|SDA2||Open Drain I/O||PB11||I2C2 bus Serial DAta (3.3V level, 2.2k&Omega; pull-up)
|4||style="background:sienna; color:white"|SDA2||Open Drain I/O||PB11||I2C2.SDA||Serial Bus DAta (3.3V level, 2.2k&Omega; pull-up)
|-
|-
|5||style="background:blue; color:white"|SCL2||Open Drain I/O||PB10||I2C12 bus Serial CLock (3.3V level, 2.2k&Omega; pull-up)
|5||style="background:blue; color:white"|SCL2||Open Drain I/O||PB10||I2C2.SCL||Serial Bus CLock (3.3V level, 2.2k&Omega; pull-up)
|}
|}
<br>
<br>
Line 185: Line 184:
'''SPI2'''
'''SPI2'''
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0"|''Description''
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="10%"|''Primary<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
|-
|-
|1||style="background:black; color:white"|GND||PWR||-||common ground
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
|-
|-
|2||style="background:Orange; color:black"|+5V||PWR||-||5V Rail from autopilot
|2||style="background:Orange; color:black"|+5V||PWR||-||-||5V Rail from autopilot
|-
|-
|3||style="background:red; color:black"|+3.3V||PWR||-||3.3V Rail from autopilot
|3||style="background:red; color:black"|+3.3V||PWR||-||-||3.3V Rail from autopilot
|-
|-
|4||style="background:sienna; color:white"|NSS2||I/O||PB12||SPI2 Slave Select. Selects the SPI slave
|4||style="background:sienna; color:white"|NSS2||I/O||PB12||SPI2.nSS||Slave Select. Selects the SPI slave
|-
|-
|5||style="background:Grey; color:white"|MOSI2||I/O||PB15||SPI2 Master Out Slave In. Data output from master / data input to slave
|5||style="background:Grey; color:white"|MOSI2||I/O||PB15||SPI2.MOSI||Master Out Slave In. Data output from master / data input to slave
|-
|-
|6||style="background:Green; color:white"|MISO2||I/O||PB14||SPI2 Master In Slave Out. Data input to master / data output from slave
|6||style="background:Green; color:white"|MISO2||I/O||PB14||SPI2.MISO||Master In Slave Out. Data input to master / data output from slave
|-
|-
|7||style="background:Yellow; color:black"|SCK2||I/O||PD3||SPI2 Serial clock. Clock output from master or input to slave
|7||style="background:Yellow; color:black"|SCK2||I/O||PD3||SPI2.SCK||Serial clock. Clock output from master or input to slave
|}
|}
<br>
<br>
Line 205: Line 204:
'''CAN FD'''
'''CAN FD'''
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0"|''Description''
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="10%"|''MCU Resource''!!style="background:#F0F0F0"|''Description''
|-
|-
|1||style="background:Green; color:white"|CANL||I/O||-||CAN FD bidirectional - line
|1||style="background:Green; color:white"|CANL||I/O||PD0<br>PD1||FDCAN1.Rx<br>FDCAN1.Tx||CAN FD bidirectional - line
|-
|-
|2||style="background:Yellow; color:black"|CANH||I/O||-||CAN FD bidirectional + line
|2||style="background:Yellow; color:black"|CANH||I/O||PD0<br>PD1||FDCAN1.Rx<br>FDCAN1.Tx||CAN FD bidirectional + line
|}
|}
''Note: solder JP2 to enable embedded 120&Omega; terminator resistor ''<br>
''Note: solder JP2 to enable embedded 120&Omega; terminator resistor ''<br>
Line 216: Line 215:
'''AUX a'''
'''AUX a'''
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="15%"|''Possible<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="10%"|''Possible<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
|-
|-
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
Line 236: Line 235:
'''AUX b'''
'''AUX b'''
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="50%"
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="15%"|''Possible<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
!style="background:#F0F0F0" width="3%"|''Pin #''!!style="background:#F0F0F0" width="8%"|''Name''!!style="background:#F0F0F0" width="10%"|''Type''!!style="background:#F0F0F0" width="10%"|''MCU Port''!!style="background:#F0F0F0" width="10%"|''Possible<br>MCU Resource''!!style="background:#F0F0F0"|''Description''
|-
|-
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
|1||style="background:black; color:white"|GND||PWR||-||-||common ground
Line 244: Line 243:
|3||style="background:Red; color:white"|+3.3V||PWR||-||-||3.3V Rail from autopilot
|3||style="background:Red; color:white"|+3.3V||PWR||-||-||3.3V Rail from autopilot
|-
|-
|4||style="background:#D0D0D0; color:black"|AUXb1||I/O||PA6||ADC1/2.InP3<br>Tim3.Ch1<br>Tim13.Ch1<br>SPI1.MISO<br>SPI6.MISO||General Purpose I/O
|4||style="background:#D0D0D0; color:black"|AUXb1||I/O||PB6||Tim4.Ch1<br>UART1.Tx<br>UART5.Tx<br>I2C1.SCL<br>CAN2.Tx||General Purpose I/O
|-
|-
|5||style="background:#D0D0D0; color:black"|AUXb2||I/O||PA7||ADC1/2.InN3/P7<br>Tim3.Ch2<br>Tim14.Ch1<br>SPI1.MOSI<br>SPI6.MOSI||General Purpose I/O
|5||style="background:#D0D0D0; color:black"|AUXb2||I/O||PB7||Tim4.Ch2<br>UART1.Rx<br>I2C1.SDA||General Purpose I/O
|-
|-
|6||style="background:#D0D0D0; color:black"|AUXb3||I/O||PB0||ADC1/2.InN5/P9<br>Tim3.Ch3<br>UART4.CTS||General Purpose I/O
|6||style="background:#D0D0D0; color:black"|AUXb3||I/O||PB8||Tim4.Ch3<br>Tim16.Ch1<br>UART4.Rx<br>I2C1.SCL||General Purpose I/O
|-
|-
|7||style="background:#D0D0D0; color:black"|AUXb4||I/O||PB1||ADC1/2.InP5<br>Tim3.Ch4||General Purpose I/O
|7||style="background:#D0D0D0; color:black"|AUXb4||I/O||PB9||Tim4.Ch4<br>Tim17.Ch1<br>UART4.Tx<br>I2C1.SDA<br>SPI2.NSS||General Purpose I/O
|}
|}
<br>
<br>
Line 312: Line 311:
'''Limitation''':
'''Limitation''':
*maximum current on the “VBAT” pin: '''I<sub>Vbat</sub> < 1A''' (because of the header’s specifications)
*maximum current on the “VBAT” pin: '''I<sub>Vbat</sub> < 1A''' (because of the header’s specifications)


==== Powering using battery/external source connected on "Servos B" header ====
==== Powering using battery/external source connected on "Servos B" header ====
Line 343: Line 341:
=== USB Modes ===
=== USB Modes ===


==== Flash (DFU) mode ====
==== DFU Flash mode ====
There is to optiosn to boot the autopilot in DFU mode in order to flash it:
There is two options to boot the autopilot in DFU mode in order to flash it:
#push and maintain "BOOT" small button
#push and maintain "BOOT" small button
#plug USB cable (already host connected)
#plug USB cable (already host connected)
OR
OR
#push and maintain "BOOT" small button
#push and maintain "BOOT" small button
#turn on autopilot power source
#turn on autopilot power source.
#plug USB cable
#plug USB cable.
[[Image:Tawaki_v201_DFU_flash_button_USB_cable.png|600px|Tawaki v2.01 USB DFU Flash Button + Power + Cable]] '''OR'''
[[Image:Tawaki_v201_DFU_flash_button_USB_cable.png|600px|Tawaki v2.01 USB DFU Flash Button + Power + Cable]] '''OR'''
[[Image:Tawaki_v201_DFU_flash_button_power_USB_cable.png|600px|Tawaki v2.01 USB DFU Flash Button + Cable]]
[[Image:Tawaki_v201_DFU_flash_button_power_USB_cable.png|600px|Tawaki v2.01 USB DFU Flash Button + Cable]]


==== USB Storage mode ====
==== USB Storage mode ====
USB Storage mode make autopilot's SDcard content easily available by host computer as for an Pendrive.<br>
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.


In this configuration, ''BOOT'' pin is connected to ''VBUS'' pin (#4 & #5 "USB" header).<br>
[[Image:Tawaki_v201_USB_storage.png|600px|Tawaki v2.01 USB Storage mode]]<br>
If USB cable is plugged after autopilot is powered, autopilot task is stopped and board enters in USB storage mode to make SDcard content easily available by host as for an USB Pendrive. When unmounted and unplugged, autopilot task restart.
 
[[Image:Tawaki_v110_USB_mode_storage.png|600px|Tawaki v1.10 USB Storage mode]]<br>


==== Full Speed USB mode ====
==== 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.<br>
In these configurations (button pushed or pin# 4 & 5 connected), BOOT0 pin of the STM32 MCU is connected to VBUS pin.<br>
This "USB FS" header arrangement allow to wire a "remote" USB interface (USB receptacle + mode push-button) reasonably distant from autopilot board.
<br><br>
[[Image:Tawaki_v201_boot_mode_strap.png|400px|Tawaki v2.01 Boot Strap usage]]<br>


=== General Pinout ===
=== Detailed Pinout ===


''Pins Name and Type are specified with respect to the Autopilot Board''<br>
''Pins Name and Type are specified with respect to the Autopilot Board''<br>
Line 370: Line 374:


=== Schematic ===
=== Schematic ===
[[Image:Tawaki_v201_schematic.jpg|left|900px|Tawaki v2.01 Schematic]]
[[Image:Tawaki_v201_schematic.jpg|left|1200px|Tawaki v2.01 Schematic]]
<br style="clear:both">
<br style="clear:both">


=== Mechanical ===
=== Mechanical ===
==== Mechanical Dimensions ====


[[Image:Tawaki_v201_top_mechanical_dimensions.png|800px|Tawaki v1.10 top mechanical dimensions]]
[[Image:Tawaki_v201_top_mechanical_dimensions.png|800px|Tawaki v1.10 top mechanical dimensions]]


==== CAD Files / 3D Model ====
==== CAD Files / 3D Model ====
WIP


[[Image:Tawaki_v100_step_file_logo.PNG|150px|link=Tawaki_v100_CAD.zip]][[Media:Tawaki_v100_CAD.zip|''  Download Tawaki v1.00 CAD File (zipped STEP file)'']]<br>
== Example of Airborne Equipment Electrical Connections ==


== Board production  ==
== Board production  ==
WIP


=== Hardware Source Files ===
=== Hardware Source Files ===
''Tawaki v1.10 hardware design (zipped Kicad 8 project) '':
[http://data.recherche.enac.fr/drones/Paparazzi/hardware/Tawaki_v201.zip ''Tawaki v2.01 hardware design (zipped Kicad 8 project) '']
[http://data.recherche.enac.fr/drones/Paparazzi/hardware/Tawaki_v110.zip Tawaki_v110.zip]
 
=== Components Layout ===
 
[[Image:Tawaki_v100_bottom_components_layout.png|200px|link=https://wiki.paparazziuav.org/w/images/3/31/Tawaki_v100_bottom_components_layout.png]][[Media:Tawaki_v100_bottom_components_layout.pdf|Bottom components layout (pdf)]]<br>
[[Image:Tawaki_v100_top_components_layout.png|200px|link=https://wiki.paparazziuav.org/w/images/c/ca/Tawaki_v100_bottom_components_layout.png]][[Media:Tawaki_v100_top_components_layout.pdf|Top components layout (pdf)]]
 
== Programming ==
 
== Debugging ==
 
=== Debugging with STM Discovery ST-LINK/V2 embedded debug tool ===
 
=== Debugging with BlackMagic probe ===
 
=== Debugging with [[CricketProbe/v1.00 | CricketProbe]] ===


== Source code ==
== Source code ==
Available in latest git master branch.
Available in Paparazzi latest git master branch.


== Where to Buy ==
== Where to Buy ==

Latest revision as of 02:33, 29 July 2024

Tawaki v2.01 top side

Tawaki v2.01 bottom side

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

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

Tawaki v2.01 simplified pinout (Paparazzi use)

Simplified Pinout Tables (Paparazzi use)

Servos a1 / a2 / a3 / a4

Pin # Name Type MCU Port Primary
MCU Resource
Description
1 GND PWR - - common ground
2 +5V PWR - - 5V Rail from autopilot
3 SRVa1
SRVa2
SRVa3
SRVa4
OUT PE9
PE11
PE13
PE14
Tim1.Ch1
Tim1.Ch2
Tim1.Ch3
Tim1.Ch4
Servo signal (PWM)


Servos b

Pin # Name Type MCU Port Primary
MCU 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 Possible
MCU 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.Tx
Tim3.Ch1
Tim8.Ch1
(5V Tolerant) Serial (SBUS, Spektrum, etc.) or PPM Stream RC receiver signal


UART2

Pin # Name Type MCU Port Primary
MCU 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 Primary
MCU 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 Primary
MCU 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 Primary
MCU 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 Primary
MCU 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 PD0
PD1
FDCAN1.Rx
FDCAN1.Tx
CAN FD bidirectional - line
2 CANH I/O PD0
PD1
FDCAN1.Rx
FDCAN1.Tx
CAN FD bidirectional + line

Note: solder JP2 to enable embedded 120Ω terminator resistor

AUX a

Pin # Name Type MCU Port Possible
MCU 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.InP16
Tim2.Ch1
Tim5.Ch1
UART2.CTS
UART4.Tx
General Purpose I/O
5 AUXa2 I/O PA1 ADC1.InP17/N16
Tim2.Ch2
Tim5.Ch2
UART2.RTS
UART4.Rx
General Purpose I/O
6 AUXa3 I/O PA2 ADC1/2.InP14
Tim2.Ch3
Tim5.Ch3
UART2.Tx
General Purpose I/O
7 AUXa4 I/O PA3 ADC1/2.InP15
Tim2.Ch4
Tim5.Ch4
UART2.Rx
General Purpose I/O


AUX b

Pin # Name Type MCU Port Possible
MCU 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.Ch1
UART1.Tx
UART5.Tx
I2C1.SCL
CAN2.Tx
General Purpose I/O
5 AUXb2 I/O PB7 Tim4.Ch2
UART1.Rx
I2C1.SDA
General Purpose I/O
6 AUXb3 I/O PB8 Tim4.Ch3
Tim16.Ch1
UART4.Rx
I2C1.SCL
General Purpose I/O
7 AUXb4 I/O PB9 Tim4.Ch4
Tim17.Ch1
UART4.Tx
I2C1.SDA
SPI2.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

Tawaki v2.01 External source onto GND & VBAT 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

Tawaki v2.01 Servos b header Vbat source for payload

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

Tawaki v2.01 External source on Servo 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

Tawaki v2.01 USB-C powering

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

Tawaki v2.01 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:

  1. push and maintain "BOOT" small button
  2. plug USB cable (already host connected)

OR

  1. push and maintain "BOOT" small button
  2. turn on autopilot power source.
  3. plug USB cable.

Tawaki v2.01 USB DFU Flash Button + Power + Cable OR Tawaki v2.01 USB DFU Flash Button + Cable

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.

Tawaki v2.01 USB Storage mode

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.

Tawaki v2.01 Boot Strap usage

Detailed Pinout

Pins Name and Type are specified with respect to the Autopilot Board

Tawaki v3.01 general pinout (development board use)

Schematic

Tawaki v2.01 Schematic


Mechanical

Tawaki v1.10 top mechanical dimensions

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