Difference between revisions of "Lisa/M v1.0"

From PaparazziUAV
Jump to navigation Jump to search
m
 
(25 intermediate revisions by 7 users not shown)
Line 1: Line 1:
<div style="float: right; width: 15%"><categorytree style="float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;" mode=pages>Autopilots</categorytree></div>
<div style="float: right; width: 15%"><categorytree style="float:right; clear:right; margin-left:1ex; border: 1px solid gray; padding: 0.7ex;" mode=pages>Autopilots</categorytree></div>
'''[[Lisa/M_v20|THE LISA/M v2.0 IS NOW AVAILABLE]]'''
<div style="float: right; width: 45%; overflow: hidden">[[Image:Lisa_M_V1_0_top_with_coin.jpg|right|600px|Lisa/M V1.0 top view]]</div>
<div style="float: right; width: 45%; overflow: hidden">[[Image:Lisa_M_V1_0_top_with_coin.jpg|right|600px|Lisa/M V1.0 top view]]</div>
<div style="float: right; width: 40%">__TOC__</div>
<div style="float: right; width: 40%">__TOC__</div>
== Introduction ==


If you consider yourself a developer this flexible piece of UAS hardware is for you. If you enjoy writing software and consider yourself an early adopter this is the board to use. Have fun implementing and extending the already great features. To show of your work and also to ask questions, you are welcomed on the paparazzi mailinglist, this Wiki and the freenode paparazzi IRC channel. This nice piece of hardware can be used for various purposes. Ofcourse as an Autopilot board, but only by uploading another firmware also a servo extension board and more. A good idea of how this nice piece of hardware looks like is shown on the Photos here. If you are not so interested in all of this at the moment since you just have this shiny new board on you desk and want to connect and fly the thing, then go to the page [[Lisa/M/Tutorial/FixedWing| using the board as an '''Autopilot''' for an airplane]] or go [[Lisa/M/Tutorial/RotorCraft|here for uses a an '''Autopilot''' in a quadrotor]]
'''NOTE: THERE IS A [[Lisa/M_v20|NEW VERSION OF LISA/M AVAILABLE]]'''


[[Image:Lisa_M_V1_0_top_with_coin.jpg|thumb|Lisa/M V1.0 top view]]
Lisa/M is a small, general purpose autopilot designed with flexibility across multiple applications in mind. Small weight and size, with (optional) integrated [[AspirinIMU | Aspirin IMU]] and full size 0.1" servo headers make the Lisa/M suitable for both fixed-wing and rotorcraft vehicles. This autopilot is based on the STM32 for improved peripherals and faster processing.
[[Image:Lisa_M_V1_0_bottom_with_coin.jpg|thumb|Lisa/M V1.0 bottom view]]
[[Image:Lisa_M_V1_0_top.jpg|thumb|Lisa/M V1.0 top view]]
[[Image:Lisa_M_V1_0_bottom.jpg|thumb|Lisa/M V1.0 bottom view]]


== Initial Setup ==
A number of tutorials are being prepared for getting started with Lisa/M:
* [[Lisa/M/Tutorial/FixedWing|Fixedwing tutorial]]
* [[Lisa/M/Tutorial/RotorCraft|Rotorcraft tutorial]]


If you want to just simply setup the board for use as an Autopilot and are looking for information about how to get the Lisa/M board up and running and where to connect other hardware just follow the link below if you have that great Lisa/M board and want to get get it airborne fast.
== Hardware Revision History ==


