<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PiMyran</id>
	<title>PaparazziUAV - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.paparazziuav.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=PiMyran"/>
	<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/wiki/Special:Contributions/PiMyran"/>
	<updated>2026-06-07T15:30:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>http://wiki.paparazziuav.org/w/index.php?title=Lisa&amp;diff=6349</id>
		<title>Lisa</title>
		<link rel="alternate" type="text/html" href="http://wiki.paparazziuav.org/w/index.php?title=Lisa&amp;diff=6349"/>
		<updated>2010-03-29T12:02:13Z</updated>

		<summary type="html">&lt;p&gt;PiMyran: /* TODO */  Added tip on STM32 blinky, gdb, gcc&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Lisa ( the Lost Illusions Serendipitous Autopilot) is a [http://www.st.com/mcu/inchtml-pages-stm32.html STM32]/[http://www.gumstix.net/Setup-and-Programming/cat/Overo-Setup-and-Programming/111.html Overo] board designed to run Paparazzi&lt;br /&gt;
&lt;br /&gt;
== TODO ==&lt;br /&gt;
&lt;br /&gt;
open questions&lt;br /&gt;
&lt;br /&gt;
* why not have servo and rc on PC6-9 ?&lt;br /&gt;
* change CAN tranceiver for a  SN65HVD230 at 3V3 ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
List of files currently being edited:&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Antoine:&lt;br /&gt;
* &amp;lt;strike&amp;gt;check JTAG on STM32&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;work with Piotr on connecting the missing wires on the STM&amp;lt;/strike&amp;gt;&lt;br /&gt;
* paparazzi drivers for STM32: (software )&lt;br /&gt;
* &amp;lt;strike&amp;gt;USB for gumstix : does 5V need to be switchable ? (to allow reset from the gumstix)&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Check's from sheet 5&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Pressure sensor instruction to gany (redo airspeed computation), so he can finish the schematic for that (or finish it directly in the schematic) ( in progress ) &amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Check the routing rules below and add if planned on routing a certain part in a specific way&amp;lt;/strike&amp;gt;&lt;br /&gt;
* write layout ideas / wishes&lt;br /&gt;
&lt;br /&gt;
Esden:&lt;br /&gt;
* &amp;lt;strike&amp;gt;STM32 spelling and connection check&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Fix STM32 footprint pad sizes&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Routing rules that have to be followed&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Add specification of external pressure sensor ADC&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Replace all 0603 parts with versions from [http://github.com/esden/pretty-eagle-libs pretty-eagle-lib]&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Replace all molex connectors with versions from [http://github.com/esden/pretty-eagle-libs pretty-eagle-lib]&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Add a LED shift register&amp;lt;/strike&amp;gt; (STP08CP05 should do the job)&lt;br /&gt;
* &amp;lt;strike&amp;gt;Order a STP08CP05 sample&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Test the STP08CP05 on a breadboard&amp;lt;/strike&amp;gt;&lt;br /&gt;
* howto for STM32 gcc gdb toolchain (blinking LED or similar) (started writing one on [http://openhardwarewiki.org/wiki/Summon_ARM_Toolchain openhardwarewiki.org])&lt;br /&gt;
(PiMyran: Check [http://fun-tech.se/stm32/ this.]&lt;br /&gt;
&lt;br /&gt;
Gany:&lt;br /&gt;
* &amp;lt;strike&amp;gt;Check FT2232 footprint hw/lbr/booz.lbr  qfn-64 size &amp;amp; pinout &lt;br /&gt;
** -&amp;gt; Changed pad size from 0.6 x 0.4  to  0.75 x 0.25  and moved pin1 indicator outside the chip. &amp;lt;/strike&amp;gt;  &lt;br /&gt;
* &amp;lt;strike&amp;gt;Make sure STM32 can interrupt overo&lt;br /&gt;
** -&amp;gt; connected omap pin 176 with stm pin 11 via level shifter&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;ADC ref and analog supply voltage on STM&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Battery voltage measurement&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;make sure overo console serial port is usable when FT2232 is not powered. protect overo console with a gate to allow to connect something to it when FTDI is not powered/used.&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;add led to show FT2232 is powered, since power is from USB&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;pressure sensor filter and hookup for both sensors&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Bring remaining GPIO of STM to a connector&amp;lt;/strike&amp;gt;&lt;br /&gt;
* &amp;lt;strike&amp;gt;Subtract 2V from abs sensor, 0.75 from differential&amp;lt;/strike&amp;gt;&lt;br /&gt;
* Run simulation on filter&lt;br /&gt;
* Place components&lt;br /&gt;
* Route board&lt;br /&gt;
* Send for production 4pcb/pcbcard(china)/sunstone&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
Hardware is still in development. The current CAD files are maintained in savannah svn in the paparazzi4/trunk/hw/lisa directory.&lt;br /&gt;
Software development is done on a Overo/Summit + Olimex STM32-H103 dev board&lt;br /&gt;
&lt;br /&gt;
[[Image:lisa_proto.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
=== Bill Of Material ===&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;text-align:center&amp;quot; cellpadding=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:LightYellow; color:black&amp;quot;&lt;br /&gt;
!''Qty''!!width=&amp;quot;150pt&amp;quot;|''Schematic part name''!!width=&amp;quot;150pt&amp;quot;|''Value''!!width=&amp;quot;150pt&amp;quot;|''Description''!!''Package''!!''Manufacturer''!!''Manufacturer part #''!!''Digikey''!!width=&amp;quot;150pt&amp;quot;|''Mouser''&lt;br /&gt;
|-style=&amp;quot;background:WhiteSmoke; color:black&amp;quot;&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; align=&amp;quot;left&amp;quot;|''Resistors''&lt;br /&gt;
|-&lt;br /&gt;
|foo_qty||foo_schem||foo_val||foo_desc||foo_package||foo_man||foo_man#||foo_dk||foo_mouser&lt;br /&gt;
|-style=&amp;quot;background:WhiteSmoke; color:black&amp;quot;&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; align=&amp;quot;left&amp;quot;|''LEDs''&lt;br /&gt;
|-&lt;br /&gt;
|4||LED_1 to LED_4|| N/A || LED 2x1.2mm RD/GN||foo_package||foo_man||foo_man#||754-1093-1-ND||foo_mouser&lt;br /&gt;
|-style=&amp;quot;background:WhiteSmoke; color:black&amp;quot;&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; align=&amp;quot;left&amp;quot;|''ICs''&lt;br /&gt;
|-&lt;br /&gt;
|1||MCU||STM32F103RE||Microcontrollers (MCU) 32BIT Cortex M3 Performance LINE||LQFP64||STMicroelectronics||STM32F103RET6||497-6444-ND||511-STM32F103RET6&lt;br /&gt;
|-&lt;br /&gt;
|1||BARO_ABS||MPXH6115|| SENSOR ABS PRESS 16.7PSI MAX || 8-SSOP with Port || Freescale|| ||MPXH6115AC6T1CT-ND||foo_mouser&lt;br /&gt;
|-&lt;br /&gt;
|1||BARO_DIF||MPXV5004DP|| SENSOR PRESSURE SMD 8-SOP || 8-SOP Dual Port || Freescale|| ||MPXV5004DP-ND||foo_mouser&lt;br /&gt;
|-&lt;br /&gt;
|1||LT_1||TXS0102DCU|| C VOLT-LEVEL TRANSLATOR 8-US8|| US8 || Texas Instruments|| ||296-21931-1-ND||foo_mouser&lt;br /&gt;
|-&lt;br /&gt;
|1||LT_3||ADG3308|| IC XLATOR 8CH 1.2-5.5V 20-LFCS || 20-LFCSP || Analog Devices Inc|| ||ADG3308BCPZ-REEL7CT-ND||foo_mouser&lt;br /&gt;
|-&lt;br /&gt;
|2||LT_I2C1 LT_I2C2||PCA9306|| IC LEVEL TRANSLATOR 8TSSOP || 8-TSSOP || NXP Semiconductors|| ||568-4214-1-ND||foo_mouser&lt;br /&gt;
|-&lt;br /&gt;
|1||REG6V5A||LM317MDTX|| IC REG POS 0.5A ADJ VOLT DPAK || DPak || Fairchild Semiconductor|| ||LM317MDTXFSCT-ND||foo_mouser&lt;br /&gt;
|-style=&amp;quot;background:WhiteSmoke; color:black&amp;quot;&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; align=&amp;quot;left&amp;quot;|''Modules''&lt;br /&gt;
|-&lt;br /&gt;
|2||REG_3V3D REG_5VD||foo_val||foo_desc||foo_package||Texas Instruments||PTH08080WAH||296-20432-ND||foo_mouser&lt;br /&gt;
|-style=&amp;quot;background:WhiteSmoke; color:black&amp;quot;&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; align=&amp;quot;left&amp;quot;|''Crystals/Oscillators''&lt;br /&gt;
|-&lt;br /&gt;
|1||Q3||foo_val||foo_desc||foo_package||Abracom||ABM8-12.000MHz-B2-T|| foo_dk ||815-ABM8-12-B2-T&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== STM32 ===&lt;br /&gt;
&lt;br /&gt;
STM32-F103RE&lt;br /&gt;
&lt;br /&gt;
==== pinout ====&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; style=&amp;quot;text-align:center&amp;quot; cellpadding=&amp;quot;2&amp;quot; valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:LightYellow; color:black&amp;quot;&lt;br /&gt;
!''STM32 Pin''!!width=&amp;quot;150pt&amp;quot;|''function''!!width=&amp;quot;150pt&amp;quot;|''remark''!!width=&amp;quot;150pt&amp;quot;|&amp;quot;validated&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background:WhiteSmoke; color:black&amp;quot;&lt;br /&gt;
|colspan=&amp;quot;10&amp;quot; align=&amp;quot;left&amp;quot;|''SPI1: IMU, MAG, BARO. STM32 is master''&lt;br /&gt;
|-&lt;br /&gt;
|21||SCK || ||&lt;br /&gt;
|-&lt;br /&gt;
|22||MISO|| ||&lt;br /&gt;
|-&lt;br /&gt;
|23||MOSI|| ||&lt;br /&gt;
|-&lt;br /&gt;
|9 ||DRDY IMU|| || &lt;br /&gt;
|-&lt;br /&gt;
|8 ||SS IMU|| || &lt;br /&gt;
|-&lt;br /&gt;
|24 ||DRDY MAG|| || &lt;br /&gt;
|-&lt;br /&gt;
|10 ||SS MAG|| || &lt;br /&gt;
|-&lt;br /&gt;
|25 ||RESET MAG|| || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
SPI1 :  IMU/baro high speed sensor communications, STM32 is master&lt;br /&gt;
        pin 21 (SCK), 22(MISO), 23(MOSI)  &lt;br /&gt;
        accel/gyro 16bitsADC   9(DRDY)  8(SS)&lt;br /&gt;
        mag                   24(DRDY) 10(SS)  25(RESET)&lt;br /&gt;
        eeprom                         53(SS)&lt;br /&gt;
        baro                  40(DRDY) 39(SS)&lt;br /&gt;
&lt;br /&gt;
SPI2 :  overo, STM is slave&lt;br /&gt;
        pin 33 (SS), 34(SCK), 35(MISO), 36(MOSI),  11(interrupt for OMAP)&lt;br /&gt;
&lt;br /&gt;
I2C1 :  motorcontroller&lt;br /&gt;
        pin 58(SCL), 59(SDA)&lt;br /&gt;
&lt;br /&gt;
I2C2 : extension&lt;br /&gt;
       pin 29(SCL), 30(SDA) &lt;br /&gt;
&lt;br /&gt;
UART1 : GPS or IMUxsense&lt;br /&gt;
       pin 42(TX), 43(RX) &lt;br /&gt;
&lt;br /&gt;
UART2 : Modem&lt;br /&gt;
       pin 16(TX) ,17(RX)&lt;br /&gt;
&lt;br /&gt;
UART3 : RC24&lt;br /&gt;
       pin 51(TX), 52(RX)&lt;br /&gt;
&lt;br /&gt;
CAN : motor controller&lt;br /&gt;
       pin 42(TX), 43(RX)&lt;br /&gt;
&lt;br /&gt;
SERVO_out: driving 3 servos&lt;br /&gt;
       37(TIM3CH1), 38(TIM3CH2), 26(TIM3CH3) &lt;br /&gt;
&lt;br /&gt;
RC_in: analog RC&lt;br /&gt;
       27(TIM3H4)&lt;br /&gt;
&lt;br /&gt;
JTAG : flash and debug&lt;br /&gt;
       46(TMS), 49(TCK), 50(TDI), 55(TDO), 56(TRST), 7(RESET)&lt;br /&gt;
&lt;br /&gt;
ADCs : 1 for battery 2/3 for extansion&lt;br /&gt;
       &lt;br /&gt;
LED : &lt;br /&gt;
       3(LED_CLK), 4(LED_DATA)&lt;br /&gt;
&lt;br /&gt;
POWER_SWITCHES: This is switched supply, used for example to switch on and off a video transmitter or some LEDS for night flight&lt;br /&gt;
                Can be removed for lack of place&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Pressure sensors ===&lt;br /&gt;
&lt;br /&gt;
The board is equipped with a pair of pressure sensors, one absolute to measure altitude and one differential to measure airspeed.&lt;br /&gt;
&lt;br /&gt;
==== Absolute Pressure ====&lt;br /&gt;
The proposed absolute pressure sensor is the freescale [http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPXx6115&amp;amp;fsrch=1 MPXh6115]&lt;br /&gt;
The following plot displays the output of the sensor versus altitude&lt;br /&gt;
&lt;br /&gt;
[[Image:absolute_pressure.png]]&lt;br /&gt;
&lt;br /&gt;
==== Differential Pressure ====&lt;br /&gt;
&lt;br /&gt;
The proposed differential sensor is the [http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPXx5004&amp;amp;fsrch=1 MPXV5004DP]&lt;br /&gt;
&lt;br /&gt;
[[Image:differential_pressure.png]]&lt;br /&gt;
&lt;br /&gt;
Because of high resolution requirements in the pressure sensor circuit there is an external ADC needed with the following features:&lt;br /&gt;
* 16bit resolution minimum, 20bit would be awesome&lt;br /&gt;
* Two channels (multiplexed or not) each at least 100Hz sampling rate&lt;br /&gt;
* I2C or SPI interface (I2C preferred)&lt;br /&gt;
** We used the [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/4950 MAX11040] as ADC for a meteo payload, some (SPI) code is there. It samples 4 channels simultaneously in 24 bits (less &amp;quot;in real&amp;quot;). Slowest conversion speed is 250.1 samples/second.&lt;br /&gt;
&lt;br /&gt;
=== FT2232 ===&lt;br /&gt;
This chip is used for JTAG on STM32 and SERIAL/USB convertion on overo console&lt;br /&gt;
&lt;br /&gt;
datasheet: [http://www.ftdichip.com/Documents/DataSheets/DS_FT2232H_V206.pdf URL] &lt;br /&gt;
&lt;br /&gt;
mini module used for dev : [http://www.ftdichip.com/Products/EvaluationKits/FT2232H_MiniModule.htm URL]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
schematics used is from the minimodule as ft2232 and minimodule schematics are not coherent ( regarding pullups of the eeprom)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gumstix overo ===&lt;br /&gt;
&lt;br /&gt;
[http://pubs.gumstix.com/boards/COMS/Overo/PF3503-R2410_DWG.pdf] mechanical drawings&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
&lt;br /&gt;
=== STM32 drivers for paparazzi ===&lt;br /&gt;
&lt;br /&gt;
LED : done&lt;br /&gt;
&lt;br /&gt;
SYS_TIME : done&lt;br /&gt;
&lt;br /&gt;
UART : done without DMA, so got datalink, telemetry and RC24 working&lt;br /&gt;
&lt;br /&gt;
PPMout: done, needed for servos ( 3 servos ? )&lt;br /&gt;
&lt;br /&gt;
PPMin: not done, needed for analog radio control and windvane&lt;br /&gt;
&lt;br /&gt;
I2C : not done, needed for motor controllers&lt;br /&gt;
&lt;br /&gt;
SPI : not done, needed for IMU ( big works as we share with mag and baro) and for overo&lt;br /&gt;
&lt;br /&gt;
CAN : not done, needed for motor controller and CSC&lt;br /&gt;
&lt;br /&gt;
ADC: not done, &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== STM32 toolchain ===&lt;br /&gt;
&lt;br /&gt;
You can use the [http://github.com/esden/summon-arm-toolchain summon-arm-toolchain] script to build the required toolchain.&lt;br /&gt;
For the default values of the Paparazzi Makefile to work, you should set&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
PREFIX=/opt/stm32/toolchain/arm-elf&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
and&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
LIBSTM32_EN=1&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Open Embedded ===&lt;br /&gt;
&lt;br /&gt;
Open Embedded is the linux distribution used on the overo.&lt;br /&gt;
You can follow the [http://www.gumstix.net/Setup-and-Programming/view/Overo-Setup-and-Programming/Setting-up-a-build-environment/111.html instructions] on gumstix's website to build a complete cross development environment. Paparazzi's Makefile will default to look for it in /overo-oe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
== Routing Notes ==&lt;br /&gt;
* Motor controller connectors in 4 corners of the board if possible&lt;br /&gt;
* If we are running out of space on the board we have several options:&lt;br /&gt;
** Only one connector for the motors&lt;br /&gt;
** Two connectors for the motors on each side of the board&lt;br /&gt;
** Two connectors for the motors on each side of the board where each connector can accomodate two motor controller wires (4 pins each connector)&lt;br /&gt;
** Servo connector: used to drive up to 3 small servos, for example on a small biplan, or a gimbal for a camera, can also have switched 5V to switch on and OFF the video transmitter&lt;br /&gt;
&lt;br /&gt;
== Routing Rules ==&lt;br /&gt;
&lt;br /&gt;
* 6mil traces/spacings for signals&lt;br /&gt;
* 12mil traces/spacings for power traces (this is min value, otherwise as wide as possible or even planes if possible)&lt;br /&gt;
* 6mil layout grid&lt;br /&gt;
* Layer stacking:&lt;br /&gt;
** Top: Signal + Ground plane&lt;br /&gt;
** Route2: Ground plane(s) (Separate analogue and digital ground)&lt;br /&gt;
** Route15: Power plane(s)&lt;br /&gt;
** Bottom: Signal + Ground plane&lt;br /&gt;
* 0.4mm vias with 0.1mm restring&lt;/div&gt;</summary>
		<author><name>PiMyran</name></author>
	</entry>
</feed>