component
LSM6DS3
Public Made by Adomby adom
ST 6-axis inertial module, LGA-14. 3D accelerometer + 3D gyroscope, I2C/SPI, FIFO, embedded functions. Datasheet-verified.
Also listed as LSM6DS3TR
← Commit history
lsm6ds3: ST's LSM6DS3 datasheet (DocID026899 Rev 4) replaces the LSM6DS3TR-C one; pin 10 is OCS, pins 13/14 named SCL/SDA as ST's table; TR-C removed from variants
6 files changed
+81−59
README.md+5−5@@ -17,11 +17,11 @@ A 6-axis inertial measurement unit in a 3 x 2.5 mm LGA-14, combining a 3D accele | 7 | GND | power_in | 0 V ground return. Both GND pins (6 and 7) must be tied to the board ground plane. | | 8 | VDD | power_in | Main analog supply, 1.71 V to 3.6 V. A 100 nF filter capacitor is recommended close to the pin. | | 9 | INT2 | bidirectional | Programmable interrupt 2 output / data-enable (DEN) input used to timestamp external events into the FIFO. In Mode 2 this pin can alternatively act as the I²C master external synchronization signal (MDRDY) indicating a new sample from a sensor-hub slave. |-| 10 | NC | unconnected | No internal connection. Leave electrically unconnected but solder to PCB for mechanical support. |+| 10 | OCS | input | Auxiliary SPI 3-wire interface enable (mode 3). Leave unconnected in modes 1 and 2 (datasheet Table 2, p.18). | | 11 | NC | unconnected | No internal connection. Leave electrically unconnected but solder to PCB for mechanical support. | | 12 | CS | input | I²C / SPI mode selection and SPI chip-select. CS = 1 selects I²C mode (SPI idle); CS = 0 enables SPI communication (I²C disabled). Must be driven high or tied to VDDIO if only I²C is used. |-| 13 | SCL/SPC | input | I²C serial clock (SCL) when I²C is selected, or SPI serial port clock (SPC) when SPI is selected. Muxed between the two host protocols by the CS pin. |-| 14 | SDA/SDI/SDO | bidirectional | I²C serial data (SDA) in I²C mode; SPI 4-wire serial data input (SDI) in SPI mode; SPI 3-wire bidirectional serial data (SDO) when SIM = 1 (3-wire SPI). Function selected by CS and SIM configuration. |+| 13 | SCL | input | I²C serial clock (SCL) when I²C is selected, or SPI serial port clock (SPC) when SPI is selected. Muxed between the two host protocols by the CS pin. |+| 14 | SDA | bidirectional | I²C serial data (SDA) in I²C mode; SPI 4-wire serial data input (SDI) in SPI mode; SPI 3-wire bidirectional serial data (SDO) when SIM = 1 (3-wire SPI). Function selected by CS and SIM configuration. | ## Key specifications @@ -40,7 +40,7 @@ A 6-axis inertial measurement unit in a 3 x 2.5 mm LGA-14, combining a 3D accele Same part, different packaging or reel option. -- `LSM6DS3TR-C (LGA-14)`+- `LSM6DS3TR (LGA-14)` - `LSM6DS3 (LGA-14)` ## CAD (KiCad official)@@ -54,7 +54,7 @@ Same part, different packaging or reel option. Data extracted from the manufacturer datasheet, not a distributor listing: -- **Datasheet:** [STMicroelectronics datasheet](https://www.st.com/resource/en/datasheet/lsm6ds3tr-c.pdf) (115 pp, sha256 `251737db70e3b6cd`, retrieved 2026-08-17, tier: manufacturer)+- **Datasheet:** [STMicroelectronics LSM6DS3 datasheet, DocID026899 Rev 4](https://cdn.sparkfun.com/assets/learn_tutorials/4/1/6/DM00133076.pdf) (95 pp, sha256 `ec33c24904ddeeb2`, retrieved 2026-11-11; ST no longer hosts this obsolete part's datasheet, so this is SparkFun's copy of ST's document). Corrected 2026-11-11: the page previously carried the LSM6DS3TR-C datasheet, a different sensor. - **Extractor:** `ds2sf` (Claude). Every pin and dimension is cited to a datasheet page; it refuses to fabricate. - **CAD:** KiCad official libraries (CC-BY-SA 4.0).
docs/lsm6ds3-datasheet.pdf⋯ 1 unchanged line ⋯
lsm6ds3.kicad_sym+4−4@@ -42,7 +42,7 @@ (justify left) ) )- (property "Datasheet" "https://www.st.com/resource/en/datasheet/lsm6ds3tr-c.pdf"+ (property "Datasheet" "https://cdn.sparkfun.com/assets/learn_tutorials/4/1/6/DM00133076.pdf" (at 2.54 -16.51 0) (show_name no) (do_not_autoplace no)@@ -121,7 +121,7 @@ (pin bidirectional line (at -15.24 5.08 0) (length 2.54)- (name "SDX"+ (name "SDx" (effects (font (size 1.27 1.27)@@ -139,7 +139,7 @@ (pin input line (at -15.24 2.54 0) (length 2.54)- (name "SCX"+ (name "SCx" (effects (font (size 1.27 1.27)@@ -267,7 +267,7 @@ (at 12.7 -5.08 180) (length 3.81) (hide yes)- (name "NC"+ (name "OCS" (effects (font (size 1.27 1.27)
lsm6ds3.lbr+58−38@@ -52,22 +52,34 @@ <library> <description>I2C/SPI, iNEMO inertial module: always-on 3D accelerometer and 3D gyroscope</description> <packages>-<package name="LSM6DS3">- <description>LSM6DS3</description>- <smd name="1" x="-1.1625" y="0.7500" dx="0.6250" dy="0.3500" layer="1"/>- <smd name="2" x="-1.1625" y="0.2500" dx="0.6250" dy="0.3500" layer="1"/>- <smd name="3" x="-1.1625" y="-0.2500" dx="0.6250" dy="0.3500" layer="1"/>- <smd name="4" x="-1.1625" y="-0.7500" dx="0.6250" dy="0.3500" layer="1"/>- <smd name="5" x="-0.5000" y="-0.9125" dx="0.3500" dy="0.6250" layer="1"/>- <smd name="6" x="0.0000" y="-0.9125" dx="0.3500" dy="0.6250" layer="1"/>- <smd name="7" x="0.5000" y="-0.9125" dx="0.3500" dy="0.6250" layer="1"/>- <smd name="8" x="1.1625" y="-0.7500" dx="0.6250" dy="0.3500" layer="1"/>- <smd name="9" x="1.1625" y="-0.2500" dx="0.6250" dy="0.3500" layer="1"/>- <smd name="10" x="1.1625" y="0.2500" dx="0.6250" dy="0.3500" layer="1"/>- <smd name="11" x="1.1625" y="0.7500" dx="0.6250" dy="0.3500" layer="1"/>- <smd name="12" x="0.5000" y="0.9125" dx="0.3500" dy="0.6250" layer="1"/>- <smd name="13" x="0.0000" y="0.9125" dx="0.3500" dy="0.6250" layer="1"/>- <smd name="14" x="-0.5000" y="0.9125" dx="0.3500" dy="0.6250" layer="1"/>+<package name="LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4y">+ <description>LGA-14, 3 x 2.5 mm, 0.5 mm pitch</description>+ <smd name="1" x="-1.1625" y="0.7500" dx="0.6250" dy="0.3500" layer="1" roundness="50"/>+ <smd name="2" x="-1.1625" y="0.2500" dx="0.6250" dy="0.3500" layer="1" roundness="50"/>+ <smd name="3" x="-1.1625" y="-0.2500" dx="0.6250" dy="0.3500" layer="1" roundness="50"/>+ <smd name="4" x="-1.1625" y="-0.7500" dx="0.6250" dy="0.3500" layer="1" roundness="50"/>+ <smd name="5" x="-0.5000" y="-0.9125" dx="0.3500" dy="0.6250" layer="1" roundness="50"/>+ <smd name="6" x="0.0000" y="-0.9125" dx="0.3500" dy="0.6250" layer="1" roundness="50"/>+ <smd name="7" x="0.5000" y="-0.9125" dx="0.3500" dy="0.6250" layer="1" roundness="50"/>+ <smd name="8" x="1.1625" y="-0.7500" dx="0.6250" dy="0.3500" layer="1" roundness="50"/>+ <smd name="9" x="1.1625" y="-0.2500" dx="0.6250" dy="0.3500" layer="1" roundness="50"/>+ <smd name="10" x="1.1625" y="0.2500" dx="0.6250" dy="0.3500" layer="1" roundness="50"/>+ <smd name="11" x="1.1625" y="0.7500" dx="0.6250" dy="0.3500" layer="1" roundness="50"/>+ <smd name="12" x="0.5000" y="0.9125" dx="0.3500" dy="0.6250" layer="1" roundness="50"/>+ <smd name="13" x="0.0000" y="0.9125" dx="0.3500" dy="0.6250" layer="1" roundness="50"/>+ <smd name="14" x="-0.5000" y="0.9125" dx="0.3500" dy="0.6250" layer="1" roundness="50"/>+ <polygon width="0.1200" layer="21">+ <vertex x="-1.7400" y="0.7500"/>+ <vertex x="-2.0700" y="0.5100"/>+ <vertex x="-2.0700" y="0.9900"/>+ </polygon>+ <polygon width="0.1000" layer="51">+ <vertex x="-0.8750" y="1.2500"/>+ <vertex x="1.5000" y="1.2500"/>+ <vertex x="1.5000" y="-1.2500"/>+ <vertex x="-1.5000" y="-1.2500"/>+ <vertex x="-1.5000" y="0.6250"/>+ </polygon> <wire x1="-1.6100" y1="1.3600" x2="-0.9350" y2="1.3600" width="0.1200" layer="21"/> <wire x1="-1.6100" y1="1.1850" x2="-1.6100" y2="1.3600" width="0.1200" layer="21"/> <wire x1="-1.6100" y1="-1.3600" x2="-1.6100" y2="-1.1850" width="0.1200" layer="21"/>@@ -82,26 +94,27 @@ </packages> <symbols> <symbol name="LSM6DS3">+ <description>I2C/SPI, iNEMO inertial module: always-on 3D accelerometer and 3D gyroscope</description> <wire x1="-12.7" y1="12.7" x2="12.7" y2="12.7" width="0.254" layer="94"/> <wire x1="12.7" y1="12.7" x2="12.7" y2="-12.7" width="0.254" layer="94"/> <wire x1="12.7" y1="-12.7" x2="-12.7" y2="-12.7" width="0.254" layer="94"/> <wire x1="-12.7" y1="-12.7" x2="-12.7" y2="12.7" width="0.254" layer="94"/>- <text x="0" y="15.239999999999998" size="1.27" layer="95" align="bottom-center">>NAME</text>- <text x="0" y="-15.239999999999998" size="1.27" layer="96" align="top-center">>VALUE</text>- <pin name="SDO/SA0" x="-15.24" y="7.62" length="short" direction="io"/>- <pin name="SDX" x="-15.24" y="5.08" length="short" direction="io"/>- <pin name="SCX" x="-15.24" y="2.54" length="short" direction="in"/>- <pin name="INT1" x="15.24" y="7.62" length="short" direction="out" rot="R180"/>- <pin name="VDDIO" x="0" y="15.24" length="short" direction="pwr" rot="R270"/>- <pin name="GND" x="0" y="-15.24" length="short" direction="pwr" rot="R90"/>- <pin name="GND@2" x="0" y="-15.24" length="short" direction="pas" rot="R90"/>- <pin name="VDD" x="2.54" y="15.24" length="short" direction="pwr" rot="R270"/>- <pin name="INT2" x="15.24" y="5.08" length="short" direction="out" rot="R180"/>- <pin name="NC" x="12.7" y="-5.08" length="middle" direction="io" rot="R180"/>- <pin name="NC@2" x="12.7" y="-2.54" length="middle" direction="io" rot="R180"/>- <pin name="CS" x="-15.24" y="-7.62" length="short" direction="in"/>- <pin name="SCL" x="-15.24" y="-5.08" length="short" direction="in"/>- <pin name="SDA" x="-15.24" y="-2.54" length="short" direction="io"/>+ <text x="-11.4300" y="15.2400" size="1.27" layer="95" align="center">>NAME</text>+ <text x="-11.4300" y="12.7000" size="1.27" layer="96" align="center">>VALUE</text>+ <pin name="SDO/SA0" x="17.78" y="0" length="middle" direction="io" rot="R180"/>+ <pin name="SDx" x="17.78" y="-2.539999999999999" length="middle" direction="io" rot="R180"/>+ <pin name="SCx" x="-17.78" y="5.08" length="middle" direction="in"/>+ <pin name="INT1" x="17.78" y="10.16" length="middle" direction="out" rot="R180"/>+ <pin name="VDDIO" x="-17.78" y="-7.620000000000001" length="middle" direction="pwr"/>+ <pin name="GND" x="-17.78" y="0" length="middle" direction="pwr"/>+ <pin name="GND@2" x="-17.78" y="-2.539999999999999" length="middle" direction="pas"/>+ <pin name="VDD" x="-17.78" y="-5.08" length="middle" direction="pwr"/>+ <pin name="INT2" x="17.78" y="7.62" length="middle" direction="out" rot="R180"/>+ <pin name="OCS" x="17.78" y="-10.16" length="middle" direction="nc" rot="R180"/>+ <pin name="NC" x="17.78" y="-7.620000000000001" length="middle" direction="nc" rot="R180"/>+ <pin name="CS" x="-17.78" y="10.16" length="middle" direction="in"/>+ <pin name="SCL" x="-17.78" y="7.62" length="middle" direction="in"/>+ <pin name="SDA" x="17.78" y="2.54" length="middle" direction="io" rot="R180"/> </symbol> </symbols> <devicesets>@@ -111,24 +124,31 @@ <gate name="G$1" symbol="LSM6DS3" x="0" y="0"/> </gates> <devices>- <device name="" package="LSM6DS3">+ <device name="" package="LGA-14_3x2.5mm_P0.5mm_LayoutBorder3x4y"> <connects> <connect gate="G$1" pin="SDO/SA0" pad="1"/>- <connect gate="G$1" pin="SDX" pad="2"/>- <connect gate="G$1" pin="SCX" pad="3"/>+ <connect gate="G$1" pin="SDx" pad="2"/>+ <connect gate="G$1" pin="SCx" pad="3"/> <connect gate="G$1" pin="INT1" pad="4"/> <connect gate="G$1" pin="VDDIO" pad="5"/> <connect gate="G$1" pin="GND" pad="6"/> <connect gate="G$1" pin="GND@2" pad="7"/> <connect gate="G$1" pin="VDD" pad="8"/> <connect gate="G$1" pin="INT2" pad="9"/>- <connect gate="G$1" pin="NC" pad="10"/>- <connect gate="G$1" pin="NC@2" pad="11"/>+ <connect gate="G$1" pin="OCS" pad="10"/>+ <connect gate="G$1" pin="NC" pad="11"/> <connect gate="G$1" pin="CS" pad="12"/> <connect gate="G$1" pin="SCL" pad="13"/> <connect gate="G$1" pin="SDA" pad="14"/> </connects>- <technologies><technology name=""/></technologies>+ <technologies>+ <technology name="">+ <attribute name="MPN" value="LSM6DS3" constant="no"/>+ <attribute name="MANUFACTURER" value="STMicroelectronics" constant="no"/>+ <attribute name="DATASHEET" value="https://cdn.sparkfun.com/assets/learn_tutorials/4/1/6/DM00133076.pdf" constant="no"/>+ <attribute name="ADOM_WIKI" value="https://wiki.adom.inc/adom/lsm6ds3" constant="no"/>+ </technology>+ </technologies> </device> </devices> </deviceset>
package.json+1−1@@ -29,4 +29,4 @@ "viewers/symbol.html", "viewers/footprint.html" ]-}+}
page.json+13−11@@ -23,7 +23,7 @@ "pin_count": 14, "category": "Sensor", "subcategory": "6-axis IMU (accel + gyro)",- "datasheet": "https://www.st.com/resource/en/datasheet/lsm6ds3tr-c.pdf",+ "datasheet": "https://cdn.sparkfun.com/assets/learn_tutorials/4/1/6/DM00133076.pdf", "parts": { "symbol": "lsm6ds3.kicad_sym", "footprint": "lsm6ds3.kicad_mod",@@ -91,9 +91,9 @@ }, { "number": "10",- "name": "NC",- "type": "unconnected",- "description": "No internal connection. Leave electrically unconnected but solder to PCB for mechanical support."+ "name": "OCS",+ "type": "input",+ "description": "Auxiliary SPI 3-wire interface enable (mode 3). Leave unconnected in modes 1 and 2 (datasheet Table 2, p.18)." }, { "number": "11",@@ -109,13 +109,13 @@ }, { "number": "13",- "name": "SCL/SPC",+ "name": "SCL", "type": "input", "description": "I²C serial clock (SCL) when I²C is selected, or SPI serial port clock (SPC) when SPI is selected. Muxed between the two host protocols by the CS pin." }, { "number": "14",- "name": "SDA/SDI/SDO",+ "name": "SDA", "type": "bidirectional", "description": "I²C serial data (SDA) in I²C mode; SPI 4-wire serial data input (SDI) in SPI mode; SPI 3-wire bidirectional serial data (SDO) when SIM = 1 (3-wire SPI). Function selected by CS and SIM configuration." }@@ -123,10 +123,12 @@ "provenance": { "extractor": "ds2sf", "datasheet": {- "url": "https://www.st.com/resource/en/datasheet/lsm6ds3tr-c.pdf",- "pages": 115,- "sha256": "251737db70e3b6cd",- "source_tier": "mfr"+ "url": "https://cdn.sparkfun.com/assets/learn_tutorials/4/1/6/DM00133076.pdf",+ "pages": 95,+ "sha256": "ec33c24904ddeeb246f04cdf714af5d0ebaacb637c9936f45bb9b3963f88af51",+ "source_tier": "mfr",+ "note": "ST LSM6DS3 datasheet DocID026899 Rev 4 (April 2015). ST no longer hosts it (the part is obsolete; st.com/resource/en/datasheet/lsm6ds3.pdf is 404), so the copy is SparkFun's mirror of ST's own document; sha256 ec33c24904ddeeb2.",+ "replaced": "the LSM6DS3TR-C datasheet (a different sensor), 2026-11-11" }, "cad": "KiCad official (CC-BY-SA 4.0)", "pins": {@@ -232,7 +234,7 @@ ], "variants": [ {- "mpn": "LSM6DS3TR-C (LGA-14)",+ "mpn": "LSM6DS3TR (LGA-14)", "kind": "packaging" }, {