* [[Lisa/M/Tutorial/FixedWing]] - for an airplane, glider or flying wing;
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="6"
* [[Lisa/M/Tutorial/RotorCraft]] - for everything that flies via moving blades: helicopters, quadrocopters or something alike.
!''Version #''!!''Release Date''!!''Release Notes''
|-
|v1.0||MM/YYYY||Lisa/M Initial Production Release
|-
|v0.1||MM/YYYY||Initial prototype of Lisa/M
|}
For detailed hardware revision history, please [[Lisa/M#Detailed_Hardware_Revision_History | see below]].


== Features ==
== Features ==


Lisa/M is based on the 64 pins STM32F105RC processor featuring 64k of RAM and 256k of FLASH. All the pins are exposed, providing access to the complete set of the STM32 peripherals.
Lisa/M is based on the 64 pins STM32F105RCT6 [http://www.st.com/internet/mcu/product/221023.jsp connectivity line family] processor featuring 64k of RAM and 256k of FLASH. All the pins are exposed, providing access to the complete set of the STM32 peripherals.
NOTE: This MCU is different from LISA/L. Lisa/L is based on the 64 pins STM32F103RE processor featuring 64k of RAM and 512k of FLASH, which is [http://www.st.com/internet/mcu/product/164485.jsp high-density performance line family] where STM32F105RC of LISA/M is [http://www.st.com/internet/mcu/product/221023.jsp connectivity line family].  
NOTE: This MCU is different from LISA/L. Lisa/L is based on the 64 pins STM32F103RE processor featuring 64k of RAM and 512k of FLASH, which is part of the [http://www.st.com/internet/mcu/product/164485.jsp high-density performance line family].
 
== Overview ==


* STM32 microcontroller [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00220364.pdf STM32F105RC datasheet] with 256kB flash and 64kB RAM
* STM32 microcontroller [http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00220364.pdf STM32F105RCT6 datasheet] with 256kB flash and 64kB RAM
* Pressure sensor [http://www.bosch-sensortec.com/content/language1/html/3477.htm BMP085]
* Pressure sensor [http://www.bosch-sensortec.com/content/language1/html/3477.htm BMP085]
* 7 x Analog input channels
* 7 x Analog input channels
Line 41: Line 44:
* 4 layers PCB design
* 4 layers PCB design


with mounted IMU has the following additional sensors on board:
with mounted Aspirin IMU has the following additional sensors on board:


* 3 Axis Gyroscope
* 3 Axis Gyroscope
Line 47: Line 50:
* 3 Axis Magnetometer
* 3 Axis Magnetometer


The pressure sensor is mounted directly on the board as this sensor is not provided by Aspirin. Exept for a GPS unit you have all necessary sensors for full attitude and altitude stabilization in an extremely small package. Adding only an external GPS unit, it is a full fledged Autopilot.
The pressure sensor is mounted directly on the board as this sensor is not provided by Aspirin (''v0.1 - v1.1'').  


=== Footprint ===
In short, you only need to add a high quality GPS module and then you have all necessary sensors for full attitude and altitude stabilization in an extremely small package.


This autopilot is very small. The footprint is only 33mm by 56mm by 10mm including the servo connector pins. It will fit in a small UAS very well. There is a spot for mounting the [http://paparazzi.enac.fr/wiki/AspirinIMU Aspirin IMU] directly on board.
<gallery widths=200px heigths=200px>
Image:Lisa_M_V1_0_top.jpg|Lisa/M V1.0 top view
Image:Lisa_M_V1_0_bottom.jpg|Lisa/M V1.0 bottom view
Image:Lisa_M_V1_0_top_with_coin.jpg|Lisa/M V1.0 top view
Image:Lisa_M_V1_0_bottom_with_coin.jpg|Lisa/M V1.0 bottom view
</gallery>


=== [[MCU]] ===
== Pinout ==
Pins Name and Type are specified with respect to the Autopilot Board.


In brief, the STM32 features 3 USARTS, 2 SPI, 2 I2C, 1 CAN, a plethora of timers, ADCs and a generic DMA able to serve all of them. On the board, a number of the communication interfaces are level shifted with user selectable voltage to allow interfacing with all kind of peripherals.
[[Image:LisaM_V1_0_top_labeled.png|900px]]


=== Onboard IMU ===
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''SERVO1/2/3/4/5/6/7'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||SERVOx||OUT||Servo signal (PWM)||style="background:Yellow; color:black"|Yellow
|-
|2||SV||PWR||Servo Bus Voltage Rail (conf w/ JP1)||style="background:red; color:white"|Red
|-
|3||GND||PWR||common ground||style="background:black; color:white"|Black
|}


The Lisa/M comes with [[AspirinIMU|Aspirin IMU]] mounted, for easy attitude estimation in the smallest package possible.


=== JTAG ===
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''JTAG'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||N/A||N/A||JTAG Debug Header||style="background:white; color:black"|None
|}
 
 
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''UART1'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||UART Voltage (conf w/ JP6 and JP7)||style="background:Red; color:white"|Red
|-
|3||TX||OUT||USART1 Serial Output (3.3V level)||style="background:Yellow; color:black"|Yellow
|-
|4||RX||IN||USART1 Serial Input (3.3V level)(5V tolerant)||style="background:Orange; color:white"|Orange
|}
 
 
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''UART3/5'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3||RX3||IN||USART3 Serial Input (3.3V level)(5V tolerant)||style="background:Orange; color:white"|Orange
|-
|4||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|5|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|6||RX5||IN||UART5 Serial Input (3.3V level)(5V tolerant)||style="background:Orange; color:white"|Orange
|}
 
 
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''GPIO'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3||PC10||I/O||GPIO PC10  = LED 5 ||style="background:#FFA1B2; color:black"|Pink
|-
|4||PC12||I/O||GPIO PC12  = LED 4 ||style="background:#FDC579; color:black"|Dark Tan
|-
|5||TRST||I/O||JTAG_TRST  = LED1 ||style="background:#FED6B1; color:black"|Light Tan
|}


* [[JTAG]] description;
* General [[Dev/Debugging|debugging information]];
* [[DevGuide/JTAG-Debug|JTAG usage]], includes Eclipse uplink tutorial.


== Hardware Revision History ==
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''ANALOG2 (if Populated)'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3|| +5V||PWR||5V Rail from autopilot||style="background:Red; color:white"|Red
|-
|4||ADC4||I/O||ADC4||style="background:magenta; color:white"|Magenta
|-
|5||ADC6||I/O||ADC6||style="background:#FFA1B2; color:black"|Pink
|-
|6||BOOT||I/O||BOOT||style="background:grey; color:black"|Grey
|}


=== Changes between v0.1 and v1.0 ===
* Switched to stm32f105 to be able to use usb and can at the same time
* Added alternative use of the adc lines as led output
* ...


=== Changes between v1.0 and v1.1 ===
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
* Removed pull-ups on the USB gpio
|+'''USB'''
* Removed pull-ups on the CAN gpio
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
* Connected usb_vbus to pa9 (needed by the USBotg)
|-
* Removed USB pullup transistor as usbotg has a built in pullup
|1||N/A||N/A||USB||style="background:white; color:black"|None
* Swapped UART1 with UART3 (uart1 was used for gps and pa9 was it's tx line, to be able to talk to the gps unit uart3 is a better choice, as uart1 only has an rx line now it is a better choice for spektrum RX modules)
|}
* Removed USART3 TX gpio from the GPIO connector and moved to the GPS connector
* Added voltage selector jumpers to the RC RX connector; to enable powering of 3v3 or an 5v receivers
* Replaced vertical board solution with through hole servo pin headers (easier assembly)
* Servo connectors are in groups of two; for easier assembly
* Servo VBUS is connected together on all four layers; for lower resistance
* Moved LED's from under the analog2 connector; to be able to populate LED's and the connector
* Moved the RC RX connector a bit; to prevent crashing with the jtag plug
* Added one additional servo connector; now we have all 8 accessible through the standard servo connectors
* Fixed servo channel labeling to start at '''S0''' as it is the case on TWOG and Tiny autopilot boards
* Added secondary through hole picoblade USB connector for easier routing of USB inside an airframe
* ...


=== Changes between v1.1 and v2.0 ===
* Lot's of silkscreen improvements
* Added attributes to all parts to make the usage of bom-ex ulp possible.
* Improved routing to allow teardropping
* Fixed stm32f1, f2 and f4 compatibility circuit. (has to jump to ground not to 3v3)
* Connected existing UART RX pullups to the respective connector power pins instead of 3v3. To prevent connecting 5V over IO pin to the 3v3 power rail.
* Added pullups on all UART RX lines to prevent undesired floatation.
* LED's are connected to 3v3 now. To make sure we don't have an issue with voltage tolerance on the gpio pins.
* ...


== Hardware update requests ==
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
* REQ: Replace BMP085 with MS5611 (the MS5611 seems to be better in performance then the BMP but it is more expensive and seems to be more difficult to obtain.
|+'''I2C1 CAN'''
** A: This upgrade will be available through Aspirin v2.0 --[[User:Esden|Esden]] 22:54, 5 January 2012 (CET)
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| V_BATT||PWR||V_BAT Bus on autopilot, voltage divider for V_BAT_MEAS, (conf w/ JP2 to connect to V_IN)||style="background:Red; color:white"|Red
|-
|3|| V_IN||PWR||Connected to autopilot voltage regulator inputs (conf w/ JP1, JP2 and JP3)||style="background:Red; color:white"|Red
|-
|4||CANL||I/O||CANL (5V level)||style="background:orange; color:white"|Orange
|-
|5||CANH||I/O||CANH (5V level)||style="background:yellow; color:black"|Yellow
|-
|6||SCL||I/O||SCL (5V level)||style="background:green; color:white"|Green
|-
|7||SDA||I/O||SDA (5V level)||style="background:blue; color:white"|Blue
|}


* REQ: Replace 7 Pin CAN with molex with something less risky to be inserted in 7 Pin SPI in relation to powering the board via CAN molex.


* REQ: Separate spot for external power if powered via separate battery. Realizing we can via Servo ports by Bridge J1 but still like to measure board voltage then and have a way to add power without mistakenly inject CAN Molex into SPI.
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''SPI1'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3||MOSI||Out||MOSI||style="background:orange; color:white"|Orange
|-
|4||MISO||In||MISO||style="background:yellow; color:black"|Yellow
|-
|5||SCK||Out||SCK||style="background:green; color:white"|Green
|-
|6||SS||Out||SS||style="background:blue; color:white"|Blue
|-
|7||DRDY||I/O||DRDY||style="background:#FDC579; color:black"|Dark Tan
|}


== Architecture ==


== Usage scenarios ==
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''ANALOG1'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3|| +5V||PWR||5V Rail from autopilot||style="background:Red; color:white"|Red
|-
|4||ADC1||In||ADC1||style="background:green; color:white"|Green
|-
|5||ADC2||In||ADC2||style="background:blue; color:white"|Blue
|-
|6||ADC3||In||ADC3||style="background:#FED6B1; color:black"|Light Tan
|}


