├── .gitignore ├── extras ├── hardware │ ├── kicad │ │ ├── driver-board.dcm │ │ ├── driver-board-rescue.dcm │ │ ├── fp-lib-table │ │ ├── sym-lib-table │ │ ├── .gitignore │ │ ├── power-cache.lib │ │ ├── driver-board.sch │ │ ├── level-shifter-cache.lib │ │ ├── connectors-cache.lib │ │ ├── miso-buffer.sch │ │ ├── connectors.sch │ │ ├── display-cache.lib │ │ ├── driver-board.pro │ │ ├── level-shifter.sch │ │ ├── driver-board.lib │ │ ├── testpoints.sch │ │ ├── driver-board-rescue.lib │ │ ├── display.sch │ │ ├── ft81x.sch │ │ ├── power.sch │ │ ├── driver-board-cache.lib │ │ └── driver-board.pretty │ │ │ └── HRS_FH28-60S-0.5SH(05).kicad_mod │ ├── assets │ │ └── cern_ohl_s_v2_howto.pdf │ ├── Gerber │ │ ├── driver-board-B_Paste.gbr │ │ ├── driver-board-Edge_Cuts.gbr │ │ ├── driver-board-B_Mask.gbr │ │ ├── driver-board.drl │ │ ├── driver-board-job.gbrjob │ │ └── driver-board-B_Cu.gbr │ ├── README.md │ └── LICENSE ├── assets │ ├── board.png │ ├── hardware.jpg │ └── OSHW_mark_DE000089_150.png └── ci │ ├── clang-lint.sh │ ├── build-platformio.sh │ ├── build-arduino.sh │ └── doxygen.sh ├── .clang-format ├── library.properties ├── library.json ├── .github └── workflows │ ├── docs.yml │ └── build.yml ├── LICENSE ├── src └── platforms │ └── teensy │ ├── LICENSE │ ├── DmaSpi.cpp │ └── ChipSelect.h ├── examples ├── Gradient │ └── Gradient.ino ├── SoundEffects │ └── SoundEffects.ino ├── HelloWorld │ └── HelloWorld.ino ├── Gauges │ └── Gauges.ino ├── Text │ └── Text.ino ├── Progressbar │ └── Progressbar.ino ├── Buttons │ └── Buttons.ino ├── Clock │ └── Clock.ino ├── Scrollbar │ └── Scrollbar.ino └── Diagnostics │ └── Diagnostics.ino └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | html 3 | Doxyfile 4 | -------------------------------------------------------------------------------- /extras/hardware/kicad/driver-board.dcm: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | #End Doc Library 4 | -------------------------------------------------------------------------------- /extras/hardware/kicad/driver-board-rescue.dcm: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | #End Doc Library 4 | -------------------------------------------------------------------------------- /extras/assets/board.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/HEAD/extras/assets/board.png -------------------------------------------------------------------------------- /extras/assets/hardware.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/HEAD/extras/assets/hardware.jpg -------------------------------------------------------------------------------- /.clang-format: -------------------------------------------------------------------------------- 1 | BasedOnStyle: Google 2 | 3 | Language: Cpp 4 | 5 | ColumnLimit: 0 6 | IndentWidth: 4 7 | AlignConsecutiveMacros: true 8 | -------------------------------------------------------------------------------- /extras/assets/OSHW_mark_DE000089_150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/HEAD/extras/assets/OSHW_mark_DE000089_150.png -------------------------------------------------------------------------------- /extras/hardware/assets/cern_ohl_s_v2_howto.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/HEAD/extras/hardware/assets/cern_ohl_s_v2_howto.pdf -------------------------------------------------------------------------------- /extras/hardware/kicad/fp-lib-table: -------------------------------------------------------------------------------- 1 | (fp_lib_table 2 | (lib (name driver-board)(type KiCad)(uri ${KIPRJMOD}/driver-board.pretty)(options "")(descr "")) 3 | ) 4 | -------------------------------------------------------------------------------- /extras/hardware/kicad/sym-lib-table: -------------------------------------------------------------------------------- 1 | (sym_lib_table 2 | (lib (name driver-board)(type Legacy)(uri ${KIPRJMOD}/driver-board.lib)(options "")(descr "")) 3 | (lib (name driver-board-rescue)(type Legacy)(uri ${KIPRJMOD}/driver-board-rescue.lib)(options "")(descr "")) 4 | ) 5 | -------------------------------------------------------------------------------- /library.properties: -------------------------------------------------------------------------------- 1 | name=FT81x Arduino Driver 2 | version=0.14.0 3 | author=Raphael Stäbler 4 | maintainer=Raphael Stäbler 5 | sentence=Graphics library for the open source FT81x display driver board. 6 | paragraph=Graphics library for the open source FT81x display driver board. 7 | category=Display 8 | url=https://github.com/blazer82/FT81x_Arduino_Driver 9 | architectures=* -------------------------------------------------------------------------------- /library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FT81x_Arduino_Driver", 3 | "version": "0.14.0", 4 | "keywords": "display, tft, graphics, spi", 5 | "description": "Graphics library for the open source FT81x display driver board.", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/blazer82/FT81x_Arduino_Driver" 9 | }, 10 | "exclude": [".github", "extras"], 11 | "frameworks": "arduino", 12 | "platforms": "*" 13 | } 14 | -------------------------------------------------------------------------------- /extras/hardware/kicad/.gitignore: -------------------------------------------------------------------------------- 1 | # For PCBs designed using KiCad: http://www.kicad-pcb.org/ 2 | # Format documentation: http://kicad-pcb.org/help/file-formats/ 3 | 4 | # Temporary files 5 | *.000 6 | *.bak 7 | *.bck 8 | *.kicad_pcb-bak 9 | *.sch-bak 10 | *~ 11 | _autosave-* 12 | *.tmp 13 | *-save.pro 14 | *-save.kicad_pcb 15 | fp-info-cache 16 | 17 | # Netlist files (exported from Eeschema) 18 | *.net 19 | 20 | # Autorouter files (exported from Pcbnew) 21 | *.dsn 22 | *.ses 23 | 24 | # Exported BOM files 25 | *.xml 26 | *.csv 27 | -------------------------------------------------------------------------------- /extras/hardware/Gerber/driver-board-B_Paste.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.6-0-10_14)*% 2 | %TF.CreationDate,2020-07-19T16:10:20+02:00*% 3 | %TF.ProjectId,driver-board,64726976-6572-42d6-926f-6172642e6b69,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Paste,Bot*% 6 | %TF.FilePolarity,Positive*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW (5.1.6-0-10_14)) date 2020-07-19 16:10:20* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | G04 APERTURE END LIST* 15 | M02* 16 | -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- 1 | name: docs 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - master 7 | paths-ignore: 8 | - "extras/assets/**" 9 | - "extras/hardware/**" 10 | push: 11 | branches: 12 | - master 13 | paths-ignore: 14 | - "extras/assets/**" 15 | - "extras/hardware/**" 16 | 17 | jobs: 18 | build: 19 | runs-on: ubuntu-20.04 20 | 21 | steps: 22 | - name: Checkout 23 | uses: actions/checkout@v2 24 | with: 25 | persist-credentials: false 26 | 27 | - name: Doxygen 28 | env: 29 | GITHUB_TOKEN: ${{ github.token }} 30 | run: bash extras/ci/doxygen.sh 31 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: 4 | pull_request: 5 | branches: 6 | - master 7 | paths-ignore: 8 | - "extras/assets/**" 9 | - "extras/hardware/**" 10 | push: 11 | branches: 12 | - master 13 | paths-ignore: 14 | - "extras/assets/**" 15 | - "extras/hardware/**" 16 | 17 | jobs: 18 | build: 19 | runs-on: ubuntu-20.04 20 | 21 | steps: 22 | - name: Checkout 23 | uses: actions/checkout@v2 24 | 25 | - name: Check clang-format conformity 26 | run: bash extras/ci/clang-lint.sh 27 | 28 | - name: Build on Arduino CLI 29 | run: bash extras/ci/build-arduino.sh 30 | 31 | - name: Build on PlatformIO 32 | run: bash extras/ci/build-platformio.sh 33 | -------------------------------------------------------------------------------- /extras/hardware/Gerber/driver-board-Edge_Cuts.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.6-0-10_14)*% 2 | %TF.CreationDate,2020-07-19T16:10:20+02:00*% 3 | %TF.ProjectId,driver-board,64726976-6572-42d6-926f-6172642e6b69,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Profile,NP*% 6 | %FSLAX46Y46*% 7 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 8 | G04 Created by KiCad (PCBNEW (5.1.6-0-10_14)) date 2020-07-19 16:10:20* 9 | %MOMM*% 10 | %LPD*% 11 | G01* 12 | G04 APERTURE LIST* 13 | %TA.AperFunction,Profile*% 14 | %ADD10C,0.050000*% 15 | %TD*% 16 | G04 APERTURE END LIST* 17 | D10* 18 | X152975000Y-84800000D02* 19 | X110200000Y-84800000D01* 20 | X152975000Y-48000000D02* 21 | X110200000Y-48000000D01* 22 | X110200000Y-48000000D02* 23 | X110200000Y-84800000D01* 24 | X152975000Y-84800000D02* 25 | X152975000Y-48000000D01* 26 | M02* 27 | -------------------------------------------------------------------------------- /extras/hardware/kicad/power-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # Device_C 5 | # 6 | DEF Device_C C 0 10 N Y 1 F N 7 | F0 "C" 25 100 50 H V L CNN 8 | F1 "Device_C" 25 -100 50 H V L CNN 9 | F2 "" 38 -150 50 H I C CNN 10 | F3 "" 0 0 50 H I C CNN 11 | $FPLIST 12 | C_* 13 | $ENDFPLIST 14 | DRAW 15 | P 2 0 1 20 -80 -30 80 -30 N 16 | P 2 0 1 20 -80 30 80 30 N 17 | X ~ 1 0 150 110 D 50 50 1 1 P 18 | X ~ 2 0 -150 110 U 50 50 1 1 P 19 | ENDDRAW 20 | ENDDEF 21 | # 22 | # driver-board_AIC1748 23 | # 24 | DEF driver-board_AIC1748 U 0 40 Y Y 1 F N 25 | F0 "U" 0 250 50 H V C CNN 26 | F1 "driver-board_AIC1748" 200 -250 50 H V C CNN 27 | F2 "" 0 0 50 H I C CNN 28 | F3 "" 0 0 50 H I C CNN 29 | DRAW 30 | S -250 200 250 -200 0 1 0 N 31 | X GND 1 0 -300 100 U 50 50 1 1 W 32 | X VOUT 2 350 100 100 L 50 50 1 1 w 33 | X VIN 3 -350 100 100 R 50 50 1 1 W 34 | ENDDRAW 35 | ENDDEF 36 | # 37 | #End Library 38 | -------------------------------------------------------------------------------- /extras/ci/clang-lint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Exit immediately if a command exits with a non-zero status. 4 | set -e 5 | 6 | # Enable the globstar shell option 7 | shopt -s globstar 8 | 9 | # Define colors 10 | RED='\033[0;31m' 11 | GREEN='\033[0;32m' 12 | YELLOW='\033[1;33m' 13 | 14 | # Make sure we are inside the github workspace 15 | cd $GITHUB_WORKSPACE 16 | 17 | # Install clang-format 18 | sudo apt-get update 19 | sudo apt-get -y install clang-format-10 20 | 21 | # Check clang-format output 22 | for f in **/*.{h,c,hpp,cpp,ino} ; do 23 | if [ -f "$f" ]; then 24 | echo -e "\n########################################################################"; 25 | echo -e "${YELLOW}CHECK FORMATTING OF ${f}" 26 | echo "########################################################################"; 27 | diff $f <(clang-format -assume-filename=main.cpp $f) 1>&2 28 | if [ $? -ne 0 ]; then echo -e "${RED}\xe2\x9c\x96"; else echo -e "${GREEN}\xe2\x9c\x93"; fi 29 | fi 30 | done 31 | -------------------------------------------------------------------------------- /extras/hardware/Gerber/driver-board-B_Mask.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.6-0-10_14)*% 2 | %TF.CreationDate,2020-07-19T16:10:20+02:00*% 3 | %TF.ProjectId,driver-board,64726976-6572-42d6-926f-6172642e6b69,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Soldermask,Bot*% 6 | %TF.FilePolarity,Negative*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW (5.1.6-0-10_14)) date 2020-07-19 16:10:20* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | %ADD10R,1.800000X1.800000*% 15 | %ADD11O,1.800000X1.800000*% 16 | G04 APERTURE END LIST* 17 | D10* 18 | %TO.C,J1*% 19 | X112200000Y-51100000D03* 20 | D11* 21 | X112200000Y-53640000D03* 22 | X112200000Y-56180000D03* 23 | X112200000Y-58720000D03* 24 | X112200000Y-61260000D03* 25 | X112200000Y-63800000D03* 26 | X112200000Y-66340000D03* 27 | X112200000Y-68880000D03* 28 | X112200000Y-71420000D03* 29 | X112200000Y-73960000D03* 30 | X112200000Y-76500000D03* 31 | X112200000Y-79040000D03* 32 | X112200000Y-81580000D03* 33 | %TD*% 34 | M02* 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Raphael Stäbler 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /extras/hardware/kicad/driver-board.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 4 2 | EELAYER 30 0 3 | EELAYER END 4 | $Descr A4 11693 8268 5 | encoding utf-8 6 | Sheet 1 8 7 | Title "FT81x TFT040 Driver Board" 8 | Date "2020-07-19" 9 | Rev "2007E" 10 | Comp "" 11 | Comment1 "" 12 | Comment2 "" 13 | Comment3 "" 14 | Comment4 "" 15 | $EndDescr 16 | $Sheet 17 | S 3300 3000 500 150 18 | U 5EFF30F6 19 | F0 "Level Shifter" 50 20 | F1 "level-shifter.sch" 50 21 | $EndSheet 22 | $Sheet 23 | S 3300 2550 500 150 24 | U 5F00E6AA 25 | F0 "Power" 50 26 | F1 "power.sch" 50 27 | $EndSheet 28 | $Sheet 29 | S 3300 2100 500 150 30 | U 5F01210D 31 | F0 "Connectors" 50 32 | F1 "connectors.sch" 50 33 | $EndSheet 34 | $Sheet 35 | S 3300 3450 500 150 36 | U 5F014BB8 37 | F0 "MISO Buffer" 50 38 | F1 "miso-buffer.sch" 50 39 | $EndSheet 40 | $Sheet 41 | S 3300 3850 500 150 42 | U 5F022188 43 | F0 "FT81x" 50 44 | F1 "ft81x.sch" 50 45 | $EndSheet 46 | $Sheet 47 | S 3300 4250 500 150 48 | U 5F096907 49 | F0 "Display" 50 50 | F1 "display.sch" 50 51 | $EndSheet 52 | $Sheet 53 | S 3300 4700 500 150 54 | U 5F0302AD 55 | F0 "Testpoints" 50 56 | F1 "testpoints.sch" 50 57 | $EndSheet 58 | $EndSCHEMATC 59 | -------------------------------------------------------------------------------- /src/platforms/teensy/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 crteensy 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /extras/hardware/README.md: -------------------------------------------------------------------------------- 1 | # FT81x Arduino Driver Hardware 2 | 3 | ## Schematics 4 | 5 | ### Connectors 6 | 7 | ![Connectors](https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/master/extras/hardware/assets/schematics/connectors-Connectors.svg) 8 | 9 | ### Power 10 | 11 | ![Power](https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/master/extras/hardware/assets/schematics/power-Power.svg) 12 | 13 | ### Level Shifter 14 | 15 | ![Level Shifter](https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/master/extras/hardware/assets/schematics/level-shifter-Level%20Shifter.svg) 16 | 17 | ### SDI Buffer 18 | 19 | ![SDI Buffer](https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/master/extras/hardware/assets/schematics/miso-buffer-MISO%20Buffer.svg) 20 | 21 | ### FT81x 22 | 23 | ![FT81x](https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/master/extras/hardware/assets/schematics/ft81x-FT81x.svg) 24 | 25 | ### Display 26 | 27 | ![Display](https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/master/extras/hardware/assets/schematics/display-Display.svg) 28 | 29 | ### Testpoints 30 | 31 | ![Testpoints](https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/master/extras/hardware/assets/schematics/testpoints-Testpoints.svg) 32 | -------------------------------------------------------------------------------- /extras/hardware/kicad/level-shifter-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # Device_C 5 | # 6 | DEF Device_C C 0 10 N Y 1 F N 7 | F0 "C" 25 100 50 H V L CNN 8 | F1 "Device_C" 25 -100 50 H V L CNN 9 | F2 "" 38 -150 50 H I C CNN 10 | F3 "" 0 0 50 H I C CNN 11 | $FPLIST 12 | C_* 13 | $ENDFPLIST 14 | DRAW 15 | P 2 0 1 20 -80 -30 80 -30 N 16 | P 2 0 1 20 -80 30 80 30 N 17 | X ~ 1 0 150 110 D 50 50 1 1 P 18 | X ~ 2 0 -150 110 U 50 50 1 1 P 19 | ENDDRAW 20 | ENDDEF 21 | # 22 | # driver-board_TXS0108E 23 | # 24 | DEF driver-board_TXS0108E U 0 40 Y Y 1 F N 25 | F0 "U" 0 550 50 H V C CNN 26 | F1 "driver-board_TXS0108E" 0 -550 50 H V C CNN 27 | F2 "" 0 0 50 H I C CNN 28 | F3 "" 0 0 50 H I C CNN 29 | DRAW 30 | S -300 500 300 -500 0 1 0 N 31 | X A1 1 -400 450 100 R 50 50 1 1 B 32 | X OE 10 -400 -450 100 R 50 50 1 1 I 33 | X GND 11 400 -450 100 L 50 50 1 1 W 34 | X B8 12 400 -350 100 L 50 50 1 1 B 35 | X B7 13 400 -250 100 L 50 50 1 1 B 36 | X B6 14 400 -150 100 L 50 50 1 1 B 37 | X B5 15 400 -50 100 L 50 50 1 1 B 38 | X B4 16 400 50 100 L 50 50 1 1 B 39 | X B3 17 400 150 100 L 50 50 1 1 B 40 | X B2 18 400 250 100 L 50 50 1 1 B 41 | X VCCB 19 400 350 100 L 50 50 1 1 W 42 | X VCCA 2 -400 350 100 R 50 50 1 1 W 43 | X B1 20 400 450 100 L 50 50 1 1 B 44 | X A2 3 -400 250 100 R 50 50 1 1 B 45 | X A3 4 -400 150 100 R 50 50 1 1 B 46 | X A4 5 -400 50 100 R 50 50 1 1 B 47 | X A5 6 -400 -50 100 R 50 50 1 1 B 48 | X A6 7 -400 -150 100 R 50 50 1 1 B 49 | X A7 8 -400 -250 100 R 50 50 1 1 B 50 | X A8 9 -400 -350 100 R 50 50 1 1 B 51 | ENDDRAW 52 | ENDDEF 53 | # 54 | #End Library 55 | -------------------------------------------------------------------------------- /src/platforms/teensy/DmaSpi.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2014 crteensy 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | **/ 24 | 25 | #include "DmaSpi.h" 26 | 27 | #if defined(KINETISK) 28 | DmaSpi0 DMASPI0; 29 | #if defined(__MK64FX512__) || defined(__MK66FX1M0__) 30 | DmaSpi1 DMASPI1; 31 | // DmaSpi2 DMASPI2; 32 | #endif 33 | #elif defined(KINETISL) 34 | DmaSpi0 DMASPI0; 35 | DmaSpi1 DMASPI1; 36 | #elif defined(__IMXRT1062__) 37 | DmaSpi0 DMASPI0; 38 | DmaSpi1 DMASPI1; 39 | DmaSpi2 DMASPI2; 40 | #else 41 | #endif // defined -------------------------------------------------------------------------------- /examples/Gradient/Gradient.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * FT81x on ST7701S Arduino Driver 3 | * 4 | * MIT License 5 | * 6 | * Copyright (c) 2020 Raphael Stäbler 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | **/ 26 | 27 | #include "FT81x.h" 28 | 29 | #if defined(ESP32) 30 | FT81x ft81x = FT81x(5, 17, 16); // NodeMCU-32 pin configuration 31 | #else 32 | FT81x ft81x = FT81x(10, 9, 8); // Arduino default pin configuration 33 | #endif 34 | 35 | void setup() { 36 | SPI.begin(); 37 | ft81x.begin(); 38 | 39 | ft81x.setRotation(FT81x_ROTATE_LANDSCAPE); 40 | 41 | ft81x.beginDisplayList(); 42 | ft81x.clear(FT81x_COLOR_RGB(0, 0, 0)); 43 | ft81x.drawGradient(240, 0, FT81x_COLOR_RGB(0x97, 0x95, 0xEF), 240, 480, FT81x_COLOR_RGB(0xF9, 0xC5, 0xD1)); 44 | ft81x.swapScreen(); 45 | } 46 | 47 | void loop() { 48 | // do nothing 49 | } 50 | -------------------------------------------------------------------------------- /examples/SoundEffects/SoundEffects.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * FT81x on ST7701S Arduino Driver 3 | * 4 | * MIT License 5 | * 6 | * Copyright (c) 2020 Raphael Stäbler 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | **/ 26 | 27 | #include "FT81x.h" 28 | 29 | #if defined(ESP32) 30 | FT81x ft81x = FT81x(5, 17, 16); // NodeMCU-32 pin configuration 31 | #else 32 | FT81x ft81x = FT81x(10, 9, 8); // Arduino default pin configuration 33 | #endif 34 | 35 | void setup() { 36 | SPI.begin(); 37 | ft81x.begin(); 38 | 39 | ft81x.beginDisplayList(); 40 | ft81x.clear(FT81x_COLOR_RGB(0, 0, 0)); 41 | ft81x.drawText(240, 240, 22, FT81x_COLOR_RGB(255, 255, 255), FT81x_OPT_CENTER, "Sound effects playing...\0"); 42 | ft81x.swapScreen(); 43 | 44 | ft81x.setAudioVolume(64); 45 | } 46 | 47 | void loop() { 48 | for (uint8_t pitch = 36; pitch <= 44; pitch++) { 49 | ft81x.setSound(FT81x_SOUND_GLOCKENSPIEL, pitch); 50 | ft81x.playSound(); 51 | delay(500); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /extras/ci/build-platformio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Exit immediately if a command exits with a non-zero status. 4 | set -e 5 | 6 | # Define colors 7 | RED='\033[0;31m' 8 | GREEN='\033[0;32m' 9 | YELLOW='\033[1;33m' 10 | 11 | # Make sure we are inside the github workspace 12 | cd $GITHUB_WORKSPACE 13 | 14 | # Install PlatformIO CLI 15 | echo -e "\n########################################################################"; 16 | echo -e "${YELLOW}INSTALLING PLATFORMIO CLI" 17 | echo "########################################################################"; 18 | export PATH=$PATH:~/.platformio/penv/bin 19 | curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core-installer/master/get-platformio.py -o get-platformio.py 20 | python3 get-platformio.py 21 | 22 | # Install Teensy platform 23 | echo -e "\n########################################################################"; 24 | echo -e "${YELLOW}INSTALLING TEENSY PLATFORM" 25 | echo "########################################################################"; 26 | pio platform install "teensy" 27 | 28 | export PLATFORMIO_LIB_EXTRA_DIRS="`cd ..;pwd`" 29 | 30 | for d in examples/* ; do 31 | echo -e "\n########################################################################"; 32 | echo -e "${YELLOW}BUILD ${d}" 33 | echo "########################################################################"; 34 | cd $d 35 | mkdir src 36 | mv *.ino src/main.cpp 37 | echo "[env:teensy40]" > platformio.ini 38 | echo "platform = teensy" >> platformio.ini 39 | echo "framework = arduino" >> platformio.ini 40 | echo "board = teensy40" >> platformio.ini 41 | # Drop Teensy 3.0 support becuase of issues with TechDemo3D (TODO: Investigate) 42 | # echo "" >> platformio.ini 43 | # echo "[env:teensy30]" >> platformio.ini 44 | # echo "platform = teensy" >> platformio.ini 45 | # echo "framework = arduino" >> platformio.ini 46 | # echo "board = teensy30" >> platformio.ini 47 | pio run 48 | if [ $? -ne 0 ]; then echo -e "${RED}\xe2\x9c\x96"; else echo -e "${GREEN}\xe2\x9c\x93"; fi 49 | cd - 50 | done 51 | -------------------------------------------------------------------------------- /extras/hardware/kicad/connectors-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # Connector_Conn_01x11_Male 5 | # 6 | DEF Connector_Conn_01x11_Male J 0 40 Y N 1 F N 7 | F0 "J" 0 600 50 H V C CNN 8 | F1 "Connector_Conn_01x11_Male" 0 -600 50 H V C CNN 9 | F2 "" 0 0 50 H I C CNN 10 | F3 "" 0 0 50 H I C CNN 11 | $FPLIST 12 | Connector*:*_1x??_* 13 | $ENDFPLIST 14 | DRAW 15 | S 34 -495 0 -505 1 1 6 F 16 | S 34 -395 0 -405 1 1 6 F 17 | S 34 -295 0 -305 1 1 6 F 18 | S 34 -195 0 -205 1 1 6 F 19 | S 34 -95 0 -105 1 1 6 F 20 | S 34 5 0 -5 1 1 6 F 21 | S 34 105 0 95 1 1 6 F 22 | S 34 205 0 195 1 1 6 F 23 | S 34 305 0 295 1 1 6 F 24 | S 34 405 0 395 1 1 6 F 25 | S 34 505 0 495 1 1 6 F 26 | P 2 1 1 6 50 -500 34 -500 N 27 | P 2 1 1 6 50 -400 34 -400 N 28 | P 2 1 1 6 50 -300 34 -300 N 29 | P 2 1 1 6 50 -200 34 -200 N 30 | P 2 1 1 6 50 -100 34 -100 N 31 | P 2 1 1 6 50 0 34 0 N 32 | P 2 1 1 6 50 100 34 100 N 33 | P 2 1 1 6 50 200 34 200 N 34 | P 2 1 1 6 50 300 34 300 N 35 | P 2 1 1 6 50 400 34 400 N 36 | P 2 1 1 6 50 500 34 500 N 37 | X Pin_1 1 200 500 150 L 50 50 1 1 P 38 | X Pin_10 10 200 -400 150 L 50 50 1 1 P 39 | X Pin_11 11 200 -500 150 L 50 50 1 1 P 40 | X Pin_2 2 200 400 150 L 50 50 1 1 P 41 | X Pin_3 3 200 300 150 L 50 50 1 1 P 42 | X Pin_4 4 200 200 150 L 50 50 1 1 P 43 | X Pin_5 5 200 100 150 L 50 50 1 1 P 44 | X Pin_6 6 200 0 150 L 50 50 1 1 P 45 | X Pin_7 7 200 -100 150 L 50 50 1 1 P 46 | X Pin_8 8 200 -200 150 L 50 50 1 1 P 47 | X Pin_9 9 200 -300 150 L 50 50 1 1 P 48 | ENDDRAW 49 | ENDDEF 50 | # 51 | # power_+5V 52 | # 53 | DEF power_+5V #PWR 0 0 Y Y 1 F P 54 | F0 "#PWR" 0 -150 50 H I C CNN 55 | F1 "power_+5V" 0 140 50 H V C CNN 56 | F2 "" 0 0 50 H I C CNN 57 | F3 "" 0 0 50 H I C CNN 58 | DRAW 59 | P 2 0 1 0 -30 50 0 100 N 60 | P 2 0 1 0 0 0 0 100 N 61 | P 2 0 1 0 0 100 30 50 N 62 | X +5V 1 0 0 0 U 50 50 1 1 W N 63 | ENDDRAW 64 | ENDDEF 65 | # 66 | # power_GND 67 | # 68 | DEF power_GND #PWR 0 0 Y Y 1 F P 69 | F0 "#PWR" 0 -250 50 H I C CNN 70 | F1 "power_GND" 0 -150 50 H V C CNN 71 | F2 "" 0 0 50 H I C CNN 72 | F3 "" 0 0 50 H I C CNN 73 | DRAW 74 | P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N 75 | X GND 1 0 0 0 D 50 50 1 1 W N 76 | ENDDRAW 77 | ENDDEF 78 | # 79 | #End Library 80 | -------------------------------------------------------------------------------- /examples/HelloWorld/HelloWorld.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * FT81x on ST7701S Arduino Driver 3 | * 4 | * MIT License 5 | * 6 | * Copyright (c) 2020 Raphael Stäbler 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | **/ 26 | 27 | #include "FT81x.h" 28 | 29 | #if defined(ESP32) 30 | FT81x ft81x = FT81x(5, 17, 16); // NodeMCU-32 pin configuration 31 | #else 32 | FT81x ft81x = FT81x(10, 9, 8); // Arduino default pin configuration 33 | #endif 34 | 35 | void setup() { 36 | SPI.begin(); 37 | ft81x.begin(); 38 | 39 | ft81x.setRotation(FT81x_ROTATE_LANDSCAPE); 40 | 41 | ft81x.beginDisplayList(); 42 | ft81x.clear(FT81x_COLOR_RGB(255, 255, 255)); 43 | ft81x.drawText(240, 150, 31, FT81x_COLOR_RGB(0, 0, 0), FT81x_OPT_CENTER, "Hello World\0"); 44 | ft81x.drawText(240, 210, 22, FT81x_COLOR_RGB(0, 0, 0), FT81x_OPT_CENTER, "https://github.com/blazer82/FT81x_Arduino_Driver\0"); 45 | ft81x.drawCircle(120, 350, 40, FT81x_COLOR_RGB(255, 0, 0)); 46 | ft81x.drawCircle(240, 350, 40, FT81x_COLOR_RGB(0, 255, 0)); 47 | ft81x.drawCircle(360, 350, 40, FT81x_COLOR_RGB(0, 0, 255)); 48 | ft81x.swapScreen(); 49 | } 50 | 51 | void loop() { 52 | // do nothing 53 | } 54 | -------------------------------------------------------------------------------- /examples/Gauges/Gauges.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * FT81x on ST7701S Arduino Driver 3 | * 4 | * MIT License 5 | * 6 | * Copyright (c) 2020 Raphael Stäbler 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | **/ 26 | 27 | #include "FT81x.h" 28 | 29 | #if defined(ESP32) 30 | FT81x ft81x = FT81x(5, 17, 16); // NodeMCU-32 pin configuration 31 | #else 32 | FT81x ft81x = FT81x(10, 9, 8); // Arduino default pin configuration 33 | #endif 34 | 35 | void setup() { 36 | SPI.begin(); 37 | ft81x.begin(); 38 | 39 | ft81x.setRotation(FT81x_ROTATE_LANDSCAPE); 40 | 41 | ft81x.beginDisplayList(); 42 | ft81x.clear(FT81x_COLOR_RGB(0, 0, 0)); 43 | 44 | ft81x.drawGauge(240, 150, 140, FT81x_COLOR_RGB(255, 255, 255), FT81x_COLOR_RGB(0, 100, 100), FT81x_OPT_NOPOINTER, 10, 5, 75, 100); 45 | ft81x.drawGauge(240, 150, 140, FT81x_COLOR_RGB(255, 100, 100), FT81x_COLOR_RGB(0, 0, 0), FT81x_OPT_NOBACK | FT81x_OPT_NOTICKS, 10, 5, 75, 100); 46 | 47 | ft81x.drawGauge(140, 370, 90, FT81x_COLOR_RGB(255, 255, 255), FT81x_COLOR_RGB(0, 150, 50), 0, 6, 5, 37, 100); 48 | ft81x.drawGauge(340, 370, 90, FT81x_COLOR_RGB(255, 255, 255), FT81x_COLOR_RGB(0, 50, 150), 0, 6, 5, 69, 100); 49 | 50 | ft81x.swapScreen(); 51 | } 52 | 53 | void loop() { 54 | // do nothing 55 | } 56 | -------------------------------------------------------------------------------- /examples/Text/Text.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * FT81x on ST7701S Arduino Driver 3 | * 4 | * MIT License 5 | * 6 | * Copyright (c) 2020 Raphael Stäbler 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | **/ 26 | 27 | #include "FT81x.h" 28 | 29 | #if defined(ESP32) 30 | FT81x ft81x = FT81x(5, 17, 16); // NodeMCU-32 pin configuration 31 | #else 32 | FT81x ft81x = FT81x(10, 9, 8); // Arduino default pin configuration 33 | #endif 34 | 35 | const static char text[] = "The quick, brown fox jumps over a lazy dog.\0"; 36 | 37 | void setup() { 38 | SPI.begin(); 39 | ft81x.begin(); 40 | 41 | ft81x.setRotation(FT81x_ROTATE_LANDSCAPE); 42 | 43 | ft81x.beginDisplayList(); 44 | ft81x.clear(FT81x_COLOR_RGB(0, 0, 0)); 45 | ft81x.swapScreen(); 46 | } 47 | 48 | void loop() { 49 | static char text_buffer[16]; 50 | static uint8_t fontIndex = 0; 51 | 52 | const uint8_t font = fontIndex + 16; 53 | 54 | sprintf(text_buffer, "Font %d", font); 55 | 56 | ft81x.beginDisplayList(); 57 | ft81x.clear(FT81x_COLOR_RGB(0, 0, 0)); 58 | ft81x.drawText(240, 200, 16, FT81x_COLOR_RGB(255, 255, 255), FT81x_OPT_CENTER, text_buffer); 59 | ft81x.drawText(240, 240, font, FT81x_COLOR_RGB(50, 255, 50), FT81x_OPT_CENTER, text); 60 | ft81x.swapScreen(); 61 | 62 | fontIndex++; 63 | fontIndex %= 19; 64 | 65 | delay(500); 66 | } 67 | -------------------------------------------------------------------------------- /examples/Progressbar/Progressbar.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * FT81x on ST7701S Arduino Driver 3 | * 4 | * MIT License 5 | * 6 | * Copyright (c) 2020 Raphael Stäbler 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | **/ 26 | 27 | #include "FT81x.h" 28 | 29 | #if defined(ESP32) 30 | FT81x ft81x = FT81x(5, 17, 16); // NodeMCU-32 pin configuration 31 | #else 32 | FT81x ft81x = FT81x(10, 9, 8); // Arduino default pin configuration 33 | #endif 34 | 35 | void setup() { 36 | SPI.begin(); 37 | ft81x.begin(); 38 | 39 | ft81x.setRotation(FT81x_ROTATE_LANDSCAPE); 40 | 41 | ft81x.beginDisplayList(); 42 | ft81x.clear(FT81x_COLOR_RGB(35, 41, 49)); 43 | ft81x.drawText(240, 190, 24, FT81x_COLOR_RGB(238, 238, 238), FT81x_OPT_CENTERX, "Progressbar demo in progress...\0"); 44 | ft81x.drawProgressbar(60, 240, 420, 10, FT81x_COLOR_RGB(78, 204, 163), FT81x_COLOR_RGB(57, 62, 66), FT81x_OPT_3D, 0, 100); 45 | ft81x.swapScreen(); 46 | } 47 | 48 | void loop() { 49 | const uint16_t progress = (millis() / 100) % 100; 50 | 51 | ft81x.beginDisplayList(); 52 | ft81x.clear(FT81x_COLOR_RGB(35, 41, 49)); 53 | ft81x.drawText(240, 190, 24, FT81x_COLOR_RGB(238, 238, 238), FT81x_OPT_CENTERX, "Progressbar demo in progress...\0"); 54 | ft81x.drawProgressbar(60, 240, 360, 10, FT81x_COLOR_RGB(78, 204, 163), FT81x_COLOR_RGB(57, 62, 66), FT81x_OPT_3D, progress, 100); 55 | ft81x.swapScreen(); 56 | } 57 | -------------------------------------------------------------------------------- /examples/Buttons/Buttons.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * FT81x on ST7701S Arduino Driver 3 | * 4 | * MIT License 5 | * 6 | * Copyright (c) 2020 Raphael Stäbler 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | **/ 26 | 27 | #include "FT81x.h" 28 | 29 | #if defined(ESP32) 30 | FT81x ft81x = FT81x(5, 17, 16); // NodeMCU-32 pin configuration 31 | #else 32 | FT81x ft81x = FT81x(10, 9, 8); // Arduino default pin configuration 33 | #endif 34 | 35 | const char *menuItems[] = { 36 | "Dashboard\0", 37 | "Sensors\0", 38 | "Settings\0", 39 | "Turn off\0", 40 | }; 41 | 42 | void setup() { 43 | SPI.begin(); 44 | ft81x.begin(); 45 | 46 | ft81x.setRotation(FT81x_ROTATE_LANDSCAPE); 47 | 48 | ft81x.beginDisplayList(); 49 | ft81x.clear(FT81x_COLOR_RGB(255, 255, 255)); 50 | ft81x.swapScreen(); 51 | } 52 | 53 | void loop() { 54 | for (uint8_t i = 0; i < 4; i++) { 55 | ft81x.beginDisplayList(); 56 | ft81x.clear(FT81x_COLOR_RGB(255, 255, 255)); 57 | ft81x.drawText(240, 60, 31, FT81x_COLOR_RGB(0, 0, 0), FT81x_OPT_CENTER, "Menu\0"); 58 | for (uint8_t j = 0; j < 4; j++) { 59 | const uint32_t color = i == j ? FT81x_COLOR_RGB(0, 0, 200) : FT81x_COLOR_RGB(64, 64, 92); 60 | ft81x.drawButton(140, 140 + 70 * j, 200, 40, 26, FT81x_COLOR_RGB(255, 255, 255), color, FT81x_OPT_3D, menuItems[j]); 61 | } 62 | ft81x.swapScreen(); 63 | delay(1000); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /examples/Clock/Clock.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * FT81x on ST7701S Arduino Driver 3 | * 4 | * MIT License 5 | * 6 | * Copyright (c) 2020 Raphael Stäbler 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | **/ 26 | 27 | #include "FT81x.h" 28 | 29 | #if defined(ESP32) 30 | FT81x ft81x = FT81x(5, 17, 16); // NodeMCU-32 pin configuration 31 | #else 32 | FT81x ft81x = FT81x(10, 9, 8); // Arduino default pin configuration 33 | #endif 34 | 35 | void setup() { 36 | SPI.begin(); 37 | ft81x.begin(); 38 | 39 | ft81x.setRotation(FT81x_ROTATE_LANDSCAPE); 40 | 41 | ft81x.beginDisplayList(); 42 | ft81x.clear(FT81x_COLOR_RGB(0, 0, 0)); 43 | ft81x.swapScreen(); 44 | } 45 | 46 | void loop() { 47 | const uint32_t uptime = millis(); 48 | const uint32_t seconds = uptime / 10; 49 | const uint32_t minutes = seconds / 60; 50 | const uint32_t hours = minutes / 60; 51 | 52 | const uint16_t clockSeconds = (uint16_t)(seconds % 60); 53 | const uint16_t clockMinutes = (uint16_t)(minutes % 60); 54 | const uint16_t clockHours = (uint16_t)(hours % 12); 55 | 56 | ft81x.beginDisplayList(); 57 | ft81x.clear(FT81x_COLOR_RGB(0, 0, 0)); 58 | ft81x.drawClock(240, 240, 200, FT81x_COLOR_RGB(0, 0, 0), FT81x_COLOR_RGB(0xFF, 0xFF, 0xDD), FT81x_OPT_FLAT | FT81x_OPT_NOHANDS, 0, 0, 0); 59 | ft81x.drawClock(240, 240, 200, FT81x_COLOR_RGB(0x00, 0x6A, 0x71), FT81x_COLOR_RGB(0, 0, 0), FT81x_OPT_NOBACK | FT81x_OPT_NOTICKS, clockHours, clockMinutes, clockSeconds); 60 | ft81x.swapScreen(); 61 | } 62 | -------------------------------------------------------------------------------- /extras/ci/build-arduino.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Exit immediately if a command exits with a non-zero status. 4 | set -e 5 | 6 | # Define cores and platforms 7 | CORES=(arduino:avr arduino:sam esp8266:esp8266 esp32:esp32) 8 | PLATFORMS=(arduino:avr:uno arduino:sam:arduino_due_x_dbg esp8266:esp8266:nodemcu esp32:esp32:nodemcu-32s) 9 | 10 | # Define additional URLs for arduino-cli 11 | ADDITIONAL_URLS=http://arduino.esp8266.com/stable/package_esp8266com_index.json,https://dl.espressif.com/dl/package_esp32_index.json 12 | 13 | # Define colors 14 | RED='\033[0;31m' 15 | GREEN='\033[0;32m' 16 | YELLOW='\033[1;33m' 17 | 18 | # Make sure we are inside the github workspace 19 | cd $GITHUB_WORKSPACE 20 | 21 | # Create directories 22 | mkdir $HOME/Arduino 23 | mkdir $HOME/Arduino/libraries 24 | 25 | # Install dependencies 26 | echo -e "\n########################################################################"; 27 | echo -e "${YELLOW}INSTALLING DEPENDENCIES" 28 | echo "########################################################################"; 29 | # Install ESP32 dependencies 30 | pip install pyserial 31 | 32 | # Install Arduino IDE 33 | echo -e "\n########################################################################"; 34 | echo -e "${YELLOW}INSTALLING ARDUINO CLI" 35 | echo "########################################################################"; 36 | export PATH=$PATH:$GITHUB_WORKSPACE/bin 37 | curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh 38 | arduino-cli config init 39 | arduino-cli core update-index --additional-urls "${ADDITIONAL_URLS}" 40 | 41 | # Install Arduino cores 42 | for c in ${CORES[*]} ; do 43 | echo -e "\n########################################################################"; 44 | echo -e "${YELLOW}INSTALLING ARDUINO CORE: ${c}" 45 | echo "########################################################################"; 46 | arduino-cli core install $c --additional-urls "${ADDITIONAL_URLS}" 47 | if [ $? -ne 0 ]; then echo -e "${RED}\xe2\x9c\x96"; else echo -e "${GREEN}\xe2\x9c\x93"; fi 48 | done 49 | 50 | # Link Arduino library 51 | ln -s $GITHUB_WORKSPACE $HOME/Arduino/libraries/CI_Test_Library 52 | 53 | # Build example sketches 54 | for p in ${PLATFORMS[*]} ; do 55 | for d in examples/* ; do 56 | echo -e "\n########################################################################"; 57 | echo -e "${YELLOW}BUILD ${d} FOR ${p}" 58 | echo "########################################################################"; 59 | arduino-cli compile -b $p $d 60 | if [ $? -ne 0 ]; then echo -e "${RED}\xe2\x9c\x96"; else echo -e "${GREEN}\xe2\x9c\x93"; fi 61 | done 62 | done 63 | -------------------------------------------------------------------------------- /extras/hardware/Gerber/driver-board.drl: -------------------------------------------------------------------------------- 1 | M48 2 | ; DRILL file {KiCad (5.1.6-0-10_14)} date Sunday, July 19, 2020 at 04:10:18 PM 3 | ; FORMAT={-:-/ absolute / inch / decimal} 4 | ; #@! TF.CreationDate,2020-07-19T16:10:18+02:00 5 | ; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.6-0-10_14) 6 | FMAT,2 7 | INCH 8 | T1C0.0118 9 | T2C0.0157 10 | T3C0.0197 11 | T4C0.0394 12 | % 13 | G90 14 | G05 15 | T1 16 | X4.626Y-2.2598 17 | X4.7165Y-2.8346 18 | X4.7864Y-2.4341 19 | X4.7874Y-2.3268 20 | X4.8307Y-2.4252 21 | X4.8336Y-2.3494 22 | X4.8425Y-2.3228 23 | X4.8459Y-2.3765 24 | X4.8504Y-2.4528 25 | X4.9429Y-2.8724 26 | X5.0197Y-2.3346 27 | X5.0433Y-2.3583 28 | X5.0443Y-2.6486 29 | X5.0519Y-2.4284 30 | X5.0561Y-3.2346 31 | X5.0619Y-2.9478 32 | X5.0777Y-2.932 33 | X5.1069Y-2.959 34 | X5.1069Y-2.9905 35 | X5.1142Y-2.5 36 | X5.1309Y-3.2106 37 | X5.1339Y-2.4291 38 | X5.1339Y-2.7874 39 | X5.2303Y-3.186 40 | X5.2362Y-2.69 41 | X5.2362Y-2.9016 42 | X5.2402Y-2.4134 43 | X5.3425Y-2.7874 44 | X5.3445Y-2.3012 45 | X5.3543Y-3.0551 46 | X5.3543Y-3.0866 47 | X5.3819Y-3.0512 48 | X5.4213Y-3.0424 49 | X5.4567Y-3.0827 50 | X5.4724Y-3.122 51 | X5.4921Y-2.2795 52 | X5.4921Y-2.3228 53 | X5.4921Y-2.3661 54 | X5.5138Y-2.8031 55 | X5.5157Y-2.4094 56 | X5.5433Y-3.0787 57 | X5.6024Y-2.2283 58 | X5.6063Y-2.0748 59 | X5.6299Y-3.1215 60 | X5.6407Y-2.2884 61 | X5.8504Y-3.126 62 | X5.8533Y-2.3071 63 | X5.8543Y-2.2539 64 | X5.8543Y-3.0551 65 | X5.8583Y-2.4528 66 | X5.8593Y-2.3671 67 | X5.8819Y-2.0512 68 | X5.8819Y-2.0906 69 | X5.8976Y-3.1496 70 | T2 71 | X4.7087Y-2.6535 72 | X4.7283Y-2.7047 73 | X4.7283Y-2.7677 74 | X4.7992Y-2.8307 75 | X4.8071Y-3.1575 76 | X4.811Y-3.0433 77 | X4.8504Y-2.6496 78 | X4.9252Y-2.6457 79 | X4.9262Y-3.0335 80 | X4.9695Y-3.0768 81 | X5.0433Y-2.3071 82 | X5.0955Y-3.126 83 | X5.1457Y-2.1988 84 | X5.252Y-3.1063 85 | X5.4606Y-3.189 86 | X5.5Y-3.2874 87 | T3 88 | X4.6299Y-1.9803 89 | X4.6299Y-2.185 90 | X4.6339Y-2.122 91 | X4.8287Y-2.2313 92 | X4.8307Y-1.9291 93 | X4.8307Y-2.5276 94 | X4.8819Y-2.2402 95 | X4.8937Y-1.9803 96 | X4.8937Y-2.122 97 | X4.8937Y-2.185 98 | X4.9331Y-2.2402 99 | X5.0827Y-2.2402 100 | X5.0906Y-1.9331 101 | X5.1457Y-2.0866 102 | X5.2717Y-1.9213 103 | X5.374Y-1.9409 104 | X5.4488Y-1.9498 105 | X5.4528Y-2.2352 106 | X5.4941Y-1.9193 107 | X5.5108Y-1.9567 108 | X5.5669Y-3.2884 109 | X5.6093Y-3.2697 110 | T4 111 | X4.4173Y-2.0118 112 | X4.4173Y-2.1118 113 | X4.4173Y-2.2118 114 | X4.4173Y-2.3118 115 | X4.4173Y-2.4118 116 | X4.4173Y-2.5118 117 | X4.4173Y-2.6118 118 | X4.4173Y-2.7118 119 | X4.4173Y-2.8118 120 | X4.4173Y-2.9118 121 | X4.4173Y-3.0118 122 | X4.4173Y-3.1118 123 | X4.4173Y-3.2118 124 | T0 125 | M30 126 | -------------------------------------------------------------------------------- /examples/Scrollbar/Scrollbar.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * FT81x on ST7701S Arduino Driver 3 | * 4 | * MIT License 5 | * 6 | * Copyright (c) 2020 Raphael Stäbler 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | **/ 26 | 27 | #include "FT81x.h" 28 | 29 | #if defined(ESP32) 30 | FT81x ft81x = FT81x(5, 17, 16); // NodeMCU-32 pin configuration 31 | #else 32 | FT81x ft81x = FT81x(10, 9, 8); // Arduino default pin configuration 33 | #endif 34 | 35 | void setup() { 36 | SPI.begin(); 37 | ft81x.begin(); 38 | 39 | ft81x.setRotation(FT81x_ROTATE_LANDSCAPE); 40 | 41 | ft81x.beginDisplayList(); 42 | ft81x.clear(FT81x_COLOR_RGB(255, 255, 255)); 43 | ft81x.drawText(240, 20, 24, FT81x_COLOR_RGB(0, 0, 0), FT81x_OPT_CENTERX, "Scrollbar example\0"); 44 | ft81x.drawScrollbar(20, 20, 10, 420, FT81x_COLOR_RGB(0, 150, 250), FT81x_COLOR_RGB(0, 200, 250), FT81x_OPT_3D, 80, 20, 100); 45 | ft81x.drawScrollbar(40, 460, 420, 10, FT81x_COLOR_RGB(0, 150, 250), FT81x_COLOR_RGB(0, 200, 250), FT81x_OPT_3D, 0, 40, 100); 46 | ft81x.swapScreen(); 47 | } 48 | 49 | void loop() { 50 | static uint16_t y = 400; 51 | static bool direction = 1; 52 | 53 | y = direction ? y - 1 : y + 1; 54 | direction = y == 0 || y == 400 ? !direction : direction; 55 | 56 | ft81x.beginDisplayList(); 57 | ft81x.clear(FT81x_COLOR_RGB(255, 255, 255)); 58 | ft81x.drawText(240, y + 20, 24, FT81x_COLOR_RGB(0, 0, 0), FT81x_OPT_CENTERX, "Scrollbar example\0"); 59 | ft81x.drawScrollbar(20, 20, 10, 420, FT81x_COLOR_RGB(0, 150, 250), FT81x_COLOR_RGB(0, 200, 250), FT81x_OPT_3D, 400 - y, 100, 500); 60 | ft81x.drawScrollbar(40, 460, 420, 10, FT81x_COLOR_RGB(0, 150, 250), FT81x_COLOR_RGB(0, 200, 250), FT81x_OPT_3D, 0, 40, 100); 61 | ft81x.swapScreen(); 62 | 63 | delay(10); 64 | } 65 | -------------------------------------------------------------------------------- /extras/hardware/kicad/miso-buffer.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 4 2 | EELAYER 30 0 3 | EELAYER END 4 | $Descr A4 11693 8268 5 | encoding utf-8 6 | Sheet 5 8 7 | Title "FT81x TFT040 Driver Board" 8 | Date "2020-07-19" 9 | Rev "2007E" 10 | Comp "" 11 | Comment1 "" 12 | Comment2 "" 13 | Comment3 "" 14 | Comment4 "" 15 | $EndDescr 16 | $Comp 17 | L driver-board:NC7SZ125 U5 18 | U 1 1 5F016D73 19 | P 5900 3950 20 | F 0 "U5" H 5900 4365 50 0000 C CNN 21 | F 1 "NC7SZ125" H 5900 4274 50 0000 C CNN 22 | F 2 "Package_TO_SOT_SMD:SOT-23-5" H 5900 3900 50 0001 C CNN 23 | F 3 "" H 5900 3900 50 0001 C CNN 24 | F 4 "C7420" H 5900 3950 50 0001 C CNN "LCSC" 25 | F 5 "" H 5900 3950 50 0001 C CNN "DigiKey" 26 | F 6 "NC7SZ125M5X" H 5900 3950 50 0001 C CNN "Mfg Part #" 27 | F 7 "IC BUF NON-INVERT 5.5V SOT23-5" H 5900 3950 50 0001 C CNN "Description" 28 | F 8 "ON Semiconductor" H 5900 3950 50 0001 C CNN "Manufacturer" 29 | 1 5900 3950 30 | 1 0 0 -1 31 | $EndComp 32 | $Comp 33 | L power:GND #PWR032 34 | U 1 1 5F017695 35 | P 5550 4050 36 | F 0 "#PWR032" H 5550 3800 50 0001 C CNN 37 | F 1 "GND" V 5550 3950 50 0000 R CNN 38 | F 2 "" H 5550 4050 50 0001 C CNN 39 | F 3 "" H 5550 4050 50 0001 C CNN 40 | 1 5550 4050 41 | 0 1 1 0 42 | $EndComp 43 | Text GLabel 6350 4050 2 50 Output ~ 0 44 | SDI_3V 45 | Wire Wire Line 46 | 6250 4050 6350 4050 47 | Wire Wire Line 48 | 5550 3950 5450 3950 49 | Wire Wire Line 50 | 5550 3850 5450 3850 51 | Text GLabel 5450 3850 0 50 Input ~ 0 52 | CS1_3V 53 | Text GLabel 5450 3950 0 50 Input ~ 0 54 | SDI_BUFFER 55 | $Comp 56 | L Device:C C9 57 | U 1 1 5F01887A 58 | P 5900 4650 59 | F 0 "C9" H 6015 4696 50 0000 L CNN 60 | F 1 "100nF" H 6015 4605 50 0000 L CNN 61 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 5938 4500 50 0001 C CNN 62 | F 3 "~" H 5900 4650 50 0001 C CNN 63 | F 4 "C14663" H 5900 4650 50 0001 C CNN "LCSC" 64 | F 5 "" H 5900 4650 50 0001 C CNN "DigiKey" 65 | F 6 "CC0603KPX7R7BB104" H 5900 4650 50 0001 C CNN "Mfg Part #" 66 | F 7 "CAP CER 0.1UF 16V X7R 0603" H 5900 4650 50 0001 C CNN "Description" 67 | F 8 "Yageo" H 5900 4650 50 0001 C CNN "Manufacturer" 68 | 1 5900 4650 69 | 1 0 0 -1 70 | $EndComp 71 | $Comp 72 | L power:GND #PWR034 73 | U 1 1 5F0190A9 74 | P 5900 4800 75 | F 0 "#PWR034" H 5900 4550 50 0001 C CNN 76 | F 1 "GND" H 5905 4627 50 0000 C CNN 77 | F 2 "" H 5900 4800 50 0001 C CNN 78 | F 3 "" H 5900 4800 50 0001 C CNN 79 | 1 5900 4800 80 | 1 0 0 -1 81 | $EndComp 82 | $Comp 83 | L power:+3V0 #PWR031 84 | U 1 1 5F04492E 85 | P 6250 3850 86 | F 0 "#PWR031" H 6250 3700 50 0001 C CNN 87 | F 1 "+3V0" V 6250 3950 50 0000 L CNN 88 | F 2 "" H 6250 3850 50 0001 C CNN 89 | F 3 "" H 6250 3850 50 0001 C CNN 90 | 1 6250 3850 91 | 0 1 1 0 92 | $EndComp 93 | $Comp 94 | L power:+3V0 #PWR033 95 | U 1 1 5F044AFF 96 | P 5900 4500 97 | F 0 "#PWR033" H 5900 4350 50 0001 C CNN 98 | F 1 "+3V0" H 5915 4673 50 0000 C CNN 99 | F 2 "" H 5900 4500 50 0001 C CNN 100 | F 3 "" H 5900 4500 50 0001 C CNN 101 | 1 5900 4500 102 | 1 0 0 -1 103 | $EndComp 104 | $EndSCHEMATC 105 | -------------------------------------------------------------------------------- /extras/ci/doxygen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Exit immediately if a command exits with a non-zero status. 4 | set -e 5 | 6 | # Define colors 7 | RED='\033[0;31m' 8 | GREEN='\033[0;32m' 9 | YELLOW='\033[1;33m' 10 | 11 | cd $GITHUB_WORKSPACE 12 | 13 | # Install doxygen 14 | echo -e "\n########################################################################"; 15 | echo -e "${YELLOW}INSTALL DOXYGEN" 16 | echo "########################################################################"; 17 | wget -q https://downloads.sourceforge.net/project/doxygen/rel-1.8.18/doxygen-1.8.18.linux.bin.tar.gz 18 | tar -xf doxygen-1.8.18.linux.bin.tar.gz 19 | mv doxygen-1.8.18/bin/doxygen . 20 | chmod +x doxygen 21 | 22 | # Create a clean working directory for this script 23 | mkdir doxygen_workdir 24 | cd doxygen_workdir 25 | 26 | # Get the current gh-pages branch 27 | echo -e "\n########################################################################"; 28 | echo -e "${YELLOW}CLONE REPO" 29 | echo "########################################################################"; 30 | git clone -b gh-pages https://github.com/${GITHUB_REPOSITORY}.git 31 | export REPO_NAME=${GITHUB_REPOSITORY#*/} 32 | cd ${REPO_NAME} 33 | 34 | # Configure git. 35 | # Set the push default to simple i.e. push only the current branch. 36 | git config --global push.default simple 37 | # Pretend to be an user called Doxygen CI. 38 | git config user.name "Doxygen CI" 39 | git config user.email "doxygen@github.com" 40 | 41 | # Delete current docs 42 | echo -e "\n########################################################################"; 43 | echo -e "${YELLOW}DELETE CURRENT DOCS" 44 | echo "########################################################################"; 45 | rm -rf api || true 46 | 47 | # Overwrite output directory 48 | echo -e "\n########################################################################"; 49 | echo -e "${YELLOW}GENERATE DOCS" 50 | echo "########################################################################"; 51 | cp Doxyfile ${GITHUB_WORKSPACE}/Doxyfile 52 | sed -i "s;^HTML_OUTPUT .*;HTML_OUTPUT = doxygen_workdir/${REPO_NAME}/api;" ${GITHUB_WORKSPACE}/Doxyfile 53 | cd $GITHUB_WORKSPACE 54 | 55 | # Create documentation 56 | $GITHUB_WORKSPACE/doxygen Doxyfile 57 | 58 | #Check if master branch 59 | if [ "${GITHUB_REF}" != "refs/heads/master" ]; then 60 | echo -e "${GREEN}Not on master branch, not going to commit to gh-pages!" 61 | exit 0 62 | fi 63 | 64 | # Commit documentation 65 | cd doxygen_workdir/${REPO_NAME} 66 | 67 | if [ -d "api" ] && [ -f "api/index.html" ]; then 68 | git config --local user.email "action@github.com" 69 | git config --local user.name "GitHub Action" 70 | git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" 71 | 72 | git add --all 73 | 74 | if [ -n "$(git status --porcelain)" ]; then 75 | echo -e "\n########################################################################"; 76 | echo -e "${YELLOW}COMMIT CHANGES" 77 | echo "########################################################################"; 78 | else 79 | echo -e "${GREEN}No changes to commit" 80 | exit 0 81 | fi 82 | 83 | git commit -m "Deploy code docs to github pages ${GITHUB_RUN_NUMBER}" -m "Commit: ${GITHUB_SHA}" 84 | 85 | git push --force 86 | else 87 | echo -e "${RED}Error: No documentation files have been found!" >&2 88 | exit 1 89 | fi -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FT81x Arduino Driver 2 | 3 | [![build-badge]](https://github.com/blazer82/FT81x_Arduino_Driver/actions?workflow=build) 4 | [![docs-badge]](https://github.com/blazer82/FT81x_Arduino_Driver/actions?workflow=docs) 5 | 6 | High quality display module for many Arduino project ideas! 7 | 8 | ## Hardware 9 | 10 | ![Hardware](https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/master/extras/assets/hardware.jpg) 11 | 12 | Schematics, KiCad files and Gerber files can be found inside the [hardware folder](extras/hardware) in this repository. 13 | 14 | The board is compatible with this [display](https://www.buydisplay.com/4-inch-tft-lcd-display-480x480-pixel-with-mipi-interface-for-iot-devices). 15 | 16 | The complete hardware is [available for sale on Tindie](https://www.tindie.com/products/prodbld/40-inch-ft81x-tft-lcd-display-module-for-arduino/). 17 | 18 | ## Highlights 19 | 20 | - 4 inch 480x480 pixel TFT display 21 | - up to 24 bit color support 22 | - 19 built-in fonts 23 | - built-in widgets (e.g. buttons, gauges, clock) 24 | - hardware support for JPEG and PNG 25 | - built-in sound effects (audio circuitry required) 26 | - bitmap support with 1 MByte graphics RAM 27 | - open source Arduino library with many example sketches 28 | - compatible with 3.3V and 5V logic levels 29 | 30 | ## Supported Boards 31 | 32 | The hardware and software has been tested with the following boards: 33 | 34 | - :heavy_check_mark: Arduino Uno (ATmega328P) 35 | - :heavy_check_mark: Arduino Nano (ATmega328) 36 | - :heavy_check_mark: Arduino Nano Every (ATMega4809) 37 | - :heavy_check_mark: Arduino Due (AT91SAM3X8E) 38 | - :heavy_check_mark: NodeMCU-32S (ESP32) 39 | - :heavy_check_mark: Teensy 4.0 (ARM Cortex M7) 40 | 41 | If your board is missing and has full Arduino support chances are that it's fully supported by this library, too. 42 | 43 | If you have tested additional boards (successfully or unsuccessfully) feel free to contact me or open an issue. 44 | 45 | ## Features 46 | 47 | | | | | 48 | |-|-|-| 49 | |[x] Line|[x] Circle|[x] Rectangle| 50 | |[x] Gradient|[x] Text|[x] Bitmap images| 51 | |[x] Animated spinner|[x] Sound effects|[x] Buttons| 52 | |[x] Analog clock|[x] Gauge|[x] Line strip| 53 | |[x] JPEG support|[x] PNG support|[x] Scrollbar| 54 | |[x] Audio playback|[x] Progress bar|[ ] Custom fonts| 55 | |[ ] Dial|[ ] Toggle|[ ] Video playback| 56 | |[ ] Keys||| 57 | 58 | ## Usage 59 | 60 | ```c++ 61 | #include "FT81x.h" 62 | 63 | FT81x ft81x = FT81x(10, 9, 8); 64 | 65 | void setup() { 66 | SPI.begin(); 67 | ft81x.begin(); 68 | 69 | ft81x.beginDisplayList(); 70 | ft81x.clear(FT81x_COLOR_RGB(0, 0, 0)); 71 | ft81x.drawText(240, 200, 31, FT81x_COLOR_RGB(255, 255, 255), FT81x_OPT_CENTER, "Hello World\0"); 72 | ft81x.swapScreen(); 73 | } 74 | ``` 75 | 76 | For more information see the numerous [example sketches](examples) as well as the [API Documentation](https://blazer82.github.io/FT81x_Arduino_Driver/api/class_f_t81x.html). 77 | 78 | ## Getting Started 79 | 80 | For more information on how to get started with the display driver board, please refer to the [Getting Started Guide](https://blazer82.github.io/FT81x_Arduino_Driver). 81 | 82 | ## License Summary 83 | 84 | ### Software 85 | 86 | MIT License 87 | 88 | ### Hardware 89 | 90 | The hardware is licensed under [CERN-OHL-S v2](https://cern.ch/cern-ohl). 91 | 92 | [![oshwa-mark]](https://certification.oshwa.org/de000089.html) 93 | 94 | [build-badge]: https://github.com/blazer82/FT81x_Arduino_Driver/workflows/build/badge.svg 95 | [docs-badge]: https://github.com/blazer82/FT81x_Arduino_Driver/workflows/docs/badge.svg 96 | [oshwa-mark]: https://raw.githubusercontent.com/blazer82/FT81x_Arduino_Driver/master/extras/assets/OSHW_mark_DE000089_150.png 97 | -------------------------------------------------------------------------------- /examples/Diagnostics/Diagnostics.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * FT81x on ST7701S Arduino Driver 3 | * 4 | * MIT License 5 | * 6 | * Copyright (c) 2020 Raphael Stäbler 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy 9 | * of this software and associated documentation files (the "Software"), to deal 10 | * in the Software without restriction, including without limitation the rights 11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | * copies of the Software, and to permit persons to whom the Software is 13 | * furnished to do so, subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | * SOFTWARE. 25 | **/ 26 | 27 | #include "FT81x.h" 28 | 29 | #if defined(ESP32) 30 | FT81x ft81x = FT81x(5, 17, 16); // NodeMCU-32 pin configuration 31 | #else 32 | FT81x ft81x = FT81x(10, 9, 8); // Arduino default pin configuration 33 | #endif 34 | 35 | void setup() { 36 | Serial.begin(9600); 37 | 38 | Serial.println("Initialize SPI..."); 39 | SPI.begin(); 40 | 41 | Serial.print("SPI clock set to: "); 42 | Serial.println(FT81x_SPI_CLOCK_SPEED); 43 | 44 | Serial.println(""); 45 | 46 | Serial.println("Initialize FT81x and display..."); 47 | ft81x.begin(); 48 | 49 | Serial.println(""); 50 | 51 | Serial.println("Read chip ID..."); 52 | 53 | const uint32_t chipID = ft81x.read32(0x0C0000); 54 | 55 | Serial.print("0x0C0000: "); 56 | Serial.print(chipID & 0xFF, HEX); 57 | Serial.println(" (supposed to be 0x8)"); 58 | 59 | Serial.print("0x0C0001: "); 60 | Serial.print((chipID >> 8) & 0xFF, HEX); 61 | Serial.println(" (supposed to be 0x12 or 0x13)"); 62 | 63 | Serial.print("0x0C0002: "); 64 | Serial.print((chipID >> 16) & 0xFF, HEX); 65 | Serial.println(" (supposed to be 0x1)"); 66 | 67 | Serial.print("0x0C0003: "); 68 | Serial.print((chipID >> 24) & 0xFF, HEX); 69 | Serial.println(" (supposed to be 0x0)"); 70 | 71 | Serial.println(""); 72 | 73 | Serial.println("Read FT81x configuration..."); 74 | 75 | Serial.print("REG_ID "); 76 | Serial.print(ft81x.read8(FT81x_REG_ID), HEX); 77 | Serial.println(" (supposed to be 0x7C)"); 78 | 79 | Serial.print("REG_HCYCLE "); 80 | Serial.print(ft81x.read16(FT81x_REG_HCYCLE)); 81 | Serial.println(" (supposed to be 548)"); 82 | 83 | Serial.print("REG_HSIZE "); 84 | Serial.print(ft81x.read16(FT81x_REG_HSIZE)); 85 | Serial.println(" (supposed to be 480)"); 86 | 87 | Serial.print("REG_VCYCLE "); 88 | Serial.print(ft81x.read16(FT81x_REG_VCYCLE)); 89 | Serial.println(" (supposed to be 518)"); 90 | 91 | Serial.print("REG_VSIZE "); 92 | Serial.print(ft81x.read16(FT81x_REG_VSIZE)); 93 | Serial.println(" (supposed to be 480)"); 94 | 95 | Serial.println(""); 96 | 97 | Serial.println("Read display parameters..."); 98 | 99 | Serial.print("Power mode: "); 100 | Serial.print(ft81x.queryDisplay(ST7701_RDDPM), HEX); 101 | Serial.println(" (supposed to be 0x9C)"); 102 | } 103 | 104 | void loop() { 105 | // do nothing 106 | } 107 | -------------------------------------------------------------------------------- /extras/hardware/kicad/connectors.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 4 2 | EELAYER 30 0 3 | EELAYER END 4 | $Descr A4 11693 8268 5 | encoding utf-8 6 | Sheet 4 8 7 | Title "FT81x TFT040 Driver Board" 8 | Date "2020-07-19" 9 | Rev "2007E" 10 | Comp "" 11 | Comment1 "" 12 | Comment2 "" 13 | Comment3 "" 14 | Comment4 "" 15 | $EndDescr 16 | Text GLabel 5650 3700 2 50 Output ~ 0 17 | SCK 18 | Text GLabel 5650 3800 2 50 Input ~ 0 19 | SDI 20 | Text GLabel 5650 3900 2 50 Output ~ 0 21 | SDO 22 | Text GLabel 5650 4000 2 50 Output ~ 0 23 | CS1 24 | Text GLabel 5650 4100 2 50 Output ~ 0 25 | CS2 26 | Text GLabel 5650 4200 2 50 Output ~ 0 27 | DC 28 | Text GLabel 5650 4300 2 50 Input ~ 0 29 | AUDIO 30 | Wire Wire Line 31 | 5650 3600 6350 3600 32 | Wire Wire Line 33 | 5650 3500 6000 3500 34 | $Comp 35 | L power:PWR_FLAG #FLG03 36 | U 1 1 5F08BC00 37 | P 6350 3600 38 | F 0 "#FLG03" H 6350 3675 50 0001 C CNN 39 | F 1 "PWR_FLAG" H 6350 3773 50 0001 C CNN 40 | F 2 "" H 6350 3600 50 0001 C CNN 41 | F 3 "~" H 6350 3600 50 0001 C CNN 42 | 1 6350 3600 43 | 1 0 0 -1 44 | $EndComp 45 | $Comp 46 | L power:PWR_FLAG #FLG02 47 | U 1 1 5F08C692 48 | P 6000 3500 49 | F 0 "#FLG02" H 6000 3575 50 0001 C CNN 50 | F 1 "PWR_FLAG" H 6000 3673 50 0001 C CNN 51 | F 2 "" H 6000 3500 50 0001 C CNN 52 | F 3 "~" H 6000 3500 50 0001 C CNN 53 | 1 6000 3500 54 | 1 0 0 -1 55 | $EndComp 56 | $Comp 57 | L power:PWR_FLAG #FLG01 58 | U 1 1 5F08C772 59 | P 5650 3400 60 | F 0 "#FLG01" H 5650 3475 50 0001 C CNN 61 | F 1 "PWR_FLAG" H 5650 3573 50 0001 C CNN 62 | F 2 "" H 5650 3400 50 0001 C CNN 63 | F 3 "~" H 5650 3400 50 0001 C CNN 64 | 1 5650 3400 65 | 1 0 0 -1 66 | $EndComp 67 | $Comp 68 | L power:VCC #PWR027 69 | U 1 1 5F08CAB0 70 | P 6000 3500 71 | F 0 "#PWR027" H 6000 3350 50 0001 C CNN 72 | F 1 "VCC" V 6000 3600 50 0000 L CNN 73 | F 2 "" H 6000 3500 50 0001 C CNN 74 | F 3 "" H 6000 3500 50 0001 C CNN 75 | 1 6000 3500 76 | 0 1 1 0 77 | $EndComp 78 | Connection ~ 6000 3500 79 | $Comp 80 | L power:+5V #PWR026 81 | U 1 1 5F08CC55 82 | P 5650 3400 83 | F 0 "#PWR026" H 5650 3250 50 0001 C CNN 84 | F 1 "+5V" V 5650 3500 50 0000 L CNN 85 | F 2 "" H 5650 3400 50 0001 C CNN 86 | F 3 "" H 5650 3400 50 0001 C CNN 87 | 1 5650 3400 88 | 0 1 1 0 89 | $EndComp 90 | $Comp 91 | L power:GND #PWR028 92 | U 1 1 5F091C1E 93 | P 6350 3600 94 | F 0 "#PWR028" H 6350 3350 50 0001 C CNN 95 | F 1 "GND" H 6350 3450 50 0000 C CNN 96 | F 2 "" H 6350 3600 50 0001 C CNN 97 | F 3 "" H 6350 3600 50 0001 C CNN 98 | 1 6350 3600 99 | 1 0 0 -1 100 | $EndComp 101 | Connection ~ 6350 3600 102 | $Comp 103 | L Connector:Conn_01x13_Male J1 104 | U 1 1 5F05D8EE 105 | P 5450 4000 106 | F 0 "J1" H 5350 4000 50 0000 C CNN 107 | F 1 "Conn_01x13_Male" H 5558 4690 50 0001 C CNN 108 | F 2 "Connector_PinHeader_2.54mm:PinHeader_1x13_P2.54mm_Vertical" H 5450 4000 50 0001 C CNN 109 | F 3 "~" H 5450 4000 50 0001 C CNN 110 | 1 5450 4000 111 | 1 0 0 -1 112 | $EndComp 113 | Connection ~ 5650 3400 114 | Text GLabel 5650 4400 2 50 Input ~ 0 115 | IRQ 116 | $Comp 117 | L power:GND #PWR029 118 | U 1 1 5F146BD0 119 | P 5650 4500 120 | F 0 "#PWR029" H 5650 4250 50 0001 C CNN 121 | F 1 "GND" V 5650 4400 50 0000 R CNN 122 | F 2 "" H 5650 4500 50 0001 C CNN 123 | F 3 "" H 5650 4500 50 0001 C CNN 124 | 1 5650 4500 125 | 0 -1 -1 0 126 | $EndComp 127 | $Comp 128 | L power:GND #PWR030 129 | U 1 1 5F146D3C 130 | P 5650 4600 131 | F 0 "#PWR030" H 5650 4350 50 0001 C CNN 132 | F 1 "GND" V 5650 4500 50 0000 R CNN 133 | F 2 "" H 5650 4600 50 0001 C CNN 134 | F 3 "" H 5650 4600 50 0001 C CNN 135 | 1 5650 4600 136 | 0 -1 -1 0 137 | $EndComp 138 | $EndSCHEMATC 139 | -------------------------------------------------------------------------------- /extras/hardware/Gerber/driver-board-job.gbrjob: -------------------------------------------------------------------------------- 1 | { 2 | "Header": 3 | { 4 | "GenerationSoftware": 5 | { 6 | "Vendor": "KiCad", 7 | "Application": "Pcbnew", 8 | "Version": "(5.1.6-0-10_14)" 9 | }, 10 | "CreationDate": "2020-07-19T16:10:20+02:00" 11 | }, 12 | "GeneralSpecs": 13 | { 14 | "ProjectId": 15 | { 16 | "Name": "driver-board", 17 | "GUID": "64726976-6572-42d6-926f-6172642e6b69", 18 | "Revision": "rev?" 19 | }, 20 | "Size": 21 | { 22 | "X": 42.825, 23 | "Y": 36.850 24 | }, 25 | "LayerNumber": 4, 26 | "BoardThickness": 1.600 27 | }, 28 | "DesignRules": 29 | [ 30 | { 31 | "Layers": "Outer", 32 | "PadToPad": 0.200, 33 | "PadToTrack": 0.200, 34 | "TrackToTrack": 0.200, 35 | "MinLineWidth": 0.250, 36 | "TrackToRegion": 0.200, 37 | "RegionToRegion": 0.200 38 | }, 39 | { 40 | "Layers": "Inner", 41 | "PadToPad": 0.200, 42 | "PadToTrack": 0.200, 43 | "TrackToTrack": 0.200, 44 | "MinLineWidth": 0.750, 45 | "TrackToRegion": 0.200, 46 | "RegionToRegion": 0.200 47 | } 48 | ], 49 | "FilesAttributes": 50 | [ 51 | { 52 | "Path": "driver-board-F_Cu.gbr", 53 | "FileFunction": "Copper,L1,Top", 54 | "FilePolarity": "Positive" 55 | }, 56 | { 57 | "Path": "driver-board-In1_Cu.gbr", 58 | "FileFunction": "Copper,L2,Inr", 59 | "FilePolarity": "Positive" 60 | }, 61 | { 62 | "Path": "driver-board-In2_Cu.gbr", 63 | "FileFunction": "Copper,L3,Inr", 64 | "FilePolarity": "Positive" 65 | }, 66 | { 67 | "Path": "driver-board-B_Cu.gbr", 68 | "FileFunction": "Copper,L4,Bot", 69 | "FilePolarity": "Positive" 70 | }, 71 | { 72 | "Path": "driver-board-F_Paste.gbr", 73 | "FileFunction": "SolderPaste,Top", 74 | "FilePolarity": "Positive" 75 | }, 76 | { 77 | "Path": "driver-board-B_Paste.gbr", 78 | "FileFunction": "SolderPaste,Bot", 79 | "FilePolarity": "Positive" 80 | }, 81 | { 82 | "Path": "driver-board-F_SilkS.gbr", 83 | "FileFunction": "Legend,Top", 84 | "FilePolarity": "Positive" 85 | }, 86 | { 87 | "Path": "driver-board-B_SilkS.gbr", 88 | "FileFunction": "Legend,Bot", 89 | "FilePolarity": "Positive" 90 | }, 91 | { 92 | "Path": "driver-board-F_Mask.gbr", 93 | "FileFunction": "SolderMask,Top", 94 | "FilePolarity": "Negative" 95 | }, 96 | { 97 | "Path": "driver-board-B_Mask.gbr", 98 | "FileFunction": "SolderMask,Bot", 99 | "FilePolarity": "Negative" 100 | }, 101 | { 102 | "Path": "driver-board-Edge_Cuts.gbr", 103 | "FileFunction": "Profile", 104 | "FilePolarity": "Positive" 105 | } 106 | ], 107 | "MaterialStackup": 108 | [ 109 | { 110 | "Type": "Legend", 111 | "Notes": "Layer F.SilkS" 112 | }, 113 | { 114 | "Type": "SolderPaste", 115 | "Notes": "Layer F.Paste" 116 | }, 117 | { 118 | "Type": "SolderMask", 119 | "Notes": "Layer F.Mask" 120 | }, 121 | { 122 | "Type": "Copper", 123 | "Notes": "Layer F.Cu" 124 | }, 125 | { 126 | "Type": "Dielectric", 127 | "Material": "FR4", 128 | "Notes": "Layers L1/L2" 129 | }, 130 | { 131 | "Type": "Copper", 132 | "Notes": "Layer In1.Cu" 133 | }, 134 | { 135 | "Type": "Dielectric", 136 | "Material": "FR4", 137 | "Notes": "Layers L2/L3" 138 | }, 139 | { 140 | "Type": "Copper", 141 | "Notes": "Layer In2.Cu" 142 | }, 143 | { 144 | "Type": "Dielectric", 145 | "Material": "FR4", 146 | "Notes": "Layers L3/L4" 147 | }, 148 | { 149 | "Type": "Copper", 150 | "Notes": "Layer B.Cu" 151 | }, 152 | { 153 | "Type": "SolderMask", 154 | "Notes": "Layer B.Mask" 155 | }, 156 | { 157 | "Type": "SolderPaste", 158 | "Notes": "Layer B.Paste" 159 | }, 160 | { 161 | "Type": "Legend", 162 | "Notes": "Layer B.SilkS" 163 | } 164 | ] 165 | } 166 | -------------------------------------------------------------------------------- /extras/hardware/kicad/display-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # Device_C 5 | # 6 | DEF Device_C C 0 10 N Y 1 F N 7 | F0 "C" 25 100 50 H V L CNN 8 | F1 "Device_C" 25 -100 50 H V L CNN 9 | F2 "" 38 -150 50 H I C CNN 10 | F3 "" 0 0 50 H I C CNN 11 | $FPLIST 12 | C_* 13 | $ENDFPLIST 14 | DRAW 15 | P 2 0 1 20 -80 -30 80 -30 N 16 | P 2 0 1 20 -80 30 80 30 N 17 | X ~ 1 0 150 110 D 50 50 1 1 P 18 | X ~ 2 0 -150 110 U 50 50 1 1 P 19 | ENDDRAW 20 | ENDDEF 21 | # 22 | # Device_R 23 | # 24 | DEF Device_R R 0 0 N Y 1 F N 25 | F0 "R" 80 0 50 V V C CNN 26 | F1 "Device_R" 0 0 50 V V C CNN 27 | F2 "" -70 0 50 V I C CNN 28 | F3 "" 0 0 50 H I C CNN 29 | $FPLIST 30 | R_* 31 | $ENDFPLIST 32 | DRAW 33 | S -40 -100 40 100 0 1 10 N 34 | X ~ 1 0 150 50 D 50 50 1 1 P 35 | X ~ 2 0 -150 50 U 50 50 1 1 P 36 | ENDDRAW 37 | ENDDEF 38 | # 39 | # driver-board_ER-TFT040-2 40 | # 41 | DEF driver-board_ER-TFT040-2 U 0 40 Y Y 1 F N 42 | F0 "U" 0 3100 50 H V C CNN 43 | F1 "driver-board_ER-TFT040-2" 0 -3000 50 H V C CNN 44 | F2 "" -100 2000 50 H I C CNN 45 | F3 "" -100 2000 50 H I C CNN 46 | DRAW 47 | S -150 3050 200 -2950 0 1 0 N 48 | X VCI 1 -250 -2900 100 R 50 50 1 1 W 49 | X DC 10 -250 -2000 100 R 50 50 1 1 I 50 | X SCL 11 -250 -1900 100 R 50 50 1 1 I 51 | X CS 12 -250 -1800 100 R 50 50 1 1 I 52 | X RES 13 -250 -1700 100 R 50 50 1 1 I 53 | X D23 14 -250 -1600 100 R 50 50 1 1 I 54 | X D22 15 -250 -1500 100 R 50 50 1 1 I 55 | X D21 16 -250 -1400 100 R 50 50 1 1 I 56 | X D20 17 -250 -1300 100 R 50 50 1 1 I 57 | X D19 18 -250 -1200 100 R 50 50 1 1 I 58 | X D18 19 -250 -1100 100 R 50 50 1 1 I 59 | X VDDI 2 -250 -2800 100 R 50 50 1 1 W 60 | X D17 20 -250 -1000 100 R 50 50 1 1 I 61 | X D16 21 -250 -900 100 R 50 50 1 1 I 62 | X D15 22 -250 -800 100 R 50 50 1 1 I 63 | X D14 23 -250 -700 100 R 50 50 1 1 I 64 | X D13 24 -250 -600 100 R 50 50 1 1 I 65 | X D12 25 -250 -500 100 R 50 50 1 1 I 66 | X D11 26 -250 -400 100 R 50 50 1 1 I 67 | X D10 27 -250 -300 100 R 50 50 1 1 I 68 | X D9 28 -250 -200 100 R 50 50 1 1 I 69 | X D8 29 -250 -100 100 R 50 50 1 1 I 70 | X IM3 3 -250 -2700 100 R 50 50 1 1 I 71 | X D7 30 -250 0 100 R 50 50 1 1 I 72 | X D6 31 -250 100 100 R 50 50 1 1 I 73 | X D5 32 -250 200 100 R 50 50 1 1 I 74 | X D4 33 -250 300 100 R 50 50 1 1 I 75 | X D3 34 -250 400 100 R 50 50 1 1 I 76 | X D2 35 -250 500 100 R 50 50 1 1 I 77 | X D1 36 -250 600 100 R 50 50 1 1 I 78 | X D0 37 -250 700 100 R 50 50 1 1 I 79 | X GND 38 -250 800 100 R 50 50 1 1 W 80 | X DE 39 -250 900 100 R 50 50 1 1 I 81 | X IM2 4 -250 -2600 100 R 50 50 1 1 I 82 | X PCLK 40 -250 1000 100 R 50 50 1 1 I 83 | X HSYNC 41 -250 1100 100 R 50 50 1 1 I 84 | X VSYNC 42 -250 1200 100 R 50 50 1 1 I 85 | X GND 43 -250 1300 100 R 50 50 1 1 W 86 | X D1-P 44 -250 1400 100 R 50 50 1 1 B 87 | X D1-N 45 -250 1500 100 R 50 50 1 1 B 88 | X CLK-P 46 -250 1600 100 R 50 50 1 1 I 89 | X CLK-N 47 -250 1700 100 R 50 50 1 1 I 90 | X D0-P 48 -250 1800 100 R 50 50 1 1 B 91 | X D0-N 49 -250 1900 100 R 50 50 1 1 B 92 | X IM1 5 -250 -2500 100 R 50 50 1 1 I 93 | X GND 50 -250 2000 100 R 50 50 1 1 W 94 | X NC 51 -250 2100 100 R 50 50 1 1 N 95 | X NC 52 -250 2200 100 R 50 50 1 1 N 96 | X NC 53 -250 2300 100 R 50 50 1 1 N 97 | X NC 54 -250 2400 100 R 50 50 1 1 N 98 | X NC 55 -250 2500 100 R 50 50 1 1 N 99 | X NC 56 -250 2600 100 R 50 50 1 1 N 100 | X GND 57 -250 2700 100 R 50 50 1 1 W 101 | X LED_K1 58 -250 2800 100 R 50 50 1 1 W 102 | X LED_K2 59 -250 2900 100 R 50 50 1 1 W 103 | X IM0 6 -250 -2400 100 R 50 50 1 1 I 104 | X LED_A 60 -250 3000 100 R 50 50 1 1 W 105 | X NC 7 -250 -2300 100 R 50 50 1 1 N 106 | X MISO 8 -250 -2200 100 R 50 50 1 1 O 107 | X MOSI 9 -250 -2100 100 R 50 50 1 1 I 108 | ENDDRAW 109 | ENDDEF 110 | # 111 | # power_+12V 112 | # 113 | DEF power_+12V #PWR 0 0 Y Y 1 F P 114 | F0 "#PWR" 0 -150 50 H I C CNN 115 | F1 "power_+12V" 0 140 50 H V C CNN 116 | F2 "" 0 0 50 H I C CNN 117 | F3 "" 0 0 50 H I C CNN 118 | DRAW 119 | P 2 0 1 0 -30 50 0 100 N 120 | P 2 0 1 0 0 0 0 100 N 121 | P 2 0 1 0 0 100 30 50 N 122 | X +12V 1 0 0 0 U 50 50 1 1 W N 123 | ENDDRAW 124 | ENDDEF 125 | # 126 | # power_+3V0 127 | # 128 | DEF power_+3V0 #PWR 0 0 Y Y 1 F P 129 | F0 "#PWR" 0 -150 50 H I C CNN 130 | F1 "power_+3V0" 0 140 50 H V C CNN 131 | F2 "" 0 0 50 H I C CNN 132 | F3 "" 0 0 50 H I C CNN 133 | DRAW 134 | P 2 0 1 0 -30 50 0 100 N 135 | P 2 0 1 0 0 0 0 100 N 136 | P 2 0 1 0 0 100 30 50 N 137 | X +3V0 1 0 0 0 U 50 50 1 1 W N 138 | ENDDRAW 139 | ENDDEF 140 | # 141 | # power_GND 142 | # 143 | DEF power_GND #PWR 0 0 Y Y 1 F P 144 | F0 "#PWR" 0 -250 50 H I C CNN 145 | F1 "power_GND" 0 -150 50 H V C CNN 146 | F2 "" 0 0 50 H I C CNN 147 | F3 "" 0 0 50 H I C CNN 148 | DRAW 149 | P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N 150 | X GND 1 0 0 0 D 50 50 1 1 W N 151 | ENDDRAW 152 | ENDDEF 153 | # 154 | #End Library 155 | -------------------------------------------------------------------------------- /extras/hardware/kicad/driver-board.pro: -------------------------------------------------------------------------------- 1 | update=Saturday, 18 July 2020 at 10:29:01 2 | version=1 3 | last_client=kicad 4 | [general] 5 | version=1 6 | RootSch= 7 | BoardNm= 8 | [cvpcb] 9 | version=1 10 | NetIExt=net 11 | [eeschema] 12 | version=1 13 | LibDir= 14 | [eeschema/libraries] 15 | [schematic_editor] 16 | version=1 17 | PageLayoutDescrFile= 18 | PlotDirectoryName=../assets/schematics/ 19 | SubpartIdSeparator=0 20 | SubpartFirstId=65 21 | NetFmtName=Pcbnew 22 | SpiceAjustPassiveValues=0 23 | LabSize=50 24 | ERC_TestSimilarLabels=1 25 | [pcbnew] 26 | version=1 27 | PageLayoutDescrFile= 28 | LastNetListRead=driver-board.net 29 | CopperLayerCount=4 30 | BoardThickness=1.6 31 | AllowMicroVias=0 32 | AllowBlindVias=0 33 | RequireCourtyardDefinitions=0 34 | ProhibitOverlappingCourtyards=1 35 | MinTrackWidth=0.25 36 | MinViaDiameter=0.45 37 | MinViaDrill=0.2 38 | MinMicroViaDiameter=0.2 39 | MinMicroViaDrill=0.09999999999999999 40 | MinHoleToHole=0.25 41 | TrackWidth1=0.25 42 | TrackWidth2=0.25 43 | TrackWidth3=0.4 44 | TrackWidth4=0.75 45 | ViaDiameter1=0.45 46 | ViaDrill1=0.2 47 | ViaDiameter2=0.45 48 | ViaDrill2=0.3 49 | ViaDiameter3=0.65 50 | ViaDrill3=0.4 51 | ViaDiameter4=0.75 52 | ViaDrill4=0.5 53 | dPairWidth1=0.25 54 | dPairGap1=0.25 55 | dPairViaGap1=0.25 56 | SilkLineWidth=0.12 57 | SilkTextSizeV=0.7999999999999999 58 | SilkTextSizeH=0.7999999999999999 59 | SilkTextSizeThickness=0.15 60 | SilkTextItalic=0 61 | SilkTextUpright=1 62 | CopperLineWidth=0.2 63 | CopperTextSizeV=1.5 64 | CopperTextSizeH=1.5 65 | CopperTextThickness=0.3 66 | CopperTextItalic=0 67 | CopperTextUpright=1 68 | EdgeCutLineWidth=0.05 69 | CourtyardLineWidth=0.05 70 | OthersLineWidth=0.15 71 | OthersTextSizeV=1 72 | OthersTextSizeH=1 73 | OthersTextSizeThickness=0.15 74 | OthersTextItalic=0 75 | OthersTextUpright=1 76 | SolderMaskClearance=0.05 77 | SolderMaskMinWidth=0 78 | SolderPasteClearance=0 79 | SolderPasteRatio=-0 80 | [pcbnew/Layer.F.Cu] 81 | Name=F.Cu 82 | Type=0 83 | Enabled=1 84 | [pcbnew/Layer.In1.Cu] 85 | Name=In1.Cu 86 | Type=1 87 | Enabled=1 88 | [pcbnew/Layer.In2.Cu] 89 | Name=In2.Cu 90 | Type=1 91 | Enabled=1 92 | [pcbnew/Layer.In3.Cu] 93 | Name=In3.Cu 94 | Type=0 95 | Enabled=0 96 | [pcbnew/Layer.In4.Cu] 97 | Name=In4.Cu 98 | Type=0 99 | Enabled=0 100 | [pcbnew/Layer.In5.Cu] 101 | Name=In5.Cu 102 | Type=0 103 | Enabled=0 104 | [pcbnew/Layer.In6.Cu] 105 | Name=In6.Cu 106 | Type=0 107 | Enabled=0 108 | [pcbnew/Layer.In7.Cu] 109 | Name=In7.Cu 110 | Type=0 111 | Enabled=0 112 | [pcbnew/Layer.In8.Cu] 113 | Name=In8.Cu 114 | Type=0 115 | Enabled=0 116 | [pcbnew/Layer.In9.Cu] 117 | Name=In9.Cu 118 | Type=0 119 | Enabled=0 120 | [pcbnew/Layer.In10.Cu] 121 | Name=In10.Cu 122 | Type=0 123 | Enabled=0 124 | [pcbnew/Layer.In11.Cu] 125 | Name=In11.Cu 126 | Type=0 127 | Enabled=0 128 | [pcbnew/Layer.In12.Cu] 129 | Name=In12.Cu 130 | Type=0 131 | Enabled=0 132 | [pcbnew/Layer.In13.Cu] 133 | Name=In13.Cu 134 | Type=0 135 | Enabled=0 136 | [pcbnew/Layer.In14.Cu] 137 | Name=In14.Cu 138 | Type=0 139 | Enabled=0 140 | [pcbnew/Layer.In15.Cu] 141 | Name=In15.Cu 142 | Type=0 143 | Enabled=0 144 | [pcbnew/Layer.In16.Cu] 145 | Name=In16.Cu 146 | Type=0 147 | Enabled=0 148 | [pcbnew/Layer.In17.Cu] 149 | Name=In17.Cu 150 | Type=0 151 | Enabled=0 152 | [pcbnew/Layer.In18.Cu] 153 | Name=In18.Cu 154 | Type=0 155 | Enabled=0 156 | [pcbnew/Layer.In19.Cu] 157 | Name=In19.Cu 158 | Type=0 159 | Enabled=0 160 | [pcbnew/Layer.In20.Cu] 161 | Name=In20.Cu 162 | Type=0 163 | Enabled=0 164 | [pcbnew/Layer.In21.Cu] 165 | Name=In21.Cu 166 | Type=0 167 | Enabled=0 168 | [pcbnew/Layer.In22.Cu] 169 | Name=In22.Cu 170 | Type=0 171 | Enabled=0 172 | [pcbnew/Layer.In23.Cu] 173 | Name=In23.Cu 174 | Type=0 175 | Enabled=0 176 | [pcbnew/Layer.In24.Cu] 177 | Name=In24.Cu 178 | Type=0 179 | Enabled=0 180 | [pcbnew/Layer.In25.Cu] 181 | Name=In25.Cu 182 | Type=0 183 | Enabled=0 184 | [pcbnew/Layer.In26.Cu] 185 | Name=In26.Cu 186 | Type=0 187 | Enabled=0 188 | [pcbnew/Layer.In27.Cu] 189 | Name=In27.Cu 190 | Type=0 191 | Enabled=0 192 | [pcbnew/Layer.In28.Cu] 193 | Name=In28.Cu 194 | Type=0 195 | Enabled=0 196 | [pcbnew/Layer.In29.Cu] 197 | Name=In29.Cu 198 | Type=0 199 | Enabled=0 200 | [pcbnew/Layer.In30.Cu] 201 | Name=In30.Cu 202 | Type=0 203 | Enabled=0 204 | [pcbnew/Layer.B.Cu] 205 | Name=B.Cu 206 | Type=0 207 | Enabled=1 208 | [pcbnew/Layer.B.Adhes] 209 | Enabled=1 210 | [pcbnew/Layer.F.Adhes] 211 | Enabled=1 212 | [pcbnew/Layer.B.Paste] 213 | Enabled=1 214 | [pcbnew/Layer.F.Paste] 215 | Enabled=1 216 | [pcbnew/Layer.B.SilkS] 217 | Enabled=1 218 | [pcbnew/Layer.F.SilkS] 219 | Enabled=1 220 | [pcbnew/Layer.B.Mask] 221 | Enabled=1 222 | [pcbnew/Layer.F.Mask] 223 | Enabled=1 224 | [pcbnew/Layer.Dwgs.User] 225 | Enabled=1 226 | [pcbnew/Layer.Cmts.User] 227 | Enabled=1 228 | [pcbnew/Layer.Eco1.User] 229 | Enabled=1 230 | [pcbnew/Layer.Eco2.User] 231 | Enabled=1 232 | [pcbnew/Layer.Edge.Cuts] 233 | Enabled=1 234 | [pcbnew/Layer.Margin] 235 | Enabled=1 236 | [pcbnew/Layer.B.CrtYd] 237 | Enabled=1 238 | [pcbnew/Layer.F.CrtYd] 239 | Enabled=1 240 | [pcbnew/Layer.B.Fab] 241 | Enabled=1 242 | [pcbnew/Layer.F.Fab] 243 | Enabled=1 244 | [pcbnew/Layer.Rescue] 245 | Enabled=0 246 | [pcbnew/Netclasses] 247 | [pcbnew/Netclasses/Default] 248 | Name=Default 249 | Clearance=0.2 250 | TrackWidth=0.25 251 | ViaDiameter=0.45 252 | ViaDrill=0.2 253 | uViaDiameter=0.3 254 | uViaDrill=0.1 255 | dPairWidth=0.25 256 | dPairGap=0.25 257 | dPairViaGap=0.25 258 | -------------------------------------------------------------------------------- /extras/hardware/kicad/level-shifter.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 4 2 | EELAYER 30 0 3 | EELAYER END 4 | $Descr A4 11693 8268 5 | encoding utf-8 6 | Sheet 2 8 7 | Title "FT81x TFT040 Driver Board" 8 | Date "2020-07-19" 9 | Rev "2007E" 10 | Comp "" 11 | Comment1 "" 12 | Comment2 "" 13 | Comment3 "" 14 | Comment4 "" 15 | $EndDescr 16 | Wire Wire Line 17 | 6500 4000 6750 4000 18 | Wire Wire Line 19 | 6500 4100 6750 4100 20 | Wire Wire Line 21 | 6500 4200 6750 4200 22 | Wire Wire Line 23 | 6500 4300 6750 4300 24 | Wire Wire Line 25 | 6500 4400 6750 4400 26 | Wire Wire Line 27 | 6500 4500 6750 4500 28 | Wire Wire Line 29 | 5700 4000 5450 4000 30 | Wire Wire Line 31 | 5700 4100 5450 4100 32 | Wire Wire Line 33 | 5450 4200 5700 4200 34 | Wire Wire Line 35 | 5700 4300 5450 4300 36 | Wire Wire Line 37 | 5450 4400 5700 4400 38 | Wire Wire Line 39 | 5700 4500 5450 4500 40 | $Comp 41 | L Device:C C1 42 | U 1 1 5F00A49A 43 | P 5750 5300 44 | F 0 "C1" H 5600 5400 50 0000 L CNN 45 | F 1 "100nF" H 5800 5400 50 0000 L CNN 46 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 5788 5150 50 0001 C CNN 47 | F 3 "~" H 5750 5300 50 0001 C CNN 48 | F 4 "C14663" H 5750 5300 50 0001 C CNN "LCSC" 49 | F 5 "" H 5750 5300 50 0001 C CNN "DigiKey" 50 | F 6 "CC0603KPX7R7BB104" H 5750 5300 50 0001 C CNN "Mfg Part #" 51 | F 7 "CAP CER 0.1UF 16V X7R 0603" H 5750 5300 50 0001 C CNN "Description" 52 | F 8 "Yageo" H 5750 5300 50 0001 C CNN "Manufacturer" 53 | 1 5750 5300 54 | 1 0 0 -1 55 | $EndComp 56 | $Comp 57 | L Device:C C2 58 | U 1 1 5F00BB54 59 | P 6450 5300 60 | F 0 "C2" H 6300 5400 50 0000 L CNN 61 | F 1 "100nF" H 6500 5400 50 0000 L CNN 62 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 6488 5150 50 0001 C CNN 63 | F 3 "~" H 6450 5300 50 0001 C CNN 64 | F 4 "C14663" H 6450 5300 50 0001 C CNN "LCSC" 65 | F 5 "" H 6450 5300 50 0001 C CNN "DigiKey" 66 | F 6 "CC0603KPX7R7BB104" H 6450 5300 50 0001 C CNN "Mfg Part #" 67 | F 7 "CAP CER 0.1UF 16V X7R 0603" H 6450 5300 50 0001 C CNN "Description" 68 | F 8 "Yageo" H 6450 5300 50 0001 C CNN "Manufacturer" 69 | 1 6450 5300 70 | 1 0 0 -1 71 | $EndComp 72 | $Comp 73 | L power:GND #PWR04 74 | U 1 1 5EFFBD0D 75 | P 6500 4600 76 | F 0 "#PWR04" H 6500 4350 50 0001 C CNN 77 | F 1 "GND" V 6500 4500 50 0000 R CNN 78 | F 2 "" H 6500 4600 50 0001 C CNN 79 | F 3 "" H 6500 4600 50 0001 C CNN 80 | 1 6500 4600 81 | 0 -1 -1 0 82 | $EndComp 83 | Text GLabel 6750 4000 2 50 Input ~ 0 84 | DC 85 | Text GLabel 6750 4500 2 50 Input ~ 0 86 | SCK 87 | Text GLabel 6750 4400 2 50 Output ~ 0 88 | SDI 89 | Text GLabel 6750 4300 2 50 Input ~ 0 90 | SDO 91 | Text GLabel 6750 4200 2 50 Input ~ 0 92 | CS1 93 | Text GLabel 6750 4100 2 50 Input ~ 0 94 | CS2 95 | Text GLabel 5450 4500 0 50 Output ~ 0 96 | SCK_3V 97 | Text GLabel 5450 4400 0 50 Input ~ 0 98 | SDI_3V 99 | Text GLabel 5450 4300 0 50 Output ~ 0 100 | SDO_3V 101 | Text GLabel 5450 4200 0 50 Output ~ 0 102 | CS1_3V 103 | Text GLabel 5450 4100 0 50 Output ~ 0 104 | CS2_3V 105 | Text GLabel 5450 4000 0 50 Output ~ 0 106 | DC_3V 107 | $Comp 108 | L power:GND #PWR08 109 | U 1 1 5F01AD89 110 | P 6450 5450 111 | F 0 "#PWR08" H 6450 5200 50 0001 C CNN 112 | F 1 "GND" H 6455 5277 50 0000 C CNN 113 | F 2 "" H 6450 5450 50 0001 C CNN 114 | F 3 "" H 6450 5450 50 0001 C CNN 115 | 1 6450 5450 116 | 1 0 0 -1 117 | $EndComp 118 | $Comp 119 | L power:GND #PWR07 120 | U 1 1 5F01FBCD 121 | P 5750 5450 122 | F 0 "#PWR07" H 5750 5200 50 0001 C CNN 123 | F 1 "GND" H 5755 5277 50 0000 C CNN 124 | F 2 "" H 5750 5450 50 0001 C CNN 125 | F 3 "" H 5750 5450 50 0001 C CNN 126 | 1 5750 5450 127 | 1 0 0 -1 128 | $EndComp 129 | $Comp 130 | L power:+3V0 #PWR01 131 | U 1 1 5F04354C 132 | P 5700 3800 133 | F 0 "#PWR01" H 5700 3650 50 0001 C CNN 134 | F 1 "+3V0" V 5700 3900 50 0000 L CNN 135 | F 2 "" H 5700 3800 50 0001 C CNN 136 | F 3 "" H 5700 3800 50 0001 C CNN 137 | 1 5700 3800 138 | 0 -1 -1 0 139 | $EndComp 140 | $Comp 141 | L power:+3V0 #PWR03 142 | U 1 1 5F04366B 143 | P 5700 4600 144 | F 0 "#PWR03" H 5700 4450 50 0001 C CNN 145 | F 1 "+3V0" V 5700 4700 50 0000 L CNN 146 | F 2 "" H 5700 4600 50 0001 C CNN 147 | F 3 "" H 5700 4600 50 0001 C CNN 148 | 1 5700 4600 149 | 0 -1 -1 0 150 | $EndComp 151 | $Comp 152 | L power:+3V0 #PWR05 153 | U 1 1 5F04412C 154 | P 5750 5150 155 | F 0 "#PWR05" H 5750 5000 50 0001 C CNN 156 | F 1 "+3V0" H 5765 5323 50 0000 C CNN 157 | F 2 "" H 5750 5150 50 0001 C CNN 158 | F 3 "" H 5750 5150 50 0001 C CNN 159 | 1 5750 5150 160 | 1 0 0 -1 161 | $EndComp 162 | $Comp 163 | L power:VCC #PWR02 164 | U 1 1 5F049AAE 165 | P 6500 3800 166 | F 0 "#PWR02" H 6500 3650 50 0001 C CNN 167 | F 1 "VCC" V 6500 3900 50 0000 L CNN 168 | F 2 "" H 6500 3800 50 0001 C CNN 169 | F 3 "" H 6500 3800 50 0001 C CNN 170 | 1 6500 3800 171 | 0 1 1 0 172 | $EndComp 173 | $Comp 174 | L power:VCC #PWR06 175 | U 1 1 5F049E76 176 | P 6450 5150 177 | F 0 "#PWR06" H 6450 5000 50 0001 C CNN 178 | F 1 "VCC" H 6465 5323 50 0000 C CNN 179 | F 2 "" H 6450 5150 50 0001 C CNN 180 | F 3 "" H 6450 5150 50 0001 C CNN 181 | 1 6450 5150 182 | 1 0 0 -1 183 | $EndComp 184 | $Comp 185 | L driver-board:TXS0108E U1 186 | U 1 1 5EFFB6A5 187 | P 6100 4150 188 | F 0 "U1" H 6100 4915 50 0000 C CNN 189 | F 1 "TXS0108E" H 6100 4824 50 0000 C CNN 190 | F 2 "Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm" H 6100 4150 50 0001 C CNN 191 | F 3 "" H 6100 4150 50 0001 C CNN 192 | F 4 "C17206" H 6100 4150 50 0001 C CNN "LCSC" 193 | F 5 "" H 6100 4150 50 0001 C CNN "DigiKey" 194 | F 6 "TXS0108EPWR" H 6100 4150 50 0001 C CNN "Mfg Part #" 195 | F 7 "IC TRNSLTR BIDIRECTIONAL 20TSSOP" H 6100 4150 50 0001 C CNN "Description" 196 | F 8 "Texas Instruments" H 6100 4150 50 0001 C CNN "Manufacturer" 197 | 1 6100 4150 198 | 1 0 0 -1 199 | $EndComp 200 | NoConn ~ 6500 3700 201 | NoConn ~ 5700 3700 202 | Wire Wire Line 203 | 6500 3900 6750 3900 204 | Text GLabel 6750 3900 2 50 Output ~ 0 205 | IRQ 206 | Wire Wire Line 207 | 5700 3900 5450 3900 208 | Text GLabel 5450 3900 0 50 Input ~ 0 209 | IRQ_3V 210 | $EndSCHEMATC 211 | -------------------------------------------------------------------------------- /src/platforms/teensy/ChipSelect.h: -------------------------------------------------------------------------------- 1 | /** 2 | * The MIT License (MIT) 3 | * 4 | * Copyright (c) 2014 crteensy 5 | * 6 | * Permission is hereby granted, free of charge, to any person obtaining a copy 7 | * of this software and associated documentation files (the "Software"), to deal 8 | * in the Software without restriction, including without limitation the rights 9 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | * copies of the Software, and to permit persons to whom the Software is 11 | * furnished to do so, subject to the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included in all 14 | * copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | * SOFTWARE. 23 | **/ 24 | 25 | #ifndef CHIPSELECT_H 26 | #define CHIPSELECT_H 27 | 28 | #include 29 | 30 | /** \brief An abstract base class that provides an interface for chip select classes. 31 | **/ 32 | class AbstractChipSelect { 33 | public: 34 | /** \brief Called to select a chip. The implementing class can do other things as well. 35 | **/ 36 | virtual void select() = 0; 37 | 38 | /** \brief Called to deselect a chip. The implementing class can do other things as well. 39 | **/ 40 | virtual void deselect() = 0; 41 | 42 | /** \brief the virtual destructor needed to inherit from this class **/ 43 | virtual ~AbstractChipSelect() {} 44 | }; 45 | 46 | /** \brief "do nothing" chip select class **/ 47 | class DummyChipSelect : public AbstractChipSelect { 48 | void select() override {} 49 | 50 | void deselect() override {} 51 | }; 52 | 53 | /** \brief "do nothing" chip select class that 54 | * outputs a message through Serial when something happens 55 | **/ 56 | class DebugChipSelect : public AbstractChipSelect { 57 | void select() override { Serial.println("Debug CS: select()"); } 58 | void deselect() override { Serial.println("Debug CS: deselect()"); } 59 | }; 60 | 61 | /** \brief An active low chip select class. This also configures the given pin. 62 | * Warning: This class is hardcoded to manage a transaction on SPI (SPI0, that is). 63 | * If you want to use SPI1: Use AbstractChipSelect1 (see below) 64 | * If you want to use SPI2: Create AbstractChipSelect2 (adapt the implementation accordingly). 65 | * Something more flexible is on the way. 66 | **/ 67 | class ActiveLowChipSelect : public AbstractChipSelect { 68 | public: 69 | /** Configures a chip select pin for OUTPUT mode, 70 | * manages the chip selection and a corresponding SPI transaction 71 | * 72 | * The chip select pin is asserted \e after the SPI settings are applied 73 | * and deasserted before the SPI transaction ends. 74 | * \param pin the CS pin to use 75 | * \param settings which SPI settings to apply when the chip is selected 76 | **/ 77 | ActiveLowChipSelect(const unsigned int& pin, const SPISettings& settings) : pin_(pin), settings_(settings) { 78 | pinMode(pin, OUTPUT); 79 | digitalWriteFast(pin, 1); 80 | } 81 | 82 | /** \brief begins an SPI transaction selects the chip (sets the pin to low) and 83 | **/ 84 | void select() override { 85 | SPI.beginTransaction(settings_); 86 | digitalWriteFast(pin_, 0); 87 | } 88 | 89 | /** \brief deselects the chip (sets the pin to high) and ends the SPI transaction 90 | **/ 91 | void deselect() override { 92 | digitalWriteFast(pin_, 1); 93 | SPI.endTransaction(); 94 | } 95 | 96 | private: 97 | const unsigned int pin_; 98 | const SPISettings settings_; 99 | }; 100 | 101 | class ActiveLowChipSelectStart : public AbstractChipSelect { 102 | public: 103 | /** Configures a chip select pin for OUTPUT mode, 104 | * manages the chip selection and a corresponding SPI transaction 105 | * 106 | * The chip select pin is asserted \e after the SPI settings are applied 107 | * and deasserted before the SPI transaction ends. 108 | * \param pin the CS pin to use 109 | * \param settings which SPI settings to apply when the chip is selected 110 | **/ 111 | ActiveLowChipSelectStart(const unsigned int& pin, const SPISettings& settings) : pin_(pin), settings_(settings) { 112 | pinMode(pin, OUTPUT); 113 | digitalWriteFast(pin, 1); 114 | } 115 | 116 | /** \brief begins an SPI transaction selects the chip (sets the pin to low) and 117 | **/ 118 | void select() override { 119 | SPI.beginTransaction(settings_); 120 | digitalWriteFast(pin_, 0); 121 | } 122 | 123 | void deselect() override {} 124 | 125 | private: 126 | const unsigned int pin_; 127 | const SPISettings settings_; 128 | }; 129 | 130 | class ActiveLowChipSelectEnd : public AbstractChipSelect { 131 | public: 132 | /** Configures a chip select pin for OUTPUT mode, 133 | * manages the chip selection and a corresponding SPI transaction 134 | * 135 | * The chip select pin is asserted \e after the SPI settings are applied 136 | * and deasserted before the SPI transaction ends. 137 | * \param pin the CS pin to use 138 | * \param settings which SPI settings to apply when the chip is selected 139 | **/ 140 | ActiveLowChipSelectEnd(const unsigned int& pin, const SPISettings& settings) : pin_(pin), settings_(settings) { 141 | pinMode(pin, OUTPUT); 142 | digitalWriteFast(pin, 1); 143 | } 144 | 145 | void select() override {} 146 | 147 | /** \brief deselects the chip (sets the pin to high) and ends the SPI transaction 148 | **/ 149 | void deselect() override { 150 | digitalWriteFast(pin_, 1); 151 | SPI.endTransaction(); 152 | } 153 | 154 | private: 155 | const unsigned int pin_; 156 | const SPISettings settings_; 157 | }; 158 | 159 | #if defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1062__) || defined(__MKL26Z64__) 160 | class ActiveLowChipSelect1 : public AbstractChipSelect { 161 | public: 162 | /** Equivalent to AbstractChipSelect, but for SPI1. 163 | **/ 164 | ActiveLowChipSelect1(const unsigned int& pin, const SPISettings& settings) : pin_(pin), settings_(settings) { 165 | pinMode(pin, OUTPUT); 166 | digitalWriteFast(pin, 1); 167 | } 168 | 169 | /** \brief begins an SPI transaction selects the chip (sets the pin to low) and 170 | **/ 171 | void select() override { 172 | SPI1.beginTransaction(settings_); 173 | digitalWriteFast(pin_, 0); 174 | } 175 | 176 | /** \brief deselects the chip (sets the pin to high) and ends the SPI transaction 177 | **/ 178 | void deselect() override { 179 | digitalWriteFast(pin_, 1); 180 | SPI1.endTransaction(); 181 | } 182 | 183 | private: 184 | const unsigned int pin_; 185 | const SPISettings settings_; 186 | }; 187 | 188 | #endif // SPI1 only on some hardware 189 | #endif // CHIPSELECT_H 190 | -------------------------------------------------------------------------------- /extras/hardware/kicad/driver-board.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # AIC1748 5 | # 6 | DEF AIC1748 U 0 40 Y Y 1 F N 7 | F0 "U" 0 250 50 H V C CNN 8 | F1 "AIC1748" 200 -250 50 H V C CNN 9 | F2 "" 0 0 50 H I C CNN 10 | F3 "" 0 0 50 H I C CNN 11 | DRAW 12 | S -250 200 250 -200 0 1 0 N 13 | X GND 1 0 -300 100 U 50 50 1 1 W 14 | X VOUT 2 350 100 100 L 50 50 1 1 w 15 | X VIN 3 -350 100 100 R 50 50 1 1 W 16 | ENDDRAW 17 | ENDDEF 18 | # 19 | # ER-TFT040-2 20 | # 21 | DEF ER-TFT040-2 U 0 40 Y Y 1 F N 22 | F0 "U" 0 3100 50 H V C CNN 23 | F1 "ER-TFT040-2" 0 -3000 50 H V C CNN 24 | F2 "" -100 2000 50 H I C CNN 25 | F3 "" -100 2000 50 H I C CNN 26 | DRAW 27 | S -150 3050 200 -2950 0 1 0 N 28 | X VCI 1 -250 -2900 100 R 50 50 1 1 W 29 | X DC 10 -250 -2000 100 R 50 50 1 1 I 30 | X SCL 11 -250 -1900 100 R 50 50 1 1 I 31 | X ~CS 12 -250 -1800 100 R 50 50 1 1 I 32 | X ~RES 13 -250 -1700 100 R 50 50 1 1 I 33 | X D23 14 -250 -1600 100 R 50 50 1 1 I 34 | X D22 15 -250 -1500 100 R 50 50 1 1 I 35 | X D21 16 -250 -1400 100 R 50 50 1 1 I 36 | X D20 17 -250 -1300 100 R 50 50 1 1 I 37 | X D19 18 -250 -1200 100 R 50 50 1 1 I 38 | X D18 19 -250 -1100 100 R 50 50 1 1 I 39 | X VDDI 2 -250 -2800 100 R 50 50 1 1 W 40 | X D17 20 -250 -1000 100 R 50 50 1 1 I 41 | X D16 21 -250 -900 100 R 50 50 1 1 I 42 | X D15 22 -250 -800 100 R 50 50 1 1 I 43 | X D14 23 -250 -700 100 R 50 50 1 1 I 44 | X D13 24 -250 -600 100 R 50 50 1 1 I 45 | X D12 25 -250 -500 100 R 50 50 1 1 I 46 | X D11 26 -250 -400 100 R 50 50 1 1 I 47 | X D10 27 -250 -300 100 R 50 50 1 1 I 48 | X D9 28 -250 -200 100 R 50 50 1 1 I 49 | X D8 29 -250 -100 100 R 50 50 1 1 I 50 | X IM3 3 -250 -2700 100 R 50 50 1 1 I 51 | X D7 30 -250 0 100 R 50 50 1 1 I 52 | X D6 31 -250 100 100 R 50 50 1 1 I 53 | X D5 32 -250 200 100 R 50 50 1 1 I 54 | X D4 33 -250 300 100 R 50 50 1 1 I 55 | X D3 34 -250 400 100 R 50 50 1 1 I 56 | X D2 35 -250 500 100 R 50 50 1 1 I 57 | X D1 36 -250 600 100 R 50 50 1 1 I 58 | X D0 37 -250 700 100 R 50 50 1 1 I 59 | X GND 38 -250 800 100 R 50 50 1 1 W 60 | X DE 39 -250 900 100 R 50 50 1 1 I 61 | X IM2 4 -250 -2600 100 R 50 50 1 1 I 62 | X PCLK 40 -250 1000 100 R 50 50 1 1 I 63 | X HSYNC 41 -250 1100 100 R 50 50 1 1 I 64 | X VSYNC 42 -250 1200 100 R 50 50 1 1 I 65 | X GND 43 -250 1300 100 R 50 50 1 1 W 66 | X D1-P 44 -250 1400 100 R 50 50 1 1 B 67 | X D1-N 45 -250 1500 100 R 50 50 1 1 B 68 | X CLK-P 46 -250 1600 100 R 50 50 1 1 I 69 | X CLK-N 47 -250 1700 100 R 50 50 1 1 I 70 | X D0-P 48 -250 1800 100 R 50 50 1 1 B 71 | X D0-N 49 -250 1900 100 R 50 50 1 1 B 72 | X IM1 5 -250 -2500 100 R 50 50 1 1 I 73 | X GND 50 -250 2000 100 R 50 50 1 1 W 74 | X NC 51 -250 2100 100 R 50 50 1 1 N 75 | X NC 52 -250 2200 100 R 50 50 1 1 N 76 | X NC 53 -250 2300 100 R 50 50 1 1 N 77 | X NC 54 -250 2400 100 R 50 50 1 1 N 78 | X NC 55 -250 2500 100 R 50 50 1 1 N 79 | X NC 56 -250 2600 100 R 50 50 1 1 N 80 | X GND 57 -250 2700 100 R 50 50 1 1 W 81 | X LED_K1 58 -250 2800 100 R 50 50 1 1 W 82 | X LED_K2 59 -250 2900 100 R 50 50 1 1 W 83 | X IM0 6 -250 -2400 100 R 50 50 1 1 I 84 | X LED_A 60 -250 3000 100 R 50 50 1 1 W 85 | X NC 7 -250 -2300 100 R 50 50 1 1 N 86 | X SDO 8 -250 -2200 100 R 50 50 1 1 O 87 | X SDI 9 -250 -2100 100 R 50 50 1 1 I 88 | ENDDRAW 89 | ENDDEF 90 | # 91 | # FT813 92 | # 93 | DEF FT813 U 0 40 Y Y 1 F N 94 | F0 "U" 0 100 50 H V C CNN 95 | F1 "FT813" 0 -100 50 H V C CNN 96 | F2 "" 0 0 50 H I C CNN 97 | F3 "" 0 0 50 H I C CNN 98 | DRAW 99 | S -1050 750 1100 -750 0 1 0 N 100 | X R1 1 -1150 650 100 R 50 50 1 1 O 101 | X GPIO1 10 -1150 -250 100 R 50 50 1 1 B 102 | X VCCIO1 11 -1150 -350 100 R 50 50 1 1 W 103 | X GPIO2 12 -1150 -450 100 R 50 50 1 1 B 104 | X INT_N 13 -1150 -550 100 R 50 50 1 1 O 105 | X PD_N 14 -1150 -650 100 R 50 50 1 1 I 106 | X GPIO3 15 -600 -850 100 U 50 50 1 1 B 107 | X X1/CLK 16 -500 -850 100 U 50 50 1 1 I 108 | X X2 17 -400 -850 100 U 50 50 1 1 O 109 | X GND 18 -300 -850 100 U 50 50 1 1 W 110 | X VCC 19 -200 -850 100 U 50 50 1 1 W 111 | X R0 2 -1150 550 100 R 50 50 1 1 O 112 | X VOUT1V2 20 -100 -850 100 U 50 50 1 1 O 113 | X VCC 21 0 -850 100 U 50 50 1 1 W 114 | X VCCIO2 22 100 -850 100 U 50 50 1 1 W 115 | X CTP_RST_N 23 200 -850 100 U 50 50 1 1 O 116 | X CTP_INT_N 24 300 -850 100 U 50 50 1 1 I 117 | X CTP_SCL 25 400 -850 100 U 50 50 1 1 B 118 | X CTP_SDA 26 500 -850 100 U 50 50 1 1 B 119 | X GND 27 600 -850 100 U 50 50 1 1 W 120 | X BACKLIGHT 28 700 -850 100 U 50 50 1 1 O 121 | X DE 29 1200 -650 100 L 50 50 1 1 O 122 | X AUDIO_L 3 -1150 450 100 R 50 50 1 1 O 123 | X VSYNC 30 1200 -550 100 L 50 50 1 1 O 124 | X HSYNC 31 1200 -450 100 L 50 50 1 1 O 125 | X DISP 32 1200 -350 100 L 50 50 1 1 O 126 | X PCLK 33 1200 -250 100 L 50 50 1 1 O 127 | X B7 34 1200 -150 100 L 50 50 1 1 O 128 | X B6 35 1200 -50 100 L 50 50 1 1 O 129 | X B5 36 1200 50 100 L 50 50 1 1 O 130 | X B4 37 1200 150 100 L 50 50 1 1 O 131 | X B3 38 1200 250 100 L 50 50 1 1 O 132 | X B2 39 1200 350 100 L 50 50 1 1 O 133 | X GND 4 -1150 350 100 R 50 50 1 1 W 134 | X B1 40 1200 450 100 L 50 50 1 1 O 135 | X B0 41 1200 550 100 L 50 50 1 1 O 136 | X GND 42 1200 650 100 L 50 50 1 1 W 137 | X G7 43 700 850 100 D 50 50 1 1 O 138 | X G6 44 600 850 100 D 50 50 1 1 O 139 | X G5 45 500 850 100 D 50 50 1 1 O 140 | X G4 46 400 850 100 D 50 50 1 1 O 141 | X G3 47 300 850 100 D 50 50 1 1 O 142 | X G2 48 200 850 100 D 50 50 1 1 O 143 | X G1 49 100 850 100 D 50 50 1 1 O 144 | X SCK 5 -1150 250 100 R 50 50 1 1 I 145 | X G0 50 0 850 100 D 50 50 1 1 O 146 | X R7 51 -100 850 100 D 50 50 1 1 O 147 | X R6 52 -200 850 100 D 50 50 1 1 O 148 | X R5 53 -300 850 100 D 50 50 1 1 O 149 | X R4 54 -400 850 100 D 50 50 1 1 O 150 | X R3 55 -500 850 100 D 50 50 1 1 O 151 | X R2 56 -600 850 100 D 50 50 1 1 O 152 | X GND 57 0 300 100 R 50 50 1 1 W N 153 | X SDO 6 -1150 150 100 R 50 50 1 1 O 154 | X SDI 7 -1150 50 100 R 50 50 1 1 I 155 | X ~CS_N 8 -1150 -50 100 R 50 50 1 1 I 156 | X GPIO0 9 -1150 -150 100 R 50 50 1 1 B 157 | ENDDRAW 158 | ENDDEF 159 | # 160 | # ME6210 161 | # 162 | DEF ME6210 U 0 40 Y Y 1 F N 163 | F0 "U" 0 200 50 H V C CNN 164 | F1 "ME6210" 0 -650 50 H V C CNN 165 | F2 "Package_TO_SOT_SMD:SOT-23" 0 -750 50 H I C CNN 166 | F3 "" 0 0 50 H I C CNN 167 | DRAW 168 | S -250 150 250 -150 0 1 0 N 169 | X GND 1 0 -250 100 U 50 50 1 1 W 170 | X VOUT 2 350 100 100 L 50 50 1 1 w 171 | X VIN 3 -350 100 100 R 50 50 1 1 W 172 | ENDDRAW 173 | ENDDEF 174 | # 175 | # NC7SZ125 176 | # 177 | DEF NC7SZ125 U 0 40 Y Y 1 F N 178 | F0 "U" 0 200 50 H V C CNN 179 | F1 "NC7SZ125" 0 -200 50 H V C CNN 180 | F2 "" 0 -50 50 H I C CNN 181 | F3 "" 0 -50 50 H I C CNN 182 | DRAW 183 | S -250 150 250 -150 0 1 0 N 184 | X ~OE 1 -350 100 100 R 50 50 1 1 I 185 | X A 2 -350 0 100 R 50 50 1 1 I 186 | X GND 3 -350 -100 100 R 50 50 1 1 W 187 | X Y 4 350 -100 100 L 50 50 1 1 O 188 | X VCC 5 350 100 100 L 50 50 1 1 W 189 | ENDDRAW 190 | ENDDEF 191 | # 192 | # TXS0108E 193 | # 194 | DEF TXS0108E U 0 40 Y Y 1 F N 195 | F0 "U" 0 550 50 H V C CNN 196 | F1 "TXS0108E" 0 -550 50 H V C CNN 197 | F2 "" 0 0 50 H I C CNN 198 | F3 "" 0 0 50 H I C CNN 199 | DRAW 200 | S -300 500 300 -500 0 1 0 N 201 | X A1 1 -400 450 100 R 50 50 1 1 B 202 | X OE 10 -400 -450 100 R 50 50 1 1 I 203 | X GND 11 400 -450 100 L 50 50 1 1 W 204 | X B8 12 400 -350 100 L 50 50 1 1 B 205 | X B7 13 400 -250 100 L 50 50 1 1 B 206 | X B6 14 400 -150 100 L 50 50 1 1 B 207 | X B5 15 400 -50 100 L 50 50 1 1 B 208 | X B4 16 400 50 100 L 50 50 1 1 B 209 | X B3 17 400 150 100 L 50 50 1 1 B 210 | X B2 18 400 250 100 L 50 50 1 1 B 211 | X VCCB 19 400 350 100 L 50 50 1 1 W 212 | X VCCA 2 -400 350 100 R 50 50 1 1 W 213 | X B1 20 400 450 100 L 50 50 1 1 B 214 | X A2 3 -400 250 100 R 50 50 1 1 B 215 | X A3 4 -400 150 100 R 50 50 1 1 B 216 | X A4 5 -400 50 100 R 50 50 1 1 B 217 | X A5 6 -400 -50 100 R 50 50 1 1 B 218 | X A6 7 -400 -150 100 R 50 50 1 1 B 219 | X A7 8 -400 -250 100 R 50 50 1 1 B 220 | X A8 9 -400 -350 100 R 50 50 1 1 B 221 | ENDDRAW 222 | ENDDEF 223 | # 224 | # YSX321SL 225 | # 226 | DEF YSX321SL X 0 40 Y Y 1 F N 227 | F0 "X" 0 150 50 H V C CNN 228 | F1 "YSX321SL" 0 -750 50 H V C CNN 229 | F2 "" -50 0 50 H I C CNN 230 | F3 "" -50 0 50 H I C CNN 231 | DRAW 232 | S -150 100 150 -200 0 1 0 N 233 | X X1 1 -250 50 100 R 50 50 1 1 P 234 | X GND 2 -50 -300 100 U 50 50 1 1 W 235 | X X2 3 250 50 100 L 50 50 1 1 P 236 | X GND 4 50 -300 100 U 50 50 1 1 W 237 | ENDDRAW 238 | ENDDEF 239 | # 240 | #End Library 241 | -------------------------------------------------------------------------------- /extras/hardware/kicad/testpoints.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 4 2 | EELAYER 30 0 3 | EELAYER END 4 | $Descr A4 11693 8268 5 | encoding utf-8 6 | Sheet 8 8 7 | Title "FT81x TFT040 Driver Board" 8 | Date "2020-07-19" 9 | Rev "2007E" 10 | Comp "" 11 | Comment1 "" 12 | Comment2 "" 13 | Comment3 "" 14 | Comment4 "" 15 | $EndDescr 16 | $Comp 17 | L Connector:TestPoint TP1 18 | U 1 1 5F030E9E 19 | P 5250 2650 20 | F 0 "TP1" V 5250 3000 50 0000 C CNN 21 | F 1 "TestPoint" V 5354 2722 50 0001 C CNN 22 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 5450 2650 50 0001 C CNN 23 | F 3 "~" H 5450 2650 50 0001 C CNN 24 | 1 5250 2650 25 | 0 -1 -1 0 26 | $EndComp 27 | $Comp 28 | L power:+12V #PWR068 29 | U 1 1 5F0317D1 30 | P 5250 2650 31 | F 0 "#PWR068" H 5250 2500 50 0001 C CNN 32 | F 1 "+12V" V 5250 2750 50 0000 L CNN 33 | F 2 "" H 5250 2650 50 0001 C CNN 34 | F 3 "" H 5250 2650 50 0001 C CNN 35 | 1 5250 2650 36 | 0 1 1 0 37 | $EndComp 38 | $Comp 39 | L Connector:TestPoint TP3 40 | U 1 1 5F0327EC 41 | P 5250 2800 42 | F 0 "TP3" V 5250 3150 50 0000 C CNN 43 | F 1 "TestPoint" V 5354 2872 50 0001 C CNN 44 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 5450 2800 50 0001 C CNN 45 | F 3 "~" H 5450 2800 50 0001 C CNN 46 | 1 5250 2800 47 | 0 -1 -1 0 48 | $EndComp 49 | $Comp 50 | L power:+3.3V #PWR070 51 | U 1 1 5F032C4C 52 | P 5250 2800 53 | F 0 "#PWR070" H 5250 2650 50 0001 C CNN 54 | F 1 "+3.3V" V 5250 2900 50 0000 L CNN 55 | F 2 "" H 5250 2800 50 0001 C CNN 56 | F 3 "" H 5250 2800 50 0001 C CNN 57 | 1 5250 2800 58 | 0 1 1 0 59 | $EndComp 60 | $Comp 61 | L Connector:TestPoint TP5 62 | U 1 1 5F03331D 63 | P 5250 2950 64 | F 0 "TP5" V 5250 3300 50 0000 C CNN 65 | F 1 "TestPoint" V 5354 3022 50 0001 C CNN 66 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 5450 2950 50 0001 C CNN 67 | F 3 "~" H 5450 2950 50 0001 C CNN 68 | 1 5250 2950 69 | 0 -1 -1 0 70 | $EndComp 71 | $Comp 72 | L power:+3V0 #PWR072 73 | U 1 1 5F033611 74 | P 5250 2950 75 | F 0 "#PWR072" H 5250 2800 50 0001 C CNN 76 | F 1 "+3V0" V 5250 3050 50 0000 L CNN 77 | F 2 "" H 5250 2950 50 0001 C CNN 78 | F 3 "" H 5250 2950 50 0001 C CNN 79 | 1 5250 2950 80 | 0 1 1 0 81 | $EndComp 82 | $Comp 83 | L Connector:TestPoint TP2 84 | U 1 1 5F035E62 85 | P 6300 2650 86 | F 0 "TP2" V 6300 3000 50 0000 C CNN 87 | F 1 "TestPoint" V 6404 2722 50 0001 C CNN 88 | F 2 "TestPoint:TestPoint_Pad_1.0x1.0mm" H 6500 2650 50 0001 C CNN 89 | F 3 "~" H 6500 2650 50 0001 C CNN 90 | 1 6300 2650 91 | 0 -1 -1 0 92 | $EndComp 93 | $Comp 94 | L power:GND #PWR069 95 | U 1 1 5F0362A5 96 | P 6300 2650 97 | F 0 "#PWR069" H 6300 2400 50 0001 C CNN 98 | F 1 "GND" V 6300 2500 50 0000 R CNN 99 | F 2 "" H 6300 2650 50 0001 C CNN 100 | F 3 "" H 6300 2650 50 0001 C CNN 101 | 1 6300 2650 102 | 0 -1 -1 0 103 | $EndComp 104 | $Comp 105 | L Connector:TestPoint TP4 106 | U 1 1 5F0363CB 107 | P 6300 2800 108 | F 0 "TP4" V 6300 3150 50 0000 C CNN 109 | F 1 "TestPoint" V 6404 2872 50 0001 C CNN 110 | F 2 "TestPoint:TestPoint_Pad_1.0x1.0mm" H 6500 2800 50 0001 C CNN 111 | F 3 "~" H 6500 2800 50 0001 C CNN 112 | 1 6300 2800 113 | 0 -1 -1 0 114 | $EndComp 115 | $Comp 116 | L power:GND #PWR071 117 | U 1 1 5F0365F8 118 | P 6300 2800 119 | F 0 "#PWR071" H 6300 2550 50 0001 C CNN 120 | F 1 "GND" V 6300 2650 50 0000 R CNN 121 | F 2 "" H 6300 2800 50 0001 C CNN 122 | F 3 "" H 6300 2800 50 0001 C CNN 123 | 1 6300 2800 124 | 0 -1 -1 0 125 | $EndComp 126 | $Comp 127 | L Connector:TestPoint TP6 128 | U 1 1 5F042349 129 | P 5250 3200 130 | F 0 "TP6" V 5250 3550 50 0000 C CNN 131 | F 1 "TestPoint" V 5354 3272 50 0001 C CNN 132 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 5450 3200 50 0001 C CNN 133 | F 3 "~" H 5450 3200 50 0001 C CNN 134 | 1 5250 3200 135 | 0 -1 -1 0 136 | $EndComp 137 | Text GLabel 5250 3200 2 50 UnSpc ~ 0 138 | SCK_3V 139 | $Comp 140 | L Connector:TestPoint TP8 141 | U 1 1 5F042350 142 | P 5250 3350 143 | F 0 "TP8" V 5250 3700 50 0000 C CNN 144 | F 1 "TestPoint" V 5354 3422 50 0001 C CNN 145 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 5450 3350 50 0001 C CNN 146 | F 3 "~" H 5450 3350 50 0001 C CNN 147 | 1 5250 3350 148 | 0 -1 -1 0 149 | $EndComp 150 | Text GLabel 5250 3350 2 50 UnSpc ~ 0 151 | CS1_3V 152 | $Comp 153 | L Connector:TestPoint TP10 154 | U 1 1 5F042357 155 | P 5250 3500 156 | F 0 "TP10" V 5250 3850 50 0000 C CNN 157 | F 1 "TestPoint" V 5354 3572 50 0001 C CNN 158 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 5450 3500 50 0001 C CNN 159 | F 3 "~" H 5450 3500 50 0001 C CNN 160 | 1 5250 3500 161 | 0 -1 -1 0 162 | $EndComp 163 | Text GLabel 5250 3500 2 50 UnSpc ~ 0 164 | CS2_3V 165 | $Comp 166 | L Connector:TestPoint TP12 167 | U 1 1 5F04235E 168 | P 5250 3650 169 | F 0 "TP12" V 5250 4000 50 0000 C CNN 170 | F 1 "TestPoint" V 5354 3722 50 0001 C CNN 171 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 5450 3650 50 0001 C CNN 172 | F 3 "~" H 5450 3650 50 0001 C CNN 173 | 1 5250 3650 174 | 0 -1 -1 0 175 | $EndComp 176 | Text GLabel 5250 3650 2 50 UnSpc ~ 0 177 | DC_3V 178 | $Comp 179 | L Connector:TestPoint TP14 180 | U 1 1 5F042365 181 | P 5250 3800 182 | F 0 "TP14" V 5250 4150 50 0000 C CNN 183 | F 1 "TestPoint" V 5354 3872 50 0001 C CNN 184 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 5450 3800 50 0001 C CNN 185 | F 3 "~" H 5450 3800 50 0001 C CNN 186 | 1 5250 3800 187 | 0 -1 -1 0 188 | $EndComp 189 | Text GLabel 5250 3800 2 50 UnSpc ~ 0 190 | SDI_3V 191 | $Comp 192 | L Connector:TestPoint TP16 193 | U 1 1 5F04236C 194 | P 5250 3950 195 | F 0 "TP16" V 5250 4300 50 0000 C CNN 196 | F 1 "TestPoint" V 5354 4022 50 0001 C CNN 197 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 5450 3950 50 0001 C CNN 198 | F 3 "~" H 5450 3950 50 0001 C CNN 199 | 1 5250 3950 200 | 0 -1 -1 0 201 | $EndComp 202 | Text GLabel 5250 3950 2 50 UnSpc ~ 0 203 | SDO_3V 204 | $Comp 205 | L Connector:TestPoint TP7 206 | U 1 1 5F04BDAF 207 | P 6300 3200 208 | F 0 "TP7" V 6300 3550 50 0000 C CNN 209 | F 1 "TestPoint" V 6404 3272 50 0001 C CNN 210 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 6500 3200 50 0001 C CNN 211 | F 3 "~" H 6500 3200 50 0001 C CNN 212 | 1 6300 3200 213 | 0 -1 -1 0 214 | $EndComp 215 | Text GLabel 6300 3200 2 50 UnSpc ~ 0 216 | DE 217 | $Comp 218 | L Connector:TestPoint TP9 219 | U 1 1 5F04C63C 220 | P 6300 3350 221 | F 0 "TP9" V 6300 3700 50 0000 C CNN 222 | F 1 "TestPoint" V 6404 3422 50 0001 C CNN 223 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 6500 3350 50 0001 C CNN 224 | F 3 "~" H 6500 3350 50 0001 C CNN 225 | 1 6300 3350 226 | 0 -1 -1 0 227 | $EndComp 228 | Text GLabel 6300 3350 2 50 UnSpc ~ 0 229 | HSYNC 230 | $Comp 231 | L Connector:TestPoint TP11 232 | U 1 1 5F04CB5A 233 | P 6300 3500 234 | F 0 "TP11" V 6300 3850 50 0000 C CNN 235 | F 1 "TestPoint" V 6404 3572 50 0001 C CNN 236 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 6500 3500 50 0001 C CNN 237 | F 3 "~" H 6500 3500 50 0001 C CNN 238 | 1 6300 3500 239 | 0 -1 -1 0 240 | $EndComp 241 | Text GLabel 6300 3500 2 50 UnSpc ~ 0 242 | VSYNC 243 | $Comp 244 | L Connector:TestPoint TP13 245 | U 1 1 5F04CF0A 246 | P 6300 3650 247 | F 0 "TP13" V 6300 4000 50 0000 C CNN 248 | F 1 "TestPoint" V 6404 3722 50 0001 C CNN 249 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 6500 3650 50 0001 C CNN 250 | F 3 "~" H 6500 3650 50 0001 C CNN 251 | 1 6300 3650 252 | 0 -1 -1 0 253 | $EndComp 254 | Text GLabel 6300 3650 2 50 UnSpc ~ 0 255 | PCLK 256 | $Comp 257 | L Connector:TestPoint TP15 258 | U 1 1 5F04D431 259 | P 6300 3800 260 | F 0 "TP15" V 6300 4150 50 0000 C CNN 261 | F 1 "TestPoint" V 6404 3872 50 0001 C CNN 262 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 6500 3800 50 0001 C CNN 263 | F 3 "~" H 6500 3800 50 0001 C CNN 264 | 1 6300 3800 265 | 0 -1 -1 0 266 | $EndComp 267 | Text GLabel 6300 3800 2 50 UnSpc ~ 0 268 | DISPRES 269 | $Comp 270 | L Connector:TestPoint TP17 271 | U 1 1 5F0486C1 272 | P 6300 3950 273 | F 0 "TP17" V 6300 4300 50 0000 C CNN 274 | F 1 "TestPoint" V 6404 4022 50 0001 C CNN 275 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 6500 3950 50 0001 C CNN 276 | F 3 "~" H 6500 3950 50 0001 C CNN 277 | 1 6300 3950 278 | 0 -1 -1 0 279 | $EndComp 280 | Text GLabel 6300 3950 2 50 UnSpc ~ 0 281 | FTRES 282 | $Comp 283 | L Connector:TestPoint TP18 284 | U 1 1 5F15817D 285 | P 5250 4100 286 | F 0 "TP18" V 5250 4450 50 0000 C CNN 287 | F 1 "TestPoint" V 5354 4172 50 0001 C CNN 288 | F 2 "TestPoint:TestPoint_Pad_D0.5mm" H 5450 4100 50 0001 C CNN 289 | F 3 "~" H 5450 4100 50 0001 C CNN 290 | 1 5250 4100 291 | 0 -1 -1 0 292 | $EndComp 293 | Text GLabel 5250 4100 2 50 UnSpc ~ 0 294 | IRQ_3V 295 | $EndSCHEMATC 296 | -------------------------------------------------------------------------------- /extras/hardware/Gerber/driver-board-B_Cu.gbr: -------------------------------------------------------------------------------- 1 | %TF.GenerationSoftware,KiCad,Pcbnew,(5.1.6-0-10_14)*% 2 | %TF.CreationDate,2020-07-19T16:10:20+02:00*% 3 | %TF.ProjectId,driver-board,64726976-6572-42d6-926f-6172642e6b69,rev?*% 4 | %TF.SameCoordinates,Original*% 5 | %TF.FileFunction,Copper,L4,Bot*% 6 | %TF.FilePolarity,Positive*% 7 | %FSLAX46Y46*% 8 | G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)* 9 | G04 Created by KiCad (PCBNEW (5.1.6-0-10_14)) date 2020-07-19 16:10:20* 10 | %MOMM*% 11 | %LPD*% 12 | G01* 13 | G04 APERTURE LIST* 14 | %TA.AperFunction,ComponentPad*% 15 | %ADD10R,1.700000X1.700000*% 16 | %TD*% 17 | %TA.AperFunction,ComponentPad*% 18 | %ADD11O,1.700000X1.700000*% 19 | %TD*% 20 | %TA.AperFunction,ViaPad*% 21 | %ADD12C,0.750000*% 22 | %TD*% 23 | %TA.AperFunction,ViaPad*% 24 | %ADD13C,0.450000*% 25 | %TD*% 26 | %TA.AperFunction,ViaPad*% 27 | %ADD14C,0.650000*% 28 | %TD*% 29 | %TA.AperFunction,Conductor*% 30 | %ADD15C,0.250000*% 31 | %TD*% 32 | G04 APERTURE END LIST* 33 | D10* 34 | %TO.P,J1,1*% 35 | %TO.N,+5V*% 36 | X112200000Y-51100000D03* 37 | D11* 38 | %TO.P,J1,2*% 39 | %TO.N,VCC*% 40 | X112200000Y-53640000D03* 41 | %TO.P,J1,3*% 42 | %TO.N,GND*% 43 | X112200000Y-56180000D03* 44 | %TO.P,J1,4*% 45 | %TO.N,SCK*% 46 | X112200000Y-58720000D03* 47 | %TO.P,J1,5*% 48 | %TO.N,SDI*% 49 | X112200000Y-61260000D03* 50 | %TO.P,J1,6*% 51 | %TO.N,SDO*% 52 | X112200000Y-63800000D03* 53 | %TO.P,J1,7*% 54 | %TO.N,CS1*% 55 | X112200000Y-66340000D03* 56 | %TO.P,J1,8*% 57 | %TO.N,CS2*% 58 | X112200000Y-68880000D03* 59 | %TO.P,J1,9*% 60 | %TO.N,DC*% 61 | X112200000Y-71420000D03* 62 | %TO.P,J1,10*% 63 | %TO.N,AUDIO*% 64 | X112200000Y-73960000D03* 65 | %TO.P,J1,11*% 66 | %TO.N,IRQ*% 67 | X112200000Y-76500000D03* 68 | %TO.P,J1,12*% 69 | %TO.N,GND*% 70 | X112200000Y-79040000D03* 71 | %TO.P,J1,13*% 72 | X112200000Y-81580000D03* 73 | %TD*% 74 | D12* 75 | %TO.N,+3V0*% 76 | X122650000Y-56675000D03* 77 | D13* 78 | X127500000Y-59300000D03* 79 | X128100000Y-59900000D03* 80 | D12* 81 | X125300000Y-56900000D03* 82 | X124000000Y-56900000D03* 83 | D14* 84 | X120100000Y-68700000D03* 85 | X123200000Y-67300000D03* 86 | D13* 87 | X143000000Y-79285002D03* 88 | D12* 89 | X141400000Y-83525000D03* 90 | X142475000Y-83050000D03* 91 | D14* 92 | X133400000Y-78900000D03* 93 | D13* 94 | X129716206Y-75958794D03* 95 | X129716206Y-75158794D03* 96 | X128125000Y-67275000D03* 97 | D14* 98 | %TO.N,GND*% 99 | X122200000Y-77300000D03* 100 | X121900000Y-71900000D03* 101 | X120100000Y-70300000D03* 102 | X119600000Y-67400000D03* 103 | X125100000Y-67200000D03* 104 | D13* 105 | X117500000Y-57400000D03* 106 | D12* 107 | X117600000Y-50300000D03* 108 | X117700000Y-53900000D03* 109 | X124300000Y-50300000D03* 110 | X124300000Y-53900000D03* 111 | X124300000Y-55500000D03* 112 | X117600000Y-55500000D03* 113 | X130700000Y-53000000D03* 114 | D14* 115 | X128100000Y-58600000D03* 116 | X139700000Y-83500000D03* 117 | X138700000Y-81000000D03* 118 | D13* 119 | X149400000Y-52100000D03* 120 | X142400000Y-52700000D03* 121 | X149400000Y-53100000D03* 122 | X130400001Y-70800000D03* 123 | X133000000Y-68325128D03* 124 | X133000000Y-73700000D03* 125 | X135700000Y-70800000D03* 126 | X140050010Y-71200000D03* 127 | X142300000Y-56600000D03* 128 | X148600000Y-79400000D03* 129 | X148800000Y-62300000D03* 130 | X148825000Y-60125000D03* 131 | D12* 132 | X139975000Y-49700000D03* 133 | D14* 134 | X122100000Y-80200000D03* 135 | D12* 136 | X139550000Y-48750000D03* 137 | X138400000Y-49525000D03* 138 | X138500000Y-56775000D03* 139 | D14* 140 | X130700000Y-55850000D03* 141 | D13* 142 | X135750000Y-58450000D03* 143 | X143275000Y-58125000D03* 144 | X148675000Y-58600000D03* 145 | X148700000Y-57250000D03* 146 | D14* 147 | X129425000Y-79400000D03* 148 | X126225000Y-78150000D03* 149 | X125125000Y-77050000D03* 150 | D12* 151 | %TO.N,VCC*% 152 | X122700000Y-64200000D03* 153 | %TO.N,+5V*% 154 | X122700000Y-49000000D03* 155 | X129300000Y-49100000D03* 156 | X133900000Y-48800000D03* 157 | X136500000Y-49300000D03* 158 | %TO.N,+3V3*% 159 | X129100000Y-56900000D03* 160 | D13* 161 | X128573223Y-74873223D03* 162 | X128973223Y-74473223D03* 163 | %TO.N,DISPRES*% 164 | X132850000Y-80925000D03* 165 | X125550000Y-72959305D03* 166 | %TO.N,AUDIO*% 167 | X119800000Y-72000000D03* 168 | X129900000Y-63500000D03* 169 | %TO.N,DC_3V*% 170 | X148700000Y-77600000D03* 171 | X123200000Y-62300000D03* 172 | X130324999Y-81550011D03* 173 | %TO.N,CS2_3V*% 174 | X149800000Y-80000000D03* 175 | X122700000Y-61600000D03* 176 | X128425522Y-82158135D03* 177 | %TO.N,CS1_3V*% 178 | X121600000Y-59100000D03* 179 | X133100000Y-61300000D03* 180 | %TO.N,DE*% 181 | X140100000Y-61200000D03* 182 | X136000000Y-78400000D03* 183 | %TO.N,VSYNC*% 184 | X139500000Y-57900000D03* 185 | X136000000Y-77600000D03* 186 | %TO.N,HSYNC*% 187 | X139500000Y-59000000D03* 188 | X136700000Y-77500000D03* 189 | %TO.N,PCLK*% 190 | X139500000Y-60100000D03* 191 | X137701409Y-77276409D03* 192 | %TO.N,IRQ*% 193 | X121575000Y-61825000D03* 194 | %TO.N,SCK_3V*% 195 | X123000000Y-59000000D03* 196 | X138600000Y-78300000D03* 197 | %TO.N,SDI_3V*% 198 | X122773952Y-59675000D03* 199 | X138999990Y-79300020D03* 200 | %TO.N,SDO_3V*% 201 | X123086084Y-60363916D03* 202 | X140800000Y-78200000D03* 203 | %TO.N,SDI_BUFFER*% 204 | X130400000Y-61700000D03* 205 | X128317730Y-61682270D03* 206 | %TD*% 207 | D15* 208 | %TO.N,DISPRES*% 209 | X125550000Y-73625000D02* 210 | X132850000Y-80925000D01* 211 | X125550000Y-72959305D02* 212 | X125550000Y-73625000D01* 213 | %TO.N,AUDIO*% 214 | X123850001Y-67949999D02* 215 | X119800000Y-72000000D01* 216 | X123850001Y-67487997D02* 217 | X123850001Y-67949999D01* 218 | X128137998Y-63400000D02* 219 | X123850001Y-67487997D01* 220 | X129900000Y-63500000D02* 221 | X128137998Y-63400000D01* 222 | %TO.N,DC_3V*% 223 | X118949999Y-66550001D02* 224 | X123200000Y-62300000D01* 225 | X128635999Y-81650001D02* 226 | X118949999Y-71964001D01* 227 | X148700000Y-77600000D02* 228 | X149150001Y-78050001D01* 229 | X147164001Y-81650001D02* 230 | X128635999Y-81650001D01* 231 | X118949999Y-71964001D02* 232 | X118949999Y-66550001D01* 233 | X149150001Y-79664001D02* 234 | X147164001Y-81650001D01* 235 | X149150001Y-78050001D02* 236 | X149150001Y-79664001D01* 237 | %TO.N,CS2_3V*% 238 | X118499989Y-72150401D02* 239 | X118499989Y-65900011D01* 240 | X128449598Y-82100010D02* 241 | X118499989Y-72150401D01* 242 | X147699989Y-82100011D02* 243 | X128449598Y-82100010D01* 244 | X149800000Y-80000000D02* 245 | X147699989Y-82100011D01* 246 | X122700000Y-61700000D02* 247 | X122700000Y-61600000D01* 248 | X118499989Y-65900011D02* 249 | X122700000Y-61700000D01* 250 | %TO.N,CS1_3V*% 251 | X122750001Y-57949999D02* 252 | X129749999Y-57949999D01* 253 | X129749999Y-57949999D02* 254 | X133100000Y-61300000D01* 255 | X121600000Y-59100000D02* 256 | X122750001Y-57949999D01* 257 | %TO.N,DE*% 258 | X137391834Y-78400000D02* 259 | X136000000Y-78400000D01* 260 | X140600011Y-75191823D02* 261 | X137391834Y-78400000D01* 262 | X140600011Y-61700011D02* 263 | X140600011Y-75191823D01* 264 | X140100000Y-61200000D02* 265 | X140600011Y-61700011D01* 266 | %TO.N,VSYNC*% 267 | X136000000Y-77281802D02* 268 | X138200000Y-75081802D01* 269 | X138200000Y-59200000D02* 270 | X139500000Y-57900000D01* 271 | X136000000Y-77600000D02* 272 | X136000000Y-77281802D01* 273 | X138200000Y-75081802D02* 274 | X138200000Y-59200000D01* 275 | %TO.N,HSYNC*% 276 | X138949999Y-59550001D02* 277 | X138949999Y-75286411D01* 278 | X139500000Y-59000000D02* 279 | X138949999Y-59550001D01* 280 | X138949999Y-75286411D02* 281 | X138650009Y-75586401D01* 282 | X138650009Y-75586401D02* 283 | X137718205Y-76518205D01* 284 | X137681795Y-76518205D02* 285 | X136700000Y-77500000D01* 286 | X137718205Y-76518205D02* 287 | X137681795Y-76518205D01* 288 | %TO.N,PCLK*% 289 | X139500000Y-60100000D02* 290 | X139500000Y-75477832D01* 291 | X139499986Y-75477832D02* 292 | X139500000Y-75477832D01* 293 | X137701409Y-77276409D02* 294 | X139499986Y-75477832D01* 295 | %TO.N,IRQ*% 296 | X121575000Y-61825000D02* 297 | X118049979Y-65350021D01* 298 | X118049979Y-70650021D02* 299 | X112200000Y-76500000D01* 300 | X118049979Y-65350021D02* 301 | X118049979Y-70650021D01* 302 | %TO.N,SCK_3V*% 303 | X125436410Y-59000000D02* 304 | X123000000Y-59000000D01* 305 | X135735999Y-78950001D02* 306 | X135149999Y-78364001D01* 307 | X135149999Y-78364001D02* 308 | X135149999Y-65635997D01* 309 | X135149999Y-65635997D02* 310 | X129964003Y-60450001D01* 311 | X126886411Y-60450001D02* 312 | X125436410Y-59000000D01* 313 | X129964003Y-60450001D02* 314 | X126886411Y-60450001D01* 315 | X137949999Y-78950001D02* 316 | X135735999Y-78950001D01* 317 | X138600000Y-78300000D02* 318 | X137949999Y-78950001D01* 319 | %TO.N,SDI_3V*% 320 | X138899999Y-79400011D02* 321 | X138999990Y-79300020D01* 322 | X134699990Y-78550402D02* 323 | X135549599Y-79400011D01* 324 | X135549599Y-79400011D02* 325 | X138899999Y-79400011D01* 326 | X125475000Y-59675000D02* 327 | X128050001Y-62250001D01* 328 | X134699989Y-65822397D02* 329 | X134699990Y-78550402D01* 330 | X128050001Y-62250001D02* 331 | X131127593Y-62250001D01* 332 | X131127593Y-62250001D02* 333 | X134699989Y-65822397D01* 334 | X122773952Y-59675000D02* 335 | X125475000Y-59675000D01* 336 | %TO.N,SDO_3V*% 337 | X134249979Y-66008797D02* 338 | X130941193Y-62700011D01* 339 | X134249979Y-78736799D02* 340 | X134249979Y-66008797D01* 341 | X135363200Y-79850020D02* 342 | X134249979Y-78736799D01* 343 | X139849980Y-79850020D02* 344 | X135363200Y-79850020D01* 345 | X140800000Y-78900000D02* 346 | X139849980Y-79850020D01* 347 | X125422179Y-62700011D02* 348 | X123086084Y-60363916D01* 349 | X130941193Y-62700011D02* 350 | X125422179Y-62700011D01* 351 | X140800000Y-78200000D02* 352 | X140800000Y-78900000D01* 353 | %TO.N,SDI_BUFFER*% 354 | X128335460Y-61700000D02* 355 | X130400000Y-61700000D01* 356 | X128317730Y-61682270D02* 357 | X128335460Y-61700000D01* 358 | %TD*% 359 | M02* 360 | -------------------------------------------------------------------------------- /extras/hardware/kicad/driver-board-rescue.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # ER-TFT040-2-driver-board 5 | # 6 | DEF ER-TFT040-2-driver-board U 0 40 Y Y 1 F N 7 | F0 "U" 0 3100 50 H V C CNN 8 | F1 "ER-TFT040-2-driver-board" 0 -3000 50 H V C CNN 9 | F2 "" -100 2000 50 H I C CNN 10 | F3 "" -100 2000 50 H I C CNN 11 | DRAW 12 | S -150 3050 200 -2950 0 1 0 N 13 | X VCI 1 -250 -2900 100 R 50 50 1 1 W 14 | X DC 10 -250 -2000 100 R 50 50 1 1 I 15 | X SCL 11 -250 -1900 100 R 50 50 1 1 I 16 | X ~CS 12 -250 -1800 100 R 50 50 1 1 I 17 | X ~RES 13 -250 -1700 100 R 50 50 1 1 I 18 | X D23 14 -250 -1600 100 R 50 50 1 1 I 19 | X D22 15 -250 -1500 100 R 50 50 1 1 I 20 | X D21 16 -250 -1400 100 R 50 50 1 1 I 21 | X D20 17 -250 -1300 100 R 50 50 1 1 I 22 | X D19 18 -250 -1200 100 R 50 50 1 1 I 23 | X D18 19 -250 -1100 100 R 50 50 1 1 I 24 | X VDDI 2 -250 -2800 100 R 50 50 1 1 W 25 | X D17 20 -250 -1000 100 R 50 50 1 1 I 26 | X D16 21 -250 -900 100 R 50 50 1 1 I 27 | X D15 22 -250 -800 100 R 50 50 1 1 I 28 | X D14 23 -250 -700 100 R 50 50 1 1 I 29 | X D13 24 -250 -600 100 R 50 50 1 1 I 30 | X D12 25 -250 -500 100 R 50 50 1 1 I 31 | X D11 26 -250 -400 100 R 50 50 1 1 I 32 | X D10 27 -250 -300 100 R 50 50 1 1 I 33 | X D9 28 -250 -200 100 R 50 50 1 1 I 34 | X D8 29 -250 -100 100 R 50 50 1 1 I 35 | X IM3 3 -250 -2700 100 R 50 50 1 1 I 36 | X D7 30 -250 0 100 R 50 50 1 1 I 37 | X D6 31 -250 100 100 R 50 50 1 1 I 38 | X D5 32 -250 200 100 R 50 50 1 1 I 39 | X D4 33 -250 300 100 R 50 50 1 1 I 40 | X D3 34 -250 400 100 R 50 50 1 1 I 41 | X D2 35 -250 500 100 R 50 50 1 1 I 42 | X D1 36 -250 600 100 R 50 50 1 1 I 43 | X D0 37 -250 700 100 R 50 50 1 1 I 44 | X GND 38 -250 800 100 R 50 50 1 1 W 45 | X DE 39 -250 900 100 R 50 50 1 1 I 46 | X IM2 4 -250 -2600 100 R 50 50 1 1 I 47 | X PCLK 40 -250 1000 100 R 50 50 1 1 I 48 | X HSYNC 41 -250 1100 100 R 50 50 1 1 I 49 | X VSYNC 42 -250 1200 100 R 50 50 1 1 I 50 | X GND 43 -250 1300 100 R 50 50 1 1 W 51 | X D1-P 44 -250 1400 100 R 50 50 1 1 B 52 | X D1-N 45 -250 1500 100 R 50 50 1 1 B 53 | X CLK-P 46 -250 1600 100 R 50 50 1 1 I 54 | X CLK-N 47 -250 1700 100 R 50 50 1 1 I 55 | X D0-P 48 -250 1800 100 R 50 50 1 1 B 56 | X D0-N 49 -250 1900 100 R 50 50 1 1 B 57 | X IM1 5 -250 -2500 100 R 50 50 1 1 I 58 | X GND 50 -250 2000 100 R 50 50 1 1 W 59 | X NC 51 -250 2100 100 R 50 50 1 1 N 60 | X NC 52 -250 2200 100 R 50 50 1 1 N 61 | X NC 53 -250 2300 100 R 50 50 1 1 N 62 | X NC 54 -250 2400 100 R 50 50 1 1 N 63 | X NC 55 -250 2500 100 R 50 50 1 1 N 64 | X NC 56 -250 2600 100 R 50 50 1 1 N 65 | X GND 57 -250 2700 100 R 50 50 1 1 W 66 | X LED_K1 58 -250 2800 100 R 50 50 1 1 W 67 | X LED_K2 59 -250 2900 100 R 50 50 1 1 W 68 | X IM0 6 -250 -2400 100 R 50 50 1 1 I 69 | X LED_A 60 -250 3000 100 R 50 50 1 1 W 70 | X NC 7 -250 -2300 100 R 50 50 1 1 N 71 | X SDO 8 -250 -2200 100 R 50 50 1 1 O 72 | X SDI 9 -250 -2100 100 R 50 50 1 1 I 73 | ENDDRAW 74 | ENDDEF 75 | # 76 | # ER-TFT040-2-driver-board-driver-board-rescue 77 | # 78 | DEF ER-TFT040-2-driver-board-driver-board-rescue U 0 40 Y Y 1 F N 79 | F0 "U" 0 3100 50 H V C CNN 80 | F1 "ER-TFT040-2-driver-board-driver-board-rescue" 0 -3000 50 H V C CNN 81 | F2 "" -100 2000 50 H I C CNN 82 | F3 "" -100 2000 50 H I C CNN 83 | DRAW 84 | S -150 3050 200 -2950 0 1 0 N 85 | X VCI 1 -250 -2900 100 R 50 50 1 1 W 86 | X DC 10 -250 -2000 100 R 50 50 1 1 I 87 | X SCL 11 -250 -1900 100 R 50 50 1 1 I 88 | X ~CS 12 -250 -1800 100 R 50 50 1 1 I 89 | X ~RES 13 -250 -1700 100 R 50 50 1 1 I 90 | X D23 14 -250 -1600 100 R 50 50 1 1 I 91 | X D22 15 -250 -1500 100 R 50 50 1 1 I 92 | X D21 16 -250 -1400 100 R 50 50 1 1 I 93 | X D20 17 -250 -1300 100 R 50 50 1 1 I 94 | X D19 18 -250 -1200 100 R 50 50 1 1 I 95 | X D18 19 -250 -1100 100 R 50 50 1 1 I 96 | X VDDI 2 -250 -2800 100 R 50 50 1 1 W 97 | X D17 20 -250 -1000 100 R 50 50 1 1 I 98 | X D16 21 -250 -900 100 R 50 50 1 1 I 99 | X D15 22 -250 -800 100 R 50 50 1 1 I 100 | X D14 23 -250 -700 100 R 50 50 1 1 I 101 | X D13 24 -250 -600 100 R 50 50 1 1 I 102 | X D12 25 -250 -500 100 R 50 50 1 1 I 103 | X D11 26 -250 -400 100 R 50 50 1 1 I 104 | X D10 27 -250 -300 100 R 50 50 1 1 I 105 | X D9 28 -250 -200 100 R 50 50 1 1 I 106 | X D8 29 -250 -100 100 R 50 50 1 1 I 107 | X IM3 3 -250 -2700 100 R 50 50 1 1 I 108 | X D7 30 -250 0 100 R 50 50 1 1 I 109 | X D6 31 -250 100 100 R 50 50 1 1 I 110 | X D5 32 -250 200 100 R 50 50 1 1 I 111 | X D4 33 -250 300 100 R 50 50 1 1 I 112 | X D3 34 -250 400 100 R 50 50 1 1 I 113 | X D2 35 -250 500 100 R 50 50 1 1 I 114 | X D1 36 -250 600 100 R 50 50 1 1 I 115 | X D0 37 -250 700 100 R 50 50 1 1 I 116 | X GND 38 -250 800 100 R 50 50 1 1 W 117 | X DE 39 -250 900 100 R 50 50 1 1 I 118 | X IM2 4 -250 -2600 100 R 50 50 1 1 I 119 | X PCLK 40 -250 1000 100 R 50 50 1 1 I 120 | X HSYNC 41 -250 1100 100 R 50 50 1 1 I 121 | X VSYNC 42 -250 1200 100 R 50 50 1 1 I 122 | X GND 43 -250 1300 100 R 50 50 1 1 W 123 | X D1-P 44 -250 1400 100 R 50 50 1 1 B 124 | X D1-N 45 -250 1500 100 R 50 50 1 1 B 125 | X CLK-P 46 -250 1600 100 R 50 50 1 1 I 126 | X CLK-N 47 -250 1700 100 R 50 50 1 1 I 127 | X D0-P 48 -250 1800 100 R 50 50 1 1 B 128 | X D0-N 49 -250 1900 100 R 50 50 1 1 B 129 | X IM1 5 -250 -2500 100 R 50 50 1 1 I 130 | X GND 50 -250 2000 100 R 50 50 1 1 W 131 | X NC 51 -250 2100 100 R 50 50 1 1 N 132 | X NC 52 -250 2200 100 R 50 50 1 1 N 133 | X NC 53 -250 2300 100 R 50 50 1 1 N 134 | X NC 54 -250 2400 100 R 50 50 1 1 N 135 | X NC 55 -250 2500 100 R 50 50 1 1 N 136 | X NC 56 -250 2600 100 R 50 50 1 1 N 137 | X GND 57 -250 2700 100 R 50 50 1 1 W 138 | X LED_K1 58 -250 2800 100 R 50 50 1 1 W 139 | X LED_K2 59 -250 2900 100 R 50 50 1 1 W 140 | X IM0 6 -250 -2400 100 R 50 50 1 1 I 141 | X LED_A 60 -250 3000 100 R 50 50 1 1 W 142 | X NC 7 -250 -2300 100 R 50 50 1 1 N 143 | X SDO 8 -250 -2200 100 R 50 50 1 1 O 144 | X SDI 9 -250 -2100 100 R 50 50 1 1 I 145 | ENDDRAW 146 | ENDDEF 147 | # 148 | # FT813-driver-board 149 | # 150 | DEF FT813-driver-board U 0 40 Y Y 1 F N 151 | F0 "U" 0 100 50 H V C CNN 152 | F1 "FT813-driver-board" 0 -100 50 H V C CNN 153 | F2 "" 0 0 50 H I C CNN 154 | F3 "" 0 0 50 H I C CNN 155 | DRAW 156 | S -1050 750 1100 -750 0 1 0 N 157 | X R1 1 -1150 650 100 R 50 50 1 1 O 158 | X GPIO1 10 -1150 -250 100 R 50 50 1 1 B 159 | X VCCIO1 11 -1150 -350 100 R 50 50 1 1 W 160 | X GPIO2 12 -1150 -450 100 R 50 50 1 1 B 161 | X INT_N 13 -1150 -550 100 R 50 50 1 1 O 162 | X PD_N 14 -1150 -650 100 R 50 50 1 1 I 163 | X GPIO3 15 -600 -850 100 U 50 50 1 1 B 164 | X X1/CLK 16 -500 -850 100 U 50 50 1 1 I 165 | X X2 17 -400 -850 100 U 50 50 1 1 O 166 | X GND 18 -300 -850 100 U 50 50 1 1 W 167 | X VCC 19 -200 -850 100 U 50 50 1 1 W 168 | X R0 2 -1150 550 100 R 50 50 1 1 O 169 | X VOUT1V2 20 -100 -850 100 U 50 50 1 1 O 170 | X VCC 21 0 -850 100 U 50 50 1 1 W 171 | X VCCIO2 22 100 -850 100 U 50 50 1 1 W 172 | X CTP_RST_N 23 200 -850 100 U 50 50 1 1 O 173 | X CTP_INT_N 24 300 -850 100 U 50 50 1 1 I 174 | X CTP_SCL 25 400 -850 100 U 50 50 1 1 B 175 | X CTP_SDA 26 500 -850 100 U 50 50 1 1 B 176 | X GND 27 600 -850 100 U 50 50 1 1 W 177 | X BACKLIGHT 28 700 -850 100 U 50 50 1 1 O 178 | X DE 29 1200 -650 100 L 50 50 1 1 O 179 | X AUDIO_L 3 -1150 450 100 R 50 50 1 1 O 180 | X VSYNC 30 1200 -550 100 L 50 50 1 1 O 181 | X HSYNC 31 1200 -450 100 L 50 50 1 1 O 182 | X DISP 32 1200 -350 100 L 50 50 1 1 O 183 | X PCLK 33 1200 -250 100 L 50 50 1 1 O 184 | X B7 34 1200 -150 100 L 50 50 1 1 O 185 | X B6 35 1200 -50 100 L 50 50 1 1 O 186 | X B5 36 1200 50 100 L 50 50 1 1 O 187 | X B4 37 1200 150 100 L 50 50 1 1 O 188 | X B3 38 1200 250 100 L 50 50 1 1 O 189 | X B2 39 1200 350 100 L 50 50 1 1 O 190 | X GND 4 -1150 350 100 R 50 50 1 1 W 191 | X B1 40 1200 450 100 L 50 50 1 1 O 192 | X B0 41 1200 550 100 L 50 50 1 1 O 193 | X GND 42 1200 650 100 L 50 50 1 1 W 194 | X G7 43 700 850 100 D 50 50 1 1 O 195 | X G6 44 600 850 100 D 50 50 1 1 O 196 | X G5 45 500 850 100 D 50 50 1 1 O 197 | X G4 46 400 850 100 D 50 50 1 1 O 198 | X G3 47 300 850 100 D 50 50 1 1 O 199 | X G2 48 200 850 100 D 50 50 1 1 O 200 | X G1 49 100 850 100 D 50 50 1 1 O 201 | X SCK 5 -1150 250 100 R 50 50 1 1 I 202 | X G0 50 0 850 100 D 50 50 1 1 O 203 | X R7 51 -100 850 100 D 50 50 1 1 O 204 | X R6 52 -200 850 100 D 50 50 1 1 O 205 | X R5 53 -300 850 100 D 50 50 1 1 O 206 | X R4 54 -400 850 100 D 50 50 1 1 O 207 | X R3 55 -500 850 100 D 50 50 1 1 O 208 | X R2 56 -600 850 100 D 50 50 1 1 O 209 | X GND 57 0 300 100 R 50 50 1 1 W N 210 | X SDO 6 -1150 150 100 R 50 50 1 1 O 211 | X SDI 7 -1150 50 100 R 50 50 1 1 I 212 | X ~CS_N 8 -1150 -50 100 R 50 50 1 1 I 213 | X GPIO0 9 -1150 -150 100 R 50 50 1 1 B 214 | ENDDRAW 215 | ENDDEF 216 | # 217 | # FT813-driver-board-driver-board-rescue 218 | # 219 | DEF FT813-driver-board-driver-board-rescue U 0 40 Y Y 1 F N 220 | F0 "U" 0 100 50 H V C CNN 221 | F1 "FT813-driver-board-driver-board-rescue" 0 -100 50 H V C CNN 222 | F2 "" 0 0 50 H I C CNN 223 | F3 "" 0 0 50 H I C CNN 224 | DRAW 225 | S -1050 750 1100 -750 0 1 0 N 226 | X R1 1 -1150 650 100 R 50 50 1 1 O 227 | X GPIO1 10 -1150 -250 100 R 50 50 1 1 B 228 | X VCCIO1 11 -1150 -350 100 R 50 50 1 1 W 229 | X GPIO2 12 -1150 -450 100 R 50 50 1 1 B 230 | X INT_N 13 -1150 -550 100 R 50 50 1 1 O 231 | X PD_N 14 -1150 -650 100 R 50 50 1 1 I 232 | X GPIO3 15 -600 -850 100 U 50 50 1 1 B 233 | X X1/CLK 16 -500 -850 100 U 50 50 1 1 I 234 | X X2 17 -400 -850 100 U 50 50 1 1 O 235 | X GND 18 -300 -850 100 U 50 50 1 1 W 236 | X VCC 19 -200 -850 100 U 50 50 1 1 W 237 | X R0 2 -1150 550 100 R 50 50 1 1 O 238 | X VOUT1V2 20 -100 -850 100 U 50 50 1 1 O 239 | X VCC 21 0 -850 100 U 50 50 1 1 W 240 | X VCCIO2 22 100 -850 100 U 50 50 1 1 W 241 | X CTP_RST_N 23 200 -850 100 U 50 50 1 1 O 242 | X CTP_INT_N 24 300 -850 100 U 50 50 1 1 I 243 | X CTP_SCL 25 400 -850 100 U 50 50 1 1 B 244 | X CTP_SDA 26 500 -850 100 U 50 50 1 1 B 245 | X GND 27 600 -850 100 U 50 50 1 1 W 246 | X BACKLIGHT 28 700 -850 100 U 50 50 1 1 O 247 | X DE 29 1200 -650 100 L 50 50 1 1 O 248 | X AUDIO_L 3 -1150 450 100 R 50 50 1 1 O 249 | X VSYNC 30 1200 -550 100 L 50 50 1 1 O 250 | X HSYNC 31 1200 -450 100 L 50 50 1 1 O 251 | X DISP 32 1200 -350 100 L 50 50 1 1 O 252 | X PCLK 33 1200 -250 100 L 50 50 1 1 O 253 | X B7 34 1200 -150 100 L 50 50 1 1 O 254 | X B6 35 1200 -50 100 L 50 50 1 1 O 255 | X B5 36 1200 50 100 L 50 50 1 1 O 256 | X B4 37 1200 150 100 L 50 50 1 1 O 257 | X B3 38 1200 250 100 L 50 50 1 1 O 258 | X B2 39 1200 350 100 L 50 50 1 1 O 259 | X GND 4 -1150 350 100 R 50 50 1 1 W 260 | X B1 40 1200 450 100 L 50 50 1 1 O 261 | X B0 41 1200 550 100 L 50 50 1 1 O 262 | X GND 42 1200 650 100 L 50 50 1 1 W 263 | X G7 43 700 850 100 D 50 50 1 1 O 264 | X G6 44 600 850 100 D 50 50 1 1 O 265 | X G5 45 500 850 100 D 50 50 1 1 O 266 | X G4 46 400 850 100 D 50 50 1 1 O 267 | X G3 47 300 850 100 D 50 50 1 1 O 268 | X G2 48 200 850 100 D 50 50 1 1 O 269 | X G1 49 100 850 100 D 50 50 1 1 O 270 | X SCK 5 -1150 250 100 R 50 50 1 1 I 271 | X G0 50 0 850 100 D 50 50 1 1 O 272 | X R7 51 -100 850 100 D 50 50 1 1 O 273 | X R6 52 -200 850 100 D 50 50 1 1 O 274 | X R5 53 -300 850 100 D 50 50 1 1 O 275 | X R4 54 -400 850 100 D 50 50 1 1 O 276 | X R3 55 -500 850 100 D 50 50 1 1 O 277 | X R2 56 -600 850 100 D 50 50 1 1 O 278 | X GND 57 0 300 100 R 50 50 1 1 W N 279 | X SDO 6 -1150 150 100 R 50 50 1 1 O 280 | X SDI 7 -1150 50 100 R 50 50 1 1 I 281 | X ~CS_N 8 -1150 -50 100 R 50 50 1 1 I 282 | X GPIO0 9 -1150 -150 100 R 50 50 1 1 B 283 | ENDDRAW 284 | ENDDEF 285 | # 286 | #End Library 287 | -------------------------------------------------------------------------------- /extras/hardware/kicad/display.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 4 2 | EELAYER 30 0 3 | EELAYER END 4 | $Descr A4 11693 8268 5 | encoding utf-8 6 | Sheet 7 8 7 | Title "FT81x TFT040 Driver Board" 8 | Date "2020-07-19" 9 | Rev "2007E" 10 | Comp "" 11 | Comment1 "" 12 | Comment2 "" 13 | Comment3 "" 14 | Comment4 "" 15 | $EndDescr 16 | $Comp 17 | L driver-board-rescue:ER-TFT040-2-driver-board-driver-board-rescue U? 18 | U 1 1 5F09E273 19 | P 5850 4100 20 | AR Path="/5F09E273" Ref="U?" Part="1" 21 | AR Path="/5F096907/5F09E273" Ref="U7" Part="1" 22 | F 0 "U7" H 6078 4201 50 0000 L CNN 23 | F 1 "ER-TFT040-2" H 6078 4110 50 0000 L CNN 24 | F 2 "driver-board:HRS_FH28-60S-0.5SH(05)" H 5750 6100 50 0001 C CNN 25 | F 3 "" H 5750 6100 50 0001 C CNN 26 | F 4 "" H 5850 4100 50 0001 C CNN "DigiKey" 27 | F 5 "FH28-60S-0.5SH(05)" H 5850 4100 50 0001 C CNN "Mfg Part #" 28 | F 6 "CONN FFC BOTTOM 60POS 0.50MM R/A" H 5850 4100 50 0001 C CNN "Description" 29 | F 7 "Hirose Electric Co Ltd" H 5850 4100 50 0001 C CNN "Manufacturer" 30 | 1 5850 4100 31 | 1 0 0 -1 32 | $EndComp 33 | $Comp 34 | L Device:R R4 35 | U 1 1 5F0A5117 36 | P 5100 1100 37 | F 0 "R4" V 5000 1100 50 0000 C CNN 38 | F 1 "100" V 5100 1100 50 0000 C CNN 39 | F 2 "Resistor_SMD:R_0603_1608Metric" V 5030 1100 50 0001 C CNN 40 | F 3 "~" H 5100 1100 50 0001 C CNN 41 | F 4 "C22775" H 5100 1100 50 0001 C CNN "LCSC" 42 | F 5 "" H 5100 1100 50 0001 C CNN "DigiKey" 43 | F 6 "RC0603FR-07100RL" H 5100 1100 50 0001 C CNN "Mfg Part #" 44 | F 7 "RES SMD 100 OHM 1% 1/10W 0603" H 5100 1100 50 0001 C CNN "Description" 45 | F 8 "Yageo" H 5100 1100 50 0001 C CNN "Manufacturer" 46 | 1 5100 1100 47 | 0 1 1 0 48 | $EndComp 49 | Wire Wire Line 50 | 5600 1100 5250 1100 51 | $Comp 52 | L power:+12V #PWR052 53 | U 1 1 5F0A5C59 54 | P 4950 1100 55 | F 0 "#PWR052" H 4950 950 50 0001 C CNN 56 | F 1 "+12V" V 4950 1200 50 0000 L CNN 57 | F 2 "" H 4950 1100 50 0001 C CNN 58 | F 3 "" H 4950 1100 50 0001 C CNN 59 | 1 4950 1100 60 | 0 -1 -1 0 61 | $EndComp 62 | Wire Wire Line 63 | 5600 1200 5450 1200 64 | Wire Wire Line 65 | 5450 1200 5450 1300 66 | Wire Wire Line 67 | 5600 1300 5450 1300 68 | Wire Wire Line 69 | 5600 2100 5450 2100 70 | Wire Wire Line 71 | 5450 2100 5450 2200 72 | Wire Wire Line 73 | 5450 2800 5600 2800 74 | Wire Wire Line 75 | 5600 2700 5450 2700 76 | Connection ~ 5450 2700 77 | Wire Wire Line 78 | 5450 2700 5450 2800 79 | Wire Wire Line 80 | 5600 2600 5450 2600 81 | Connection ~ 5450 2600 82 | Wire Wire Line 83 | 5450 2600 5450 2700 84 | Wire Wire Line 85 | 5600 2500 5450 2500 86 | Connection ~ 5450 2500 87 | Wire Wire Line 88 | 5450 2500 5450 2600 89 | Wire Wire Line 90 | 5600 2400 5450 2400 91 | Connection ~ 5450 2400 92 | Wire Wire Line 93 | 5450 2400 5450 2500 94 | Wire Wire Line 95 | 5600 2300 5450 2300 96 | Connection ~ 5450 2300 97 | Wire Wire Line 98 | 5450 2300 5450 2400 99 | Wire Wire Line 100 | 5600 2200 5450 2200 101 | Connection ~ 5450 2200 102 | Wire Wire Line 103 | 5450 2200 5450 2300 104 | $Comp 105 | L power:GND #PWR055 106 | U 1 1 5F0A863D 107 | P 5450 2100 108 | F 0 "#PWR055" H 5450 1850 50 0001 C CNN 109 | F 1 "GND" V 5450 2000 50 0000 R CNN 110 | F 2 "" H 5450 2100 50 0001 C CNN 111 | F 3 "" H 5450 2100 50 0001 C CNN 112 | 1 5450 2100 113 | 0 1 1 0 114 | $EndComp 115 | Connection ~ 5450 2100 116 | Text GLabel 5600 2900 0 50 Input ~ 0 117 | VSYNC 118 | Text GLabel 5600 3000 0 50 Input ~ 0 119 | HSYNC 120 | Text GLabel 5600 3100 0 50 Input ~ 0 121 | PCLK 122 | Text GLabel 5600 3200 0 50 Input ~ 0 123 | DE 124 | $Comp 125 | L power:GND #PWR057 126 | U 1 1 5F0A8F83 127 | P 5600 3300 128 | F 0 "#PWR057" H 5600 3050 50 0001 C CNN 129 | F 1 "GND" V 5600 3200 50 0000 R CNN 130 | F 2 "" H 5600 3300 50 0001 C CNN 131 | F 3 "" H 5600 3300 50 0001 C CNN 132 | 1 5600 3300 133 | 0 1 1 0 134 | $EndComp 135 | Text GLabel 5600 5900 0 50 Input ~ 0 136 | CS2_3V 137 | Text GLabel 5600 6000 0 50 Input ~ 0 138 | SCK_3V 139 | Text GLabel 5600 6100 0 50 Input ~ 0 140 | DC_3V 141 | Text GLabel 5600 6200 0 50 Input ~ 0 142 | SDO_3V 143 | Text GLabel 5600 6300 0 50 Output ~ 0 144 | SDI_3V 145 | $Comp 146 | L power:GND #PWR054 147 | U 1 1 5F0AA3B1 148 | P 5600 1400 149 | F 0 "#PWR054" H 5600 1150 50 0001 C CNN 150 | F 1 "GND" V 5600 1300 50 0000 R CNN 151 | F 2 "" H 5600 1400 50 0001 C CNN 152 | F 3 "" H 5600 1400 50 0001 C CNN 153 | 1 5600 1400 154 | 0 1 1 0 155 | $EndComp 156 | $Comp 157 | L power:GND #PWR053 158 | U 1 1 5F0AA4C0 159 | P 5450 1200 160 | F 0 "#PWR053" H 5450 950 50 0001 C CNN 161 | F 1 "GND" V 5450 1100 50 0000 R CNN 162 | F 2 "" H 5450 1200 50 0001 C CNN 163 | F 3 "" H 5450 1200 50 0001 C CNN 164 | 1 5450 1200 165 | 0 1 1 0 166 | $EndComp 167 | Connection ~ 5450 1200 168 | $Comp 169 | L power:+3V0 #PWR067 170 | U 1 1 5F0AACF6 171 | P 5600 7000 172 | F 0 "#PWR067" H 5600 6850 50 0001 C CNN 173 | F 1 "+3V0" V 5600 7100 50 0000 L CNN 174 | F 2 "" H 5600 7000 50 0001 C CNN 175 | F 3 "" H 5600 7000 50 0001 C CNN 176 | 1 5600 7000 177 | 0 -1 -1 0 178 | $EndComp 179 | $Comp 180 | L power:+3V0 #PWR066 181 | U 1 1 5F0AAE66 182 | P 5600 6900 183 | F 0 "#PWR066" H 5600 6750 50 0001 C CNN 184 | F 1 "+3V0" V 5600 7000 50 0000 L CNN 185 | F 2 "" H 5600 6900 50 0001 C CNN 186 | F 3 "" H 5600 6900 50 0001 C CNN 187 | 1 5600 6900 188 | 0 -1 -1 0 189 | $EndComp 190 | $Comp 191 | L power:+3V0 #PWR065 192 | U 1 1 5F0AB3E3 193 | P 5600 6800 194 | F 0 "#PWR065" H 5600 6650 50 0001 C CNN 195 | F 1 "+3V0" V 5600 6900 50 0000 L CNN 196 | F 2 "" H 5600 6800 50 0001 C CNN 197 | F 3 "" H 5600 6800 50 0001 C CNN 198 | 1 5600 6800 199 | 0 -1 -1 0 200 | $EndComp 201 | $Comp 202 | L power:+3V0 #PWR062 203 | U 1 1 5F0AB772 204 | P 5600 6500 205 | F 0 "#PWR062" H 5600 6350 50 0001 C CNN 206 | F 1 "+3V0" V 5600 6600 50 0000 L CNN 207 | F 2 "" H 5600 6500 50 0001 C CNN 208 | F 3 "" H 5600 6500 50 0001 C CNN 209 | 1 5600 6500 210 | 0 -1 -1 0 211 | $EndComp 212 | $Comp 213 | L power:GND #PWR063 214 | U 1 1 5F0ABD62 215 | P 5600 6600 216 | F 0 "#PWR063" H 5600 6350 50 0001 C CNN 217 | F 1 "GND" V 5600 6500 50 0000 R CNN 218 | F 2 "" H 5600 6600 50 0001 C CNN 219 | F 3 "" H 5600 6600 50 0001 C CNN 220 | 1 5600 6600 221 | 0 1 1 0 222 | $EndComp 223 | $Comp 224 | L power:GND #PWR064 225 | U 1 1 5F0AC4D7 226 | P 5600 6700 227 | F 0 "#PWR064" H 5600 6450 50 0001 C CNN 228 | F 1 "GND" V 5600 6600 50 0000 R CNN 229 | F 2 "" H 5600 6700 50 0001 C CNN 230 | F 3 "" H 5600 6700 50 0001 C CNN 231 | 1 5600 6700 232 | 0 1 1 0 233 | $EndComp 234 | Text GLabel 5600 5800 0 50 Input ~ 0 235 | DISPRES 236 | $Comp 237 | L Device:R R5 238 | U 1 1 5F0ACFFA 239 | P 2850 3100 240 | F 0 "R5" V 2750 3100 50 0000 C CNN 241 | F 1 "47k" V 2850 3100 50 0000 C CNN 242 | F 2 "Resistor_SMD:R_0603_1608Metric" V 2780 3100 50 0001 C CNN 243 | F 3 "~" H 2850 3100 50 0001 C CNN 244 | F 4 "C25819 " H 2850 3100 50 0001 C CNN "LCSC" 245 | F 5 "" H 2850 3100 50 0001 C CNN "DigiKey" 246 | F 6 "RC0603JR-0747KL" H 2850 3100 50 0001 C CNN "Mfg Part #" 247 | F 7 "RES SMD 47K OHM 5% 1/10W 0603" H 2850 3100 50 0001 C CNN "Description" 248 | F 8 "Yageo" H 2850 3100 50 0001 C CNN "Manufacturer" 249 | 1 2850 3100 250 | 0 1 1 0 251 | $EndComp 252 | Text GLabel 3150 3100 2 50 Output ~ 0 253 | DISPRES 254 | Wire Wire Line 255 | 2700 3100 2550 3100 256 | Text GLabel 5600 3400 0 50 Input ~ 0 257 | B0 258 | Text GLabel 5600 3500 0 50 Input ~ 0 259 | B1 260 | Text GLabel 5600 3600 0 50 Input ~ 0 261 | B2 262 | Text GLabel 5600 3700 0 50 Input ~ 0 263 | B3 264 | Text GLabel 5600 3800 0 50 Input ~ 0 265 | B4 266 | Text GLabel 5600 3900 0 50 Input ~ 0 267 | B5 268 | Text GLabel 5600 4000 0 50 Input ~ 0 269 | B6 270 | Text GLabel 5600 4100 0 50 Input ~ 0 271 | B7 272 | Text GLabel 5600 4200 0 50 Input ~ 0 273 | G0 274 | Text GLabel 5600 4300 0 50 Input ~ 0 275 | G1 276 | Text GLabel 5600 4400 0 50 Input ~ 0 277 | G2 278 | Text GLabel 5600 4500 0 50 Input ~ 0 279 | G3 280 | Text GLabel 5600 4600 0 50 Input ~ 0 281 | G4 282 | Text GLabel 5600 4700 0 50 Input ~ 0 283 | G5 284 | Text GLabel 5600 4800 0 50 Input ~ 0 285 | G6 286 | Text GLabel 5600 4900 0 50 Input ~ 0 287 | G7 288 | Text GLabel 5600 5000 0 50 Input ~ 0 289 | R0 290 | Text GLabel 5600 5100 0 50 Input ~ 0 291 | R1 292 | Text GLabel 5600 5200 0 50 Input ~ 0 293 | R2 294 | Text GLabel 5600 5300 0 50 Input ~ 0 295 | R3 296 | Text GLabel 5600 5400 0 50 Input ~ 0 297 | R4 298 | Text GLabel 5600 5500 0 50 Input ~ 0 299 | R5 300 | Text GLabel 5600 5600 0 50 Input ~ 0 301 | R6 302 | Text GLabel 5600 5700 0 50 Input ~ 0 303 | R7 304 | $Comp 305 | L Device:C C14 306 | U 1 1 5F0D003B 307 | P 2600 4300 308 | F 0 "C14" H 2715 4346 50 0000 L CNN 309 | F 1 "100nF" H 2715 4255 50 0000 L CNN 310 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 2638 4150 50 0001 C CNN 311 | F 3 "~" H 2600 4300 50 0001 C CNN 312 | F 4 "C14663" H 2600 4300 50 0001 C CNN "LCSC" 313 | F 5 "" H 2600 4300 50 0001 C CNN "DigiKey" 314 | F 6 "CC0603KPX7R7BB104" H 2600 4300 50 0001 C CNN "Mfg Part #" 315 | F 7 "CAP CER 0.1UF 16V X7R 0603" H 2600 4300 50 0001 C CNN "Description" 316 | F 8 "Yageo" H 2600 4300 50 0001 C CNN "Manufacturer" 317 | 1 2600 4300 318 | 1 0 0 -1 319 | $EndComp 320 | $Comp 321 | L power:+3V0 #PWR058 322 | U 1 1 5F0D0D40 323 | P 2600 4150 324 | F 0 "#PWR058" H 2600 4000 50 0001 C CNN 325 | F 1 "+3V0" H 2615 4323 50 0000 C CNN 326 | F 2 "" H 2600 4150 50 0001 C CNN 327 | F 3 "" H 2600 4150 50 0001 C CNN 328 | 1 2600 4150 329 | 1 0 0 -1 330 | $EndComp 331 | $Comp 332 | L power:GND #PWR060 333 | U 1 1 5F0D1567 334 | P 2600 4450 335 | F 0 "#PWR060" H 2600 4200 50 0001 C CNN 336 | F 1 "GND" H 2605 4277 50 0000 C CNN 337 | F 2 "" H 2600 4450 50 0001 C CNN 338 | F 3 "" H 2600 4450 50 0001 C CNN 339 | 1 2600 4450 340 | 1 0 0 -1 341 | $EndComp 342 | $Comp 343 | L Device:C C15 344 | U 1 1 5F0D6490 345 | P 3250 4300 346 | F 0 "C15" H 3365 4346 50 0000 L CNN 347 | F 1 "100nF" H 3365 4255 50 0000 L CNN 348 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 3288 4150 50 0001 C CNN 349 | F 3 "~" H 3250 4300 50 0001 C CNN 350 | F 4 "C14663" H 3250 4300 50 0001 C CNN "LCSC" 351 | F 5 "" H 3250 4300 50 0001 C CNN "DigiKey" 352 | F 6 "CC0603KPX7R7BB104" H 3250 4300 50 0001 C CNN "Mfg Part #" 353 | F 7 "CAP CER 0.1UF 16V X7R 0603" H 3250 4300 50 0001 C CNN "Description" 354 | F 8 "Yageo" H 3250 4300 50 0001 C CNN "Manufacturer" 355 | 1 3250 4300 356 | 1 0 0 -1 357 | $EndComp 358 | $Comp 359 | L power:+3V0 #PWR059 360 | U 1 1 5F0D6496 361 | P 3250 4150 362 | F 0 "#PWR059" H 3250 4000 50 0001 C CNN 363 | F 1 "+3V0" H 3265 4323 50 0000 C CNN 364 | F 2 "" H 3250 4150 50 0001 C CNN 365 | F 3 "" H 3250 4150 50 0001 C CNN 366 | 1 3250 4150 367 | 1 0 0 -1 368 | $EndComp 369 | $Comp 370 | L power:GND #PWR061 371 | U 1 1 5F0D649C 372 | P 3250 4450 373 | F 0 "#PWR061" H 3250 4200 50 0001 C CNN 374 | F 1 "GND" H 3255 4277 50 0000 C CNN 375 | F 2 "" H 3250 4450 50 0001 C CNN 376 | F 3 "" H 3250 4450 50 0001 C CNN 377 | 1 3250 4450 378 | 1 0 0 -1 379 | $EndComp 380 | Wire Wire Line 381 | 3000 3100 3150 3100 382 | $Comp 383 | L power:+3V0 #PWR056 384 | U 1 1 5F132328 385 | P 2550 3100 386 | F 0 "#PWR056" H 2550 2950 50 0001 C CNN 387 | F 1 "+3V0" H 2565 3273 50 0000 C CNN 388 | F 2 "" H 2550 3100 50 0001 C CNN 389 | F 3 "" H 2550 3100 50 0001 C CNN 390 | 1 2550 3100 391 | 1 0 0 -1 392 | $EndComp 393 | $EndSCHEMATC 394 | -------------------------------------------------------------------------------- /extras/hardware/kicad/ft81x.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 4 2 | EELAYER 30 0 3 | EELAYER END 4 | $Descr A4 11693 8268 5 | encoding utf-8 6 | Sheet 6 8 7 | Title "FT81x TFT040 Driver Board" 8 | Date "2020-07-19" 9 | Rev "2007E" 10 | Comp "" 11 | Comment1 "" 12 | Comment2 "" 13 | Comment3 "" 14 | Comment4 "" 15 | $EndDescr 16 | $Comp 17 | L driver-board-rescue:FT813-driver-board-driver-board-rescue U? 18 | U 1 1 5F0268C1 19 | P 5900 2250 20 | AR Path="/5F0268C1" Ref="U?" Part="1" 21 | AR Path="/5F022188/5F0268C1" Ref="U6" Part="1" 22 | F 0 "U6" H 5850 2400 50 0000 L CNN 23 | F 1 "FT813" H 5800 2250 50 0000 L CNN 24 | F 2 "Package_DFN_QFN:QFN-56-1EP_8x8mm_P0.5mm_EP5.6x5.6mm" H 5900 2250 50 0001 C CNN 25 | F 3 "" H 5900 2250 50 0001 C CNN 26 | F 4 "Bridgetek Pte Ltd." H 5900 2250 50 0001 C CNN "Manufacturer" 27 | F 5 "IC VIDEO GRAPHIC CNTL 56VQFN" H 5900 2250 50 0001 C CNN "Description" 28 | F 6 "FT812Q-T" H 5900 2250 50 0001 C CNN "Mfg Part #" 29 | 1 5900 2250 30 | 1 0 0 -1 31 | $EndComp 32 | Text GLabel 4750 1800 0 50 Output ~ 0 33 | AUDIO 34 | Text GLabel 4750 2000 0 50 Input ~ 0 35 | SCK_3V 36 | Text GLabel 4750 2100 0 50 Output ~ 0 37 | SDI_BUFFER 38 | Text GLabel 4750 2200 0 50 Input ~ 0 39 | SDO_3V 40 | Text GLabel 4750 2300 0 50 Input ~ 0 41 | CS1_3V 42 | $Comp 43 | L power:GND #PWR036 44 | U 1 1 5F02B6C5 45 | P 4750 1900 46 | F 0 "#PWR036" H 4750 1650 50 0001 C CNN 47 | F 1 "GND" V 4750 1800 50 0000 R CNN 48 | F 2 "" H 4750 1900 50 0001 C CNN 49 | F 3 "" H 4750 1900 50 0001 C CNN 50 | 1 4750 1900 51 | 0 1 1 0 52 | $EndComp 53 | $Comp 54 | L power:+3.3V #PWR040 55 | U 1 1 5F02BC5F 56 | P 5700 3100 57 | F 0 "#PWR040" H 5700 2950 50 0001 C CNN 58 | F 1 "+3.3V" V 5700 3300 50 0000 C CNN 59 | F 2 "" H 5700 3100 50 0001 C CNN 60 | F 3 "" H 5700 3100 50 0001 C CNN 61 | 1 5700 3100 62 | -1 0 0 1 63 | $EndComp 64 | $Comp 65 | L power:+3.3V #PWR041 66 | U 1 1 5F02BEAA 67 | P 5900 3100 68 | F 0 "#PWR041" H 5900 2950 50 0001 C CNN 69 | F 1 "+3.3V" V 5900 3300 50 0000 C CNN 70 | F 2 "" H 5900 3100 50 0001 C CNN 71 | F 3 "" H 5900 3100 50 0001 C CNN 72 | 1 5900 3100 73 | -1 0 0 1 74 | $EndComp 75 | $Comp 76 | L power:GND #PWR043 77 | U 1 1 5F02C6DE 78 | P 6500 3100 79 | F 0 "#PWR043" H 6500 2850 50 0001 C CNN 80 | F 1 "GND" V 6500 2900 50 0000 C CNN 81 | F 2 "" H 6500 3100 50 0001 C CNN 82 | F 3 "" H 6500 3100 50 0001 C CNN 83 | 1 6500 3100 84 | 1 0 0 -1 85 | $EndComp 86 | $Comp 87 | L power:GND #PWR035 88 | U 1 1 5F02CB8C 89 | P 7100 1600 90 | F 0 "#PWR035" H 7100 1350 50 0001 C CNN 91 | F 1 "GND" V 7100 1500 50 0000 R CNN 92 | F 2 "" H 7100 1600 50 0001 C CNN 93 | F 3 "" H 7100 1600 50 0001 C CNN 94 | 1 7100 1600 95 | 0 -1 -1 0 96 | $EndComp 97 | Wire Wire Line 98 | 4750 2900 4150 2900 99 | $Comp 100 | L Device:R R3 101 | U 1 1 5F02D8F9 102 | P 3900 2900 103 | F 0 "R3" V 3800 2900 50 0000 C CNN 104 | F 1 "47k" V 3900 2900 50 0000 C CNN 105 | F 2 "Resistor_SMD:R_0603_1608Metric" V 3830 2900 50 0001 C CNN 106 | F 3 "~" H 3900 2900 50 0001 C CNN 107 | F 4 "C25819 " H 3900 2900 50 0001 C CNN "LCSC" 108 | F 5 "" H 3900 2900 50 0001 C CNN "DigiKey" 109 | F 6 "RC0603JR-0747KL" H 3900 2900 50 0001 C CNN "Mfg Part #" 110 | F 7 "RES SMD 47K OHM 5% 1/10W 0603" H 3900 2900 50 0001 C CNN "Description" 111 | F 8 "Yageo" H 3900 2900 50 0001 C CNN "Manufacturer" 112 | 1 3900 2900 113 | 0 1 1 0 114 | $EndComp 115 | $Comp 116 | L Device:C C10 117 | U 1 1 5F02E8F5 118 | P 4150 3050 119 | F 0 "C10" H 4000 2950 50 0000 L CNN 120 | F 1 "100nF" H 4200 2950 50 0000 L CNN 121 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 4188 2900 50 0001 C CNN 122 | F 3 "~" H 4150 3050 50 0001 C CNN 123 | F 4 "C14663" H 4150 3050 50 0001 C CNN "LCSC" 124 | F 5 "" H 4150 3050 50 0001 C CNN "DigiKey" 125 | F 6 "CC0603KPX7R7BB104" H 4150 3050 50 0001 C CNN "Mfg Part #" 126 | F 7 "CAP CER 0.1UF 16V X7R 0603" H 4150 3050 50 0001 C CNN "Description" 127 | F 8 "Yageo" H 4150 3050 50 0001 C CNN "Manufacturer" 128 | 1 4150 3050 129 | 1 0 0 -1 130 | $EndComp 131 | Connection ~ 4150 2900 132 | Wire Wire Line 133 | 4150 2900 4050 2900 134 | $Comp 135 | L power:GND #PWR044 136 | U 1 1 5F02F445 137 | P 4150 3200 138 | F 0 "#PWR044" H 4150 2950 50 0001 C CNN 139 | F 1 "GND" H 4155 3027 50 0000 C CNN 140 | F 2 "" H 4150 3200 50 0001 C CNN 141 | F 3 "" H 4150 3200 50 0001 C CNN 142 | 1 4150 3200 143 | 1 0 0 -1 144 | $EndComp 145 | $Comp 146 | L Device:C C11 147 | U 1 1 5F032943 148 | P 5800 3550 149 | F 0 "C11" H 5650 3450 50 0000 L CNN 150 | F 1 "4.7µF" H 5850 3450 50 0000 L CNN 151 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 5838 3400 50 0001 C CNN 152 | F 3 "~" H 5800 3550 50 0001 C CNN 153 | F 4 "C19666" H 5800 3550 50 0001 C CNN "LCSC" 154 | F 5 "" H 5800 3550 50 0001 C CNN "DigiKey" 155 | F 6 "CL10A475KQ8NNNC" H 5800 3550 50 0001 C CNN "Mfg Part #" 156 | F 7 "CAP CER 4.7UF 6.3V X5R 0603" H 5800 3550 50 0001 C CNN "Description" 157 | F 8 "Samsung Electro-Mechanics" H 5800 3550 50 0001 C CNN "Manufacturer" 158 | 1 5800 3550 159 | 1 0 0 -1 160 | $EndComp 161 | Wire Wire Line 162 | 5800 3100 5800 3400 163 | $Comp 164 | L power:GND #PWR045 165 | U 1 1 5F033AAC 166 | P 5800 3700 167 | F 0 "#PWR045" H 5800 3450 50 0001 C CNN 168 | F 1 "GND" H 5805 3527 50 0000 C CNN 169 | F 2 "" H 5800 3700 50 0001 C CNN 170 | F 3 "" H 5800 3700 50 0001 C CNN 171 | 1 5800 3700 172 | 1 0 0 -1 173 | $EndComp 174 | Text GLabel 7100 2900 2 50 Output ~ 0 175 | DE 176 | Text GLabel 7100 2800 2 50 Output ~ 0 177 | VSYNC 178 | Text GLabel 7100 2700 2 50 Output ~ 0 179 | HSYNC 180 | Text GLabel 7100 2500 2 50 Output ~ 0 181 | PCLK 182 | $Comp 183 | L driver-board:YSX321SL X1 184 | U 1 1 5F0375EF 185 | P 5050 4000 186 | F 0 "X1" H 5050 4365 50 0000 C CNN 187 | F 1 "12 MHz" H 5050 4274 50 0000 C CNN 188 | F 2 "Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm" H 5000 4000 50 0001 C CNN 189 | F 3 "" H 5000 4000 50 0001 C CNN 190 | F 4 "C9002" H 5050 4000 50 0001 C CNN "LCSC" 191 | F 5 "" H 5050 4000 50 0001 C CNN "DigiKey" 192 | F 6 "RH100-12.000-12-1010-EXT-TR" H 5050 4000 50 0001 C CNN "Mfg Part #" 193 | F 7 "XTAL 12MHZ 12PF SMD" H 5050 4000 50 0001 C CNN "Description" 194 | F 8 "Raltron Electronics" H 5050 4000 50 0001 C CNN "Manufacturer" 195 | 1 5050 4000 196 | 1 0 0 -1 197 | $EndComp 198 | $Comp 199 | L power:GND #PWR046 200 | U 1 1 5F03AD9F 201 | P 5000 4300 202 | F 0 "#PWR046" H 5000 4050 50 0001 C CNN 203 | F 1 "GND" V 5000 4100 50 0000 C CNN 204 | F 2 "" H 5000 4300 50 0001 C CNN 205 | F 3 "" H 5000 4300 50 0001 C CNN 206 | 1 5000 4300 207 | 1 0 0 -1 208 | $EndComp 209 | $Comp 210 | L power:GND #PWR047 211 | U 1 1 5F03AF97 212 | P 5100 4300 213 | F 0 "#PWR047" H 5100 4050 50 0001 C CNN 214 | F 1 "GND" V 5100 4100 50 0000 C CNN 215 | F 2 "" H 5100 4300 50 0001 C CNN 216 | F 3 "" H 5100 4300 50 0001 C CNN 217 | 1 5100 4300 218 | 1 0 0 -1 219 | $EndComp 220 | Wire Wire Line 221 | 5500 3100 5500 3950 222 | Wire Wire Line 223 | 5500 3950 5300 3950 224 | Wire Wire Line 225 | 5400 3100 5400 3550 226 | Wire Wire Line 227 | 5400 3550 4750 3550 228 | Wire Wire Line 229 | 4750 3550 4750 3950 230 | Wire Wire Line 231 | 4750 3950 4800 3950 232 | $Comp 233 | L power:+3V0 #PWR038 234 | U 1 1 5F0403D2 235 | P 3750 2900 236 | F 0 "#PWR038" H 3750 2750 50 0001 C CNN 237 | F 1 "+3V0" V 3750 3000 50 0000 L CNN 238 | F 2 "" H 3750 2900 50 0001 C CNN 239 | F 3 "" H 3750 2900 50 0001 C CNN 240 | 1 3750 2900 241 | 0 -1 -1 0 242 | $EndComp 243 | $Comp 244 | L power:+3V0 #PWR037 245 | U 1 1 5F040E18 246 | P 4750 2600 247 | F 0 "#PWR037" H 4750 2450 50 0001 C CNN 248 | F 1 "+3V0" V 4750 2700 50 0000 L CNN 249 | F 2 "" H 4750 2600 50 0001 C CNN 250 | F 3 "" H 4750 2600 50 0001 C CNN 251 | 1 4750 2600 252 | 0 -1 -1 0 253 | $EndComp 254 | $Comp 255 | L power:+3V0 #PWR042 256 | U 1 1 5F041F56 257 | P 6000 3100 258 | F 0 "#PWR042" H 6000 2950 50 0001 C CNN 259 | F 1 "+3V0" V 6000 3300 50 0000 C CNN 260 | F 2 "" H 6000 3100 50 0001 C CNN 261 | F 3 "" H 6000 3100 50 0001 C CNN 262 | 1 6000 3100 263 | -1 0 0 1 264 | $EndComp 265 | NoConn ~ 6100 3100 266 | NoConn ~ 6200 3100 267 | NoConn ~ 6300 3100 268 | NoConn ~ 6400 3100 269 | NoConn ~ 6600 3100 270 | NoConn ~ 7100 2600 271 | NoConn ~ 4750 2700 272 | NoConn ~ 4750 2500 273 | NoConn ~ 4750 2400 274 | $Comp 275 | L power:GND #PWR039 276 | U 1 1 5F095769 277 | P 5600 3100 278 | F 0 "#PWR039" H 5600 2850 50 0001 C CNN 279 | F 1 "GND" V 5600 2900 50 0000 C CNN 280 | F 2 "" H 5600 3100 50 0001 C CNN 281 | F 3 "" H 5600 3100 50 0001 C CNN 282 | 1 5600 3100 283 | 1 0 0 -1 284 | $EndComp 285 | Text GLabel 4750 1700 0 50 Output ~ 0 286 | B0 287 | Text GLabel 4750 1600 0 50 Output ~ 0 288 | B1 289 | Text GLabel 5300 1400 1 50 Output ~ 0 290 | B2 291 | Text GLabel 5400 1400 1 50 Output ~ 0 292 | B3 293 | Text GLabel 5500 1400 1 50 Output ~ 0 294 | B4 295 | Text GLabel 5600 1400 1 50 Output ~ 0 296 | B5 297 | Text GLabel 5700 1400 1 50 Output ~ 0 298 | B6 299 | Text GLabel 5800 1400 1 50 Output ~ 0 300 | B7 301 | Text GLabel 5900 1400 1 50 Output ~ 0 302 | G0 303 | Text GLabel 6000 1400 1 50 Output ~ 0 304 | G1 305 | Text GLabel 6100 1400 1 50 Output ~ 0 306 | G2 307 | Text GLabel 6200 1400 1 50 Output ~ 0 308 | G3 309 | Text GLabel 6300 1400 1 50 Output ~ 0 310 | G4 311 | Text GLabel 6400 1400 1 50 Output ~ 0 312 | G5 313 | Text GLabel 6500 1400 1 50 Output ~ 0 314 | G6 315 | Text GLabel 6600 1400 1 50 Output ~ 0 316 | G7 317 | Text GLabel 7100 1700 2 50 Output ~ 0 318 | R0 319 | Text GLabel 7100 1800 2 50 Output ~ 0 320 | R1 321 | Text GLabel 7100 1900 2 50 Output ~ 0 322 | R2 323 | Text GLabel 7100 2000 2 50 Output ~ 0 324 | R3 325 | Text GLabel 7100 2100 2 50 Output ~ 0 326 | R4 327 | Text GLabel 7100 2200 2 50 Output ~ 0 328 | R5 329 | Text GLabel 7100 2300 2 50 Output ~ 0 330 | R6 331 | Text GLabel 7100 2400 2 50 Output ~ 0 332 | R7 333 | $Comp 334 | L Device:C C12 335 | U 1 1 5F0BABCA 336 | P 6350 5050 337 | F 0 "C12" H 6465 5096 50 0000 L CNN 338 | F 1 "10µF" H 6465 5005 50 0000 L CNN 339 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 6388 4900 50 0001 C CNN 340 | F 3 "~" H 6350 5050 50 0001 C CNN 341 | F 4 "C19702" H 6350 5050 50 0001 C CNN "LCSC" 342 | F 5 "" H 6350 5050 50 0001 C CNN "DigiKey" 343 | F 6 "0603ZD106KAT2A" H 6350 5050 50 0001 C CNN "Mfg Part #" 344 | F 7 "CAP CER 10UF 10V X5R 0603" H 6350 5050 50 0001 C CNN "Description" 345 | F 8 "AVX Corporation" H 6350 5050 50 0001 C CNN "Manufacturer" 346 | 1 6350 5050 347 | 1 0 0 -1 348 | $EndComp 349 | $Comp 350 | L power:+3.3V #PWR048 351 | U 1 1 5F0BB418 352 | P 6350 4900 353 | F 0 "#PWR048" H 6350 4750 50 0001 C CNN 354 | F 1 "+3.3V" H 6365 5073 50 0000 C CNN 355 | F 2 "" H 6350 4900 50 0001 C CNN 356 | F 3 "" H 6350 4900 50 0001 C CNN 357 | 1 6350 4900 358 | 1 0 0 -1 359 | $EndComp 360 | $Comp 361 | L power:GND #PWR050 362 | U 1 1 5F0BBD7E 363 | P 6350 5200 364 | F 0 "#PWR050" H 6350 4950 50 0001 C CNN 365 | F 1 "GND" H 6355 5027 50 0000 C CNN 366 | F 2 "" H 6350 5200 50 0001 C CNN 367 | F 3 "" H 6350 5200 50 0001 C CNN 368 | 1 6350 5200 369 | 1 0 0 -1 370 | $EndComp 371 | $Comp 372 | L Device:C C13 373 | U 1 1 5F0CB172 374 | P 7000 5050 375 | F 0 "C13" H 7115 5096 50 0000 L CNN 376 | F 1 "100nF" H 7115 5005 50 0000 L CNN 377 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 7038 4900 50 0001 C CNN 378 | F 3 "~" H 7000 5050 50 0001 C CNN 379 | F 4 "C14663" H 7000 5050 50 0001 C CNN "LCSC" 380 | F 5 "" H 7000 5050 50 0001 C CNN "DigiKey" 381 | F 6 "CC0603KPX7R7BB104" H 7000 5050 50 0001 C CNN "Mfg Part #" 382 | F 7 "CAP CER 0.1UF 16V X7R 0603" H 7000 5050 50 0001 C CNN "Description" 383 | F 8 "Yageo" H 7000 5050 50 0001 C CNN "Manufacturer" 384 | 1 7000 5050 385 | 1 0 0 -1 386 | $EndComp 387 | $Comp 388 | L power:GND #PWR051 389 | U 1 1 5F0CC6D1 390 | P 7000 5200 391 | F 0 "#PWR051" H 7000 4950 50 0001 C CNN 392 | F 1 "GND" H 7005 5027 50 0000 C CNN 393 | F 2 "" H 7000 5200 50 0001 C CNN 394 | F 3 "" H 7000 5200 50 0001 C CNN 395 | 1 7000 5200 396 | 1 0 0 -1 397 | $EndComp 398 | $Comp 399 | L power:+3V0 #PWR049 400 | U 1 1 5F0CC952 401 | P 7000 4900 402 | F 0 "#PWR049" H 7000 4750 50 0001 C CNN 403 | F 1 "+3V0" H 7015 5073 50 0000 C CNN 404 | F 2 "" H 7000 4900 50 0001 C CNN 405 | F 3 "" H 7000 4900 50 0001 C CNN 406 | 1 7000 4900 407 | 1 0 0 -1 408 | $EndComp 409 | Text GLabel 4150 2900 1 50 Input ~ 0 410 | FTRES 411 | Text GLabel 4750 2800 0 50 Output ~ 0 412 | IRQ_3V 413 | Text GLabel 5300 3100 3 50 Output ~ 0 414 | DISPRES 415 | $EndSCHEMATC 416 | -------------------------------------------------------------------------------- /extras/hardware/kicad/power.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 4 2 | EELAYER 30 0 3 | EELAYER END 4 | $Descr A4 11693 8268 5 | encoding utf-8 6 | Sheet 3 8 7 | Title "FT81x TFT040 Driver Board" 8 | Date "2020-07-19" 9 | Rev "2007E" 10 | Comp "" 11 | Comment1 "" 12 | Comment2 "" 13 | Comment3 "" 14 | Comment4 "" 15 | $EndDescr 16 | $Comp 17 | L driver-board:ME6210 U3 18 | U 1 1 5F050907 19 | P 4150 2150 20 | F 0 "U3" H 4150 2565 50 0000 C CNN 21 | F 1 "3.3V" H 4150 2474 50 0000 C CNN 22 | F 2 "Package_TO_SOT_SMD:SOT-23" H 4150 1400 50 0001 C CNN 23 | F 3 "" H 4150 2150 50 0001 C CNN 24 | F 4 "C236680" H 4150 2150 50 0001 C CNN "LCSC" 25 | F 5 "" H 4150 2150 50 0001 C CNN "DigiKey" 26 | F 6 "AP2125N-3.3TRG1" H 4150 2150 50 0001 C CNN "Mfg Part #" 27 | F 7 "IC REG LINEAR 3.3V 300MA SOT23-3" H 4150 2150 50 0001 C CNN "Description" 28 | F 8 "Diodes Incorporated" H 4150 2150 50 0001 C CNN "Manufacturer" 29 | 1 4150 2150 30 | 1 0 0 -1 31 | $EndComp 32 | $Comp 33 | L driver-board:ME6210 U2 34 | U 1 1 5F051BDD 35 | P 7200 2100 36 | F 0 "U2" H 7200 2515 50 0000 C CNN 37 | F 1 "3.0V" H 7200 2424 50 0000 C CNN 38 | F 2 "Package_TO_SOT_SMD:SOT-23" H 7200 1350 50 0001 C CNN 39 | F 3 "" H 7200 2100 50 0001 C CNN 40 | F 4 "C116985" H 7200 2100 50 0001 C CNN "LCSC" 41 | F 5 "" H 7200 2100 50 0001 C CNN "DigiKey" 42 | F 6 "AP2125N-3.0TRG1" H 7200 2100 50 0001 C CNN "Mfg Part #" 43 | F 7 "IC REG LINEAR 3V 300MA SOT23-3" H 7200 2100 50 0001 C CNN "Description" 44 | F 8 "Diodes Incorporated" H 7200 2100 50 0001 C CNN "Manufacturer" 45 | 1 7200 2100 46 | 1 0 0 -1 47 | $EndComp 48 | $Comp 49 | L Device:C C5 50 | U 1 1 5F05254D 51 | P 3500 2200 52 | F 0 "C5" H 3615 2246 50 0000 L CNN 53 | F 1 "10µF" H 3615 2155 50 0000 L CNN 54 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 3538 2050 50 0001 C CNN 55 | F 3 "~" H 3500 2200 50 0001 C CNN 56 | F 4 "C19702" H 3500 2200 50 0001 C CNN "LCSC" 57 | F 5 "" H 3500 2200 50 0001 C CNN "DigiKey" 58 | F 6 "0603ZD106KAT2A" H 3500 2200 50 0001 C CNN "Mfg Part #" 59 | F 7 "CAP CER 10UF 10V X5R 0603" H 3500 2200 50 0001 C CNN "Description" 60 | F 8 "AVX Corporation" H 3500 2200 50 0001 C CNN "Manufacturer" 61 | 1 3500 2200 62 | 1 0 0 -1 63 | $EndComp 64 | $Comp 65 | L Device:C C6 66 | U 1 1 5F052D97 67 | P 4800 2200 68 | F 0 "C6" H 4915 2246 50 0000 L CNN 69 | F 1 "10µF" H 4915 2155 50 0000 L CNN 70 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 4838 2050 50 0001 C CNN 71 | F 3 "~" H 4800 2200 50 0001 C CNN 72 | F 4 "C19702" H 4800 2200 50 0001 C CNN "LCSC" 73 | F 5 "" H 4800 2200 50 0001 C CNN "DigiKey" 74 | F 6 "0603ZD106KAT2A" H 4800 2200 50 0001 C CNN "Mfg Part #" 75 | F 7 "CAP CER 10UF 10V X5R 0603" H 4800 2200 50 0001 C CNN "Description" 76 | F 8 "AVX Corporation" H 4800 2200 50 0001 C CNN "Manufacturer" 77 | 1 4800 2200 78 | 1 0 0 -1 79 | $EndComp 80 | Wire Wire Line 81 | 4500 2050 4800 2050 82 | Wire Wire Line 83 | 3800 2050 3500 2050 84 | $Comp 85 | L power:GND #PWR018 86 | U 1 1 5F0548F7 87 | P 4150 2400 88 | F 0 "#PWR018" H 4150 2150 50 0001 C CNN 89 | F 1 "GND" H 4155 2227 50 0000 C CNN 90 | F 2 "" H 4150 2400 50 0001 C CNN 91 | F 3 "" H 4150 2400 50 0001 C CNN 92 | 1 4150 2400 93 | 1 0 0 -1 94 | $EndComp 95 | $Comp 96 | L power:GND #PWR015 97 | U 1 1 5F055174 98 | P 3500 2350 99 | F 0 "#PWR015" H 3500 2100 50 0001 C CNN 100 | F 1 "GND" H 3505 2177 50 0000 C CNN 101 | F 2 "" H 3500 2350 50 0001 C CNN 102 | F 3 "" H 3500 2350 50 0001 C CNN 103 | 1 3500 2350 104 | 1 0 0 -1 105 | $EndComp 106 | $Comp 107 | L power:GND #PWR016 108 | U 1 1 5F055676 109 | P 4800 2350 110 | F 0 "#PWR016" H 4800 2100 50 0001 C CNN 111 | F 1 "GND" H 4805 2177 50 0000 C CNN 112 | F 2 "" H 4800 2350 50 0001 C CNN 113 | F 3 "" H 4800 2350 50 0001 C CNN 114 | 1 4800 2350 115 | 1 0 0 -1 116 | $EndComp 117 | $Comp 118 | L power:+3.3V #PWR012 119 | U 1 1 5F055D4A 120 | P 4800 2050 121 | F 0 "#PWR012" H 4800 1900 50 0001 C CNN 122 | F 1 "+3.3V" H 4815 2223 50 0000 C CNN 123 | F 2 "" H 4800 2050 50 0001 C CNN 124 | F 3 "" H 4800 2050 50 0001 C CNN 125 | 1 4800 2050 126 | 1 0 0 -1 127 | $EndComp 128 | Connection ~ 4800 2050 129 | $Comp 130 | L power:+5V #PWR011 131 | U 1 1 5F056439 132 | P 3500 2050 133 | F 0 "#PWR011" H 3500 1900 50 0001 C CNN 134 | F 1 "+5V" H 3515 2223 50 0000 C CNN 135 | F 2 "" H 3500 2050 50 0001 C CNN 136 | F 3 "" H 3500 2050 50 0001 C CNN 137 | 1 3500 2050 138 | 1 0 0 -1 139 | $EndComp 140 | Connection ~ 3500 2050 141 | $Comp 142 | L Device:C C3 143 | U 1 1 5F057FFE 144 | P 6550 2150 145 | F 0 "C3" H 6665 2196 50 0000 L CNN 146 | F 1 "10µF" H 6665 2105 50 0000 L CNN 147 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 6588 2000 50 0001 C CNN 148 | F 3 "~" H 6550 2150 50 0001 C CNN 149 | F 4 "C19702" H 6550 2150 50 0001 C CNN "LCSC" 150 | F 5 "" H 6550 2150 50 0001 C CNN "DigiKey" 151 | F 6 "0603ZD106KAT2A" H 6550 2150 50 0001 C CNN "Mfg Part #" 152 | F 7 "CAP CER 10UF 10V X5R 0603" H 6550 2150 50 0001 C CNN "Description" 153 | F 8 "AVX Corporation" H 6550 2150 50 0001 C CNN "Manufacturer" 154 | 1 6550 2150 155 | 1 0 0 -1 156 | $EndComp 157 | $Comp 158 | L Device:C C4 159 | U 1 1 5F058C7E 160 | P 7850 2150 161 | F 0 "C4" H 7965 2196 50 0000 L CNN 162 | F 1 "10µF" H 7965 2105 50 0000 L CNN 163 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 7888 2000 50 0001 C CNN 164 | F 3 "~" H 7850 2150 50 0001 C CNN 165 | F 4 "C19702" H 7850 2150 50 0001 C CNN "LCSC" 166 | F 5 "" H 7850 2150 50 0001 C CNN "DigiKey" 167 | F 6 "0603ZD106KAT2A" H 7850 2150 50 0001 C CNN "Mfg Part #" 168 | F 7 "CAP CER 10UF 10V X5R 0603" H 7850 2150 50 0001 C CNN "Description" 169 | F 8 "AVX Corporation" H 7850 2150 50 0001 C CNN "Manufacturer" 170 | 1 7850 2150 171 | 1 0 0 -1 172 | $EndComp 173 | Wire Wire Line 174 | 6850 2000 6550 2000 175 | Wire Wire Line 176 | 7550 2000 7850 2000 177 | $Comp 178 | L power:GND #PWR014 179 | U 1 1 5F05A343 180 | P 7850 2300 181 | F 0 "#PWR014" H 7850 2050 50 0001 C CNN 182 | F 1 "GND" H 7855 2127 50 0000 C CNN 183 | F 2 "" H 7850 2300 50 0001 C CNN 184 | F 3 "" H 7850 2300 50 0001 C CNN 185 | 1 7850 2300 186 | 1 0 0 -1 187 | $EndComp 188 | $Comp 189 | L power:GND #PWR017 190 | U 1 1 5F05A491 191 | P 7200 2350 192 | F 0 "#PWR017" H 7200 2100 50 0001 C CNN 193 | F 1 "GND" H 7205 2177 50 0000 C CNN 194 | F 2 "" H 7200 2350 50 0001 C CNN 195 | F 3 "" H 7200 2350 50 0001 C CNN 196 | 1 7200 2350 197 | 1 0 0 -1 198 | $EndComp 199 | $Comp 200 | L power:GND #PWR013 201 | U 1 1 5F05A5EB 202 | P 6550 2300 203 | F 0 "#PWR013" H 6550 2050 50 0001 C CNN 204 | F 1 "GND" H 6555 2127 50 0000 C CNN 205 | F 2 "" H 6550 2300 50 0001 C CNN 206 | F 3 "" H 6550 2300 50 0001 C CNN 207 | 1 6550 2300 208 | 1 0 0 -1 209 | $EndComp 210 | $Comp 211 | L power:+5V #PWR09 212 | U 1 1 5F05A77C 213 | P 6550 2000 214 | F 0 "#PWR09" H 6550 1850 50 0001 C CNN 215 | F 1 "+5V" H 6565 2173 50 0000 C CNN 216 | F 2 "" H 6550 2000 50 0001 C CNN 217 | F 3 "" H 6550 2000 50 0001 C CNN 218 | 1 6550 2000 219 | 1 0 0 -1 220 | $EndComp 221 | Connection ~ 6550 2000 222 | $Comp 223 | L power:+3V0 #PWR010 224 | U 1 1 5F05A91B 225 | P 7850 2000 226 | F 0 "#PWR010" H 7850 1850 50 0001 C CNN 227 | F 1 "+3V0" H 7865 2173 50 0000 C CNN 228 | F 2 "" H 7850 2000 50 0001 C CNN 229 | F 3 "" H 7850 2000 50 0001 C CNN 230 | 1 7850 2000 231 | 1 0 0 -1 232 | $EndComp 233 | Connection ~ 7850 2000 234 | $Comp 235 | L Regulator_Switching:TLV61046ADB U4 236 | U 1 1 5F069EE9 237 | P 5750 4350 238 | F 0 "U4" H 5750 4865 50 0000 C CNN 239 | F 1 "TLV61046ADB" H 5750 4774 50 0000 C CNN 240 | F 2 "Package_TO_SOT_SMD:SOT-23-6" H 5800 4200 50 0001 L CIN 241 | F 3 "http://www.ti.com/lit/ds/symlink/tlv61046a.pdf" H 5750 4450 50 0001 C CNN 242 | F 4 "C464815" H 5750 4350 50 0001 C CNN "LCSC" 243 | F 5 "" H 5750 4350 50 0001 C CNN "DigiKey" 244 | F 6 "TLV61046ADBVR" H 5750 4350 50 0001 C CNN "Mfg Part #" 245 | F 7 "IC REG BOOST ADJ SOT23-6" H 5750 4350 50 0001 C CNN "Description" 246 | F 8 "Texas Instruments" H 5750 4350 50 0001 C CNN "Manufacturer" 247 | 1 5750 4350 248 | 1 0 0 -1 249 | $EndComp 250 | $Comp 251 | L Device:C C7 252 | U 1 1 5F06AE11 253 | P 4800 4300 254 | F 0 "C7" H 4915 4346 50 0000 L CNN 255 | F 1 "1µF" H 4915 4255 50 0000 L CNN 256 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 4838 4150 50 0001 C CNN 257 | F 3 "~" H 4800 4300 50 0001 C CNN 258 | F 4 "C15849" H 4800 4300 50 0001 C CNN "LCSC" 259 | F 5 "" H 4800 4300 50 0001 C CNN "DigiKey" 260 | F 6 "CL10A105KP8NNNC" H 4800 4300 50 0001 C CNN "Mfg Part #" 261 | F 7 "CAP CER 1UF 10V X5R 0603" H 4800 4300 50 0001 C CNN "Description" 262 | F 8 "Samsung Electro-Mechanics" H 4800 4300 50 0001 C CNN "Manufacturer" 263 | 1 4800 4300 264 | 1 0 0 -1 265 | $EndComp 266 | Wire Wire Line 267 | 5450 4150 5350 4150 268 | $Comp 269 | L power:+5V #PWR019 270 | U 1 1 5F06EC01 271 | P 4800 4150 272 | F 0 "#PWR019" H 4800 4000 50 0001 C CNN 273 | F 1 "+5V" H 4815 4323 50 0000 C CNN 274 | F 2 "" H 4800 4150 50 0001 C CNN 275 | F 3 "" H 4800 4150 50 0001 C CNN 276 | 1 4800 4150 277 | 1 0 0 -1 278 | $EndComp 279 | Connection ~ 4800 4150 280 | $Comp 281 | L power:GND #PWR022 282 | U 1 1 5F06EDEA 283 | P 4800 4450 284 | F 0 "#PWR022" H 4800 4200 50 0001 C CNN 285 | F 1 "GND" H 4805 4277 50 0000 C CNN 286 | F 2 "" H 4800 4450 50 0001 C CNN 287 | F 3 "" H 4800 4450 50 0001 C CNN 288 | 1 4800 4450 289 | 1 0 0 -1 290 | $EndComp 291 | $Comp 292 | L power:GND #PWR023 293 | U 1 1 5F06F1B4 294 | P 5750 4550 295 | F 0 "#PWR023" H 5750 4300 50 0001 C CNN 296 | F 1 "GND" H 5755 4377 50 0000 C CNN 297 | F 2 "" H 5750 4550 50 0001 C CNN 298 | F 3 "" H 5750 4550 50 0001 C CNN 299 | 1 5750 4550 300 | 1 0 0 -1 301 | $EndComp 302 | $Comp 303 | L power:+5V #PWR021 304 | U 1 1 5F06F5BF 305 | P 5450 4350 306 | F 0 "#PWR021" H 5450 4200 50 0001 C CNN 307 | F 1 "+5V" V 5450 4450 50 0000 L CNN 308 | F 2 "" H 5450 4350 50 0001 C CNN 309 | F 3 "" H 5450 4350 50 0001 C CNN 310 | 1 5450 4350 311 | 0 -1 -1 0 312 | $EndComp 313 | $Comp 314 | L Device:R R2 315 | U 1 1 5F07151B 316 | P 6400 4800 317 | F 0 "R2" H 6470 4846 50 0000 L CNN 318 | F 1 "71.5k" H 6470 4755 50 0000 L CNN 319 | F 2 "Resistor_SMD:R_0603_1608Metric" V 6330 4800 50 0001 C CNN 320 | F 3 "~" H 6400 4800 50 0001 C CNN 321 | F 4 "C23103" H 6400 4800 50 0001 C CNN "LCSC" 322 | F 5 "" H 6400 4800 50 0001 C CNN "DigiKey" 323 | F 6 "RC0603FR-0771K5L" H 6400 4800 50 0001 C CNN "Mfg Part #" 324 | F 7 "RES SMD 71.5K OHM 1% 1/10W 0603" H 6400 4800 50 0001 C CNN "Description" 325 | F 8 "Yageo" H 6400 4800 50 0001 C CNN "Manufacturer" 326 | 1 6400 4800 327 | 1 0 0 -1 328 | $EndComp 329 | $Comp 330 | L power:GND #PWR025 331 | U 1 1 5F072953 332 | P 6400 4950 333 | F 0 "#PWR025" H 6400 4700 50 0001 C CNN 334 | F 1 "GND" H 6405 4777 50 0000 C CNN 335 | F 2 "" H 6400 4950 50 0001 C CNN 336 | F 3 "" H 6400 4950 50 0001 C CNN 337 | 1 6400 4950 338 | 1 0 0 -1 339 | $EndComp 340 | $Comp 341 | L Device:C C8 342 | U 1 1 5F07504E 343 | P 6800 4400 344 | F 0 "C8" H 6915 4446 50 0000 L CNN 345 | F 1 "4.7µF" H 6915 4355 50 0000 L CNN 346 | F 2 "Capacitor_SMD:C_0603_1608Metric" H 6838 4250 50 0001 C CNN 347 | F 3 "~" H 6800 4400 50 0001 C CNN 348 | F 4 "C19666" H 6800 4400 50 0001 C CNN "LCSC" 349 | F 5 "" H 6800 4400 50 0001 C CNN "DigiKey" 350 | F 6 "CL10A475KQ8NNNC" H 6800 4400 50 0001 C CNN "Mfg Part #" 351 | F 7 "CAP CER 4.7UF 6.3V X5R 0603" H 6800 4400 50 0001 C CNN "Description" 352 | F 8 "Samsung Electro-Mechanics" H 6800 4400 50 0001 C CNN "Manufacturer" 353 | 1 6800 4400 354 | 1 0 0 -1 355 | $EndComp 356 | $Comp 357 | L power:GND #PWR024 358 | U 1 1 5F076C9E 359 | P 6800 4550 360 | F 0 "#PWR024" H 6800 4300 50 0001 C CNN 361 | F 1 "GND" H 6805 4377 50 0000 C CNN 362 | F 2 "" H 6800 4550 50 0001 C CNN 363 | F 3 "" H 6800 4550 50 0001 C CNN 364 | 1 6800 4550 365 | 1 0 0 -1 366 | $EndComp 367 | $Comp 368 | L power:+12V #PWR020 369 | U 1 1 5F07735E 370 | P 6800 4250 371 | F 0 "#PWR020" H 6800 4100 50 0001 C CNN 372 | F 1 "+12V" H 6815 4423 50 0000 C CNN 373 | F 2 "" H 6800 4250 50 0001 C CNN 374 | F 3 "" H 6800 4250 50 0001 C CNN 375 | 1 6800 4250 376 | 1 0 0 -1 377 | $EndComp 378 | $Comp 379 | L Device:L L1 380 | U 1 1 5F0779DE 381 | P 5750 3700 382 | F 0 "L1" V 6031 3700 50 0000 C CNN 383 | F 1 "10µH" V 5940 3700 50 0000 C CNN 384 | F 2 "Inductor_SMD:L_0603_1608Metric" H 5750 3700 50 0001 C CNN 385 | F 3 "~" H 5750 3700 50 0001 C CNN 386 | F 4 "" H 5750 3700 50 0001 C CNN "LCSC" 387 | F 5 "" H 5750 3700 50 0001 C CNN "DigiKey" 388 | F 6 "BRL1608T100M" H 5750 3700 50 0001 C CNN "Mfg Part #" 389 | F 7 "FIXED IND 10UH 220MA 2.6 OHM SMD" H 5750 3700 50 0001 C CNN "Description" 390 | F 8 "Taiyo Yuden" H 5750 3700 50 0001 C CNN "Manufacturer" 391 | 1 5750 3700 392 | 0 -1 -1 0 393 | $EndComp 394 | Wire Wire Line 395 | 6050 4150 6150 4150 396 | Wire Wire Line 397 | 6150 4150 6150 3700 398 | Wire Wire Line 399 | 6150 3700 5900 3700 400 | Wire Wire Line 401 | 5350 3700 5350 4150 402 | Wire Wire Line 403 | 5600 3700 5350 3700 404 | Connection ~ 5350 4150 405 | Wire Wire Line 406 | 5350 4150 4800 4150 407 | $Comp 408 | L Device:R R1 409 | U 1 1 5F0697E7 410 | P 6400 4400 411 | F 0 "R1" H 6470 4446 50 0000 L CNN 412 | F 1 "1M" H 6470 4355 50 0000 L CNN 413 | F 2 "Resistor_SMD:R_0603_1608Metric" V 6330 4400 50 0001 C CNN 414 | F 3 "~" H 6400 4400 50 0001 C CNN 415 | F 4 "C22935" H 6400 4400 50 0001 C CNN "LCSC" 416 | F 5 "" H 6400 4400 50 0001 C CNN "DigiKey" 417 | F 6 "RC0603FR-071ML" H 6400 4400 50 0001 C CNN "Mfg Part #" 418 | F 7 "RES SMD 1M OHM 1% 1/10W 0603" H 6400 4400 50 0001 C CNN "Description" 419 | F 8 "Yageo" H 6400 4400 50 0001 C CNN "Manufacturer" 420 | 1 6400 4400 421 | 1 0 0 -1 422 | $EndComp 423 | Wire Wire Line 424 | 6050 4250 6400 4250 425 | Connection ~ 6800 4250 426 | Connection ~ 6400 4250 427 | Wire Wire Line 428 | 6400 4250 6800 4250 429 | Wire Wire Line 430 | 6400 4550 6400 4600 431 | Wire Wire Line 432 | 6050 4350 6150 4350 433 | Wire Wire Line 434 | 6150 4350 6150 4600 435 | Wire Wire Line 436 | 6150 4600 6400 4600 437 | Connection ~ 6400 4600 438 | Wire Wire Line 439 | 6400 4600 6400 4650 440 | $EndSCHEMATC 441 | -------------------------------------------------------------------------------- /extras/hardware/LICENSE: -------------------------------------------------------------------------------- 1 | CERN Open Hardware Licence Version 2 - Strongly Reciprocal 2 | 3 | 4 | Preamble 5 | 6 | CERN has developed this licence to promote collaboration among 7 | hardware designers and to provide a legal tool which supports the 8 | freedom to use, study, modify, share and distribute hardware designs 9 | and products based on those designs. Version 2 of the CERN Open 10 | Hardware Licence comes in three variants: CERN-OHL-P (permissive); and 11 | two reciprocal licences: CERN-OHL-W (weakly reciprocal) and this 12 | licence, CERN-OHL-S (strongly reciprocal). 13 | 14 | The CERN-OHL-S is copyright CERN 2020. Anyone is welcome to use it, in 15 | unmodified form only. 16 | 17 | Use of this Licence does not imply any endorsement by CERN of any 18 | Licensor or their designs nor does it imply any involvement by CERN in 19 | their development. 20 | 21 | 22 | 1 Definitions 23 | 24 | 1.1 'Licence' means this CERN-OHL-S. 25 | 26 | 1.2 'Compatible Licence' means 27 | 28 | a) any earlier version of the CERN Open Hardware licence, or 29 | 30 | b) any version of the CERN-OHL-S, or 31 | 32 | c) any licence which permits You to treat the Source to which 33 | it applies as licensed under CERN-OHL-S provided that on 34 | Conveyance of any such Source, or any associated Product You 35 | treat the Source in question as being licensed under 36 | CERN-OHL-S. 37 | 38 | 1.3 'Source' means information such as design materials or digital 39 | code which can be applied to Make or test a Product or to 40 | prepare a Product for use, Conveyance or sale, regardless of its 41 | medium or how it is expressed. It may include Notices. 42 | 43 | 1.4 'Covered Source' means Source that is explicitly made available 44 | under this Licence. 45 | 46 | 1.5 'Product' means any device, component, work or physical object, 47 | whether in finished or intermediate form, arising from the use, 48 | application or processing of Covered Source. 49 | 50 | 1.6 'Make' means to create or configure something, whether by 51 | manufacture, assembly, compiling, loading or applying Covered 52 | Source or another Product or otherwise. 53 | 54 | 1.7 'Available Component' means any part, sub-assembly, library or 55 | code which: 56 | 57 | a) is licensed to You as Complete Source under a Compatible 58 | Licence; or 59 | 60 | b) is available, at the time a Product or the Source containing 61 | it is first Conveyed, to You and any other prospective 62 | licensees 63 | 64 | i) as a physical part with sufficient rights and 65 | information (including any configuration and 66 | programming files and information about its 67 | characteristics and interfaces) to enable it either to 68 | be Made itself, or to be sourced and used to Make the 69 | Product; or 70 | ii) as part of the normal distribution of a tool used to 71 | design or Make the Product. 72 | 73 | 1.8 'Complete Source' means the set of all Source necessary to Make 74 | a Product, in the preferred form for making modifications, 75 | including necessary installation and interfacing information 76 | both for the Product, and for any included Available Components. 77 | If the format is proprietary, it must also be made available in 78 | a format (if the proprietary tool can create it) which is 79 | viewable with a tool available to potential licensees and 80 | licensed under a licence approved by the Free Software 81 | Foundation or the Open Source Initiative. Complete Source need 82 | not include the Source of any Available Component, provided that 83 | You include in the Complete Source sufficient information to 84 | enable a recipient to Make or source and use the Available 85 | Component to Make the Product. 86 | 87 | 1.9 'Source Location' means a location where a Licensor has placed 88 | Covered Source, and which that Licensor reasonably believes will 89 | remain easily accessible for at least three years for anyone to 90 | obtain a digital copy. 91 | 92 | 1.10 'Notice' means copyright, acknowledgement and trademark notices, 93 | Source Location references, modification notices (subsection 94 | 3.3(b)) and all notices that refer to this Licence and to the 95 | disclaimer of warranties that are included in the Covered 96 | Source. 97 | 98 | 1.11 'Licensee' or 'You' means any person exercising rights under 99 | this Licence. 100 | 101 | 1.12 'Licensor' means a natural or legal person who creates or 102 | modifies Covered Source. A person may be a Licensee and a 103 | Licensor at the same time. 104 | 105 | 1.13 'Convey' means to communicate to the public or distribute. 106 | 107 | 108 | 2 Applicability 109 | 110 | 2.1 This Licence governs the use, copying, modification, Conveying 111 | of Covered Source and Products, and the Making of Products. By 112 | exercising any right granted under this Licence, You irrevocably 113 | accept these terms and conditions. 114 | 115 | 2.2 This Licence is granted by the Licensor directly to You, and 116 | shall apply worldwide and without limitation in time. 117 | 118 | 2.3 You shall not attempt to restrict by contract or otherwise the 119 | rights granted under this Licence to other Licensees. 120 | 121 | 2.4 This Licence is not intended to restrict fair use, fair dealing, 122 | or any other similar right. 123 | 124 | 125 | 3 Copying, modifying and Conveying Covered Source 126 | 127 | 3.1 You may copy and Convey verbatim copies of Covered Source, in 128 | any medium, provided You retain all Notices. 129 | 130 | 3.2 You may modify Covered Source, other than Notices, provided that 131 | You irrevocably undertake to make that modified Covered Source 132 | available from a Source Location should You Convey a Product in 133 | circumstances where the recipient does not otherwise receive a 134 | copy of the modified Covered Source. In each case subsection 3.3 135 | shall apply. 136 | 137 | You may only delete Notices if they are no longer applicable to 138 | the corresponding Covered Source as modified by You and You may 139 | add additional Notices applicable to Your modifications. 140 | Including Covered Source in a larger work is modifying the 141 | Covered Source, and the larger work becomes modified Covered 142 | Source. 143 | 144 | 3.3 You may Convey modified Covered Source (with the effect that You 145 | shall also become a Licensor) provided that You: 146 | 147 | a) retain Notices as required in subsection 3.2; 148 | 149 | b) add a Notice to the modified Covered Source stating that You 150 | have modified it, with the date and brief description of how 151 | You have modified it; 152 | 153 | c) add a Source Location Notice for the modified Covered Source 154 | if You Convey in circumstances where the recipient does not 155 | otherwise receive a copy of the modified Covered Source; and 156 | 157 | d) license the modified Covered Source under the terms and 158 | conditions of this Licence (or, as set out in subsection 159 | 8.3, a later version, if permitted by the licence of the 160 | original Covered Source). Such modified Covered Source must 161 | be licensed as a whole, but excluding Available Components 162 | contained in it, which remain licensed under their own 163 | applicable licences. 164 | 165 | 166 | 4 Making and Conveying Products 167 | 168 | You may Make Products, and/or Convey them, provided that You either 169 | provide each recipient with a copy of the Complete Source or ensure 170 | that each recipient is notified of the Source Location of the Complete 171 | Source. That Complete Source is Covered Source, and You must 172 | accordingly satisfy Your obligations set out in subsection 3.3. If 173 | specified in a Notice, the Product must visibly and securely display 174 | the Source Location on it or its packaging or documentation in the 175 | manner specified in that Notice. 176 | 177 | 178 | 5 Research and Development 179 | 180 | You may Convey Covered Source, modified Covered Source or Products to 181 | a legal entity carrying out development, testing or quality assurance 182 | work on Your behalf provided that the work is performed on terms which 183 | prevent the entity from both using the Source or Products for its own 184 | internal purposes and Conveying the Source or Products or any 185 | modifications to them to any person other than You. Any modifications 186 | made by the entity shall be deemed to be made by You pursuant to 187 | subsection 3.2. 188 | 189 | 190 | 6 DISCLAIMER AND LIABILITY 191 | 192 | 6.1 DISCLAIMER OF WARRANTY -- The Covered Source and any Products 193 | are provided 'as is' and any express or implied warranties, 194 | including, but not limited to, implied warranties of 195 | merchantability, of satisfactory quality, non-infringement of 196 | third party rights, and fitness for a particular purpose or use 197 | are disclaimed in respect of any Source or Product to the 198 | maximum extent permitted by law. The Licensor makes no 199 | representation that any Source or Product does not or will not 200 | infringe any patent, copyright, trade secret or other 201 | proprietary right. The entire risk as to the use, quality, and 202 | performance of any Source or Product shall be with You and not 203 | the Licensor. This disclaimer of warranty is an essential part 204 | of this Licence and a condition for the grant of any rights 205 | granted under this Licence. 206 | 207 | 6.2 EXCLUSION AND LIMITATION OF LIABILITY -- The Licensor shall, to 208 | the maximum extent permitted by law, have no liability for 209 | direct, indirect, special, incidental, consequential, exemplary, 210 | punitive or other damages of any character including, without 211 | limitation, procurement of substitute goods or services, loss of 212 | use, data or profits, or business interruption, however caused 213 | and on any theory of contract, warranty, tort (including 214 | negligence), product liability or otherwise, arising in any way 215 | in relation to the Covered Source, modified Covered Source 216 | and/or the Making or Conveyance of a Product, even if advised of 217 | the possibility of such damages, and You shall hold the 218 | Licensor(s) free and harmless from any liability, costs, 219 | damages, fees and expenses, including claims by third parties, 220 | in relation to such use. 221 | 222 | 223 | 7 Patents 224 | 225 | 7.1 Subject to the terms and conditions of this Licence, each 226 | Licensor hereby grants to You a perpetual, worldwide, 227 | non-exclusive, no-charge, royalty-free, irrevocable (except as 228 | stated in subsections 7.2 and 8.4) patent license to Make, have 229 | Made, use, offer to sell, sell, import, and otherwise transfer 230 | the Covered Source and Products, where such licence applies only 231 | to those patent claims licensable by such Licensor that are 232 | necessarily infringed by exercising rights under the Covered 233 | Source as Conveyed by that Licensor. 234 | 235 | 7.2 If You institute patent litigation against any entity (including 236 | a cross-claim or counterclaim in a lawsuit) alleging that the 237 | Covered Source or a Product constitutes direct or contributory 238 | patent infringement, or You seek any declaration that a patent 239 | licensed to You under this Licence is invalid or unenforceable 240 | then any rights granted to You under this Licence shall 241 | terminate as of the date such process is initiated. 242 | 243 | 244 | 8 General 245 | 246 | 8.1 If any provisions of this Licence are or subsequently become 247 | invalid or unenforceable for any reason, the remaining 248 | provisions shall remain effective. 249 | 250 | 8.2 You shall not use any of the name (including acronyms and 251 | abbreviations), image, or logo by which the Licensor or CERN is 252 | known, except where needed to comply with section 3, or where 253 | the use is otherwise allowed by law. Any such permitted use 254 | shall be factual and shall not be made so as to suggest any kind 255 | of endorsement or implication of involvement by the Licensor or 256 | its personnel. 257 | 258 | 8.3 CERN may publish updated versions and variants of this Licence 259 | which it considers to be in the spirit of this version, but may 260 | differ in detail to address new problems or concerns. New 261 | versions will be published with a unique version number and a 262 | variant identifier specifying the variant. If the Licensor has 263 | specified that a given variant applies to the Covered Source 264 | without specifying a version, You may treat that Covered Source 265 | as being released under any version of the CERN-OHL with that 266 | variant. If no variant is specified, the Covered Source shall be 267 | treated as being released under CERN-OHL-S. The Licensor may 268 | also specify that the Covered Source is subject to a specific 269 | version of the CERN-OHL or any later version in which case You 270 | may apply this or any later version of CERN-OHL with the same 271 | variant identifier published by CERN. 272 | 273 | 8.4 This Licence shall terminate with immediate effect if You fail 274 | to comply with any of its terms and conditions. 275 | 276 | 8.5 However, if You cease all breaches of this Licence, then Your 277 | Licence from any Licensor is reinstated unless such Licensor has 278 | terminated this Licence by giving You, while You remain in 279 | breach, a notice specifying the breach and requiring You to cure 280 | it within 30 days, and You have failed to come into compliance 281 | in all material respects by the end of the 30 day period. Should 282 | You repeat the breach after receipt of a cure notice and 283 | subsequent reinstatement, this Licence will terminate 284 | immediately and permanently. Section 6 shall continue to apply 285 | after any termination. 286 | 287 | 8.6 This Licence shall not be enforceable except by a Licensor 288 | acting as such, and third party beneficiary rights are 289 | specifically excluded. 290 | -------------------------------------------------------------------------------- /extras/hardware/kicad/driver-board-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # Connector_Conn_01x13_Male 5 | # 6 | DEF Connector_Conn_01x13_Male J 0 40 Y N 1 F N 7 | F0 "J" 0 700 50 H V C CNN 8 | F1 "Connector_Conn_01x13_Male" 0 -700 50 H V C CNN 9 | F2 "" 0 0 50 H I C CNN 10 | F3 "" 0 0 50 H I C CNN 11 | $FPLIST 12 | Connector*:*_1x??_* 13 | $ENDFPLIST 14 | DRAW 15 | S 34 -595 0 -605 1 1 6 F 16 | S 34 -495 0 -505 1 1 6 F 17 | S 34 -395 0 -405 1 1 6 F 18 | S 34 -295 0 -305 1 1 6 F 19 | S 34 -195 0 -205 1 1 6 F 20 | S 34 -95 0 -105 1 1 6 F 21 | S 34 5 0 -5 1 1 6 F 22 | S 34 105 0 95 1 1 6 F 23 | S 34 205 0 195 1 1 6 F 24 | S 34 305 0 295 1 1 6 F 25 | S 34 405 0 395 1 1 6 F 26 | S 34 505 0 495 1 1 6 F 27 | S 34 605 0 595 1 1 6 F 28 | P 2 1 1 6 50 -600 34 -600 N 29 | P 2 1 1 6 50 -500 34 -500 N 30 | P 2 1 1 6 50 -400 34 -400 N 31 | P 2 1 1 6 50 -300 34 -300 N 32 | P 2 1 1 6 50 -200 34 -200 N 33 | P 2 1 1 6 50 -100 34 -100 N 34 | P 2 1 1 6 50 0 34 0 N 35 | P 2 1 1 6 50 100 34 100 N 36 | P 2 1 1 6 50 200 34 200 N 37 | P 2 1 1 6 50 300 34 300 N 38 | P 2 1 1 6 50 400 34 400 N 39 | P 2 1 1 6 50 500 34 500 N 40 | P 2 1 1 6 50 600 34 600 N 41 | X Pin_1 1 200 600 150 L 50 50 1 1 P 42 | X Pin_10 10 200 -300 150 L 50 50 1 1 P 43 | X Pin_11 11 200 -400 150 L 50 50 1 1 P 44 | X Pin_12 12 200 -500 150 L 50 50 1 1 P 45 | X Pin_13 13 200 -600 150 L 50 50 1 1 P 46 | X Pin_2 2 200 500 150 L 50 50 1 1 P 47 | X Pin_3 3 200 400 150 L 50 50 1 1 P 48 | X Pin_4 4 200 300 150 L 50 50 1 1 P 49 | X Pin_5 5 200 200 150 L 50 50 1 1 P 50 | X Pin_6 6 200 100 150 L 50 50 1 1 P 51 | X Pin_7 7 200 0 150 L 50 50 1 1 P 52 | X Pin_8 8 200 -100 150 L 50 50 1 1 P 53 | X Pin_9 9 200 -200 150 L 50 50 1 1 P 54 | ENDDRAW 55 | ENDDEF 56 | # 57 | # Connector_TestPoint 58 | # 59 | DEF Connector_TestPoint TP 0 30 N N 1 F N 60 | F0 "TP" 0 270 50 H V C CNN 61 | F1 "Connector_TestPoint" 0 200 50 H V C CNN 62 | F2 "" 200 0 50 H I C CNN 63 | F3 "" 200 0 50 H I C CNN 64 | $FPLIST 65 | Pin* 66 | Test* 67 | $ENDFPLIST 68 | DRAW 69 | C 0 130 30 0 1 0 N 70 | X 1 1 0 0 100 U 50 50 1 1 P 71 | ENDDRAW 72 | ENDDEF 73 | # 74 | # Device_C 75 | # 76 | DEF Device_C C 0 10 N Y 1 F N 77 | F0 "C" 25 100 50 H V L CNN 78 | F1 "Device_C" 25 -100 50 H V L CNN 79 | F2 "" 38 -150 50 H I C CNN 80 | F3 "" 0 0 50 H I C CNN 81 | $FPLIST 82 | C_* 83 | $ENDFPLIST 84 | DRAW 85 | P 2 0 1 20 -80 -30 80 -30 N 86 | P 2 0 1 20 -80 30 80 30 N 87 | X ~ 1 0 150 110 D 50 50 1 1 P 88 | X ~ 2 0 -150 110 U 50 50 1 1 P 89 | ENDDRAW 90 | ENDDEF 91 | # 92 | # Device_L 93 | # 94 | DEF Device_L L 0 40 N N 1 F N 95 | F0 "L" -50 0 50 V V C CNN 96 | F1 "Device_L" 75 0 50 V V C CNN 97 | F2 "" 0 0 50 H I C CNN 98 | F3 "" 0 0 50 H I C CNN 99 | $FPLIST 100 | Choke_* 101 | *Coil* 102 | Inductor_* 103 | L_* 104 | $ENDFPLIST 105 | DRAW 106 | A 0 -75 25 -899 899 0 1 0 N 0 -100 0 -50 107 | A 0 -25 25 -899 899 0 1 0 N 0 -50 0 0 108 | A 0 25 25 -899 899 0 1 0 N 0 0 0 50 109 | A 0 75 25 -899 899 0 1 0 N 0 50 0 100 110 | X 1 1 0 150 50 D 50 50 1 1 P 111 | X 2 2 0 -150 50 U 50 50 1 1 P 112 | ENDDRAW 113 | ENDDEF 114 | # 115 | # Device_R 116 | # 117 | DEF Device_R R 0 0 N Y 1 F N 118 | F0 "R" 80 0 50 V V C CNN 119 | F1 "Device_R" 0 0 50 V V C CNN 120 | F2 "" -70 0 50 V I C CNN 121 | F3 "" 0 0 50 H I C CNN 122 | $FPLIST 123 | R_* 124 | $ENDFPLIST 125 | DRAW 126 | S -40 -100 40 100 0 1 10 N 127 | X ~ 1 0 150 50 D 50 50 1 1 P 128 | X ~ 2 0 -150 50 U 50 50 1 1 P 129 | ENDDRAW 130 | ENDDEF 131 | # 132 | # Regulator_Switching_TLV61046ADB 133 | # 134 | DEF Regulator_Switching_TLV61046ADB U 0 10 Y Y 1 F N 135 | F0 "U" -200 300 50 H V L CNN 136 | F1 "Regulator_Switching_TLV61046ADB" 0 300 50 H V L CNN 137 | F2 "Package_TO_SOT_SMD:SOT-23-6" 50 -150 50 H I L CIN 138 | F3 "" 0 100 50 H I C CNN 139 | $FPLIST 140 | SOT?23* 141 | $ENDFPLIST 142 | DRAW 143 | S -200 250 200 -100 0 1 10 f 144 | X SW 1 300 200 100 L 50 50 1 1 W 145 | X GND 2 0 -200 100 U 50 50 1 1 W 146 | X FB 3 300 0 100 L 50 50 1 1 I 147 | X EN 4 -300 0 100 R 50 50 1 1 I 148 | X VOUT 5 300 100 100 L 50 50 1 1 w 149 | X VI 6 -300 200 100 R 50 50 1 1 W 150 | ENDDRAW 151 | ENDDEF 152 | # 153 | # driver-board-rescue_ER-TFT040-2-driver-board-driver-board-rescue 154 | # 155 | DEF driver-board-rescue_ER-TFT040-2-driver-board-driver-board-rescue U 0 40 Y Y 1 F N 156 | F0 "U" 0 3100 50 H V C CNN 157 | F1 "driver-board-rescue_ER-TFT040-2-driver-board-driver-board-rescue" 0 -3000 50 H V C CNN 158 | F2 "" -100 2000 50 H I C CNN 159 | F3 "" -100 2000 50 H I C CNN 160 | DRAW 161 | S -150 3050 200 -2950 0 1 0 N 162 | X VCI 1 -250 -2900 100 R 50 50 1 1 W 163 | X DC 10 -250 -2000 100 R 50 50 1 1 I 164 | X SCL 11 -250 -1900 100 R 50 50 1 1 I 165 | X ~CS 12 -250 -1800 100 R 50 50 1 1 I 166 | X ~RES 13 -250 -1700 100 R 50 50 1 1 I 167 | X D23 14 -250 -1600 100 R 50 50 1 1 I 168 | X D22 15 -250 -1500 100 R 50 50 1 1 I 169 | X D21 16 -250 -1400 100 R 50 50 1 1 I 170 | X D20 17 -250 -1300 100 R 50 50 1 1 I 171 | X D19 18 -250 -1200 100 R 50 50 1 1 I 172 | X D18 19 -250 -1100 100 R 50 50 1 1 I 173 | X VDDI 2 -250 -2800 100 R 50 50 1 1 W 174 | X D17 20 -250 -1000 100 R 50 50 1 1 I 175 | X D16 21 -250 -900 100 R 50 50 1 1 I 176 | X D15 22 -250 -800 100 R 50 50 1 1 I 177 | X D14 23 -250 -700 100 R 50 50 1 1 I 178 | X D13 24 -250 -600 100 R 50 50 1 1 I 179 | X D12 25 -250 -500 100 R 50 50 1 1 I 180 | X D11 26 -250 -400 100 R 50 50 1 1 I 181 | X D10 27 -250 -300 100 R 50 50 1 1 I 182 | X D9 28 -250 -200 100 R 50 50 1 1 I 183 | X D8 29 -250 -100 100 R 50 50 1 1 I 184 | X IM3 3 -250 -2700 100 R 50 50 1 1 I 185 | X D7 30 -250 0 100 R 50 50 1 1 I 186 | X D6 31 -250 100 100 R 50 50 1 1 I 187 | X D5 32 -250 200 100 R 50 50 1 1 I 188 | X D4 33 -250 300 100 R 50 50 1 1 I 189 | X D3 34 -250 400 100 R 50 50 1 1 I 190 | X D2 35 -250 500 100 R 50 50 1 1 I 191 | X D1 36 -250 600 100 R 50 50 1 1 I 192 | X D0 37 -250 700 100 R 50 50 1 1 I 193 | X GND 38 -250 800 100 R 50 50 1 1 W 194 | X DE 39 -250 900 100 R 50 50 1 1 I 195 | X IM2 4 -250 -2600 100 R 50 50 1 1 I 196 | X PCLK 40 -250 1000 100 R 50 50 1 1 I 197 | X HSYNC 41 -250 1100 100 R 50 50 1 1 I 198 | X VSYNC 42 -250 1200 100 R 50 50 1 1 I 199 | X GND 43 -250 1300 100 R 50 50 1 1 W 200 | X D1-P 44 -250 1400 100 R 50 50 1 1 B 201 | X D1-N 45 -250 1500 100 R 50 50 1 1 B 202 | X CLK-P 46 -250 1600 100 R 50 50 1 1 I 203 | X CLK-N 47 -250 1700 100 R 50 50 1 1 I 204 | X D0-P 48 -250 1800 100 R 50 50 1 1 B 205 | X D0-N 49 -250 1900 100 R 50 50 1 1 B 206 | X IM1 5 -250 -2500 100 R 50 50 1 1 I 207 | X GND 50 -250 2000 100 R 50 50 1 1 W 208 | X NC 51 -250 2100 100 R 50 50 1 1 N 209 | X NC 52 -250 2200 100 R 50 50 1 1 N 210 | X NC 53 -250 2300 100 R 50 50 1 1 N 211 | X NC 54 -250 2400 100 R 50 50 1 1 N 212 | X NC 55 -250 2500 100 R 50 50 1 1 N 213 | X NC 56 -250 2600 100 R 50 50 1 1 N 214 | X GND 57 -250 2700 100 R 50 50 1 1 W 215 | X LED_K1 58 -250 2800 100 R 50 50 1 1 W 216 | X LED_K2 59 -250 2900 100 R 50 50 1 1 W 217 | X IM0 6 -250 -2400 100 R 50 50 1 1 I 218 | X LED_A 60 -250 3000 100 R 50 50 1 1 W 219 | X NC 7 -250 -2300 100 R 50 50 1 1 N 220 | X SDO 8 -250 -2200 100 R 50 50 1 1 O 221 | X SDI 9 -250 -2100 100 R 50 50 1 1 I 222 | ENDDRAW 223 | ENDDEF 224 | # 225 | # driver-board-rescue_FT813-driver-board-driver-board-rescue 226 | # 227 | DEF driver-board-rescue_FT813-driver-board-driver-board-rescue U 0 40 Y Y 1 F N 228 | F0 "U" 0 100 50 H V C CNN 229 | F1 "driver-board-rescue_FT813-driver-board-driver-board-rescue" 0 -100 50 H V C CNN 230 | F2 "" 0 0 50 H I C CNN 231 | F3 "" 0 0 50 H I C CNN 232 | DRAW 233 | S -1050 750 1100 -750 0 1 0 N 234 | X R1 1 -1150 650 100 R 50 50 1 1 O 235 | X GPIO1 10 -1150 -250 100 R 50 50 1 1 B 236 | X VCCIO1 11 -1150 -350 100 R 50 50 1 1 W 237 | X GPIO2 12 -1150 -450 100 R 50 50 1 1 B 238 | X INT_N 13 -1150 -550 100 R 50 50 1 1 O 239 | X PD_N 14 -1150 -650 100 R 50 50 1 1 I 240 | X GPIO3 15 -600 -850 100 U 50 50 1 1 B 241 | X X1/CLK 16 -500 -850 100 U 50 50 1 1 I 242 | X X2 17 -400 -850 100 U 50 50 1 1 O 243 | X GND 18 -300 -850 100 U 50 50 1 1 W 244 | X VCC 19 -200 -850 100 U 50 50 1 1 W 245 | X R0 2 -1150 550 100 R 50 50 1 1 O 246 | X VOUT1V2 20 -100 -850 100 U 50 50 1 1 O 247 | X VCC 21 0 -850 100 U 50 50 1 1 W 248 | X VCCIO2 22 100 -850 100 U 50 50 1 1 W 249 | X CTP_RST_N 23 200 -850 100 U 50 50 1 1 O 250 | X CTP_INT_N 24 300 -850 100 U 50 50 1 1 I 251 | X CTP_SCL 25 400 -850 100 U 50 50 1 1 B 252 | X CTP_SDA 26 500 -850 100 U 50 50 1 1 B 253 | X GND 27 600 -850 100 U 50 50 1 1 W 254 | X BACKLIGHT 28 700 -850 100 U 50 50 1 1 O 255 | X DE 29 1200 -650 100 L 50 50 1 1 O 256 | X AUDIO_L 3 -1150 450 100 R 50 50 1 1 O 257 | X VSYNC 30 1200 -550 100 L 50 50 1 1 O 258 | X HSYNC 31 1200 -450 100 L 50 50 1 1 O 259 | X DISP 32 1200 -350 100 L 50 50 1 1 O 260 | X PCLK 33 1200 -250 100 L 50 50 1 1 O 261 | X B7 34 1200 -150 100 L 50 50 1 1 O 262 | X B6 35 1200 -50 100 L 50 50 1 1 O 263 | X B5 36 1200 50 100 L 50 50 1 1 O 264 | X B4 37 1200 150 100 L 50 50 1 1 O 265 | X B3 38 1200 250 100 L 50 50 1 1 O 266 | X B2 39 1200 350 100 L 50 50 1 1 O 267 | X GND 4 -1150 350 100 R 50 50 1 1 W 268 | X B1 40 1200 450 100 L 50 50 1 1 O 269 | X B0 41 1200 550 100 L 50 50 1 1 O 270 | X GND 42 1200 650 100 L 50 50 1 1 W 271 | X G7 43 700 850 100 D 50 50 1 1 O 272 | X G6 44 600 850 100 D 50 50 1 1 O 273 | X G5 45 500 850 100 D 50 50 1 1 O 274 | X G4 46 400 850 100 D 50 50 1 1 O 275 | X G3 47 300 850 100 D 50 50 1 1 O 276 | X G2 48 200 850 100 D 50 50 1 1 O 277 | X G1 49 100 850 100 D 50 50 1 1 O 278 | X SCK 5 -1150 250 100 R 50 50 1 1 I 279 | X G0 50 0 850 100 D 50 50 1 1 O 280 | X R7 51 -100 850 100 D 50 50 1 1 O 281 | X R6 52 -200 850 100 D 50 50 1 1 O 282 | X R5 53 -300 850 100 D 50 50 1 1 O 283 | X R4 54 -400 850 100 D 50 50 1 1 O 284 | X R3 55 -500 850 100 D 50 50 1 1 O 285 | X R2 56 -600 850 100 D 50 50 1 1 O 286 | X GND 57 0 300 100 R 50 50 1 1 W N 287 | X SDO 6 -1150 150 100 R 50 50 1 1 O 288 | X SDI 7 -1150 50 100 R 50 50 1 1 I 289 | X ~CS_N 8 -1150 -50 100 R 50 50 1 1 I 290 | X GPIO0 9 -1150 -150 100 R 50 50 1 1 B 291 | ENDDRAW 292 | ENDDEF 293 | # 294 | # driver-board_ME6210 295 | # 296 | DEF driver-board_ME6210 U 0 40 Y Y 1 F N 297 | F0 "U" 0 200 50 H V C CNN 298 | F1 "driver-board_ME6210" 0 -650 50 H V C CNN 299 | F2 "Package_TO_SOT_SMD:SOT-23" 0 -750 50 H I C CNN 300 | F3 "" 0 0 50 H I C CNN 301 | DRAW 302 | S -250 150 250 -150 0 1 0 N 303 | X GND 1 0 -250 100 U 50 50 1 1 W 304 | X VOUT 2 350 100 100 L 50 50 1 1 w 305 | X VIN 3 -350 100 100 R 50 50 1 1 W 306 | ENDDRAW 307 | ENDDEF 308 | # 309 | # driver-board_NC7SZ125 310 | # 311 | DEF driver-board_NC7SZ125 U 0 40 Y Y 1 F N 312 | F0 "U" 0 200 50 H V C CNN 313 | F1 "driver-board_NC7SZ125" 0 -200 50 H V C CNN 314 | F2 "" 0 -50 50 H I C CNN 315 | F3 "" 0 -50 50 H I C CNN 316 | DRAW 317 | S -250 150 250 -150 0 1 0 N 318 | X ~OE 1 -350 100 100 R 50 50 1 1 I 319 | X A 2 -350 0 100 R 50 50 1 1 I 320 | X GND 3 -350 -100 100 R 50 50 1 1 W 321 | X Y 4 350 -100 100 L 50 50 1 1 O 322 | X VCC 5 350 100 100 L 50 50 1 1 W 323 | ENDDRAW 324 | ENDDEF 325 | # 326 | # driver-board_TXS0108E 327 | # 328 | DEF driver-board_TXS0108E U 0 40 Y Y 1 F N 329 | F0 "U" 0 550 50 H V C CNN 330 | F1 "driver-board_TXS0108E" 0 -550 50 H V C CNN 331 | F2 "" 0 0 50 H I C CNN 332 | F3 "" 0 0 50 H I C CNN 333 | DRAW 334 | S -300 500 300 -500 0 1 0 N 335 | X A1 1 -400 450 100 R 50 50 1 1 B 336 | X OE 10 -400 -450 100 R 50 50 1 1 I 337 | X GND 11 400 -450 100 L 50 50 1 1 W 338 | X B8 12 400 -350 100 L 50 50 1 1 B 339 | X B7 13 400 -250 100 L 50 50 1 1 B 340 | X B6 14 400 -150 100 L 50 50 1 1 B 341 | X B5 15 400 -50 100 L 50 50 1 1 B 342 | X B4 16 400 50 100 L 50 50 1 1 B 343 | X B3 17 400 150 100 L 50 50 1 1 B 344 | X B2 18 400 250 100 L 50 50 1 1 B 345 | X VCCB 19 400 350 100 L 50 50 1 1 W 346 | X VCCA 2 -400 350 100 R 50 50 1 1 W 347 | X B1 20 400 450 100 L 50 50 1 1 B 348 | X A2 3 -400 250 100 R 50 50 1 1 B 349 | X A3 4 -400 150 100 R 50 50 1 1 B 350 | X A4 5 -400 50 100 R 50 50 1 1 B 351 | X A5 6 -400 -50 100 R 50 50 1 1 B 352 | X A6 7 -400 -150 100 R 50 50 1 1 B 353 | X A7 8 -400 -250 100 R 50 50 1 1 B 354 | X A8 9 -400 -350 100 R 50 50 1 1 B 355 | ENDDRAW 356 | ENDDEF 357 | # 358 | # driver-board_YSX321SL 359 | # 360 | DEF driver-board_YSX321SL X 0 40 Y Y 1 F N 361 | F0 "X" 0 150 50 H V C CNN 362 | F1 "driver-board_YSX321SL" 0 -750 50 H V C CNN 363 | F2 "" -50 0 50 H I C CNN 364 | F3 "" -50 0 50 H I C CNN 365 | DRAW 366 | S -150 100 150 -200 0 1 0 N 367 | X X1 1 -250 50 100 R 50 50 1 1 P 368 | X GND 2 -50 -300 100 U 50 50 1 1 W 369 | X X2 3 250 50 100 L 50 50 1 1 P 370 | X GND 4 50 -300 100 U 50 50 1 1 W 371 | ENDDRAW 372 | ENDDEF 373 | # 374 | # power_+12V 375 | # 376 | DEF power_+12V #PWR 0 0 Y Y 1 F P 377 | F0 "#PWR" 0 -150 50 H I C CNN 378 | F1 "power_+12V" 0 140 50 H V C CNN 379 | F2 "" 0 0 50 H I C CNN 380 | F3 "" 0 0 50 H I C CNN 381 | DRAW 382 | P 2 0 1 0 -30 50 0 100 N 383 | P 2 0 1 0 0 0 0 100 N 384 | P 2 0 1 0 0 100 30 50 N 385 | X +12V 1 0 0 0 U 50 50 1 1 W N 386 | ENDDRAW 387 | ENDDEF 388 | # 389 | # power_+3.3V 390 | # 391 | DEF power_+3.3V #PWR 0 0 Y Y 1 F P 392 | F0 "#PWR" 0 -150 50 H I C CNN 393 | F1 "power_+3.3V" 0 140 50 H V C CNN 394 | F2 "" 0 0 50 H I C CNN 395 | F3 "" 0 0 50 H I C CNN 396 | ALIAS +3.3V 397 | DRAW 398 | P 2 0 1 0 -30 50 0 100 N 399 | P 2 0 1 0 0 0 0 100 N 400 | P 2 0 1 0 0 100 30 50 N 401 | X +3V3 1 0 0 0 U 50 50 1 1 W N 402 | ENDDRAW 403 | ENDDEF 404 | # 405 | # power_+3V0 406 | # 407 | DEF power_+3V0 #PWR 0 0 Y Y 1 F P 408 | F0 "#PWR" 0 -150 50 H I C CNN 409 | F1 "power_+3V0" 0 140 50 H V C CNN 410 | F2 "" 0 0 50 H I C CNN 411 | F3 "" 0 0 50 H I C CNN 412 | DRAW 413 | P 2 0 1 0 -30 50 0 100 N 414 | P 2 0 1 0 0 0 0 100 N 415 | P 2 0 1 0 0 100 30 50 N 416 | X +3V0 1 0 0 0 U 50 50 1 1 W N 417 | ENDDRAW 418 | ENDDEF 419 | # 420 | # power_+5V 421 | # 422 | DEF power_+5V #PWR 0 0 Y Y 1 F P 423 | F0 "#PWR" 0 -150 50 H I C CNN 424 | F1 "power_+5V" 0 140 50 H V C CNN 425 | F2 "" 0 0 50 H I C CNN 426 | F3 "" 0 0 50 H I C CNN 427 | DRAW 428 | P 2 0 1 0 -30 50 0 100 N 429 | P 2 0 1 0 0 0 0 100 N 430 | P 2 0 1 0 0 100 30 50 N 431 | X +5V 1 0 0 0 U 50 50 1 1 W N 432 | ENDDRAW 433 | ENDDEF 434 | # 435 | # power_GND 436 | # 437 | DEF power_GND #PWR 0 0 Y Y 1 F P 438 | F0 "#PWR" 0 -250 50 H I C CNN 439 | F1 "power_GND" 0 -150 50 H V C CNN 440 | F2 "" 0 0 50 H I C CNN 441 | F3 "" 0 0 50 H I C CNN 442 | DRAW 443 | P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N 444 | X GND 1 0 0 0 D 50 50 1 1 W N 445 | ENDDRAW 446 | ENDDEF 447 | # 448 | # power_PWR_FLAG 449 | # 450 | DEF power_PWR_FLAG #FLG 0 0 N N 1 F P 451 | F0 "#FLG" 0 75 50 H I C CNN 452 | F1 "power_PWR_FLAG" 0 150 50 H V C CNN 453 | F2 "" 0 0 50 H I C CNN 454 | F3 "" 0 0 50 H I C CNN 455 | DRAW 456 | P 6 0 1 0 0 0 0 50 -40 75 0 100 40 75 0 50 N 457 | X pwr 1 0 0 0 U 50 50 0 0 w 458 | ENDDRAW 459 | ENDDEF 460 | # 461 | # power_VCC 462 | # 463 | DEF power_VCC #PWR 0 0 Y Y 1 F P 464 | F0 "#PWR" 0 -150 50 H I C CNN 465 | F1 "power_VCC" 0 150 50 H V C CNN 466 | F2 "" 0 0 50 H I C CNN 467 | F3 "" 0 0 50 H I C CNN 468 | DRAW 469 | P 2 0 1 0 -30 50 0 100 N 470 | P 2 0 1 0 0 0 0 100 N 471 | P 2 0 1 0 0 100 30 50 N 472 | X VCC 1 0 0 0 U 50 50 1 1 W N 473 | ENDDRAW 474 | ENDDEF 475 | # 476 | #End Library 477 | -------------------------------------------------------------------------------- /extras/hardware/kicad/driver-board.pretty/HRS_FH28-60S-0.5SH(05).kicad_mod: -------------------------------------------------------------------------------- 1 | 2 | (module HRS_FH28-60S-0.5SH_05_ (layer F.Cu) (tedit 5F140E06) 3 | (descr "") 4 | (fp_text reference REF** (at -14.925 -1.635 0) (layer F.SilkS) 5 | (effects (font (size 1.0 1.0) (thickness 0.015))) 6 | ) 7 | (fp_text value HRS_FH28-60S-0.5SH_05_ (at -4.13 7.965 0) (layer F.Fab) 8 | (effects (font (size 1.0 1.0) (thickness 0.015))) 9 | ) 10 | (fp_poly 11 | (pts 12 | (xy -14.875 -0.65) 13 | (xy -14.625 -0.65) 14 | (xy -14.625 0.65) 15 | (xy -14.875 0.65) 16 | ) (layer F.Paste) (width 0.01) 17 | ) 18 | (fp_poly 19 | (pts 20 | (xy -14.375 -0.65) 21 | (xy -14.125 -0.65) 22 | (xy -14.125 0.65) 23 | (xy -14.375 0.65) 24 | ) (layer F.Paste) (width 0.01) 25 | ) 26 | (fp_poly 27 | (pts 28 | (xy -13.875 -0.65) 29 | (xy -13.625 -0.65) 30 | (xy -13.625 0.65) 31 | (xy -13.875 0.65) 32 | ) (layer F.Paste) (width 0.01) 33 | ) 34 | (fp_poly 35 | (pts 36 | (xy -13.375 -0.65) 37 | (xy -13.125 -0.65) 38 | (xy -13.125 0.65) 39 | (xy -13.375 0.65) 40 | ) (layer F.Paste) (width 0.01) 41 | ) 42 | (fp_poly 43 | (pts 44 | (xy -12.875 -0.65) 45 | (xy -12.625 -0.65) 46 | (xy -12.625 0.65) 47 | (xy -12.875 0.65) 48 | ) (layer F.Paste) (width 0.01) 49 | ) 50 | (fp_poly 51 | (pts 52 | (xy -12.375 -0.65) 53 | (xy -12.125 -0.65) 54 | (xy -12.125 0.65) 55 | (xy -12.375 0.65) 56 | ) (layer F.Paste) (width 0.01) 57 | ) 58 | (fp_poly 59 | (pts 60 | (xy -11.875 -0.65) 61 | (xy -11.625 -0.65) 62 | (xy -11.625 0.65) 63 | (xy -11.875 0.65) 64 | ) (layer F.Paste) (width 0.01) 65 | ) 66 | (fp_poly 67 | (pts 68 | (xy -11.375 -0.65) 69 | (xy -11.125 -0.65) 70 | (xy -11.125 0.65) 71 | (xy -11.375 0.65) 72 | ) (layer F.Paste) (width 0.01) 73 | ) 74 | (fp_poly 75 | (pts 76 | (xy -10.875 -0.65) 77 | (xy -10.625 -0.65) 78 | (xy -10.625 0.65) 79 | (xy -10.875 0.65) 80 | ) (layer F.Paste) (width 0.01) 81 | ) 82 | (fp_poly 83 | (pts 84 | (xy -10.375 -0.65) 85 | (xy -10.125 -0.65) 86 | (xy -10.125 0.65) 87 | (xy -10.375 0.65) 88 | ) (layer F.Paste) (width 0.01) 89 | ) 90 | (fp_poly 91 | (pts 92 | (xy -9.875 -0.65) 93 | (xy -9.625 -0.65) 94 | (xy -9.625 0.65) 95 | (xy -9.875 0.65) 96 | ) (layer F.Paste) (width 0.01) 97 | ) 98 | (fp_poly 99 | (pts 100 | (xy -9.375 -0.65) 101 | (xy -9.125 -0.65) 102 | (xy -9.125 0.65) 103 | (xy -9.375 0.65) 104 | ) (layer F.Paste) (width 0.01) 105 | ) 106 | (fp_poly 107 | (pts 108 | (xy -8.875 -0.65) 109 | (xy -8.625 -0.65) 110 | (xy -8.625 0.65) 111 | (xy -8.875 0.65) 112 | ) (layer F.Paste) (width 0.01) 113 | ) 114 | (fp_poly 115 | (pts 116 | (xy -8.375 -0.65) 117 | (xy -8.125 -0.65) 118 | (xy -8.125 0.65) 119 | (xy -8.375 0.65) 120 | ) (layer F.Paste) (width 0.01) 121 | ) 122 | (fp_poly 123 | (pts 124 | (xy -7.875 -0.65) 125 | (xy -7.625 -0.65) 126 | (xy -7.625 0.65) 127 | (xy -7.875 0.65) 128 | ) (layer F.Paste) (width 0.01) 129 | ) 130 | (fp_poly 131 | (pts 132 | (xy -7.375 -0.65) 133 | (xy -7.125 -0.65) 134 | (xy -7.125 0.65) 135 | (xy -7.375 0.65) 136 | ) (layer F.Paste) (width 0.01) 137 | ) 138 | (fp_poly 139 | (pts 140 | (xy -6.875 -0.65) 141 | (xy -6.625 -0.65) 142 | (xy -6.625 0.65) 143 | (xy -6.875 0.65) 144 | ) (layer F.Paste) (width 0.01) 145 | ) 146 | (fp_poly 147 | (pts 148 | (xy -6.375 -0.65) 149 | (xy -6.125 -0.65) 150 | (xy -6.125 0.65) 151 | (xy -6.375 0.65) 152 | ) (layer F.Paste) (width 0.01) 153 | ) 154 | (fp_poly 155 | (pts 156 | (xy -5.875 -0.65) 157 | (xy -5.625 -0.65) 158 | (xy -5.625 0.65) 159 | (xy -5.875 0.65) 160 | ) (layer F.Paste) (width 0.01) 161 | ) 162 | (fp_poly 163 | (pts 164 | (xy -5.375 -0.65) 165 | (xy -5.125 -0.65) 166 | (xy -5.125 0.65) 167 | (xy -5.375 0.65) 168 | ) (layer F.Paste) (width 0.01) 169 | ) 170 | (fp_poly 171 | (pts 172 | (xy -4.875 -0.65) 173 | (xy -4.625 -0.65) 174 | (xy -4.625 0.65) 175 | (xy -4.875 0.65) 176 | ) (layer F.Paste) (width 0.01) 177 | ) 178 | (fp_poly 179 | (pts 180 | (xy -4.375 -0.65) 181 | (xy -4.125 -0.65) 182 | (xy -4.125 0.65) 183 | (xy -4.375 0.65) 184 | ) (layer F.Paste) (width 0.01) 185 | ) 186 | (fp_poly 187 | (pts 188 | (xy -3.875 -0.65) 189 | (xy -3.625 -0.65) 190 | (xy -3.625 0.65) 191 | (xy -3.875 0.65) 192 | ) (layer F.Paste) (width 0.01) 193 | ) 194 | (fp_poly 195 | (pts 196 | (xy -3.375 -0.65) 197 | (xy -3.125 -0.65) 198 | (xy -3.125 0.65) 199 | (xy -3.375 0.65) 200 | ) (layer F.Paste) (width 0.01) 201 | ) 202 | (fp_poly 203 | (pts 204 | (xy -2.875 -0.65) 205 | (xy -2.625 -0.65) 206 | (xy -2.625 0.65) 207 | (xy -2.875 0.65) 208 | ) (layer F.Paste) (width 0.01) 209 | ) 210 | (fp_poly 211 | (pts 212 | (xy -2.375 -0.65) 213 | (xy -2.125 -0.65) 214 | (xy -2.125 0.65) 215 | (xy -2.375 0.65) 216 | ) (layer F.Paste) (width 0.01) 217 | ) 218 | (fp_poly 219 | (pts 220 | (xy -1.875 -0.65) 221 | (xy -1.625 -0.65) 222 | (xy -1.625 0.65) 223 | (xy -1.875 0.65) 224 | ) (layer F.Paste) (width 0.01) 225 | ) 226 | (fp_poly 227 | (pts 228 | (xy -1.375 -0.65) 229 | (xy -1.125 -0.65) 230 | (xy -1.125 0.65) 231 | (xy -1.375 0.65) 232 | ) (layer F.Paste) (width 0.01) 233 | ) 234 | (fp_poly 235 | (pts 236 | (xy -0.875 -0.65) 237 | (xy -0.625 -0.65) 238 | (xy -0.625 0.65) 239 | (xy -0.875 0.65) 240 | ) (layer F.Paste) (width 0.01) 241 | ) 242 | (fp_poly 243 | (pts 244 | (xy -0.375 -0.65) 245 | (xy -0.125 -0.65) 246 | (xy -0.125 0.65) 247 | (xy -0.375 0.65) 248 | ) (layer F.Paste) (width 0.01) 249 | ) 250 | (fp_poly 251 | (pts 252 | (xy 0.125 -0.65) 253 | (xy 0.375 -0.65) 254 | (xy 0.375 0.65) 255 | (xy 0.125 0.65) 256 | ) (layer F.Paste) (width 0.01) 257 | ) 258 | (fp_poly 259 | (pts 260 | (xy 0.625 -0.65) 261 | (xy 0.875 -0.65) 262 | (xy 0.875 0.65) 263 | (xy 0.625 0.65) 264 | ) (layer F.Paste) (width 0.01) 265 | ) 266 | (fp_poly 267 | (pts 268 | (xy 1.125 -0.65) 269 | (xy 1.375 -0.65) 270 | (xy 1.375 0.65) 271 | (xy 1.125 0.65) 272 | ) (layer F.Paste) (width 0.01) 273 | ) 274 | (fp_poly 275 | (pts 276 | (xy 1.625 -0.65) 277 | (xy 1.875 -0.65) 278 | (xy 1.875 0.65) 279 | (xy 1.625 0.65) 280 | ) (layer F.Paste) (width 0.01) 281 | ) 282 | (fp_poly 283 | (pts 284 | (xy 2.125 -0.65) 285 | (xy 2.375 -0.65) 286 | (xy 2.375 0.65) 287 | (xy 2.125 0.65) 288 | ) (layer F.Paste) (width 0.01) 289 | ) 290 | (fp_poly 291 | (pts 292 | (xy 2.625 -0.65) 293 | (xy 2.875 -0.65) 294 | (xy 2.875 0.65) 295 | (xy 2.625 0.65) 296 | ) (layer F.Paste) (width 0.01) 297 | ) 298 | (fp_poly 299 | (pts 300 | (xy 3.125 -0.65) 301 | (xy 3.375 -0.65) 302 | (xy 3.375 0.65) 303 | (xy 3.125 0.65) 304 | ) (layer F.Paste) (width 0.01) 305 | ) 306 | (fp_poly 307 | (pts 308 | (xy 3.625 -0.65) 309 | (xy 3.875 -0.65) 310 | (xy 3.875 0.65) 311 | (xy 3.625 0.65) 312 | ) (layer F.Paste) (width 0.01) 313 | ) 314 | (fp_poly 315 | (pts 316 | (xy 4.125 -0.65) 317 | (xy 4.375 -0.65) 318 | (xy 4.375 0.65) 319 | (xy 4.125 0.65) 320 | ) (layer F.Paste) (width 0.01) 321 | ) 322 | (fp_poly 323 | (pts 324 | (xy 4.625 -0.65) 325 | (xy 4.875 -0.65) 326 | (xy 4.875 0.65) 327 | (xy 4.625 0.65) 328 | ) (layer F.Paste) (width 0.01) 329 | ) 330 | (fp_poly 331 | (pts 332 | (xy 5.125 -0.65) 333 | (xy 5.375 -0.65) 334 | (xy 5.375 0.65) 335 | (xy 5.125 0.65) 336 | ) (layer F.Paste) (width 0.01) 337 | ) 338 | (fp_poly 339 | (pts 340 | (xy 5.625 -0.65) 341 | (xy 5.875 -0.65) 342 | (xy 5.875 0.65) 343 | (xy 5.625 0.65) 344 | ) (layer F.Paste) (width 0.01) 345 | ) 346 | (fp_poly 347 | (pts 348 | (xy 6.125 -0.65) 349 | (xy 6.375 -0.65) 350 | (xy 6.375 0.65) 351 | (xy 6.125 0.65) 352 | ) (layer F.Paste) (width 0.01) 353 | ) 354 | (fp_poly 355 | (pts 356 | (xy 6.625 -0.65) 357 | (xy 6.875 -0.65) 358 | (xy 6.875 0.65) 359 | (xy 6.625 0.65) 360 | ) (layer F.Paste) (width 0.01) 361 | ) 362 | (fp_poly 363 | (pts 364 | (xy 7.125 -0.65) 365 | (xy 7.375 -0.65) 366 | (xy 7.375 0.65) 367 | (xy 7.125 0.65) 368 | ) (layer F.Paste) (width 0.01) 369 | ) 370 | (fp_poly 371 | (pts 372 | (xy 7.625 -0.65) 373 | (xy 7.875 -0.65) 374 | (xy 7.875 0.65) 375 | (xy 7.625 0.65) 376 | ) (layer F.Paste) (width 0.01) 377 | ) 378 | (fp_poly 379 | (pts 380 | (xy 8.125 -0.65) 381 | (xy 8.375 -0.65) 382 | (xy 8.375 0.65) 383 | (xy 8.125 0.65) 384 | ) (layer F.Paste) (width 0.01) 385 | ) 386 | (fp_poly 387 | (pts 388 | (xy 8.625 -0.65) 389 | (xy 8.875 -0.65) 390 | (xy 8.875 0.65) 391 | (xy 8.625 0.65) 392 | ) (layer F.Paste) (width 0.01) 393 | ) 394 | (fp_poly 395 | (pts 396 | (xy 9.125 -0.65) 397 | (xy 9.375 -0.65) 398 | (xy 9.375 0.65) 399 | (xy 9.125 0.65) 400 | ) (layer F.Paste) (width 0.01) 401 | ) 402 | (fp_poly 403 | (pts 404 | (xy 9.625 -0.65) 405 | (xy 9.875 -0.65) 406 | (xy 9.875 0.65) 407 | (xy 9.625 0.65) 408 | ) (layer F.Paste) (width 0.01) 409 | ) 410 | (fp_poly 411 | (pts 412 | (xy 10.125 -0.65) 413 | (xy 10.375 -0.65) 414 | (xy 10.375 0.65) 415 | (xy 10.125 0.65) 416 | ) (layer F.Paste) (width 0.01) 417 | ) 418 | (fp_poly 419 | (pts 420 | (xy 10.625 -0.65) 421 | (xy 10.875 -0.65) 422 | (xy 10.875 0.65) 423 | (xy 10.625 0.65) 424 | ) (layer F.Paste) (width 0.01) 425 | ) 426 | (fp_poly 427 | (pts 428 | (xy 11.125 -0.65) 429 | (xy 11.375 -0.65) 430 | (xy 11.375 0.65) 431 | (xy 11.125 0.65) 432 | ) (layer F.Paste) (width 0.01) 433 | ) 434 | (fp_poly 435 | (pts 436 | (xy 11.625 -0.65) 437 | (xy 11.875 -0.65) 438 | (xy 11.875 0.65) 439 | (xy 11.625 0.65) 440 | ) (layer F.Paste) (width 0.01) 441 | ) 442 | (fp_poly 443 | (pts 444 | (xy 12.125 -0.65) 445 | (xy 12.375 -0.65) 446 | (xy 12.375 0.65) 447 | (xy 12.125 0.65) 448 | ) (layer F.Paste) (width 0.01) 449 | ) 450 | (fp_poly 451 | (pts 452 | (xy 12.625 -0.65) 453 | (xy 12.875 -0.65) 454 | (xy 12.875 0.65) 455 | (xy 12.625 0.65) 456 | ) (layer F.Paste) (width 0.01) 457 | ) 458 | (fp_poly 459 | (pts 460 | (xy 13.125 -0.65) 461 | (xy 13.375 -0.65) 462 | (xy 13.375 0.65) 463 | (xy 13.125 0.65) 464 | ) (layer F.Paste) (width 0.01) 465 | ) 466 | (fp_poly 467 | (pts 468 | (xy 13.625 -0.65) 469 | (xy 13.875 -0.65) 470 | (xy 13.875 0.65) 471 | (xy 13.625 0.65) 472 | ) (layer F.Paste) (width 0.01) 473 | ) 474 | (fp_poly 475 | (pts 476 | (xy 14.125 -0.65) 477 | (xy 14.375 -0.65) 478 | (xy 14.375 0.65) 479 | (xy 14.125 0.65) 480 | ) (layer F.Paste) (width 0.01) 481 | ) 482 | (fp_poly 483 | (pts 484 | (xy 14.625 -0.65) 485 | (xy 14.875 -0.65) 486 | (xy 14.875 0.65) 487 | (xy 14.625 0.65) 488 | ) (layer F.Paste) (width 0.01) 489 | ) 490 | (fp_line (start -17.45 0.55) (end -17.45 7.05) (layer F.Fab) (width 0.127)) 491 | (fp_line (start -17.45 7.05) (end 17.45 7.05) (layer F.Fab) (width 0.127)) 492 | (fp_line (start 17.45 7.05) (end 17.45 0.55) (layer F.Fab) (width 0.127)) 493 | (fp_line (start 17.45 0.55) (end -17.45 0.55) (layer F.Fab) (width 0.127)) 494 | (fp_line (start -17.45 7.05) (end 17.45 7.05) (layer F.SilkS) (width 0.127)) 495 | (fp_line (start 17.45 4.2) (end 17.45 0.55) (layer F.SilkS) (width 0.127)) 496 | (fp_line (start 17.45 0.55) (end 15.25 0.55) (layer F.SilkS) (width 0.127)) 497 | (fp_line (start -17.45 4.2) (end -17.45 0.55) (layer F.SilkS) (width 0.127)) 498 | (fp_line (start -17.45 0.55) (end -15.25 0.55) (layer F.SilkS) (width 0.127)) 499 | (fp_line (start -18.15 7.3) (end 18.15 7.3) (layer F.CrtYd) (width 0.05)) 500 | (fp_line (start 18.15 7.3) (end 18.15 -1.0) (layer F.CrtYd) (width 0.05)) 501 | (fp_line (start 18.15 -1.0) (end -18.15 -1.0) (layer F.CrtYd) (width 0.05)) 502 | (fp_line (start -18.15 -1.0) (end -18.15 7.3) (layer F.CrtYd) (width 0.05)) 503 | (fp_circle (center -15.75 -0.55) (end -15.65 -0.55) (layer F.SilkS) (width 0.2)) 504 | (fp_circle (center -15.75 -0.55) (end -15.65 -0.55) (layer F.Fab) (width 0.2)) 505 | (pad 1 smd rect (at -14.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 506 | (pad 2 smd rect (at -14.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 507 | (pad 3 smd rect (at -13.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 508 | (pad 4 smd rect (at -13.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 509 | (pad 5 smd rect (at -12.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 510 | (pad 6 smd rect (at -12.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 511 | (pad 7 smd rect (at -11.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 512 | (pad 8 smd rect (at -11.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 513 | (pad 9 smd rect (at -10.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 514 | (pad 10 smd rect (at -10.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 515 | (pad 11 smd rect (at -9.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 516 | (pad 12 smd rect (at -9.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 517 | (pad 13 smd rect (at -8.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 518 | (pad 14 smd rect (at -8.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 519 | (pad 15 smd rect (at -7.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 520 | (pad 16 smd rect (at -7.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 521 | (pad 17 smd rect (at -6.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 522 | (pad 18 smd rect (at -6.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 523 | (pad 19 smd rect (at -5.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 524 | (pad 20 smd rect (at -5.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 525 | (pad 21 smd rect (at -4.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 526 | (pad 22 smd rect (at -4.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 527 | (pad 23 smd rect (at -3.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 528 | (pad 24 smd rect (at -3.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 529 | (pad 25 smd rect (at -2.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 530 | (pad 26 smd rect (at -2.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 531 | (pad 27 smd rect (at -1.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 532 | (pad 28 smd rect (at -1.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 533 | (pad 29 smd rect (at -0.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 534 | (pad 30 smd rect (at -0.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 535 | (pad 31 smd rect (at 0.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 536 | (pad 32 smd rect (at 0.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 537 | (pad 33 smd rect (at 1.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 538 | (pad 34 smd rect (at 1.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 539 | (pad 35 smd rect (at 2.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 540 | (pad 36 smd rect (at 2.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 541 | (pad 37 smd rect (at 3.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 542 | (pad 38 smd rect (at 3.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 543 | (pad 39 smd rect (at 4.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 544 | (pad 40 smd rect (at 4.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 545 | (pad 41 smd rect (at 5.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 546 | (pad 42 smd rect (at 5.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 547 | (pad 43 smd rect (at 6.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 548 | (pad 44 smd rect (at 6.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 549 | (pad 45 smd rect (at 7.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 550 | (pad 46 smd rect (at 7.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 551 | (pad 47 smd rect (at 8.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 552 | (pad 48 smd rect (at 8.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 553 | (pad 49 smd rect (at 9.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 554 | (pad 50 smd rect (at 9.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 555 | (pad 51 smd rect (at 10.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 556 | (pad 52 smd rect (at 10.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 557 | (pad 53 smd rect (at 11.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 558 | (pad 54 smd rect (at 11.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 559 | (pad 55 smd rect (at 12.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 560 | (pad 56 smd rect (at 12.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 561 | (pad 57 smd rect (at 13.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 562 | (pad 58 smd rect (at 13.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 563 | (pad 59 smd rect (at 14.25 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 564 | (pad 60 smd rect (at 14.75 0.0) (size 0.3 1.3) (layers F.Cu F.Mask)) 565 | (pad S1 smd rect (at -16.9 5.65) (size 1.8 2.2) (layers F.Cu F.Mask F.Paste)) 566 | (pad S2 smd rect (at 16.9 5.65) (size 1.8 2.2) (layers F.Cu F.Mask F.Paste)) 567 | ) --------------------------------------------------------------------------------