For regular Autopilot boards a full Lisa/M board is needed. For some scenarios just a basic Lisa/M without [[Inertial_Measurement_Units|IMU]] and [[Airspeed_sensor|pressure sensor]] is needed, this makes the board cheaper of course.


=== As a basic Autopilot ===
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''UART2'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2||VCC||PWR||UART Voltage (conf w/ JP4 and JP5)||style="background:Red; color:white"|Red
|-
|3||TX||OUT||USART2 Serial Output (3.3V level)||style="background:Yellow; color:black"|Yellow
|-
|4||RX||IN||USART2 Serial Input (3.3V level)('''NOT 5V TOLERANT''')||style="background:Orange; color:white"|Orange
|}


To use the Lisa/M as an autopilot, we need to attach a GPS receiver. A nice [[GPS#u-Blox_LEA_Series_Receivers|uBlox LEA-5H]] or newer will perform great.


=== As and advanced Autopilot ===
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''I2C2'''
!width="7%"|''Pin #''!!width="10%"|''Name''!!width="10%"|''Type''!!''Description''!!width="5%"|''Color''
|-
|1||GND||PWR||common ground||style="background:black; color:white"|Black
|-
|2|| +3V3||PWR||3.3V Rail from autopilot||style="background:Red; color:white"|Red
|-
|3||SCL||I/O||SCL (3.3V level)||style="background:green; color:white"|Green
|-
|4||SDA||I/O||SDA (3.3V level)||style="background:blue; color:white"|Blue
|}


Also an external airspeed sensor like the Eagletree would enhance a fixed-wing airframe. Of course an extention cable from microUAS to Mini USB to the outside of the airframe is very practical.
Currently, the UART1 outlet is used to talk to the GPS receiver.


=== As a servo extender ===
=== Jumper Configuration ===
There are a number of jumpers on Lisa/M used to configure voltage levels and power input.


Sometimes being able to steer seven actuators is just not enough. One need for example flaps that enhance aileron or an airbrake and automatic landingfacility. Maybe special ACL lights, or four cameras with zoom. By using a coupled second basic Lisa/M and connect this to the master AP board we can extend our amount of servos.
<gallery widths=380px heights=205px>
Image:LisaM_V1_0_top_jumpers_and_leds.png | Lisa/M v1.0 Top Jumpers and LEDs
Image:LisaM_V1_0_bottom_jumpers.png | Lisa/M v1.0 Bottom Jumpers
</gallery>
<br style="clear:both">


=== As a Safety Pilot Device ===
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''Power Jumper Configuration'''
!width="7%"|''Jumper''!!width="20%"|''Bus Connection''!!width="7%"|''Default''!!''Description''
|-
|JP1||SERVO_BUS to V_IN||style="background:black; color:white"|CLOSED||Connects servo header voltage rail SERVO_BUS to autopilot input voltage V_IN rail
|-
|JP2||V_BAT to V_IN||OPEN||Connects I2C1/CAN rail V_BAT to autopilot input voltage V_IN rail
|-
|JP3||V_IN to +5V||OPEN||Connects autopilot input voltage V_IN rail to autopilot +5V rail, bypassing onboard 5V supply
|}


To provide an extra safety level required in some UAS challenges a second Lisa board can make it easy to adhere to the rules for such a challenge.


=== As a Data Logger ===
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
|+'''UART1 VCC Configuration'''
!width="7%"|''Jumper''!!width="20%"|''Bus Connection''!!width="7%"|''Default''!!''Description''
|-
|JP6||UART1_VCC to V_IN||OPEN||Connects UART1 connector VCC to autopilot input voltage V_IN rail
|-
|JP7||UART1_VCC to +3V3||style="background:black; color:white"|CLOSED||Connects UART1 connector VCC to autopilot +3V3 rail
|}
'''WARNING: DO NOT CLOSE BOTH JP6 AND JP7 SIMULTANEOUSLY!!!'''


Maybe you have a need only to log all kinds of data, like temperature, volts, amps, height, airspeed only. For this we can setup a Lisa/M board. Then we are flexible and add whatever sensors we want. Collecting this data can be to a storage medium like an micro SD card. Sometimes there is no need for realtime data collection but just for storing a huge dataset.


=== As a Camera controller ===
{|border="1"  cellspacing="0" style="text-align:center" cellpadding="2%" width="70%"
On some models that do not require much servos (for example - flying wing with only 3 chanels used), spare channels can be used for camera control.
|+'''UART2 VCC Configuration'''
!width="7%"|''Jumper''!!width="20%"|''Bus Connection''!!width="7%"|''Default''!!''Description''
|-
|JP4||UART2_VCC to V_IN||OPEN||Connects UART2 connector VCC to autopilot input voltage V_IN rail '''SEE WARNING BELOW'''
|-
|JP5||UART2_VCC to +3V3||style="background:black; color:white"|CLOSED||Connects UART2 connector VCC to autopilot +3V3 rail
|}
'''WARNING: UART2 RX is NOT 5V TOLERANT. Thus, while possible to connect UART2_VCC to V_IN, DO NOT ATTEMPT THIS. Only use JP5 (the default).


=== As a Airframe Tracker ===
'''WARNING: DO NOT CLOSE BOTH JP4 AND JP5 SIMULTANEOUSLY!!!'''


A remote antenna or camera on a tripod is on of the may option to use a Lisa/M Board. The remote device Must be able to get data from the pale in one form or another.


== Pinout ==
=== Powering the Board ===


Pins Name and Type are specified with respect to the Autopilot Board
The 3.3V regulator on Lisa/M is a [http://www.micrel.com/page.do?page=/product-info/products/mic5209.shtml MIC5209-3.3YM] capable of delivering up to 500mA. While it is possible to power this regulator with up to 16V, experience has shown that this regulator can become very hot in operation with high input voltages, resulting in potential thermal shutdown while in flight. Depending on the expected current draw, it is best to power this regulator with a lower voltage. 5V is the perfect choice.


[[Image:LisaM_V1_0_top_labeled.png|700px]]
The onboard 5V regulator on Lisa/M is a [http://www.national.com/pf/LP/LP2992.html LP2992], a low-noise, low-dropout linear regulator capable of delivering up to 250mA. This regulator can be bypassed with JP3, connecting the autopilot V_IN bus directly to the autopilot 5V bus if, for example, one is using an external 5V regulated supply.


== Schematic ==
== Schematic ==
 
<gallery widths=200px heights=200px>
<gallery>
Image:Lisa_m_v1_0_sheet_1.png | LisaM V1.0 Schematic Sheet 1/3
Image:Lisa_m_v1_0_sheet_1.png | LisaM V1.0 Schematic Sheet 1/3
Image:Lisa_m_v1_0_sheet_2.png | LisaM V1.0 Schematic Sheet 2/3
Image:Lisa_m_v1_0_sheet_2.png | LisaM V1.0 Schematic Sheet 2/3
Image:Lisa_m_v1_0_sheet_3.png | LisaM V1.0 Schematic Sheet 3/3
Image:Lisa_m_v1_0_sheet_3.png | LisaM V1.0 Schematic Sheet 3/3
</gallery>
</gallery>
<br style="clear:both">
== Examples of Airborne Equipment Electrical Connections ==
=== Small Aircraft Connection Diagram ===
Need an Umarim_v1.0-style ([[Umarim_v10#Small_Aircraft_Connection_Diagram | here]]) small aircraft airborne equipment electrical connections here.
<br style="clear:both">
=== Large Aircraft Connection Diagram ===
Need an Umarim V1.0-style ([[Umarim_v10#Large_Aircraft_Connection_Diagram | here]]) large aircraft airborne equipment electrical connections diagram here.
<br style="clear:both">
=== R/C Receivers ===
There is Spektrum parser available already, enabling the direct use of 1 or 2 Spektrum satellite receivers.


The up to date schematics files are also available from the [https://github.com/paparazzi/paparazzi-hardware/tree/master/controller/lisa_m Paparazzi hardware layout data server]
[[Image:Lisa_M_V1_0_satellite_receiver_connection_labeled.png|500px|Connection of Spektrum Satellite Receivers to Lisa/M v1.0]]


== Electrical Connections to the Airborne Equipment ==
Also UART pins can be used as general purpose I/O to be used for PPM input. Additionally [[PPM_Encoder | PPM encoder]] can be used to avoid receiver hardware modification.
=== Receivers ===
There is spectrum parser available already.
Also UART pins can be used as general purpose I/O to be used for PPM input.


Additionally [http://www.aerofu.com/index.php?main_page=product_info&cPath=1&products_id=50 PPM encoder] can be used to avoid receiver hardware modification.


== PCB ==
== PCB ==


=== Gerber & Drill Files ===
=== Gerber & Drill Files ===
 
'''''Download  Lisa/M v1.0 gerber & drill files (zip)''''' ''NOT YET AVAILABLE BUT SEE [[Lisa/M#Downloads|Downloads]]''
Need some generated gerbers and drill files here.


== Assembly ==
== Assembly ==


=== Components Layout ===
===Components Layout===


=== Mechanical drawing ===
''NOT YET AVAILABLE BUT SEE [[Lisa/M#Downloads|Downloads]]''
 
Need some top and bottom of board images and line drawings here.
[[Image:LisaM_V1_0_top_mechanical.png|500px]]


=== Bill Of Material ===
=== Bill Of Material ===


'''''Download  Lisa/M v1.0 Bill Of Material (zipped .xls file)''''' ''NOT YET AVAILABLE BUT SEE [[Lisa/M#Downloads|Downloads]]''
<br>
<br>


== PCB and assembled boards suppliers ==


== PCB and assembled boards suppliers ==
Available on [[Get_Hardware|Get Hardware]] page, hopefully :)


For private companies and enthusiast Paparazzi hardware suppliers, see [[Get_Hardware|Get Hardware]] page.


== Downloads ==
== Mechanical Dimensions ==


The CAD files are also available from the [https://github.com/paparazzi/paparazzi-hardware/tree/master/controller/lisa_m Paparazzi hardware layout data server]
[[Image:LisaM_V1_0_top_mechanical.png|500px|Lisa/M v1.0 Mechanical Dimensions]]


'''Schematics'''
== Downloads ==
* [[Image:Lisa m v1 0 sheet1 of 3.pdf]]
* [[Image:Lisa m v1 0 sheet2 of 3.pdf]]
* [[Image:Lisa m v1 0 sheet3 of 3.pdf]]


'''Source files'''
'''Source files'''
:*download ''LisaM v1.00 Eagle design (zip)''
:*download available on GitHub: ''[https://github.com/paparazzi/paparazzi-hardware/tree/master/controller/lisa_m/v1.0 Lisa/M v1.0 Cadsoft Eagle 5.x Design]''
'''Gerber & Drill files'''
'''Gerber & Drill files'''
:*download '' gerber & drill files (zip)''
:*download ''NOT YET AVAILABLE'' Need generated gerbers and drill files
'''Assembly files'''
'''Assembly files'''
:*download ''(pdf)''
:*download ''NOT YET AVAILABLE'' Need Lisa/M v1.0 Components layouts (pdf)
:*download '' (zipped .xls file)''
:*download ''NOT YET AVAILABLE'' Need Lisa/M v1.0 Bill Of Material
 
== Upload firmware ==
 
Uploading firmware onboard USB is not possible with this boart. The boords need hardware modification to make it possible. A very nice way to upload, a.k.a. flashing new Paparazzi code to the board is to use a [[Lisa/M#JTAG|JTAG]] adapter. Less convenient since it takes a special adapter. But this adapter makes it more convenient when testing; one does not need to repower the board to reflash. And flashing via JTag cable is very fast. Also debugging the autopilot is very handy with JTAG.
 
=== Required components ===
 
 
=== Connection Diagram ===
 
 
=== Boot Sequence ===
 
== JTAG ==
 
JTAG can be used to upload firmware if no bootloader as present. It can also be used for debugging.
 
* [[JTAG]] description;
* General [[Dev/Debugging|debugging information]];
* [[DevGuide/JTAG-Debug|JTAG usage]], includes Eclipse uplink tutorial.
 
 
== Detailed Hardware Revision History ==
 
=== Changes Between v1.0 and v1.1 ===
 
* Removed pull-ups on the USB gpio
* Removed pull-ups on the CAN gpio
* Connected usb_vbus to pa9 (needed by the USBotg)
* Removed USB pullup transistor as usbotg has a built in pullup
* Swapped UART1 with UART3 (uart1 was used for gps and pa9 was it's tx line, to be able to talk to the gps unit uart3 is a better choice, as uart1 only has an rx line now it is a better choice for spektrum RX modules)
* Removed USART3 TX gpio from the GPIO connector and moved to the GPS connector
* Added voltage selector jumpers to the RC RX connector; to enable powering of 3v3 or an 5v receivers
* Replaced vertical board solution with through hole servo pin headers (easier assembly)
* Servo connectors are in groups of two; for easier assembly
* Servo VBUS is connected together on all four layers; for lower resistance
* Moved LED's from under the analog2 connector; to be able to populate LED's and the connector
* Moved the RC RX connector a bit; to prevent crashing with the jtag plug
* Added one additional servo connector; now we have all 8 accessible through the standard servo connectors
* Fixed servo channel labeling to start at '''S0''' as it is the case on TWOG and Tiny autopilot boards
* Added secondary through hole picoblade USB connector for easier routing of USB inside an airframe
* ...
 
=== Changes Between v0.1 and v1.0 ===
 
* Switched to stm32f105 to be able to use usb and can at the same time
* Added alternative use of the adc lines as led output
* ...
 
=== Hardware Change Requests ===
 
* REQ: Replace BMP085 with MS5611 (the MS5611 seems to be better in performance then the BMP but it is more expensive and seems to be more difficult to obtain.
** A: This upgrade will be available through Aspirin v2.0 --[[User:Esden|Esden]] 22:54, 5 January 2012 (CET)
 
* REQ: Replace 7 Pin CAN with molex with something less risky to be inserted in 7 Pin SPI in relation to powering the board via CAN molex.
 
* REQ: Separate spot for external power if powered via separate battery. Realizing we can via Servo ports by Bridge J1 but still like to measure board voltage then and have a way to add power without mistakenly inject CAN Molex into SPI.
 
=== USB usage Notes for v1.0 ===
Lisa/M v1.0's USB circuit is not working out of the box. If you wish to use it for example in the combination with Luftboot you will need to make some slight hardware modifications to the board.
 
* You need to remove pull-up resistors on USB_DM and USB_DP lines (R27 and R28)
* While using the USB interface you need to have UART1_TX connected to 3v3 or USB_VBUS (This means you can not transfer data to the GPS while using USB)
* Optionally you can also remove R14 and Q2
 
The GPS UART (UART1) and USB collision was fixed as of Lisa/M v2.0 where the usage of UART1 was swapped with UART3.
 
To use Luftboot on Lisa/M 1.0 then follow instructions for [[Luftboot]] after these hardware modifications.


[[Category:Autopilots]] [[Category:User_Documentation]]
[[Category:Lisa]] [[Category:User_Documentation]] [[Category:Autopilots]]

Latest revision as of 18:15, 2 August 2013

THE LISA/M v2.0 IS NOW AVAILABLE

Lisa/M V1.0 top view

NOTE: THERE IS A NEW VERSION OF LISA/M AVAILABLE

Lisa/M is a small, general purpose autopilot designed with flexibility across multiple applications in mind. Small weight and size, with (optional) integrated Aspirin IMU and full size 0.1" servo headers make the Lisa/M suitable for both fixed-wing and rotorcraft vehicles. This autopilot is based on the STM32 for improved peripherals and faster processing.

A number of tutorials are being prepared for getting started with Lisa/M:

Hardware Revision History

Version # Release Date Release Notes
v1.0 MM/YYYY Lisa/M Initial Production Release
v0.1 MM/YYYY Initial prototype of Lisa/M

For detailed hardware revision history, please see below.

Features

Lisa/M is based on the 64 pins STM32F105RCT6 connectivity line family processor featuring 64k of RAM and 256k of FLASH. All the pins are exposed, providing access to the complete set of the STM32 peripherals. NOTE: This MCU is different from LISA/L. Lisa/L is based on the 64 pins STM32F103RE processor featuring 64k of RAM and 512k of FLASH, which is part of the high-density performance line family.

  • STM32 microcontroller STM32F105RCT6 datasheet with 256kB flash and 64kB RAM
  • Pressure sensor BMP085
  • 7 x Analog input channels
  • 3 x Generic digital in-/out-puts
  • 2 x 3.3V TTL UART (5V tolerant)
  • 7 x Servo PPM outputs
  • 1 x CAN bus
  • 1 x SPI bus
  • 1 x I2C bus
  • 1 x Micro USB
  • 4 x status LEDs with attached test point
  • 10.8 grams (0.4 oz) (with Aspirin IMU mounted)
  • 9.9 grams (0.35 oz) (without Aspirin IMU mounted)
  • ~33mm x ~56mm x ~10mm
  • 4 layers PCB design

with mounted Aspirin IMU has the following additional sensors on board:

  • 3 Axis Gyroscope
  • 3 Axis Accelerometer
  • 3 Axis Magnetometer

The pressure sensor is mounted directly on the board as this sensor is not provided by Aspirin (v0.1 - v1.1).

In short, you only need to add a high quality GPS module and then you have all necessary sensors for full attitude and altitude stabilization in an extremely small package.

Pinout

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

LisaM V1 0 top labeled.png

SERVO1/2/3/4/5/6/7
Pin # Name Type Description Color
1 SERVOx OUT Servo signal (PWM) Yellow
2 SV PWR Servo Bus Voltage Rail (conf w/ JP1) Red
3 GND PWR common ground Black


JTAG
Pin # Name Type Description Color
1 N/A N/A JTAG Debug Header None


UART1
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR UART Voltage (conf w/ JP6 and JP7) Red
3 TX OUT USART1 Serial Output (3.3V level) Yellow
4 RX IN USART1 Serial Input (3.3V level)(5V tolerant) Orange


UART3/5
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 RX3 IN USART3 Serial Input (3.3V level)(5V tolerant) Orange
4 GND PWR common ground Black
5 +3V3 PWR 3.3V Rail from autopilot Red
6 RX5 IN UART5 Serial Input (3.3V level)(5V tolerant) Orange


GPIO
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 PC10 I/O GPIO PC10 = LED 5 Pink
4 PC12 I/O GPIO PC12 = LED 4 Dark Tan
5 TRST I/O JTAG_TRST = LED1 Light Tan


ANALOG2 (if Populated)
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 +5V PWR 5V Rail from autopilot Red
4 ADC4 I/O ADC4 Magenta
5 ADC6 I/O ADC6 Pink
6 BOOT I/O BOOT Grey


USB
Pin # Name Type Description Color
1 N/A N/A USB None


I2C1 CAN
Pin # Name Type Description Color
1 GND PWR common ground Black
2 V_BATT PWR V_BAT Bus on autopilot, voltage divider for V_BAT_MEAS, (conf w/ JP2 to connect to V_IN) Red
3 V_IN PWR Connected to autopilot voltage regulator inputs (conf w/ JP1, JP2 and JP3) Red
4 CANL I/O CANL (5V level) Orange
5 CANH I/O CANH (5V level) Yellow
6 SCL I/O SCL (5V level) Green
7 SDA I/O SDA (5V level) Blue


SPI1
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 MOSI Out MOSI Orange
4 MISO In MISO Yellow
5 SCK Out SCK Green
6 SS Out SS Blue
7 DRDY I/O DRDY Dark Tan


ANALOG1
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 +5V PWR 5V Rail from autopilot Red
4 ADC1 In ADC1 Green
5 ADC2 In ADC2 Blue
6 ADC3 In ADC3 Light Tan


UART2
Pin # Name Type Description Color
1 GND PWR common ground Black
2 VCC PWR UART Voltage (conf w/ JP4 and JP5) Red
3 TX OUT USART2 Serial Output (3.3V level) Yellow
4 RX IN USART2 Serial Input (3.3V level)(NOT 5V TOLERANT) Orange


I2C2
Pin # Name Type Description Color
1 GND PWR common ground Black
2 +3V3 PWR 3.3V Rail from autopilot Red
3 SCL I/O SCL (3.3V level) Green
4 SDA I/O SDA (3.3V level) Blue


Jumper Configuration

There are a number of jumpers on Lisa/M used to configure voltage levels and power input.


Power Jumper Configuration
Jumper Bus Connection Default Description
JP1 SERVO_BUS to V_IN CLOSED Connects servo header voltage rail SERVO_BUS to autopilot input voltage V_IN rail
JP2 V_BAT to V_IN OPEN Connects I2C1/CAN rail V_BAT to autopilot input voltage V_IN rail
JP3 V_IN to +5V OPEN Connects autopilot input voltage V_IN rail to autopilot +5V rail, bypassing onboard 5V supply


UART1 VCC Configuration
Jumper Bus Connection Default Description
JP6 UART1_VCC to V_IN OPEN Connects UART1 connector VCC to autopilot input voltage V_IN rail
JP7 UART1_VCC to +3V3 CLOSED Connects UART1 connector VCC to autopilot +3V3 rail

WARNING: DO NOT CLOSE BOTH JP6 AND JP7 SIMULTANEOUSLY!!!


UART2 VCC Configuration
Jumper Bus Connection Default Description
JP4 UART2_VCC to V_IN OPEN Connects UART2 connector VCC to autopilot input voltage V_IN rail SEE WARNING BELOW
JP5 UART2_VCC to +3V3 CLOSED Connects UART2 connector VCC to autopilot +3V3 rail

WARNING: UART2 RX is NOT 5V TOLERANT. Thus, while possible to connect UART2_VCC to V_IN, DO NOT ATTEMPT THIS. Only use JP5 (the default).

WARNING: DO NOT CLOSE BOTH JP4 AND JP5 SIMULTANEOUSLY!!!


Powering the Board

The 3.3V regulator on Lisa/M is a MIC5209-3.3YM capable of delivering up to 500mA. While it is possible to power this regulator with up to 16V, experience has shown that this regulator can become very hot in operation with high input voltages, resulting in potential thermal shutdown while in flight. Depending on the expected current draw, it is best to power this regulator with a lower voltage. 5V is the perfect choice.

The onboard 5V regulator on Lisa/M is a LP2992, a low-noise, low-dropout linear regulator capable of delivering up to 250mA. This regulator can be bypassed with JP3, connecting the autopilot V_IN bus directly to the autopilot 5V bus if, for example, one is using an external 5V regulated supply.

Schematic


Examples of Airborne Equipment Electrical Connections

Small Aircraft Connection Diagram

Need an Umarim_v1.0-style ( here) small aircraft airborne equipment electrical connections here.

Large Aircraft Connection Diagram

Need an Umarim V1.0-style ( here) large aircraft airborne equipment electrical connections diagram here.

R/C Receivers

There is Spektrum parser available already, enabling the direct use of 1 or 2 Spektrum satellite receivers.

Connection of Spektrum Satellite Receivers to Lisa/M v1.0

Also UART pins can be used as general purpose I/O to be used for PPM input. Additionally PPM encoder can be used to avoid receiver hardware modification.


PCB

Gerber & Drill Files

Download Lisa/M v1.0 gerber & drill files (zip) NOT YET AVAILABLE BUT SEE Downloads Need some generated gerbers and drill files here.

Assembly

Components Layout

NOT YET AVAILABLE BUT SEE Downloads Need some top and bottom of board images and line drawings here.

Bill Of Material

Download Lisa/M v1.0 Bill Of Material (zipped .xls file) NOT YET AVAILABLE BUT SEE Downloads

PCB and assembled boards suppliers

Available on Get Hardware page, hopefully :)


Mechanical Dimensions

Lisa/M v1.0 Mechanical Dimensions

Downloads

Source files

Gerber & Drill files

  • download NOT YET AVAILABLE Need generated gerbers and drill files

Assembly files

  • download NOT YET AVAILABLE Need Lisa/M v1.0 Components layouts (pdf)
  • download NOT YET AVAILABLE Need Lisa/M v1.0 Bill Of Material

Upload firmware

Uploading firmware onboard USB is not possible with this boart. The boords need hardware modification to make it possible. A very nice way to upload, a.k.a. flashing new Paparazzi code to the board is to use a JTAG adapter. Less convenient since it takes a special adapter. But this adapter makes it more convenient when testing; one does not need to repower the board to reflash. And flashing via JTag cable is very fast. Also debugging the autopilot is very handy with JTAG.

Required components

Connection Diagram

Boot Sequence

JTAG

JTAG can be used to upload firmware if no bootloader as present. It can also be used for debugging.


Detailed Hardware Revision History

Changes Between v1.0 and v1.1

  • Removed pull-ups on the USB gpio
  • Removed pull-ups on the CAN gpio
  • Connected usb_vbus to pa9 (needed by the USBotg)
  • Removed USB pullup transistor as usbotg has a built in pullup
  • Swapped UART1 with UART3 (uart1 was used for gps and pa9 was it's tx line, to be able to talk to the gps unit uart3 is a better choice, as uart1 only has an rx line now it is a better choice for spektrum RX modules)
  • Removed USART3 TX gpio from the GPIO connector and moved to the GPS connector
  • Added voltage selector jumpers to the RC RX connector; to enable powering of 3v3 or an 5v receivers
  • Replaced vertical board solution with through hole servo pin headers (easier assembly)
  • Servo connectors are in groups of two; for easier assembly
  • Servo VBUS is connected together on all four layers; for lower resistance
  • Moved LED's from under the analog2 connector; to be able to populate LED's and the connector
  • Moved the RC RX connector a bit; to prevent crashing with the jtag plug
  • Added one additional servo connector; now we have all 8 accessible through the standard servo connectors
  • Fixed servo channel labeling to start at S0 as it is the case on TWOG and Tiny autopilot boards
  • Added secondary through hole picoblade USB connector for easier routing of USB inside an airframe
  • ...

Changes Between v0.1 and v1.0

  • Switched to stm32f105 to be able to use usb and can at the same time
  • Added alternative use of the adc lines as led output
  • ...

Hardware Change Requests

  • REQ: Replace BMP085 with MS5611 (the MS5611 seems to be better in performance then the BMP but it is more expensive and seems to be more difficult to obtain.
    • A: This upgrade will be available through Aspirin v2.0 --Esden 22:54, 5 January 2012 (CET)
  • REQ: Replace 7 Pin CAN with molex with something less risky to be inserted in 7 Pin SPI in relation to powering the board via CAN molex.
  • REQ: Separate spot for external power if powered via separate battery. Realizing we can via Servo ports by Bridge J1 but still like to measure board voltage then and have a way to add power without mistakenly inject CAN Molex into SPI.

USB usage Notes for v1.0

Lisa/M v1.0's USB circuit is not working out of the box. If you wish to use it for example in the combination with Luftboot you will need to make some slight hardware modifications to the board.

  • You need to remove pull-up resistors on USB_DM and USB_DP lines (R27 and R28)
  • While using the USB interface you need to have UART1_TX connected to 3v3 or USB_VBUS (This means you can not transfer data to the GPS while using USB)
  • Optionally you can also remove R14 and Q2

The GPS UART (UART1) and USB collision was fixed as of Lisa/M v2.0 where the usage of UART1 was swapped with UART3.

To use Luftboot on Lisa/M 1.0 then follow instructions for Luftboot after these hardware modifications.