├── .gitignore ├── .travis.yml ├── .vscode ├── extensions.json ├── settings.json └── tasks.json ├── 1.jpg ├── 2.jpg ├── 3.jpg ├── LICENSE.md ├── README.md ├── esp8266-osc-to-midi.png ├── example.touchosc ├── hardware ├── docs │ ├── CRDCB0003-drawing.pdf │ └── CRDCGG003.pdf ├── esp8266-midi-cache.lib ├── esp8266-midi-rescue.dcm ├── esp8266-midi-rescue.lib ├── esp8266-midi.kicad_pcb ├── esp8266-midi.net ├── esp8266-midi.pro ├── esp8266-midi.sch └── sym-lib-table ├── include ├── README └── debug.h ├── lib ├── OSC2Midi │ ├── OSC2Midi.cpp │ └── OSC2Midi.h └── README ├── platformio.ini ├── src └── main.cpp └── test ├── README └── test_osc2midi.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | *.bak 2 | *-bak 3 | *_saved_* 4 | 5 | .pio 6 | .pioenvs 7 | .piolibdeps 8 | .vscode/.browse.c_cpp.db* 9 | .vscode/c_cpp_properties.json 10 | .vscode/launch.json 11 | 12 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # Continuous Integration (CI) is the practice, in software 2 | # engineering, of merging all developer working copies with a shared mainline 3 | # several times a day < https://docs.platformio.org/page/ci/index.html > 4 | # 5 | # Documentation: 6 | # 7 | # * Travis CI Embedded Builds with PlatformIO 8 | # < https://docs.travis-ci.com/user/integration/platformio/ > 9 | # 10 | # * PlatformIO integration with Travis CI 11 | # < https://docs.platformio.org/page/ci/travis.html > 12 | # 13 | # * User Guide for `platformio ci` command 14 | # < https://docs.platformio.org/page/userguide/cmd_ci.html > 15 | # 16 | # 17 | # Please choose one of the following templates (proposed below) and uncomment 18 | # it (remove "# " before each line) or use own configuration according to the 19 | # Travis CI documentation (see above). 20 | # 21 | 22 | 23 | # 24 | # Template #1: General project. Test it using existing `platformio.ini`. 25 | # 26 | 27 | # language: python 28 | # python: 29 | # - "2.7" 30 | # 31 | # sudo: false 32 | # cache: 33 | # directories: 34 | # - "~/.platformio" 35 | # 36 | # install: 37 | # - pip install -U platformio 38 | # - platformio update 39 | # 40 | # script: 41 | # - platformio run 42 | 43 | 44 | # 45 | # Template #2: The project is intended to be used as a library with examples. 46 | # 47 | 48 | # language: python 49 | # python: 50 | # - "2.7" 51 | # 52 | # sudo: false 53 | # cache: 54 | # directories: 55 | # - "~/.platformio" 56 | # 57 | # env: 58 | # - PLATFORMIO_CI_SRC=path/to/test/file.c 59 | # - PLATFORMIO_CI_SRC=examples/file.ino 60 | # - PLATFORMIO_CI_SRC=path/to/test/directory 61 | # 62 | # install: 63 | # - pip install -U platformio 64 | # - platformio update 65 | # 66 | # script: 67 | # - platformio ci --lib="." --board=ID_1 --board=ID_2 --board=ID_N 68 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | // See http://go.microsoft.com/fwlink/?LinkId=827846 3 | // for the documentation about the extensions.json format 4 | "recommendations": [ 5 | "platformio.platformio-ide" 6 | ] 7 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "terminal.integrated.env.linux": { 3 | "PATH": "/home/tadas/.platformio/penv/bin:/home/tadas/.platformio/penv:/home/tadas/bin:/home/tadas/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", 4 | "PLATFORMIO_CALLER": "vscode" 5 | }, 6 | "files.associations": { 7 | "cstdint": "cpp", 8 | "string": "cpp", 9 | "array": "cpp", 10 | "*.tcc": "cpp", 11 | "cctype": "cpp", 12 | "clocale": "cpp", 13 | "cmath": "cpp", 14 | "cstdarg": "cpp", 15 | "cstdio": "cpp", 16 | "cstdlib": "cpp", 17 | "cwchar": "cpp", 18 | "cwctype": "cpp", 19 | "deque": "cpp", 20 | "unordered_map": "cpp", 21 | "vector": "cpp", 22 | "exception": "cpp", 23 | "fstream": "cpp", 24 | "functional": "cpp", 25 | "initializer_list": "cpp", 26 | "iosfwd": "cpp", 27 | "istream": "cpp", 28 | "limits": "cpp", 29 | "new": "cpp", 30 | "ostream": "cpp", 31 | "numeric": "cpp", 32 | "sstream": "cpp", 33 | "stdexcept": "cpp", 34 | "streambuf": "cpp", 35 | "cinttypes": "cpp", 36 | "type_traits": "cpp", 37 | "tuple": "cpp", 38 | "typeinfo": "cpp", 39 | "utility": "cpp" 40 | } 41 | } -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- 1 | { 2 | // See https://go.microsoft.com/fwlink/?LinkId=733558 3 | // for the documentation about the tasks.json format 4 | "version": "2.0.0", 5 | "tasks": [ 6 | { 7 | "type": "PlatformIO", 8 | "task": "Monitor", 9 | "problemMatcher": [ 10 | "$platformio" 11 | ] 12 | } 13 | ] 14 | } -------------------------------------------------------------------------------- /1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tadas-s/OSC2Midi/87204b213074b3ae384973ae6504987800ed18d5/1.jpg -------------------------------------------------------------------------------- /2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tadas-s/OSC2Midi/87204b213074b3ae384973ae6504987800ed18d5/2.jpg -------------------------------------------------------------------------------- /3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tadas-s/OSC2Midi/87204b213074b3ae384973ae6504987800ed18d5/3.jpg -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | ===================== 3 | 4 | Copyright © 2018 Tadas Sasnauskas 5 | 6 | Permission is hereby granted, free of charge, to any person 7 | obtaining a copy of this software and associated documentation 8 | files (the “Software”), to deal in the Software without 9 | restriction, including without limitation the rights to use, 10 | copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the 12 | Software is furnished to do so, subject to the following 13 | conditions: 14 | 15 | The above copyright notice and this permission notice shall be 16 | included in all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, 19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 20 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 22 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 23 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 24 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 25 | OTHER DEALINGS IN THE SOFTWARE. 26 | 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OSC2Midi 2 | 3 | ESP8266 based OSC <-> Midi wireless bridge. 4 | 5 | It is mostly meant to be used with [TouchOSC][1] but it will work with 6 | any [OSC message source][2]. 7 | 8 | ## Library dependencies 9 | 10 | Project uses: 11 | * https://github.com/FortySevenEffects/arduino_midi_library/ 12 | * https://github.com/CNMAT/OSC 13 | 14 | ## Hardware 15 | 16 | Based on a generic ESP8266-12f board and the following guides to hook 17 | up ESP8266 and do MIDI i/o: 18 | 19 | * [MIDI Input][4] 20 | * [MIDI Output][3] 21 | 22 | Midi I/O uses [SoftwareSerial][5] mostly to allow debug logging via 23 | primary serial port. 24 | 25 | ## Schematic 26 | 27 | Note! Do checkout the KiCad project instead. Image below is for quick preview only. 28 | 29 | ![ESP8266 OSC to MIDI](esp8266-osc-to-midi.png) 30 | 31 | ## Flashing firmware 32 | 33 | To flash the firmware I'm using FTDI cable with [flash+reset circuit][8]. 34 | 35 | ## Hardware ideas / roadmap / TODO 36 | 37 | * Find a reasonable enclosure and adapt layout to it. 38 | * [MCP73833][7] based battery charging circuit + microusb input for power. 39 | * Maaaaybe i2c screen. 40 | 41 | ## OSC message formats 42 | 43 | All messages are expected to have payload of 1 or 2 floats with range 44 | from 0 to 127. 45 | 46 | ### /midi/cc/{cc} + 1 float 47 | 48 | Will send control change message for `{cc}` number. 49 | 50 | ### /midi/cc/{ccA}/{ccB}/.../{index} + 1 float 51 | 52 | Will send control change message for CC specified by `{index}`. For 53 | example: 54 | 55 | * /midi/cc/10/12/15/1 -> CC to 10 56 | * /midi/cc/10/12/15/3 -> CC to 15 57 | 58 | This is meant to be used with TouchOSC groups of faders. For example, 59 | my [MicroKORG][6] preset includes a fader group of 4 to control 60 | amp ADSR: `/midi/cc/73/75/70/72` 61 | 62 | ### /midi/cc/{ccA}/{ccB} + 2 floats 63 | 64 | This sends two control change messages to `{ccA}` and `{ccB}`. This is 65 | meant to be used with TouchOSC XY pads. 66 | 67 | ## Current prototype 68 | 69 | Rather crude build, but it works: 70 | 71 | ![ESP8266 OSC to MIDI](1.jpg) 72 | 73 | ![ESP8266 OSC to MIDI](2.jpg) 74 | 75 | ![ESP8266 OSC to MIDI](3.jpg) 76 | 77 | ## Hello people of the future 78 | 79 | So it seems GitHub is about to take a snapshot of active open source repositories 80 | and put it into cold storage that should last 1000 years. Hence this section: 81 | a change for the sake of it. Exact criteria is not clear, but hope this 82 | repository makes it to the archive. 83 | 84 | [1]: http://hexler.net/software/touchosc 85 | [2]: https://en.wikipedia.org/wiki/Open_Sound_Control 86 | [3]: https://www.arduino.cc/en/Tutorial/Midi 87 | [4]: http://libremusicproduction.com/tutorials/arduino-and-midi-in 88 | [5]: https://www.arduino.cc/en/Reference/SoftwareSerial 89 | [6]: http://www.korg.com/us/products/synthesizers/microkorg/ 90 | [7]: https://www.microchip.com/wwwproducts/en/en027785 91 | [8]: https://github.com/tadas-s/esp8266-autoreset 92 | -------------------------------------------------------------------------------- /esp8266-osc-to-midi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tadas-s/OSC2Midi/87204b213074b3ae384973ae6504987800ed18d5/esp8266-osc-to-midi.png -------------------------------------------------------------------------------- /example.touchosc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tadas-s/OSC2Midi/87204b213074b3ae384973ae6504987800ed18d5/example.touchosc -------------------------------------------------------------------------------- /hardware/docs/CRDCB0003-drawing.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tadas-s/OSC2Midi/87204b213074b3ae384973ae6504987800ed18d5/hardware/docs/CRDCB0003-drawing.pdf -------------------------------------------------------------------------------- /hardware/docs/CRDCGG003.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tadas-s/OSC2Midi/87204b213074b3ae384973ae6504987800ed18d5/hardware/docs/CRDCGG003.pdf -------------------------------------------------------------------------------- /hardware/esp8266-midi-cache.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # 74xGxx_74LVC2G14 5 | # 6 | DEF 74xGxx_74LVC2G14 U 0 40 Y Y 2 F N 7 | F0 "U" -100 150 50 H V C CNN 8 | F1 "74xGxx_74LVC2G14" 0 -150 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 | SG-* 13 | SOT* 14 | $ENDFPLIST 15 | DRAW 16 | P 3 0 1 0 -75 25 -50 25 -50 -25 N 17 | P 4 0 1 10 -150 100 -150 -100 100 0 -150 100 N 18 | P 4 0 1 0 -100 25 -75 25 -75 -25 -25 -25 N 19 | X GND 2 0 -100 0 D 40 40 0 1 W N 20 | X VCC 5 0 100 0 U 40 40 0 1 W N 21 | X ~ 1 -300 0 150 R 40 40 1 1 I 22 | X ~ 6 250 0 150 L 40 40 1 1 O I 23 | X ~ 3 -300 0 150 R 40 40 2 1 I 24 | X ~ 4 250 0 150 L 40 40 2 1 O I 25 | ENDDRAW 26 | ENDDEF 27 | # 28 | # esp8266-midi-rescue_6N138 29 | # 30 | DEF esp8266-midi-rescue_6N138 U 0 0 Y N 1 F N 31 | F0 "U" 0 300 50 H V C CNN 32 | F1 "esp8266-midi-rescue_6N138" 0 -300 50 H V C CNN 33 | F2 "" 0 0 60 H V C CNN 34 | F3 "" 0 0 60 H V C CNN 35 | DRAW 36 | C 30 200 7 0 1 0 F 37 | C 70 -130 7 0 1 0 F 38 | S 200 250 -200 -250 0 1 0 N 39 | P 2 0 1 0 -60 -50 -20 -50 N 40 | P 2 0 1 0 -60 45 -60 200 N 41 | P 2 0 1 0 30 -130 30 -100 N 42 | P 2 0 1 0 30 0 30 200 N 43 | P 2 0 1 0 70 -125 70 50 N 44 | P 2 0 1 0 110 -130 30 -130 N 45 | P 2 0 1 0 160 -200 160 -180 N 46 | P 2 0 1 0 160 -80 160 -50 N 47 | P 2 0 1 0 210 -200 160 -200 N 48 | P 2 0 1 0 210 -50 160 -50 N 49 | P 2 0 1 0 210 50 70 50 N 50 | P 2 0 1 0 210 200 -60 200 N 51 | P 3 0 1 0 -95 45 -125 15 -125 15 N 52 | P 3 0 1 0 -60 30 -60 -50 -60 -50 F 53 | P 3 0 1 0 -20 -50 30 -100 30 -100 F 54 | P 3 0 1 0 -20 -50 30 0 30 0 F 55 | P 3 0 1 0 -20 0 -20 -100 -20 -100 F 56 | P 3 0 1 0 110 -130 160 -180 160 -180 F 57 | P 3 0 1 0 110 -130 160 -80 160 -80 F 58 | P 3 0 1 0 110 -80 110 -180 110 -180 F 59 | P 4 0 1 0 -210 100 -160 100 -160 20 -160 20 N 60 | P 4 0 1 0 -160 -25 -160 -100 -210 -100 -210 -100 N 61 | P 4 0 1 0 -140 20 -160 -20 -180 20 -180 20 F 62 | P 4 0 1 0 -105 15 -95 15 -95 5 -95 5 F 63 | P 4 0 1 0 -100 10 -130 -20 -130 -20 -130 -20 N 64 | P 4 0 1 0 -60 70 -80 30 -40 30 -40 30 F 65 | P 4 0 1 0 30 -100 20 -60 -10 -90 -10 -90 F 66 | P 4 0 1 0 160 -180 150 -140 120 -170 120 -170 F 67 | P 5 0 1 0 -180 -20 -180 -25 -140 -25 -140 -20 -140 -20 F 68 | P 5 0 1 0 -95 35 -95 45 -105 45 -95 35 -95 35 F 69 | P 5 0 1 0 -40 75 -40 70 -80 70 -80 75 -80 75 F 70 | X A 2 -250 100 40 R 40 40 1 1 P 71 | X K 3 -250 -100 40 R 40 40 1 1 P 72 | X GND 5 250 -200 40 L 40 40 1 1 P 73 | X Vo 6 250 -50 40 L 40 40 1 1 P 74 | X Vb 7 250 50 40 L 40 40 1 1 P 75 | X Vcc 8 250 200 40 L 40 40 1 1 P 76 | ENDDRAW 77 | ENDDEF 78 | # 79 | # esp8266-midi-rescue_C-RESCUE-esp8266-midi 80 | # 81 | DEF esp8266-midi-rescue_C-RESCUE-esp8266-midi C 0 10 N Y 1 F N 82 | F0 "C" 25 100 50 H V L CNN 83 | F1 "esp8266-midi-rescue_C-RESCUE-esp8266-midi" 25 -100 50 H V L CNN 84 | F2 "" 38 -150 50 H I C CNN 85 | F3 "" 0 0 50 H I C CNN 86 | $FPLIST 87 | C_* 88 | $ENDFPLIST 89 | DRAW 90 | P 2 0 1 20 -80 -30 80 -30 N 91 | P 2 0 1 20 -80 30 80 30 N 92 | X ~ 1 0 150 110 D 50 50 1 1 P 93 | X ~ 2 0 -150 110 U 50 50 1 1 P 94 | ENDDRAW 95 | ENDDEF 96 | # 97 | # esp8266-midi-rescue_CP-device 98 | # 99 | DEF esp8266-midi-rescue_CP-device C 0 10 N Y 1 F N 100 | F0 "C" 25 100 50 H V L CNN 101 | F1 "esp8266-midi-rescue_CP-device" 25 -100 50 H V L CNN 102 | F2 "" 38 -150 50 H I C CNN 103 | F3 "" 0 0 50 H I C CNN 104 | $FPLIST 105 | CP_* 106 | $ENDFPLIST 107 | DRAW 108 | S -90 20 -90 40 0 1 0 N 109 | S -90 20 90 20 0 1 0 N 110 | S 90 -20 -90 -40 0 1 0 F 111 | S 90 40 -90 40 0 1 0 N 112 | S 90 40 90 20 0 1 0 N 113 | P 2 0 1 0 -70 90 -30 90 N 114 | P 2 0 1 0 -50 110 -50 70 N 115 | X ~ 1 0 150 110 D 50 50 1 1 P 116 | X ~ 2 0 -150 110 U 50 50 1 1 P 117 | ENDDRAW 118 | ENDDEF 119 | # 120 | # esp8266-midi-rescue_Conn_01x01_Male-Connector1 121 | # 122 | DEF esp8266-midi-rescue_Conn_01x01_Male-Connector1 J 0 40 Y N 1 F N 123 | F0 "J" 0 100 50 H V C CNN 124 | F1 "esp8266-midi-rescue_Conn_01x01_Male-Connector1" 0 -100 50 H V C CNN 125 | F2 "" 0 0 50 H I C CNN 126 | F3 "" 0 0 50 H I C CNN 127 | $FPLIST 128 | Connector*:*_??x*mm* 129 | Connector*:*1x??x*mm* 130 | Pin?Header?Straight?1X* 131 | Pin?Header?Angled?1X* 132 | $ENDFPLIST 133 | DRAW 134 | S 34 5 0 -5 1 1 6 F 135 | P 2 1 1 6 50 0 34 0 N 136 | X Pin_1 1 200 0 150 L 50 50 1 1 P 137 | ENDDRAW 138 | ENDDEF 139 | # 140 | # esp8266-midi-rescue_Conn_01x02-Connector1 141 | # 142 | DEF esp8266-midi-rescue_Conn_01x02-Connector1 J 0 40 Y N 1 F N 143 | F0 "J" 0 100 50 H V C CNN 144 | F1 "esp8266-midi-rescue_Conn_01x02-Connector1" 0 -200 50 H V C CNN 145 | F2 "" 0 0 50 H I C CNN 146 | F3 "" 0 0 50 H I C CNN 147 | $FPLIST 148 | Connector*:*_??x*mm* 149 | Connector*:*1x??x*mm* 150 | Pin?Header?Straight?1X* 151 | Pin?Header?Angled?1X* 152 | Socket?Strip?Straight?1X* 153 | Socket?Strip?Angled?1X* 154 | $ENDFPLIST 155 | DRAW 156 | S -50 -95 0 -105 1 1 6 N 157 | S -50 5 0 -5 1 1 6 N 158 | S -50 50 50 -150 1 1 10 f 159 | X Pin_1 1 -200 0 150 R 50 50 1 1 P 160 | X Pin_2 2 -200 -100 150 R 50 50 1 1 P 161 | ENDDRAW 162 | ENDDEF 163 | # 164 | # esp8266-midi-rescue_Conn_01x06-Connector1 165 | # 166 | DEF esp8266-midi-rescue_Conn_01x06-Connector1 J 0 40 Y N 1 F N 167 | F0 "J" 0 300 50 H V C CNN 168 | F1 "esp8266-midi-rescue_Conn_01x06-Connector1" 0 -400 50 H V C CNN 169 | F2 "" 0 0 50 H I C CNN 170 | F3 "" 0 0 50 H I C CNN 171 | $FPLIST 172 | Connector*:*_??x*mm* 173 | Connector*:*1x??x*mm* 174 | Pin?Header?Straight?1X* 175 | Pin?Header?Angled?1X* 176 | Socket?Strip?Straight?1X* 177 | Socket?Strip?Angled?1X* 178 | $ENDFPLIST 179 | DRAW 180 | S -50 -295 0 -305 1 1 6 N 181 | S -50 -195 0 -205 1 1 6 N 182 | S -50 -95 0 -105 1 1 6 N 183 | S -50 5 0 -5 1 1 6 N 184 | S -50 105 0 95 1 1 6 N 185 | S -50 205 0 195 1 1 6 N 186 | S -50 250 50 -350 1 1 10 f 187 | X Pin_1 1 -200 200 150 R 50 50 1 1 P 188 | X Pin_2 2 -200 100 150 R 50 50 1 1 P 189 | X Pin_3 3 -200 0 150 R 50 50 1 1 P 190 | X Pin_4 4 -200 -100 150 R 50 50 1 1 P 191 | X Pin_5 5 -200 -200 150 R 50 50 1 1 P 192 | X Pin_6 6 -200 -300 150 R 50 50 1 1 P 193 | ENDDRAW 194 | ENDDEF 195 | # 196 | # esp8266-midi-rescue_D-device 197 | # 198 | DEF esp8266-midi-rescue_D-device D 0 40 N N 1 F N 199 | F0 "D" 0 100 50 H V C CNN 200 | F1 "esp8266-midi-rescue_D-device" 0 -100 50 H V C CNN 201 | F2 "" 0 0 50 H I C CNN 202 | F3 "" 0 0 50 H I C CNN 203 | $FPLIST 204 | TO-???* 205 | *SingleDiode 206 | *_Diode_* 207 | *SingleDiode* 208 | D_* 209 | $ENDFPLIST 210 | DRAW 211 | P 2 0 1 8 -50 50 -50 -50 N 212 | P 2 0 1 0 50 0 -50 0 N 213 | P 4 0 1 8 50 50 50 -50 -50 0 50 50 N 214 | X K 1 -150 0 100 R 50 50 1 1 P 215 | X A 2 150 0 100 L 50 50 1 1 P 216 | ENDDRAW 217 | ENDDEF 218 | # 219 | # esp8266-midi-rescue_DIN-5_180degree-Connector1 220 | # 221 | DEF esp8266-midi-rescue_DIN-5_180degree-Connector1 J 0 40 Y Y 1 F N 222 | F0 "J" 125 225 50 H V C CNN 223 | F1 "esp8266-midi-rescue_DIN-5_180degree-Connector1" 0 -250 50 H V C CNN 224 | F2 "" 0 0 50 H I C CNN 225 | F3 "" 0 0 50 H I C CNN 226 | $FPLIST 227 | DIN* 228 | $ENDFPLIST 229 | DRAW 230 | A -1 -1 201 -811 3 0 1 10 N 30 -200 200 0 231 | A 0 0 200 1 1799 0 1 10 N 200 0 -200 0 232 | A 1 -1 201 1797 -989 0 1 10 N -200 0 -30 -200 233 | C -120 0 20 0 1 0 N 234 | C -90 90 20 0 1 0 N 235 | C 0 130 20 0 1 0 N 236 | C 90 90 20 0 1 0 N 237 | C 120 0 20 0 1 0 N 238 | P 2 0 1 0 -200 0 -140 0 N 239 | P 2 0 1 0 0 200 0 150 N 240 | P 2 0 1 0 200 0 140 0 N 241 | P 3 0 1 0 -200 100 -170 100 -110 90 N 242 | P 3 0 1 0 200 100 170 100 110 90 N 243 | P 4 0 1 10 -30 -195 -30 -165 30 -165 30 -195 N 244 | X ~ 1 -300 0 100 R 50 50 1 1 P 245 | X ~ 2 0 300 100 D 50 50 1 1 P 246 | X ~ 3 300 0 100 L 50 50 1 1 P 247 | X ~ 4 -300 100 100 R 50 50 1 1 P 248 | X ~ 5 300 100 100 L 50 50 1 1 P 249 | ENDDRAW 250 | ENDDEF 251 | # 252 | # esp8266-midi-rescue_ESP-12E-rfcom 253 | # 254 | DEF esp8266-midi-rescue_ESP-12E-rfcom U 0 40 Y Y 1 F N 255 | F0 "U" -700 1000 50 H V C CNN 256 | F1 "esp8266-midi-rescue_ESP-12E-rfcom" 600 -1000 50 H V C CNN 257 | F2 "RF_Modules:ESP-12E" 0 250 50 H I C CNN 258 | F3 "" -350 300 50 H I C CNN 259 | $FPLIST 260 | ESP?12* 261 | $ENDFPLIST 262 | DRAW 263 | S -750 950 750 -950 0 1 10 f 264 | X RST 1 -900 800 150 R 50 50 1 1 I 265 | X MISO 10 -900 300 150 R 50 50 1 1 B 266 | X GPIO9 11 -900 200 150 R 50 50 1 1 B 267 | X GPIO10 12 -900 100 150 R 50 50 1 1 B 268 | X MOSI 13 -900 0 150 R 50 50 1 1 B 269 | X SCLK 14 -900 -100 150 R 50 50 1 1 B 270 | X GND 15 0 -1100 150 U 50 50 1 1 W 271 | X GPIO15/MTDO/HSPICS/UART0_RTS 16 900 -400 150 L 50 50 1 1 B 272 | X GPIO2/UART1_TXD 17 900 100 150 L 50 50 1 1 B 273 | X GPIO0 18 900 800 150 L 50 50 1 1 B 274 | X GPIO4 19 900 700 150 L 50 50 1 1 B 275 | X ADC 2 900 300 150 L 50 50 1 1 I 276 | X GPIO5 20 900 600 150 L 50 50 1 1 B 277 | X UART0_RXD/GPIO3 21 900 -200 150 L 50 50 1 1 B 278 | X UART0_TXD/GPIO1 22 900 -100 150 L 50 50 1 1 B 279 | X EN/CH_PD 3 -900 600 150 R 50 50 1 1 I 280 | X GPIO16 4 900 500 150 L 50 50 1 1 B 281 | X GPIO14/HSPI_CLK 5 900 -500 150 L 50 50 1 1 B 282 | X GPIO12/HSPI_MISO 6 900 -600 150 L 50 50 1 1 B 283 | X GPIO13/HSPI_MOSI/UART0_CTS 7 900 -300 150 L 50 50 1 1 B 284 | X VCC 8 0 1100 150 D 50 50 1 1 W 285 | X CS0 9 -900 400 150 R 50 50 1 1 I 286 | ENDDRAW 287 | ENDDEF 288 | # 289 | # esp8266-midi-rescue_GND-power1 290 | # 291 | DEF esp8266-midi-rescue_GND-power1 #PWR 0 0 Y Y 1 F P 292 | F0 "#PWR" 0 -250 50 H I C CNN 293 | F1 "esp8266-midi-rescue_GND-power1" 0 -150 50 H V C CNN 294 | F2 "" 0 0 50 H I C CNN 295 | F3 "" 0 0 50 H I C CNN 296 | DRAW 297 | P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N 298 | X GND 1 0 0 0 D 50 50 1 1 W N 299 | ENDDRAW 300 | ENDDEF 301 | # 302 | # esp8266-midi-rescue_LD1117S50TR_SOT223-regul 303 | # 304 | DEF esp8266-midi-rescue_LD1117S50TR_SOT223-regul U 0 10 Y Y 1 F N 305 | F0 "U" -150 125 50 H V C CNN 306 | F1 "esp8266-midi-rescue_LD1117S50TR_SOT223-regul" 0 125 50 H V L CNN 307 | F2 "TO_SOT_Packages_SMD:SOT-223-3_TabPin2" 0 200 50 H I C CNN 308 | F3 "" 100 -250 50 H I C CNN 309 | $FPLIST 310 | SOT?223*TabPin2* 311 | $ENDFPLIST 312 | DRAW 313 | S -200 -200 200 75 0 1 10 f 314 | X GND 1 0 -300 100 U 50 50 1 1 W 315 | X VO 2 300 0 100 L 50 50 1 1 P 316 | X VI 3 -300 0 100 R 50 50 1 1 W 317 | ENDDRAW 318 | ENDDEF 319 | # 320 | # esp8266-midi-rescue_R-RESCUE-esp8266-midi 321 | # 322 | DEF esp8266-midi-rescue_R-RESCUE-esp8266-midi R 0 0 N Y 1 F N 323 | F0 "R" 80 0 50 V V C CNN 324 | F1 "esp8266-midi-rescue_R-RESCUE-esp8266-midi" 0 0 50 V V C CNN 325 | F2 "" -70 0 50 V I C CNN 326 | F3 "" 0 0 50 H I C CNN 327 | $FPLIST 328 | R_* 329 | R_* 330 | $ENDFPLIST 331 | DRAW 332 | S -40 -100 40 100 0 1 10 N 333 | X ~ 1 0 150 50 D 50 50 1 1 P 334 | X ~ 2 0 -150 50 U 50 50 1 1 P 335 | ENDDRAW 336 | ENDDEF 337 | # 338 | # esp8266-midi-rescue_R-pspice1 339 | # 340 | DEF esp8266-midi-rescue_R-pspice1 R 0 0 N Y 1 F N 341 | F0 "R" 80 0 50 V V C CNN 342 | F1 "esp8266-midi-rescue_R-pspice1" 0 0 50 V V C CNN 343 | F2 "" 0 0 50 H I C CNN 344 | F3 "" 0 0 50 H I C CNN 345 | DRAW 346 | S -40 150 40 -150 0 1 0 N 347 | X ~ 1 0 250 100 D 50 50 1 1 P 348 | X ~ 2 0 -250 100 U 50 50 1 1 P 349 | ENDDRAW 350 | ENDDEF 351 | # 352 | # power_VCC 353 | # 354 | DEF power_VCC #PWR 0 0 Y Y 1 F P 355 | F0 "#PWR" 0 -150 50 H I C CNN 356 | F1 "power_VCC" 0 150 50 H V C CNN 357 | F2 "" 0 0 50 H I C CNN 358 | F3 "" 0 0 50 H I C CNN 359 | DRAW 360 | C 0 75 25 0 1 0 N 361 | P 2 0 1 0 0 0 0 50 N 362 | X VCC 1 0 0 0 U 50 50 1 1 W N 363 | ENDDRAW 364 | ENDDEF 365 | # 366 | #End Library 367 | -------------------------------------------------------------------------------- /hardware/esp8266-midi-rescue.dcm: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | #End Doc Library 4 | -------------------------------------------------------------------------------- /hardware/esp8266-midi-rescue.lib: -------------------------------------------------------------------------------- 1 | EESchema-LIBRARY Version 2.4 2 | #encoding utf-8 3 | # 4 | # 6N138 5 | # 6 | DEF 6N138 U 0 0 Y N 1 F N 7 | F0 "U" 0 300 50 H V C CNN 8 | F1 "6N138" 0 -300 50 H V C CNN 9 | F2 "" 0 0 60 H V C CNN 10 | F3 "" 0 0 60 H V C CNN 11 | DRAW 12 | C 30 200 7 0 1 0 F 13 | C 70 -130 7 0 1 0 F 14 | S 200 250 -200 -250 0 1 0 N 15 | P 2 0 1 0 -60 -50 -20 -50 N 16 | P 2 0 1 0 -60 45 -60 200 N 17 | P 2 0 1 0 30 -130 30 -100 N 18 | P 2 0 1 0 30 0 30 200 N 19 | P 2 0 1 0 70 -125 70 50 N 20 | P 2 0 1 0 110 -130 30 -130 N 21 | P 2 0 1 0 160 -200 160 -180 N 22 | P 2 0 1 0 160 -80 160 -50 N 23 | P 2 0 1 0 210 -200 160 -200 N 24 | P 2 0 1 0 210 -50 160 -50 N 25 | P 2 0 1 0 210 50 70 50 N 26 | P 2 0 1 0 210 200 -60 200 N 27 | P 3 0 1 0 -95 45 -125 15 -125 15 N 28 | P 3 0 1 0 -60 30 -60 -50 -60 -50 F 29 | P 3 0 1 0 -20 -50 30 -100 30 -100 F 30 | P 3 0 1 0 -20 -50 30 0 30 0 F 31 | P 3 0 1 0 -20 0 -20 -100 -20 -100 F 32 | P 3 0 1 0 110 -130 160 -180 160 -180 F 33 | P 3 0 1 0 110 -130 160 -80 160 -80 F 34 | P 3 0 1 0 110 -80 110 -180 110 -180 F 35 | P 4 0 1 0 -210 100 -160 100 -160 20 -160 20 N 36 | P 4 0 1 0 -160 -25 -160 -100 -210 -100 -210 -100 N 37 | P 4 0 1 0 -140 20 -160 -20 -180 20 -180 20 F 38 | P 4 0 1 0 -105 15 -95 15 -95 5 -95 5 F 39 | P 4 0 1 0 -100 10 -130 -20 -130 -20 -130 -20 N 40 | P 4 0 1 0 -60 70 -80 30 -40 30 -40 30 F 41 | P 4 0 1 0 30 -100 20 -60 -10 -90 -10 -90 F 42 | P 4 0 1 0 160 -180 150 -140 120 -170 120 -170 F 43 | P 5 0 1 0 -180 -20 -180 -25 -140 -25 -140 -20 -140 -20 F 44 | P 5 0 1 0 -95 35 -95 45 -105 45 -95 35 -95 35 F 45 | P 5 0 1 0 -40 75 -40 70 -80 70 -80 75 -80 75 F 46 | X A 2 -250 100 40 R 40 40 1 1 P 47 | X K 3 -250 -100 40 R 40 40 1 1 P 48 | X GND 5 250 -200 40 L 40 40 1 1 P 49 | X Vo 6 250 -50 40 L 40 40 1 1 P 50 | X Vb 7 250 50 40 L 40 40 1 1 P 51 | X Vcc 8 250 200 40 L 40 40 1 1 P 52 | ENDDRAW 53 | ENDDEF 54 | # 55 | # C-RESCUE-esp8266-midi 56 | # 57 | DEF C-RESCUE-esp8266-midi C 0 10 N Y 1 F N 58 | F0 "C" 25 100 50 H V L CNN 59 | F1 "C-RESCUE-esp8266-midi" 25 -100 50 H V L CNN 60 | F2 "" 38 -150 50 H I C CNN 61 | F3 "" 0 0 50 H I C CNN 62 | $FPLIST 63 | C_* 64 | $ENDFPLIST 65 | DRAW 66 | P 2 0 1 20 -80 -30 80 -30 N 67 | P 2 0 1 20 -80 30 80 30 N 68 | X ~ 1 0 150 110 D 50 50 1 1 P 69 | X ~ 2 0 -150 110 U 50 50 1 1 P 70 | ENDDRAW 71 | ENDDEF 72 | # 73 | # CP-device 74 | # 75 | DEF CP-device C 0 10 N Y 1 F N 76 | F0 "C" 25 100 50 H V L CNN 77 | F1 "CP-device" 25 -100 50 H V L CNN 78 | F2 "" 38 -150 50 H I C CNN 79 | F3 "" 0 0 50 H I C CNN 80 | $FPLIST 81 | CP_* 82 | $ENDFPLIST 83 | DRAW 84 | S -90 20 -90 40 0 1 0 N 85 | S -90 20 90 20 0 1 0 N 86 | S 90 -20 -90 -40 0 1 0 F 87 | S 90 40 -90 40 0 1 0 N 88 | S 90 40 90 20 0 1 0 N 89 | P 2 0 1 0 -70 90 -30 90 N 90 | P 2 0 1 0 -50 110 -50 70 N 91 | X ~ 1 0 150 110 D 50 50 1 1 P 92 | X ~ 2 0 -150 110 U 50 50 1 1 P 93 | ENDDRAW 94 | ENDDEF 95 | # 96 | # Conn_01x01_Male-Connector1 97 | # 98 | DEF Conn_01x01_Male-Connector1 J 0 40 Y N 1 F N 99 | F0 "J" 0 100 50 H V C CNN 100 | F1 "Conn_01x01_Male-Connector1" 0 -100 50 H V C CNN 101 | F2 "" 0 0 50 H I C CNN 102 | F3 "" 0 0 50 H I C CNN 103 | $FPLIST 104 | Connector*:*_??x*mm* 105 | Connector*:*1x??x*mm* 106 | Pin?Header?Straight?1X* 107 | Pin?Header?Angled?1X* 108 | $ENDFPLIST 109 | DRAW 110 | S 34 5 0 -5 1 1 6 F 111 | P 2 1 1 6 50 0 34 0 N 112 | X Pin_1 1 200 0 150 L 50 50 1 1 P 113 | ENDDRAW 114 | ENDDEF 115 | # 116 | # Conn_01x02-Connector1 117 | # 118 | DEF Conn_01x02-Connector1 J 0 40 Y N 1 F N 119 | F0 "J" 0 100 50 H V C CNN 120 | F1 "Conn_01x02-Connector1" 0 -200 50 H V C CNN 121 | F2 "" 0 0 50 H I C CNN 122 | F3 "" 0 0 50 H I C CNN 123 | $FPLIST 124 | Connector*:*_??x*mm* 125 | Connector*:*1x??x*mm* 126 | Pin?Header?Straight?1X* 127 | Pin?Header?Angled?1X* 128 | Socket?Strip?Straight?1X* 129 | Socket?Strip?Angled?1X* 130 | $ENDFPLIST 131 | DRAW 132 | S -50 -95 0 -105 1 1 6 N 133 | S -50 5 0 -5 1 1 6 N 134 | S -50 50 50 -150 1 1 10 f 135 | X Pin_1 1 -200 0 150 R 50 50 1 1 P 136 | X Pin_2 2 -200 -100 150 R 50 50 1 1 P 137 | ENDDRAW 138 | ENDDEF 139 | # 140 | # Conn_01x06-Connector1 141 | # 142 | DEF Conn_01x06-Connector1 J 0 40 Y N 1 F N 143 | F0 "J" 0 300 50 H V C CNN 144 | F1 "Conn_01x06-Connector1" 0 -400 50 H V C CNN 145 | F2 "" 0 0 50 H I C CNN 146 | F3 "" 0 0 50 H I C CNN 147 | $FPLIST 148 | Connector*:*_??x*mm* 149 | Connector*:*1x??x*mm* 150 | Pin?Header?Straight?1X* 151 | Pin?Header?Angled?1X* 152 | Socket?Strip?Straight?1X* 153 | Socket?Strip?Angled?1X* 154 | $ENDFPLIST 155 | DRAW 156 | S -50 -295 0 -305 1 1 6 N 157 | S -50 -195 0 -205 1 1 6 N 158 | S -50 -95 0 -105 1 1 6 N 159 | S -50 5 0 -5 1 1 6 N 160 | S -50 105 0 95 1 1 6 N 161 | S -50 205 0 195 1 1 6 N 162 | S -50 250 50 -350 1 1 10 f 163 | X Pin_1 1 -200 200 150 R 50 50 1 1 P 164 | X Pin_2 2 -200 100 150 R 50 50 1 1 P 165 | X Pin_3 3 -200 0 150 R 50 50 1 1 P 166 | X Pin_4 4 -200 -100 150 R 50 50 1 1 P 167 | X Pin_5 5 -200 -200 150 R 50 50 1 1 P 168 | X Pin_6 6 -200 -300 150 R 50 50 1 1 P 169 | ENDDRAW 170 | ENDDEF 171 | # 172 | # D-device 173 | # 174 | DEF D-device D 0 40 N N 1 F N 175 | F0 "D" 0 100 50 H V C CNN 176 | F1 "D-device" 0 -100 50 H V C CNN 177 | F2 "" 0 0 50 H I C CNN 178 | F3 "" 0 0 50 H I C CNN 179 | $FPLIST 180 | TO-???* 181 | *SingleDiode 182 | *_Diode_* 183 | *SingleDiode* 184 | D_* 185 | $ENDFPLIST 186 | DRAW 187 | P 2 0 1 8 -50 50 -50 -50 N 188 | P 2 0 1 0 50 0 -50 0 N 189 | P 4 0 1 8 50 50 50 -50 -50 0 50 50 N 190 | X K 1 -150 0 100 R 50 50 1 1 P 191 | X A 2 150 0 100 L 50 50 1 1 P 192 | ENDDRAW 193 | ENDDEF 194 | # 195 | # DIN-5_180degree-Connector1 196 | # 197 | DEF DIN-5_180degree-Connector1 J 0 40 Y Y 1 F N 198 | F0 "J" 125 225 50 H V C CNN 199 | F1 "DIN-5_180degree-Connector1" 0 -250 50 H V C CNN 200 | F2 "" 0 0 50 H I C CNN 201 | F3 "" 0 0 50 H I C CNN 202 | $FPLIST 203 | DIN* 204 | $ENDFPLIST 205 | DRAW 206 | A -1 -1 201 -811 3 0 1 10 N 30 -200 200 0 207 | A 0 0 200 1 1799 0 1 10 N 200 0 -200 0 208 | A 1 -1 201 1797 -989 0 1 10 N -200 0 -30 -200 209 | C -120 0 20 0 1 0 N 210 | C -90 90 20 0 1 0 N 211 | C 0 130 20 0 1 0 N 212 | C 90 90 20 0 1 0 N 213 | C 120 0 20 0 1 0 N 214 | P 2 0 1 0 -200 0 -140 0 N 215 | P 2 0 1 0 0 200 0 150 N 216 | P 2 0 1 0 200 0 140 0 N 217 | P 3 0 1 0 -200 100 -170 100 -110 90 N 218 | P 3 0 1 0 200 100 170 100 110 90 N 219 | P 4 0 1 10 -30 -195 -30 -165 30 -165 30 -195 N 220 | X ~ 1 -300 0 100 R 50 50 1 1 P 221 | X ~ 2 0 300 100 D 50 50 1 1 P 222 | X ~ 3 300 0 100 L 50 50 1 1 P 223 | X ~ 4 -300 100 100 R 50 50 1 1 P 224 | X ~ 5 300 100 100 L 50 50 1 1 P 225 | ENDDRAW 226 | ENDDEF 227 | # 228 | # ESP-12E-rfcom 229 | # 230 | DEF ESP-12E-rfcom U 0 40 Y Y 1 F N 231 | F0 "U" -700 1000 50 H V C CNN 232 | F1 "ESP-12E-rfcom" 600 -1000 50 H V C CNN 233 | F2 "RF_Modules:ESP-12E" 0 250 50 H I C CNN 234 | F3 "" -350 300 50 H I C CNN 235 | $FPLIST 236 | ESP?12* 237 | $ENDFPLIST 238 | DRAW 239 | S -750 950 750 -950 0 1 10 f 240 | X RST 1 -900 800 150 R 50 50 1 1 I 241 | X MISO 10 -900 300 150 R 50 50 1 1 B 242 | X GPIO9 11 -900 200 150 R 50 50 1 1 B 243 | X GPIO10 12 -900 100 150 R 50 50 1 1 B 244 | X MOSI 13 -900 0 150 R 50 50 1 1 B 245 | X SCLK 14 -900 -100 150 R 50 50 1 1 B 246 | X GND 15 0 -1100 150 U 50 50 1 1 W 247 | X GPIO15/MTDO/HSPICS/UART0_RTS 16 900 -400 150 L 50 50 1 1 B 248 | X GPIO2/UART1_TXD 17 900 100 150 L 50 50 1 1 B 249 | X GPIO0 18 900 800 150 L 50 50 1 1 B 250 | X GPIO4 19 900 700 150 L 50 50 1 1 B 251 | X ADC 2 900 300 150 L 50 50 1 1 I 252 | X GPIO5 20 900 600 150 L 50 50 1 1 B 253 | X UART0_RXD/GPIO3 21 900 -200 150 L 50 50 1 1 B 254 | X UART0_TXD/GPIO1 22 900 -100 150 L 50 50 1 1 B 255 | X EN/CH_PD 3 -900 600 150 R 50 50 1 1 I 256 | X GPIO16 4 900 500 150 L 50 50 1 1 B 257 | X GPIO14/HSPI_CLK 5 900 -500 150 L 50 50 1 1 B 258 | X GPIO12/HSPI_MISO 6 900 -600 150 L 50 50 1 1 B 259 | X GPIO13/HSPI_MOSI/UART0_CTS 7 900 -300 150 L 50 50 1 1 B 260 | X VCC 8 0 1100 150 D 50 50 1 1 W 261 | X CS0 9 -900 400 150 R 50 50 1 1 I 262 | ENDDRAW 263 | ENDDEF 264 | # 265 | # GND-power1 266 | # 267 | DEF GND-power1 #PWR 0 0 Y Y 1 F P 268 | F0 "#PWR" 0 -250 50 H I C CNN 269 | F1 "GND-power1" 0 -150 50 H V C CNN 270 | F2 "" 0 0 50 H I C CNN 271 | F3 "" 0 0 50 H I C CNN 272 | DRAW 273 | P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N 274 | X GND 1 0 0 0 D 50 50 1 1 W N 275 | ENDDRAW 276 | ENDDEF 277 | # 278 | # LD1117S50TR_SOT223-regul 279 | # 280 | DEF LD1117S50TR_SOT223-regul U 0 10 Y Y 1 F N 281 | F0 "U" -150 125 50 H V C CNN 282 | F1 "LD1117S50TR_SOT223-regul" 0 125 50 H V L CNN 283 | F2 "TO_SOT_Packages_SMD:SOT-223-3_TabPin2" 0 200 50 H I C CNN 284 | F3 "" 100 -250 50 H I C CNN 285 | $FPLIST 286 | SOT?223*TabPin2* 287 | $ENDFPLIST 288 | DRAW 289 | S -200 -200 200 75 0 1 10 f 290 | X GND 1 0 -300 100 U 50 50 1 1 W 291 | X VO 2 300 0 100 L 50 50 1 1 P 292 | X VI 3 -300 0 100 R 50 50 1 1 W 293 | ENDDRAW 294 | ENDDEF 295 | # 296 | # R-RESCUE-esp8266-midi 297 | # 298 | DEF R-RESCUE-esp8266-midi R 0 0 N Y 1 F N 299 | F0 "R" 80 0 50 V V C CNN 300 | F1 "R-RESCUE-esp8266-midi" 0 0 50 V V C CNN 301 | F2 "" -70 0 50 V I C CNN 302 | F3 "" 0 0 50 H I C CNN 303 | $FPLIST 304 | R_* 305 | R_* 306 | $ENDFPLIST 307 | DRAW 308 | S -40 -100 40 100 0 1 10 N 309 | X ~ 1 0 150 50 D 50 50 1 1 P 310 | X ~ 2 0 -150 50 U 50 50 1 1 P 311 | ENDDRAW 312 | ENDDEF 313 | # 314 | # R-pspice1 315 | # 316 | DEF R-pspice1 R 0 0 N Y 1 F N 317 | F0 "R" 80 0 50 V V C CNN 318 | F1 "R-pspice1" 0 0 50 V V C CNN 319 | F2 "" 0 0 50 H I C CNN 320 | F3 "" 0 0 50 H I C CNN 321 | DRAW 322 | S -40 150 40 -150 0 1 0 N 323 | X ~ 1 0 250 100 D 50 50 1 1 P 324 | X ~ 2 0 -250 100 U 50 50 1 1 P 325 | ENDDRAW 326 | ENDDEF 327 | # 328 | #End Library 329 | -------------------------------------------------------------------------------- /hardware/esp8266-midi.net: -------------------------------------------------------------------------------- 1 | (export (version D) 2 | (design 3 | (source /home/tadas/src/OSC2Midi/hardware/esp8266-midi.sch) 4 | (date "Fri 01 Feb 2019 08:27:59 GMT") 5 | (tool "Eeschema 5.0.2-bee76a0~70~ubuntu18.04.1") 6 | (sheet (number 1) (name /) (tstamps /) 7 | (title_block 8 | (title "ESP8266 MIDI<>OSC wifi gateway") 9 | (company "Tadas Sasnauskas") 10 | (rev) 11 | (date) 12 | (source esp8266-midi.sch) 13 | (comment (number 1) (value "")) 14 | (comment (number 2) (value "")) 15 | (comment (number 3) (value "")) 16 | (comment (number 4) (value ""))))) 17 | (components 18 | (comp (ref J2) 19 | (value "MIDI out") 20 | (footprint Connectors:SDS-50J) 21 | (libsource (lib esp8266-midi-rescue) (part DIN-5_180degree-Connector1) (description "")) 22 | (sheetpath (names /) (tstamps /)) 23 | (tstamp 5AA0E52B)) 24 | (comp (ref J1) 25 | (value "MIDI in") 26 | (footprint Connectors:SDS-50J) 27 | (libsource (lib esp8266-midi-rescue) (part DIN-5_180degree-Connector1) (description "")) 28 | (sheetpath (names /) (tstamps /)) 29 | (tstamp 5AA0E5AD)) 30 | (comp (ref R2) 31 | (value 120R) 32 | (footprint Resistors_SMD:R_0805_HandSoldering) 33 | (libsource (lib esp8266-midi-rescue) (part R-RESCUE-esp8266-midi) (description "")) 34 | (sheetpath (names /) (tstamps /)) 35 | (tstamp 5AA0E7F1)) 36 | (comp (ref R5) 37 | (value 120R) 38 | (footprint Resistors_SMD:R_0805_HandSoldering) 39 | (libsource (lib esp8266-midi-rescue) (part R-RESCUE-esp8266-midi) (description "")) 40 | (sheetpath (names /) (tstamps /)) 41 | (tstamp 5AA0E839)) 42 | (comp (ref U2) 43 | (value 6N138) 44 | (footprint Housings_DIP:DIP-8_W7.62mm_SMDSocket_SmallPads) 45 | (libsource (lib esp8266-midi-rescue) (part 6N138) (description "")) 46 | (sheetpath (names /) (tstamps /)) 47 | (tstamp 5AA1AD61)) 48 | (comp (ref D1) 49 | (value 1N4148) 50 | (footprint Diodes_SMD:D_SOD-323_HandSoldering) 51 | (libsource (lib esp8266-midi-rescue) (part D-device) (description "")) 52 | (sheetpath (names /) (tstamps /)) 53 | (tstamp 5AA1AFB6)) 54 | (comp (ref R1) 55 | (value 220R) 56 | (footprint Resistors_SMD:R_0805_HandSoldering) 57 | (libsource (lib esp8266-midi-rescue) (part R-RESCUE-esp8266-midi) (description "")) 58 | (sheetpath (names /) (tstamps /)) 59 | (tstamp 5AA1B0FD)) 60 | (comp (ref R4) 61 | (value 10K) 62 | (footprint Resistors_SMD:R_0805_HandSoldering) 63 | (libsource (lib esp8266-midi-rescue) (part R-RESCUE-esp8266-midi) (description "")) 64 | (sheetpath (names /) (tstamps /)) 65 | (tstamp 5AA1C352)) 66 | (comp (ref U3) 67 | (value LD1117S50TR_SOT223) 68 | (footprint TO_SOT_Packages_SMD:SOT-223) 69 | (libsource (lib esp8266-midi-rescue) (part LD1117S50TR_SOT223-regul) (description "")) 70 | (sheetpath (names /) (tstamps /)) 71 | (tstamp 5AA2FC6F)) 72 | (comp (ref C4) 73 | (value 220uF) 74 | (footprint Capacitors_SMD:CP_Elec_6.3x5.8) 75 | (libsource (lib esp8266-midi-rescue) (part CP-device) (description "")) 76 | (sheetpath (names /) (tstamps /)) 77 | (tstamp 5AA30545)) 78 | (comp (ref C3) 79 | (value 100nF) 80 | (footprint Capacitors_SMD:C_0805_HandSoldering) 81 | (libsource (lib esp8266-midi-rescue) (part C-RESCUE-esp8266-midi) (description "")) 82 | (sheetpath (names /) (tstamps /)) 83 | (tstamp 5AA305EE)) 84 | (comp (ref C2) 85 | (value 100nF) 86 | (footprint Capacitors_SMD:C_0805_HandSoldering) 87 | (libsource (lib esp8266-midi-rescue) (part C-RESCUE-esp8266-midi) (description "")) 88 | (sheetpath (names /) (tstamps /)) 89 | (tstamp 5AA30688)) 90 | (comp (ref J4) 91 | (value Bat+) 92 | (footprint Wire_Pads:SolderWirePad_single_0-8mmDrill) 93 | (libsource (lib esp8266-midi-rescue) (part Conn_01x01_Male-Connector1) (description "")) 94 | (sheetpath (names /) (tstamps /)) 95 | (tstamp 5AA3271F)) 96 | (comp (ref J5) 97 | (value Bat-) 98 | (footprint Wire_Pads:SolderWirePad_single_0-8mmDrill) 99 | (libsource (lib esp8266-midi-rescue) (part Conn_01x01_Male-Connector1) (description "")) 100 | (sheetpath (names /) (tstamps /)) 101 | (tstamp 5AA327AB)) 102 | (comp (ref R7) 103 | (value 10K) 104 | (footprint Resistors_SMD:R_0805_HandSoldering) 105 | (libsource (lib esp8266-midi-rescue) (part R-RESCUE-esp8266-midi) (description "")) 106 | (sheetpath (names /) (tstamps /)) 107 | (tstamp 5AC28C1B)) 108 | (comp (ref U1) 109 | (value ESP-12E) 110 | (footprint RF_Modules:ESP-12E) 111 | (libsource (lib esp8266-midi-rescue) (part ESP-12E-rfcom) (description "")) 112 | (sheetpath (names /) (tstamps /)) 113 | (tstamp 5AC3DEE1)) 114 | (comp (ref R6) 115 | (value 10K) 116 | (footprint Resistors_SMD:R_0805_HandSoldering) 117 | (libsource (lib esp8266-midi-rescue) (part R-pspice1) (description "")) 118 | (sheetpath (names /) (tstamps /)) 119 | (tstamp 5B127227)) 120 | (comp (ref R8) 121 | (value 10K) 122 | (footprint Resistors_SMD:R_0805_HandSoldering) 123 | (libsource (lib esp8266-midi-rescue) (part R-pspice1) (description "")) 124 | (sheetpath (names /) (tstamps /)) 125 | (tstamp 5B1275B7)) 126 | (comp (ref R3) 127 | (value 10K) 128 | (footprint Resistors_SMD:R_0805_HandSoldering) 129 | (libsource (lib esp8266-midi-rescue) (part R-pspice1) (description "")) 130 | (sheetpath (names /) (tstamps /)) 131 | (tstamp 5B12802D)) 132 | (comp (ref J3) 133 | (value "TTL-232R-3V3 connector") 134 | (footprint Pin_Headers:Pin_Header_Straight_1x06_Pitch2.54mm) 135 | (libsource (lib esp8266-midi-rescue) (part Conn_01x06-Connector1) (description "")) 136 | (sheetpath (names /) (tstamps /)) 137 | (tstamp 5AA1FA8A)) 138 | (comp (ref U4) 139 | (value 74LVC2G14) 140 | (footprint TO_SOT_Packages_SMD:SOT-23-6_Handsoldering) 141 | (datasheet http://www.ti.com/lit/sg/scyt129e/scyt129e.pdf) 142 | (libsource (lib 74xGxx) (part 74LVC2G14) (description "Dual NOT Gate Schmitt Triggered, Low-Voltage CMOS")) 143 | (sheetpath (names /) (tstamps /)) 144 | (tstamp 5BF9B0A9)) 145 | (comp (ref J6) 146 | (value "MIDI through") 147 | (footprint Connectors:SDS-50J) 148 | (libsource (lib esp8266-midi-rescue) (part DIN-5_180degree-Connector1) (description "")) 149 | (sheetpath (names /) (tstamps /)) 150 | (tstamp 5BF9BC6A)) 151 | (comp (ref R10) 152 | (value 120R) 153 | (footprint Resistors_SMD:R_0805_HandSoldering) 154 | (libsource (lib esp8266-midi-rescue) (part R-RESCUE-esp8266-midi) (description "")) 155 | (sheetpath (names /) (tstamps /)) 156 | (tstamp 5BF9BC7D)) 157 | (comp (ref R9) 158 | (value 120R) 159 | (footprint Resistors_SMD:R_0805_HandSoldering) 160 | (libsource (lib esp8266-midi-rescue) (part R-RESCUE-esp8266-midi) (description "")) 161 | (sheetpath (names /) (tstamps /)) 162 | (tstamp 5BF9BC84)) 163 | (comp (ref J7) 164 | (value "Debug serial out") 165 | (footprint Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm) 166 | (datasheet ~) 167 | (libsource (lib esp8266-midi-rescue) (part Conn_01x02-Connector1) (description "")) 168 | (sheetpath (names /) (tstamps /)) 169 | (tstamp 5C040B63)) 170 | (comp (ref C1) 171 | (value 100nF) 172 | (footprint Capacitors_SMD:C_0805_HandSoldering) 173 | (libsource (lib esp8266-midi-rescue) (part C-RESCUE-esp8266-midi) (description "")) 174 | (sheetpath (names /) (tstamps /)) 175 | (tstamp 5C00D6C8)) 176 | (comp (ref U5) 177 | (value 74LVC2G14) 178 | (footprint TO_SOT_Packages_SMD:SOT-23-6_Handsoldering) 179 | (datasheet http://www.ti.com/lit/sg/scyt129e/scyt129e.pdf) 180 | (libsource (lib 74xGxx) (part 74LVC2G14) (description "Dual NOT Gate Schmitt Triggered, Low-Voltage CMOS")) 181 | (sheetpath (names /) (tstamps /)) 182 | (tstamp 5C2FE134)) 183 | (comp (ref C5) 184 | (value 100nF) 185 | (footprint Capacitors_SMD:C_0805_HandSoldering) 186 | (libsource (lib esp8266-midi-rescue) (part C-RESCUE-esp8266-midi) (description "")) 187 | (sheetpath (names /) (tstamps /)) 188 | (tstamp 5C346FDF))) 189 | (libparts 190 | (libpart (lib 74xGxx) (part 74LVC2G14) 191 | (description "Dual NOT Gate Schmitt Triggered, Low-Voltage CMOS") 192 | (docs http://www.ti.com/lit/sg/scyt129e/scyt129e.pdf) 193 | (footprints 194 | (fp SG-*) 195 | (fp SOT*)) 196 | (fields 197 | (field (name Reference) U) 198 | (field (name Value) 74LVC2G14)) 199 | (pins 200 | (pin (num 1) (name ~) (type input)) 201 | (pin (num 2) (name GND) (type power_in)) 202 | (pin (num 3) (name ~) (type input)) 203 | (pin (num 4) (name ~) (type output)) 204 | (pin (num 5) (name VCC) (type power_in)) 205 | (pin (num 6) (name ~) (type output)))) 206 | (libpart (lib esp8266-midi-rescue) (part 6N138) 207 | (fields 208 | (field (name Reference) U) 209 | (field (name Value) 6N138)) 210 | (pins 211 | (pin (num 2) (name A) (type passive)) 212 | (pin (num 3) (name K) (type passive)) 213 | (pin (num 5) (name GND) (type passive)) 214 | (pin (num 6) (name Vo) (type passive)) 215 | (pin (num 7) (name Vb) (type passive)) 216 | (pin (num 8) (name Vcc) (type passive)))) 217 | (libpart (lib esp8266-midi-rescue) (part C-RESCUE-esp8266-midi) 218 | (footprints 219 | (fp C_*)) 220 | (fields 221 | (field (name Reference) C) 222 | (field (name Value) C-RESCUE-esp8266-midi)) 223 | (pins 224 | (pin (num 1) (name ~) (type passive)) 225 | (pin (num 2) (name ~) (type passive)))) 226 | (libpart (lib esp8266-midi-rescue) (part CP-device) 227 | (footprints 228 | (fp CP_*)) 229 | (fields 230 | (field (name Reference) C) 231 | (field (name Value) CP-device)) 232 | (pins 233 | (pin (num 1) (name ~) (type passive)) 234 | (pin (num 2) (name ~) (type passive)))) 235 | (libpart (lib esp8266-midi-rescue) (part Conn_01x01_Male-Connector1) 236 | (footprints 237 | (fp Connector*:*_??x*mm*) 238 | (fp Connector*:*1x??x*mm*) 239 | (fp Pin?Header?Straight?1X*) 240 | (fp Pin?Header?Angled?1X*)) 241 | (fields 242 | (field (name Reference) J) 243 | (field (name Value) Conn_01x01_Male-Connector1)) 244 | (pins 245 | (pin (num 1) (name Pin_1) (type passive)))) 246 | (libpart (lib esp8266-midi-rescue) (part Conn_01x02-Connector1) 247 | (footprints 248 | (fp Connector*:*_??x*mm*) 249 | (fp Connector*:*1x??x*mm*) 250 | (fp Pin?Header?Straight?1X*) 251 | (fp Pin?Header?Angled?1X*) 252 | (fp Socket?Strip?Straight?1X*) 253 | (fp Socket?Strip?Angled?1X*)) 254 | (fields 255 | (field (name Reference) J) 256 | (field (name Value) Conn_01x02-Connector1)) 257 | (pins 258 | (pin (num 1) (name Pin_1) (type passive)) 259 | (pin (num 2) (name Pin_2) (type passive)))) 260 | (libpart (lib esp8266-midi-rescue) (part Conn_01x06-Connector1) 261 | (footprints 262 | (fp Connector*:*_??x*mm*) 263 | (fp Connector*:*1x??x*mm*) 264 | (fp Pin?Header?Straight?1X*) 265 | (fp Pin?Header?Angled?1X*) 266 | (fp Socket?Strip?Straight?1X*) 267 | (fp Socket?Strip?Angled?1X*)) 268 | (fields 269 | (field (name Reference) J) 270 | (field (name Value) Conn_01x06-Connector1)) 271 | (pins 272 | (pin (num 1) (name Pin_1) (type passive)) 273 | (pin (num 2) (name Pin_2) (type passive)) 274 | (pin (num 3) (name Pin_3) (type passive)) 275 | (pin (num 4) (name Pin_4) (type passive)) 276 | (pin (num 5) (name Pin_5) (type passive)) 277 | (pin (num 6) (name Pin_6) (type passive)))) 278 | (libpart (lib esp8266-midi-rescue) (part D-device) 279 | (footprints 280 | (fp TO-???*) 281 | (fp *SingleDiode) 282 | (fp *_Diode_*) 283 | (fp *SingleDiode*) 284 | (fp D_*)) 285 | (fields 286 | (field (name Reference) D) 287 | (field (name Value) D-device)) 288 | (pins 289 | (pin (num 1) (name K) (type passive)) 290 | (pin (num 2) (name A) (type passive)))) 291 | (libpart (lib esp8266-midi-rescue) (part DIN-5_180degree-Connector1) 292 | (footprints 293 | (fp DIN*)) 294 | (fields 295 | (field (name Reference) J) 296 | (field (name Value) DIN-5_180degree-Connector1)) 297 | (pins 298 | (pin (num 1) (name ~) (type passive)) 299 | (pin (num 2) (name ~) (type passive)) 300 | (pin (num 3) (name ~) (type passive)) 301 | (pin (num 4) (name ~) (type passive)) 302 | (pin (num 5) (name ~) (type passive)))) 303 | (libpart (lib esp8266-midi-rescue) (part ESP-12E-rfcom) 304 | (footprints 305 | (fp ESP?12*)) 306 | (fields 307 | (field (name Reference) U) 308 | (field (name Value) ESP-12E-rfcom) 309 | (field (name Footprint) RF_Modules:ESP-12E)) 310 | (pins 311 | (pin (num 1) (name RST) (type input)) 312 | (pin (num 2) (name ADC) (type input)) 313 | (pin (num 3) (name EN/CH_PD) (type input)) 314 | (pin (num 4) (name GPIO16) (type BiDi)) 315 | (pin (num 5) (name GPIO14/HSPI_CLK) (type BiDi)) 316 | (pin (num 6) (name GPIO12/HSPI_MISO) (type BiDi)) 317 | (pin (num 7) (name GPIO13/HSPI_MOSI/UART0_CTS) (type BiDi)) 318 | (pin (num 8) (name VCC) (type power_in)) 319 | (pin (num 9) (name CS0) (type input)) 320 | (pin (num 10) (name MISO) (type BiDi)) 321 | (pin (num 11) (name GPIO9) (type BiDi)) 322 | (pin (num 12) (name GPIO10) (type BiDi)) 323 | (pin (num 13) (name MOSI) (type BiDi)) 324 | (pin (num 14) (name SCLK) (type BiDi)) 325 | (pin (num 15) (name GND) (type power_in)) 326 | (pin (num 16) (name GPIO15/MTDO/HSPICS/UART0_RTS) (type BiDi)) 327 | (pin (num 17) (name GPIO2/UART1_TXD) (type BiDi)) 328 | (pin (num 18) (name GPIO0) (type BiDi)) 329 | (pin (num 19) (name GPIO4) (type BiDi)) 330 | (pin (num 20) (name GPIO5) (type BiDi)) 331 | (pin (num 21) (name UART0_RXD/GPIO3) (type BiDi)) 332 | (pin (num 22) (name UART0_TXD/GPIO1) (type BiDi)))) 333 | (libpart (lib esp8266-midi-rescue) (part LD1117S50TR_SOT223-regul) 334 | (footprints 335 | (fp SOT?223*TabPin2*)) 336 | (fields 337 | (field (name Reference) U) 338 | (field (name Value) LD1117S50TR_SOT223-regul) 339 | (field (name Footprint) TO_SOT_Packages_SMD:SOT-223-3_TabPin2)) 340 | (pins 341 | (pin (num 1) (name GND) (type power_in)) 342 | (pin (num 2) (name VO) (type passive)) 343 | (pin (num 3) (name VI) (type power_in)))) 344 | (libpart (lib esp8266-midi-rescue) (part R-RESCUE-esp8266-midi) 345 | (footprints 346 | (fp R_*) 347 | (fp R_*)) 348 | (fields 349 | (field (name Reference) R) 350 | (field (name Value) R-RESCUE-esp8266-midi)) 351 | (pins 352 | (pin (num 1) (name ~) (type passive)) 353 | (pin (num 2) (name ~) (type passive)))) 354 | (libpart (lib esp8266-midi-rescue) (part R-pspice1) 355 | (fields 356 | (field (name Reference) R) 357 | (field (name Value) R-pspice1)) 358 | (pins 359 | (pin (num 1) (name ~) (type passive)) 360 | (pin (num 2) (name ~) (type passive))))) 361 | (libraries 362 | (library (logical 74xGxx) 363 | (uri /home/tadas/kicad/library/74xGxx.lib)) 364 | (library (logical esp8266-midi-rescue) 365 | (uri /home/tadas/src/OSC2Midi/hardware/esp8266-midi-rescue.lib))) 366 | (nets 367 | (net (code 1) (name UART0_TXD) 368 | (node (ref J3) (pin 5)) 369 | (node (ref U1) (pin 22))) 370 | (net (code 2) (name GND) 371 | (node (ref C2) (pin 2)) 372 | (node (ref R7) (pin 1)) 373 | (node (ref J5) (pin 1)) 374 | (node (ref C5) (pin 2)) 375 | (node (ref U5) (pin 2)) 376 | (node (ref U5) (pin 2)) 377 | (node (ref J6) (pin 2)) 378 | (node (ref J3) (pin 1)) 379 | (node (ref R4) (pin 1)) 380 | (node (ref U3) (pin 1)) 381 | (node (ref J2) (pin 2)) 382 | (node (ref U2) (pin 5)) 383 | (node (ref U1) (pin 15)) 384 | (node (ref C4) (pin 2)) 385 | (node (ref C3) (pin 2)) 386 | (node (ref J7) (pin 1)) 387 | (node (ref U4) (pin 2)) 388 | (node (ref U4) (pin 2)) 389 | (node (ref C1) (pin 2))) 390 | (net (code 3) (name UART0_ALT_RXD) 391 | (node (ref U1) (pin 7)) 392 | (node (ref U4) (pin 1)) 393 | (node (ref U2) (pin 6))) 394 | (net (code 4) (name UART0_RXD) 395 | (node (ref J3) (pin 4)) 396 | (node (ref U1) (pin 21))) 397 | (net (code 5) (name "Net-(U4-Pad3)") 398 | (node (ref U4) (pin 3)) 399 | (node (ref U4) (pin 6))) 400 | (net (code 6) (name "Net-(R9-Pad1)") 401 | (node (ref U4) (pin 4)) 402 | (node (ref R9) (pin 1))) 403 | (net (code 7) (name "Net-(J6-Pad4)") 404 | (node (ref R10) (pin 1)) 405 | (node (ref J6) (pin 4))) 406 | (net (code 8) (name "Net-(U1-Pad20)") 407 | (node (ref U1) (pin 20))) 408 | (net (code 9) (name "Net-(U1-Pad19)") 409 | (node (ref U1) (pin 19))) 410 | (net (code 10) (name VCC) 411 | (node (ref R8) (pin 2)) 412 | (node (ref C3) (pin 1)) 413 | (node (ref R6) (pin 1)) 414 | (node (ref U4) (pin 5)) 415 | (node (ref U3) (pin 2)) 416 | (node (ref R2) (pin 2)) 417 | (node (ref U1) (pin 8)) 418 | (node (ref C1) (pin 1)) 419 | (node (ref C4) (pin 1)) 420 | (node (ref U2) (pin 8)) 421 | (node (ref U5) (pin 5)) 422 | (node (ref U5) (pin 5)) 423 | (node (ref R3) (pin 2)) 424 | (node (ref R10) (pin 2)) 425 | (node (ref U4) (pin 5)) 426 | (node (ref C5) (pin 1))) 427 | (net (code 11) (name "Net-(J6-Pad5)") 428 | (node (ref J6) (pin 5)) 429 | (node (ref R9) (pin 2))) 430 | (net (code 12) (name "Net-(J6-Pad1)") 431 | (node (ref J6) (pin 1))) 432 | (net (code 13) (name "Net-(J6-Pad3)") 433 | (node (ref J6) (pin 3))) 434 | (net (code 14) (name UART0_ALT_TXD) 435 | (node (ref U5) (pin 1)) 436 | (node (ref R7) (pin 2)) 437 | (node (ref U1) (pin 16))) 438 | (net (code 15) (name "Net-(R5-Pad1)") 439 | (node (ref U5) (pin 4)) 440 | (node (ref R5) (pin 1))) 441 | (net (code 16) (name "Net-(U5-Pad3)") 442 | (node (ref U5) (pin 3)) 443 | (node (ref U5) (pin 6))) 444 | (net (code 17) (name UART1_TXD) 445 | (node (ref J7) (pin 2)) 446 | (node (ref U1) (pin 17))) 447 | (net (code 18) (name RESET) 448 | (node (ref U1) (pin 1)) 449 | (node (ref J3) (pin 6)) 450 | (node (ref R6) (pin 2))) 451 | (net (code 19) (name FLASH_EN) 452 | (node (ref R8) (pin 1)) 453 | (node (ref J3) (pin 2)) 454 | (node (ref U1) (pin 18))) 455 | (net (code 20) (name "Net-(U1-Pad13)") 456 | (node (ref U1) (pin 13))) 457 | (net (code 21) (name "Net-(U1-Pad12)") 458 | (node (ref U1) (pin 12))) 459 | (net (code 22) (name "Net-(U1-Pad11)") 460 | (node (ref U1) (pin 11))) 461 | (net (code 23) (name "Net-(U1-Pad10)") 462 | (node (ref U1) (pin 10))) 463 | (net (code 24) (name "Net-(J1-Pad2)") 464 | (node (ref J1) (pin 2))) 465 | (net (code 25) (name "Net-(U1-Pad14)") 466 | (node (ref U1) (pin 14))) 467 | (net (code 26) (name "Net-(C2-Pad1)") 468 | (node (ref J4) (pin 1)) 469 | (node (ref U3) (pin 3)) 470 | (node (ref C2) (pin 1))) 471 | (net (code 27) (name "Net-(U1-Pad9)") 472 | (node (ref U1) (pin 9))) 473 | (net (code 28) (name "Net-(U1-Pad6)") 474 | (node (ref U1) (pin 6))) 475 | (net (code 29) (name "Net-(U1-Pad5)") 476 | (node (ref U1) (pin 5))) 477 | (net (code 30) (name "Net-(U1-Pad4)") 478 | (node (ref U1) (pin 4))) 479 | (net (code 31) (name "Net-(R3-Pad1)") 480 | (node (ref U1) (pin 3)) 481 | (node (ref R3) (pin 1))) 482 | (net (code 32) (name "Net-(U1-Pad2)") 483 | (node (ref U1) (pin 2))) 484 | (net (code 33) (name "Net-(D1-Pad1)") 485 | (node (ref J1) (pin 4)) 486 | (node (ref U2) (pin 2)) 487 | (node (ref D1) (pin 1))) 488 | (net (code 34) (name "Net-(J1-Pad3)") 489 | (node (ref J1) (pin 3))) 490 | (net (code 35) (name "Net-(J1-Pad1)") 491 | (node (ref J1) (pin 1))) 492 | (net (code 36) (name "Net-(J2-Pad5)") 493 | (node (ref R5) (pin 2)) 494 | (node (ref J2) (pin 5))) 495 | (net (code 37) (name "Net-(J2-Pad4)") 496 | (node (ref R2) (pin 1)) 497 | (node (ref J2) (pin 4))) 498 | (net (code 38) (name "Net-(J2-Pad3)") 499 | (node (ref J2) (pin 3))) 500 | (net (code 39) (name "Net-(J2-Pad1)") 501 | (node (ref J2) (pin 1))) 502 | (net (code 40) (name "Net-(D1-Pad2)") 503 | (node (ref U2) (pin 3)) 504 | (node (ref D1) (pin 2)) 505 | (node (ref R1) (pin 2))) 506 | (net (code 41) (name "Net-(R4-Pad2)") 507 | (node (ref U2) (pin 7)) 508 | (node (ref R4) (pin 2))) 509 | (net (code 42) (name "Net-(J1-Pad5)") 510 | (node (ref J1) (pin 5)) 511 | (node (ref R1) (pin 1))) 512 | (net (code 43) (name "Net-(J3-Pad3)") 513 | (node (ref J3) (pin 3))))) -------------------------------------------------------------------------------- /hardware/esp8266-midi.pro: -------------------------------------------------------------------------------- 1 | update=Fri 01 Feb 2019 08:33:54 GMT 2 | version=1 3 | last_client=kicad 4 | [pcbnew] 5 | version=1 6 | LastNetListRead= 7 | UseCmpFile=1 8 | PadDrill=0.600000000000 9 | PadDrillOvalY=0.600000000000 10 | PadSizeH=1.500000000000 11 | PadSizeV=1.500000000000 12 | PcbTextSizeV=1.500000000000 13 | PcbTextSizeH=1.500000000000 14 | PcbTextThickness=0.300000000000 15 | ModuleTextSizeV=1.000000000000 16 | ModuleTextSizeH=1.000000000000 17 | ModuleTextSizeThickness=0.150000000000 18 | SolderMaskClearance=0.000000000000 19 | SolderMaskMinWidth=0.000000000000 20 | DrawSegmentWidth=0.200000000000 21 | BoardOutlineThickness=0.100000000000 22 | ModuleOutlineThickness=0.150000000000 23 | [cvpcb] 24 | version=1 25 | NetIExt=net 26 | [general] 27 | version=1 28 | [eeschema] 29 | version=1 30 | LibDir= 31 | [schematic_editor] 32 | version=1 33 | PageLayoutDescrFile= 34 | PlotDirectoryName=schematic.pdf 35 | SubpartIdSeparator=0 36 | SubpartFirstId=65 37 | NetFmtName=Pcbnew 38 | SpiceAjustPassiveValues=0 39 | LabSize=60 40 | ERC_TestSimilarLabels=1 41 | -------------------------------------------------------------------------------- /hardware/esp8266-midi.sch: -------------------------------------------------------------------------------- 1 | EESchema Schematic File Version 4 2 | LIBS:esp8266-midi-cache 3 | EELAYER 26 0 4 | EELAYER END 5 | $Descr A4 11693 8268 6 | encoding utf-8 7 | Sheet 1 1 8 | Title "ESP8266 MIDI<>OSC wifi gateway" 9 | Date "" 10 | Rev "" 11 | Comp "Tadas Sasnauskas" 12 | Comment1 "" 13 | Comment2 "" 14 | Comment3 "" 15 | Comment4 "" 16 | $EndDescr 17 | $Comp 18 | L esp8266-midi-rescue:DIN-5_180degree-Connector1 J2 19 | U 1 1 5AA0E52B 20 | P 9125 5175 21 | F 0 "J2" H 9250 5400 50 0000 C CNN 22 | F 1 "MIDI out" H 9125 4925 50 0000 C CNN 23 | F 2 "Connectors:SDS-50J" H 9125 5175 50 0001 C CNN 24 | F 3 "" H 9125 5175 50 0001 C CNN 25 | 1 9125 5175 26 | -1 0 0 -1 27 | $EndComp 28 | $Comp 29 | L esp8266-midi-rescue:DIN-5_180degree-Connector1 J1 30 | U 1 1 5AA0E5AD 31 | P 9125 2900 32 | F 0 "J1" H 9250 3125 50 0000 C CNN 33 | F 1 "MIDI in" H 9125 2650 50 0000 C CNN 34 | F 2 "Connectors:SDS-50J" H 9125 2900 50 0001 C CNN 35 | F 3 "" H 9125 2900 50 0001 C CNN 36 | 1 9125 2900 37 | 1 0 0 -1 38 | $EndComp 39 | $Comp 40 | L esp8266-midi-rescue:GND-power1 #PWR01 41 | U 1 1 5AA0E6C2 42 | P 8925 4675 43 | F 0 "#PWR01" H 8925 4425 50 0001 C CNN 44 | F 1 "GND" H 8925 4525 50 0000 C CNN 45 | F 2 "" H 8925 4675 50 0001 C CNN 46 | F 3 "" H 8925 4675 50 0001 C CNN 47 | 1 8925 4675 48 | -1 0 0 -1 49 | $EndComp 50 | $Comp 51 | L esp8266-midi-rescue:R-RESCUE-esp8266-midi R2 52 | U 1 1 5AA0E7F1 53 | P 9675 5075 54 | F 0 "R2" V 9755 5075 50 0000 C CNN 55 | F 1 "120R" V 9675 5075 50 0000 C CNN 56 | F 2 "Resistors_SMD:R_0805_HandSoldering" V 9605 5075 50 0001 C CNN 57 | F 3 "" H 9675 5075 50 0001 C CNN 58 | 1 9675 5075 59 | 0 -1 1 0 60 | $EndComp 61 | $Comp 62 | L esp8266-midi-rescue:R-RESCUE-esp8266-midi R5 63 | U 1 1 5AA0E839 64 | P 8575 5075 65 | F 0 "R5" V 8655 5075 50 0000 C CNN 66 | F 1 "120R" V 8575 5075 50 0000 C CNN 67 | F 2 "Resistors_SMD:R_0805_HandSoldering" V 8505 5075 50 0001 C CNN 68 | F 3 "" H 8575 5075 50 0001 C CNN 69 | 1 8575 5075 70 | 0 -1 1 0 71 | $EndComp 72 | $Comp 73 | L esp8266-midi-rescue:6N138 U2 74 | U 1 1 5AA1AD61 75 | P 8225 3150 76 | F 0 "U2" H 8225 3450 50 0000 C CNN 77 | F 1 "6N138" H 8225 2850 50 0000 C CNN 78 | F 2 "Housings_DIP:DIP-8_W7.62mm_SMDSocket_SmallPads" H 8225 3150 60 0001 C CNN 79 | F 3 "" H 8225 3150 60 0000 C CNN 80 | 1 8225 3150 81 | -1 0 0 -1 82 | $EndComp 83 | $Comp 84 | L esp8266-midi-rescue:D-device D1 85 | U 1 1 5AA1AFB6 86 | P 8675 3150 87 | F 0 "D1" H 8675 3250 50 0000 C CNN 88 | F 1 "1N4148" H 8725 3350 50 0000 C CNN 89 | F 2 "Diodes_SMD:D_SOD-323_HandSoldering" H 8675 3150 50 0001 C CNN 90 | F 3 "" H 8675 3150 50 0001 C CNN 91 | 1 8675 3150 92 | 0 1 1 0 93 | $EndComp 94 | $Comp 95 | L esp8266-midi-rescue:R-RESCUE-esp8266-midi R1 96 | U 1 1 5AA1B0FD 97 | P 9125 3400 98 | F 0 "R1" V 9205 3400 50 0000 C CNN 99 | F 1 "220R" V 9125 3400 50 0000 C CNN 100 | F 2 "Resistors_SMD:R_0805_HandSoldering" V 9055 3400 50 0001 C CNN 101 | F 3 "" H 9125 3400 50 0001 C CNN 102 | 1 9125 3400 103 | 0 1 1 0 104 | $EndComp 105 | $Comp 106 | L esp8266-midi-rescue:R-RESCUE-esp8266-midi R4 107 | U 1 1 5AA1C352 108 | P 7775 3100 109 | F 0 "R4" V 7855 3100 50 0000 C CNN 110 | F 1 "10K" V 7775 3100 50 0000 C CNN 111 | F 2 "Resistors_SMD:R_0805_HandSoldering" V 7705 3100 50 0001 C CNN 112 | F 3 "" H 7775 3100 50 0001 C CNN 113 | 1 7775 3100 114 | 0 -1 1 0 115 | $EndComp 116 | $Comp 117 | L esp8266-midi-rescue:GND-power1 #PWR04 118 | U 1 1 5AA1CB1B 119 | P 7875 3450 120 | F 0 "#PWR04" H 7875 3200 50 0001 C CNN 121 | F 1 "GND" H 7875 3300 50 0000 C CNN 122 | F 2 "" H 7875 3450 50 0001 C CNN 123 | F 3 "" H 7875 3450 50 0001 C CNN 124 | 1 7875 3450 125 | -1 0 0 -1 126 | $EndComp 127 | Text Notes 1675 3125 0 60 ~ 0 128 | RESET\nRXD\nTXD\nVCC\nFLASH\nGND\n 129 | NoConn ~ 8825 5175 130 | NoConn ~ 9425 5175 131 | NoConn ~ 8825 2900 132 | NoConn ~ 9425 2900 133 | $Comp 134 | L esp8266-midi-rescue:LD1117S50TR_SOT223-regul U3 135 | U 1 1 5AA2FC6F 136 | P 5775 1675 137 | F 0 "U3" H 5625 1800 50 0000 C CNN 138 | F 1 "LD1117S50TR_SOT223" H 5775 1800 50 0000 L CNN 139 | F 2 "TO_SOT_Packages_SMD:SOT-223" H 5775 1875 50 0001 C CNN 140 | F 3 "" H 5875 1425 50 0001 C CNN 141 | 1 5775 1675 142 | 1 0 0 -1 143 | $EndComp 144 | $Comp 145 | L esp8266-midi-rescue:CP-device C4 146 | U 1 1 5AA30545 147 | P 7375 1925 148 | F 0 "C4" H 7400 2025 50 0000 L CNN 149 | F 1 "220uF" H 7400 1825 50 0000 L CNN 150 | F 2 "Capacitors_SMD:CP_Elec_6.3x5.8" H 7413 1775 50 0001 C CNN 151 | F 3 "" H 7375 1925 50 0001 C CNN 152 | 1 7375 1925 153 | 1 0 0 -1 154 | $EndComp 155 | $Comp 156 | L esp8266-midi-rescue:C-RESCUE-esp8266-midi C3 157 | U 1 1 5AA305EE 158 | P 6175 1925 159 | F 0 "C3" H 6200 2025 50 0000 L CNN 160 | F 1 "100nF" H 6200 1825 50 0000 L CNN 161 | F 2 "Capacitors_SMD:C_0805_HandSoldering" H 6213 1775 50 0001 C CNN 162 | F 3 "" H 6175 1925 50 0001 C CNN 163 | 1 6175 1925 164 | 1 0 0 -1 165 | $EndComp 166 | $Comp 167 | L esp8266-midi-rescue:C-RESCUE-esp8266-midi C2 168 | U 1 1 5AA30688 169 | P 5375 1925 170 | F 0 "C2" H 5400 2025 50 0000 L CNN 171 | F 1 "100nF" H 5400 1825 50 0000 L CNN 172 | F 2 "Capacitors_SMD:C_0805_HandSoldering" H 5413 1775 50 0001 C CNN 173 | F 3 "" H 5375 1925 50 0001 C CNN 174 | 1 5375 1925 175 | 1 0 0 -1 176 | $EndComp 177 | $Comp 178 | L esp8266-midi-rescue:GND-power1 #PWR07 179 | U 1 1 5AA310B5 180 | P 5775 2275 181 | F 0 "#PWR07" H 5775 2025 50 0001 C CNN 182 | F 1 "GND" H 5775 2125 50 0000 C CNN 183 | F 2 "" H 5775 2275 50 0001 C CNN 184 | F 3 "" H 5775 2275 50 0001 C CNN 185 | 1 5775 2275 186 | 1 0 0 -1 187 | $EndComp 188 | $Comp 189 | L esp8266-midi-rescue:Conn_01x01_Male-Connector1 J4 190 | U 1 1 5AA3271F 191 | P 4975 1675 192 | F 0 "J4" H 4975 1775 50 0000 C CNN 193 | F 1 "Bat+" H 4975 1575 50 0000 C CNN 194 | F 2 "Wire_Pads:SolderWirePad_single_0-8mmDrill" H 4975 1675 50 0001 C CNN 195 | F 3 "" H 4975 1675 50 0001 C CNN 196 | 1 4975 1675 197 | 1 0 0 -1 198 | $EndComp 199 | $Comp 200 | L esp8266-midi-rescue:Conn_01x01_Male-Connector1 J5 201 | U 1 1 5AA327AB 202 | P 4975 2175 203 | F 0 "J5" H 4975 2275 50 0000 C CNN 204 | F 1 "Bat-" H 4975 2075 50 0000 C CNN 205 | F 2 "Wire_Pads:SolderWirePad_single_0-8mmDrill" H 4975 2175 50 0001 C CNN 206 | F 3 "" H 4975 2175 50 0001 C CNN 207 | 1 4975 2175 208 | 1 0 0 -1 209 | $EndComp 210 | $Comp 211 | L esp8266-midi-rescue:R-RESCUE-esp8266-midi R7 212 | U 1 1 5AC28C1B 213 | P 5250 5250 214 | F 0 "R7" V 5330 5250 50 0000 C CNN 215 | F 1 "10K" V 5250 5250 50 0000 C CNN 216 | F 2 "Resistors_SMD:R_0805_HandSoldering" V 5180 5250 50 0001 C CNN 217 | F 3 "" H 5250 5250 50 0001 C CNN 218 | 1 5250 5250 219 | 1 0 0 1 220 | $EndComp 221 | NoConn ~ 9125 2600 222 | $Comp 223 | L esp8266-midi-rescue:ESP-12E-rfcom U1 224 | U 1 1 5AC3DEE1 225 | P 4200 4600 226 | F 0 "U1" H 3500 5600 50 0000 C CNN 227 | F 1 "ESP-12E" H 4800 3600 50 0000 C CNN 228 | F 2 "RF_Modules:ESP-12E" H 4200 4850 50 0001 C CNN 229 | F 3 "" H 3850 4900 50 0001 C CNN 230 | 1 4200 4600 231 | 1 0 0 -1 232 | $EndComp 233 | $Comp 234 | L esp8266-midi-rescue:GND-power1 #PWR08 235 | U 1 1 5AC3E798 236 | P 4200 5800 237 | F 0 "#PWR08" H 4200 5550 50 0001 C CNN 238 | F 1 "GND" H 4200 5650 50 0000 C CNN 239 | F 2 "" H 4200 5800 50 0001 C CNN 240 | F 3 "" H 4200 5800 50 0001 C CNN 241 | 1 4200 5800 242 | 1 0 0 -1 243 | $EndComp 244 | $Comp 245 | L esp8266-midi-rescue:GND-power1 #PWR011 246 | U 1 1 5AC41342 247 | P 5250 5500 248 | F 0 "#PWR011" H 5250 5250 50 0001 C CNN 249 | F 1 "GND" H 5250 5350 50 0000 C CNN 250 | F 2 "" H 5250 5500 50 0001 C CNN 251 | F 3 "" H 5250 5500 50 0001 C CNN 252 | 1 5250 5500 253 | 1 0 0 -1 254 | $EndComp 255 | NoConn ~ 3300 4200 256 | NoConn ~ 3300 4300 257 | NoConn ~ 3300 4400 258 | NoConn ~ 3300 4500 259 | NoConn ~ 3300 4600 260 | NoConn ~ 3300 4700 261 | NoConn ~ 5100 5200 262 | NoConn ~ 5100 5100 263 | NoConn ~ 5100 4300 264 | $Comp 265 | L esp8266-midi-rescue:R-pspice1 R6 266 | U 1 1 5B127227 267 | P 3850 3450 268 | F 0 "R6" V 3930 3450 50 0000 C CNN 269 | F 1 "10K" V 3850 3450 50 0000 C CNN 270 | F 2 "Resistors_SMD:R_0805_HandSoldering" H 3850 3450 50 0001 C CNN 271 | F 3 "" H 3850 3450 50 0001 C CNN 272 | 1 3850 3450 273 | 0 1 1 0 274 | $EndComp 275 | $Comp 276 | L esp8266-midi-rescue:R-pspice1 R8 277 | U 1 1 5B1275B7 278 | P 4550 3450 279 | F 0 "R8" V 4630 3450 50 0000 C CNN 280 | F 1 "10K" V 4550 3450 50 0000 C CNN 281 | F 2 "Resistors_SMD:R_0805_HandSoldering" H 4550 3450 50 0001 C CNN 282 | F 3 "" H 4550 3450 50 0001 C CNN 283 | 1 4550 3450 284 | 0 1 1 0 285 | $EndComp 286 | Wire Wire Line 287 | 9125 4875 9125 4575 288 | Wire Wire Line 289 | 8925 4575 8925 4675 290 | Wire Wire Line 291 | 8825 5075 8725 5075 292 | Wire Wire Line 293 | 9525 5075 9425 5075 294 | Wire Wire Line 295 | 9925 5075 9825 5075 296 | Wire Wire Line 297 | 7975 3100 7925 3100 298 | Wire Wire Line 299 | 7625 3100 7575 3100 300 | Wire Wire Line 301 | 7575 3100 7575 3350 302 | Wire Wire Line 303 | 7575 3350 7875 3350 304 | Wire Wire Line 305 | 7875 3350 7875 3450 306 | Connection ~ 7875 3350 307 | Wire Wire Line 308 | 6075 1675 6175 1675 309 | Wire Wire Line 310 | 6175 1675 6175 1775 311 | Wire Wire Line 312 | 6175 2175 6175 2075 313 | Wire Wire Line 314 | 5775 1975 5775 2175 315 | Connection ~ 5775 2175 316 | Connection ~ 5375 1675 317 | Wire Wire Line 318 | 5375 1675 5375 1775 319 | Wire Wire Line 320 | 5375 2075 5375 2175 321 | Connection ~ 5375 2175 322 | Wire Wire Line 323 | 8475 3050 8575 3050 324 | Wire Wire Line 325 | 8575 3050 8575 3000 326 | Wire Wire Line 327 | 8575 3000 8675 3000 328 | Wire Wire Line 329 | 8475 3250 8575 3250 330 | Wire Wire Line 331 | 8575 3250 8575 3300 332 | Wire Wire Line 333 | 8575 3300 8675 3300 334 | Wire Wire Line 335 | 8675 3300 8675 3400 336 | Wire Wire Line 337 | 8675 3400 8975 3400 338 | Wire Wire Line 339 | 9275 3400 9525 3400 340 | Wire Wire Line 341 | 9525 3400 9525 2800 342 | Wire Wire Line 343 | 9525 2800 9425 2800 344 | Wire Wire Line 345 | 8675 3000 8675 2800 346 | Wire Wire Line 347 | 8675 2800 8825 2800 348 | Wire Wire Line 349 | 4200 5700 4200 5800 350 | Wire Wire Line 351 | 4200 3375 4200 3450 352 | Connection ~ 4200 3450 353 | Wire Wire Line 354 | 9125 4575 8925 4575 355 | Wire Wire Line 356 | 7875 2750 7875 2950 357 | Wire Wire Line 358 | 7875 2950 7975 2950 359 | Wire Wire Line 360 | 4100 3450 4200 3450 361 | Wire Wire Line 362 | 5150 3450 5150 3800 363 | Wire Wire Line 364 | 5100 3800 5150 3800 365 | Wire Wire Line 366 | 3250 3450 3250 3800 367 | Wire Wire Line 368 | 3250 3800 3300 3800 369 | $Comp 370 | L esp8266-midi-rescue:R-pspice1 R3 371 | U 1 1 5B12802D 372 | P 3000 4000 373 | F 0 "R3" V 3080 4000 50 0000 C CNN 374 | F 1 "10K" V 3000 4000 50 0000 C CNN 375 | F 2 "Resistors_SMD:R_0805_HandSoldering" H 3000 4000 50 0001 C CNN 376 | F 3 "" H 3000 4000 50 0001 C CNN 377 | 1 3000 4000 378 | 0 1 1 0 379 | $EndComp 380 | Wire Wire Line 381 | 3300 4000 3250 4000 382 | Wire Wire Line 383 | 2750 4000 2700 4000 384 | $Comp 385 | L esp8266-midi-rescue:Conn_01x06-Connector1 J3 386 | U 1 1 5AA1FA8A 387 | P 2025 2900 388 | F 0 "J3" H 2025 3200 50 0000 C CNN 389 | F 1 "TTL-232R-3V3 connector" H 2025 2500 50 0000 C CNN 390 | F 2 "Pin_Headers:Pin_Header_Straight_1x06_Pitch2.54mm" H 2025 2900 50 0001 C CNN 391 | F 3 "" H 2025 2900 50 0001 C CNN 392 | 1 2025 2900 393 | -1 0 0 1 394 | $EndComp 395 | NoConn ~ 2225 2900 396 | NoConn ~ 5100 4100 397 | Wire Wire Line 398 | 5175 1675 5375 1675 399 | Wire Wire Line 400 | 5175 2175 5375 2175 401 | Wire Wire Line 402 | 7875 3350 7975 3350 403 | Wire Wire Line 404 | 5775 2175 5775 2275 405 | Wire Wire Line 406 | 5775 2175 6175 2175 407 | Wire Wire Line 408 | 5375 1675 5475 1675 409 | Wire Wire Line 410 | 5375 2175 5775 2175 411 | Wire Wire Line 412 | 4200 3450 4200 3500 413 | Wire Wire Line 414 | 4200 3450 4300 3450 415 | $Comp 416 | L 74xGxx:74LVC2G14 U4 417 | U 1 1 5BF9B0A9 418 | P 7475 4075 419 | F 0 "U4" H 7450 4342 50 0000 C CNN 420 | F 1 "74LVC2G14" H 7450 4251 50 0000 C CNN 421 | F 2 "TO_SOT_Packages_SMD:SOT-23-6_Handsoldering" H 7475 4075 50 0001 C CNN 422 | F 3 "http://www.ti.com/lit/sg/scyt129e/scyt129e.pdf" H 7475 4075 50 0001 C CNN 423 | 1 7475 4075 424 | 1 0 0 -1 425 | $EndComp 426 | $Comp 427 | L 74xGxx:74LVC2G14 U4 428 | U 2 1 5BF9B343 429 | P 8100 4075 430 | F 0 "U4" H 8075 4342 50 0000 C CNN 431 | F 1 "74LVC2G14" H 8075 4251 50 0000 C CNN 432 | F 2 "TO_SOT_Packages_SMD:SOT-23-6_Handsoldering" H 8100 4075 50 0001 C CNN 433 | F 3 "http://www.ti.com/lit/sg/scyt129e/scyt129e.pdf" H 8100 4075 50 0001 C CNN 434 | 2 8100 4075 435 | 1 0 0 -1 436 | $EndComp 437 | $Comp 438 | L esp8266-midi-rescue:DIN-5_180degree-Connector1 J6 439 | U 1 1 5BF9BC6A 440 | P 9125 4175 441 | F 0 "J6" H 9250 4400 50 0000 C CNN 442 | F 1 "MIDI through" H 9125 3925 50 0000 C CNN 443 | F 2 "Connectors:SDS-50J" H 9125 4175 50 0001 C CNN 444 | F 3 "" H 9125 4175 50 0001 C CNN 445 | 1 9125 4175 446 | -1 0 0 -1 447 | $EndComp 448 | $Comp 449 | L esp8266-midi-rescue:GND-power1 #PWR012 450 | U 1 1 5BF9BC71 451 | P 8925 3675 452 | F 0 "#PWR012" H 8925 3425 50 0001 C CNN 453 | F 1 "GND" H 8925 3525 50 0000 C CNN 454 | F 2 "" H 8925 3675 50 0001 C CNN 455 | F 3 "" H 8925 3675 50 0001 C CNN 456 | 1 8925 3675 457 | -1 0 0 -1 458 | $EndComp 459 | $Comp 460 | L esp8266-midi-rescue:R-RESCUE-esp8266-midi R10 461 | U 1 1 5BF9BC7D 462 | P 9675 4075 463 | F 0 "R10" V 9755 4075 50 0000 C CNN 464 | F 1 "120R" V 9675 4075 50 0000 C CNN 465 | F 2 "Resistors_SMD:R_0805_HandSoldering" V 9605 4075 50 0001 C CNN 466 | F 3 "" H 9675 4075 50 0001 C CNN 467 | 1 9675 4075 468 | 0 -1 1 0 469 | $EndComp 470 | $Comp 471 | L esp8266-midi-rescue:R-RESCUE-esp8266-midi R9 472 | U 1 1 5BF9BC84 473 | P 8575 4075 474 | F 0 "R9" V 8655 4075 50 0000 C CNN 475 | F 1 "120R" V 8575 4075 50 0000 C CNN 476 | F 2 "Resistors_SMD:R_0805_HandSoldering" V 8505 4075 50 0001 C CNN 477 | F 3 "" H 8575 4075 50 0001 C CNN 478 | 1 8575 4075 479 | 0 -1 1 0 480 | $EndComp 481 | NoConn ~ 8825 4175 482 | NoConn ~ 9425 4175 483 | Wire Wire Line 484 | 9125 3875 9125 3575 485 | Wire Wire Line 486 | 8925 3575 8925 3675 487 | Wire Wire Line 488 | 8825 4075 8725 4075 489 | Wire Wire Line 490 | 9525 4075 9425 4075 491 | Wire Wire Line 492 | 9925 4075 9825 4075 493 | Wire Wire Line 494 | 9125 3575 8925 3575 495 | Wire Wire Line 496 | 8350 4075 8425 4075 497 | Wire Wire Line 498 | 7725 4075 7800 4075 499 | Connection ~ 8675 3000 500 | Connection ~ 8675 3300 501 | Wire Wire Line 502 | 7175 4075 7125 4075 503 | Wire Wire Line 504 | 7125 3200 7975 3200 505 | Text GLabel 2325 2700 2 49 Input ~ 0 506 | UART0_TXD 507 | Text GLabel 2325 2800 2 49 Input ~ 0 508 | UART0_RXD 509 | Wire Wire Line 510 | 7125 3200 7125 3650 511 | Wire Wire Line 512 | 7025 3650 7125 3650 513 | Connection ~ 7125 3650 514 | Wire Wire Line 515 | 7125 3650 7125 4075 516 | Wire Wire Line 517 | 3250 3450 3600 3450 518 | $Comp 519 | L esp8266-midi-rescue:GND-power1 #PWR05 520 | U 1 1 5C00E9E6 521 | P 2325 3200 522 | F 0 "#PWR05" H 2325 2950 50 0001 C CNN 523 | F 1 "GND" H 2325 3050 50 0000 C CNN 524 | F 2 "" H 2325 3200 50 0001 C CNN 525 | F 3 "" H 2325 3200 50 0001 C CNN 526 | 1 2325 3200 527 | -1 0 0 -1 528 | $EndComp 529 | Text GLabel 5200 4700 2 49 Input ~ 0 530 | UART0_TXD 531 | Text GLabel 5200 4800 2 49 Input ~ 0 532 | UART0_RXD 533 | Wire Wire Line 534 | 5100 4700 5200 4700 535 | Wire Wire Line 536 | 5100 4800 5200 4800 537 | NoConn ~ 5100 3900 538 | NoConn ~ 5100 4000 539 | $Comp 540 | L esp8266-midi-rescue:Conn_01x02-Connector1 J7 541 | U 1 1 5C040B63 542 | P 3375 2025 543 | F 0 "J7" H 3455 2017 50 0000 L CNN 544 | F 1 "Debug serial out" H 3455 1926 50 0000 L CNN 545 | F 2 "Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm" H 3375 2025 50 0001 C CNN 546 | F 3 "~" H 3375 2025 50 0001 C CNN 547 | 1 3375 2025 548 | 1 0 0 1 549 | $EndComp 550 | $Comp 551 | L esp8266-midi-rescue:GND-power1 #PWR014 552 | U 1 1 5C0439C0 553 | P 3075 2125 554 | F 0 "#PWR014" H 3075 1875 50 0001 C CNN 555 | F 1 "GND" H 3075 1975 50 0000 C CNN 556 | F 2 "" H 3075 2125 50 0001 C CNN 557 | F 3 "" H 3075 2125 50 0001 C CNN 558 | 1 3075 2125 559 | -1 0 0 -1 560 | $EndComp 561 | Wire Wire Line 562 | 3075 2125 3075 2025 563 | $Comp 564 | L esp8266-midi-rescue:C-RESCUE-esp8266-midi C1 565 | U 1 1 5C00D6C8 566 | P 6575 1925 567 | F 0 "C1" H 6600 2025 50 0000 L CNN 568 | F 1 "100nF" H 6600 1825 50 0000 L CNN 569 | F 2 "Capacitors_SMD:C_0805_HandSoldering" H 6613 1775 50 0001 C CNN 570 | F 3 "" H 6575 1925 50 0001 C CNN 571 | 1 6575 1925 572 | 1 0 0 -1 573 | $EndComp 574 | Wire Wire Line 575 | 6175 1675 6575 1675 576 | Connection ~ 6175 1675 577 | Wire Wire Line 578 | 6175 2175 6575 2175 579 | Connection ~ 6175 2175 580 | Wire Wire Line 581 | 6575 2075 6575 2175 582 | Connection ~ 6575 2175 583 | Wire Wire Line 584 | 6575 2175 6975 2175 585 | Wire Wire Line 586 | 6575 1775 6575 1675 587 | Connection ~ 6575 1675 588 | Wire Wire Line 589 | 6575 1675 6975 1675 590 | $Comp 591 | L power:VCC #PWR0101 592 | U 1 1 5C039076 593 | P 7575 1675 594 | F 0 "#PWR0101" H 7575 1525 50 0001 C CNN 595 | F 1 "VCC" V 7592 1803 50 0000 L CNN 596 | F 2 "" H 7575 1675 50 0001 C CNN 597 | F 3 "" H 7575 1675 50 0001 C CNN 598 | 1 7575 1675 599 | 0 1 1 0 600 | $EndComp 601 | $Comp 602 | L power:VCC #PWR0102 603 | U 1 1 5C03C08A 604 | P 4200 3375 605 | F 0 "#PWR0102" H 4200 3225 50 0001 C CNN 606 | F 1 "VCC" H 4217 3548 50 0000 C CNN 607 | F 2 "" H 4200 3375 50 0001 C CNN 608 | F 3 "" H 4200 3375 50 0001 C CNN 609 | 1 4200 3375 610 | 1 0 0 -1 611 | $EndComp 612 | $Comp 613 | L power:VCC #PWR0103 614 | U 1 1 5C04A4B7 615 | P 2700 4000 616 | F 0 "#PWR0103" H 2700 3850 50 0001 C CNN 617 | F 1 "VCC" V 2718 4127 50 0000 L CNN 618 | F 2 "" H 2700 4000 50 0001 C CNN 619 | F 3 "" H 2700 4000 50 0001 C CNN 620 | 1 2700 4000 621 | 0 -1 -1 0 622 | $EndComp 623 | $Comp 624 | L power:VCC #PWR0104 625 | U 1 1 5C0530C7 626 | P 7875 2750 627 | F 0 "#PWR0104" H 7875 2600 50 0001 C CNN 628 | F 1 "VCC" H 7892 2923 50 0000 C CNN 629 | F 2 "" H 7875 2750 50 0001 C CNN 630 | F 3 "" H 7875 2750 50 0001 C CNN 631 | 1 7875 2750 632 | 1 0 0 -1 633 | $EndComp 634 | $Comp 635 | L power:VCC #PWR0105 636 | U 1 1 5C05BBAA 637 | P 9925 4075 638 | F 0 "#PWR0105" H 9925 3925 50 0001 C CNN 639 | F 1 "VCC" V 9942 4203 50 0000 L CNN 640 | F 2 "" H 9925 4075 50 0001 C CNN 641 | F 3 "" H 9925 4075 50 0001 C CNN 642 | 1 9925 4075 643 | 0 1 1 0 644 | $EndComp 645 | $Comp 646 | L power:VCC #PWR0106 647 | U 1 1 5C06708F 648 | P 9925 5075 649 | F 0 "#PWR0106" H 9925 4925 50 0001 C CNN 650 | F 1 "VCC" V 9942 5203 50 0000 L CNN 651 | F 2 "" H 9925 5075 50 0001 C CNN 652 | F 3 "" H 9925 5075 50 0001 C CNN 653 | 1 9925 5075 654 | 0 1 1 0 655 | $EndComp 656 | Wire Wire Line 657 | 3075 2025 3175 2025 658 | Text GLabel 5200 4500 2 60 Input ~ 0 659 | UART1_TXD 660 | Wire Wire Line 661 | 5100 4500 5200 4500 662 | Text GLabel 3075 1925 0 60 Input ~ 0 663 | UART1_TXD 664 | Wire Wire Line 665 | 3075 1925 3175 1925 666 | Text GLabel 5200 3800 2 60 Input ~ 0 667 | FLASH_EN 668 | Wire Wire Line 669 | 5150 3800 5200 3800 670 | Connection ~ 5150 3800 671 | Wire Wire Line 672 | 4800 3450 5150 3450 673 | Text GLabel 2325 3000 2 49 Input ~ 0 674 | FLASH_EN 675 | Text GLabel 3200 3800 0 60 Input ~ 0 676 | RESET 677 | Wire Wire Line 678 | 3200 3800 3250 3800 679 | Connection ~ 3250 3800 680 | Text GLabel 2325 2600 2 49 Input ~ 0 681 | RESET 682 | Wire Wire Line 683 | 2225 3100 2325 3100 684 | Wire Wire Line 685 | 2325 3100 2325 3200 686 | Wire Wire Line 687 | 2225 3000 2325 3000 688 | Wire Wire Line 689 | 2225 2600 2325 2600 690 | Wire Wire Line 691 | 2225 2800 2325 2800 692 | Wire Wire Line 693 | 2225 2700 2325 2700 694 | $Comp 695 | L 74xGxx:74LVC2G14 U5 696 | U 1 1 5C2FE134 697 | P 7450 5075 698 | F 0 "U5" H 7425 5342 50 0000 C CNN 699 | F 1 "74LVC2G14" H 7425 5251 50 0000 C CNN 700 | F 2 "TO_SOT_Packages_SMD:SOT-23-6_Handsoldering" H 7450 5075 50 0001 C CNN 701 | F 3 "http://www.ti.com/lit/sg/scyt129e/scyt129e.pdf" H 7450 5075 50 0001 C CNN 702 | 1 7450 5075 703 | 1 0 0 -1 704 | $EndComp 705 | $Comp 706 | L 74xGxx:74LVC2G14 U5 707 | U 2 1 5C2FE229 708 | P 8100 5075 709 | F 0 "U5" H 8075 5342 50 0000 C CNN 710 | F 1 "74LVC2G14" H 8075 5251 50 0000 C CNN 711 | F 2 "TO_SOT_Packages_SMD:SOT-23-6_Handsoldering" H 8100 5075 50 0001 C CNN 712 | F 3 "http://www.ti.com/lit/sg/scyt129e/scyt129e.pdf" H 8100 5075 50 0001 C CNN 713 | 2 8100 5075 714 | 1 0 0 -1 715 | $EndComp 716 | Wire Wire Line 717 | 7700 5075 7800 5075 718 | Wire Wire Line 719 | 8350 5075 8425 5075 720 | Text GLabel 7050 5075 0 60 Input ~ 0 721 | UART0_ALT_TXD 722 | Text GLabel 7025 3650 0 60 Input ~ 0 723 | UART0_ALT_RXD 724 | Wire Wire Line 725 | 7050 5075 7150 5075 726 | Text GLabel 5350 5000 2 49 Input ~ 0 727 | UART0_ALT_TXD 728 | Wire Wire Line 729 | 5250 5000 5250 5100 730 | Wire Wire Line 731 | 5100 5000 5250 5000 732 | Wire Wire Line 733 | 5250 5400 5250 5500 734 | Wire Wire Line 735 | 5250 5000 5350 5000 736 | Connection ~ 5250 5000 737 | Text GLabel 5350 4900 2 49 Input ~ 0 738 | UART0_ALT_RXD 739 | Wire Wire Line 740 | 5100 4900 5350 4900 741 | $Comp 742 | L esp8266-midi-rescue:C-RESCUE-esp8266-midi C5 743 | U 1 1 5C346FDF 744 | P 6975 1925 745 | F 0 "C5" H 7000 2025 50 0000 L CNN 746 | F 1 "100nF" H 7000 1825 50 0000 L CNN 747 | F 2 "Capacitors_SMD:C_0805_HandSoldering" H 7013 1775 50 0001 C CNN 748 | F 3 "" H 6975 1925 50 0001 C CNN 749 | 1 6975 1925 750 | 1 0 0 -1 751 | $EndComp 752 | Wire Wire Line 753 | 6975 1675 6975 1775 754 | Wire Wire Line 755 | 6975 2075 6975 2175 756 | Wire Wire Line 757 | 6975 1675 7375 1675 758 | Connection ~ 6975 1675 759 | Wire Wire Line 760 | 7375 1675 7375 1775 761 | Connection ~ 7375 1675 762 | Wire Wire Line 763 | 7375 1675 7575 1675 764 | Wire Wire Line 765 | 7375 2075 7375 2175 766 | Wire Wire Line 767 | 7375 2175 6975 2175 768 | Connection ~ 6975 2175 769 | $EndSCHEMATC 770 | -------------------------------------------------------------------------------- /hardware/sym-lib-table: -------------------------------------------------------------------------------- 1 | (sym_lib_table 2 | (lib (name esp8266-midi-rescue)(type Legacy)(uri ${KIPRJMOD}/esp8266-midi-rescue.lib)(options "")(descr "")) 3 | (lib (name zetex)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/zetex.lib)(options "")(descr "")) 4 | (lib (name xilinx)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/xilinx.lib)(options "")(descr "")) 5 | (lib (name xilinx-virtex7)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/xilinx-virtex7.lib)(options "")(descr "")) 6 | (lib (name xilinx-virtex6)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/xilinx-virtex6.lib)(options "")(descr "")) 7 | (lib (name xilinx-virtex5)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/xilinx-virtex5.lib)(options "")(descr "")) 8 | (lib (name xilinx-spartan6)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/xilinx-spartan6.lib)(options "")(descr "")) 9 | (lib (name xilinx-kintex7)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/xilinx-kintex7.lib)(options "")(descr "")) 10 | (lib (name xilinx-artix7)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/xilinx-artix7.lib)(options "")(descr "")) 11 | (lib (name wiznet)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/wiznet.lib)(options "")(descr "")) 12 | (lib (name video)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/video.lib)(options "")(descr "")) 13 | (lib (name triac_thyristor)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/triac_thyristor.lib)(options "")(descr "")) 14 | (lib (name texas)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/texas.lib)(options "")(descr "")) 15 | (lib (name supertex)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/supertex.lib)(options "")(descr "")) 16 | (lib (name siliconi)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/siliconi.lib)(options "")(descr "")) 17 | (lib (name silabs)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/silabs.lib)(options "")(descr "")) 18 | (lib (name sensors)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/sensors.lib)(options "")(descr "")) 19 | (lib (name rfcom)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/rfcom.lib)(options "")(descr "")) 20 | (lib (name regul)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/regul.lib)(options "")(descr "")) 21 | (lib (name references)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/references.lib)(options "")(descr "")) 22 | (lib (name pspice1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/pspice.lib)(options "")(descr "")) 23 | (lib (name powerint)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/powerint.lib)(options "")(descr "")) 24 | (lib (name power1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/power.lib)(options "")(descr "")) 25 | (lib (name philips)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/philips.lib)(options "")(descr "")) 26 | (lib (name opto)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/opto.lib)(options "")(descr "")) 27 | (lib (name onsemi)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/onsemi.lib)(options "")(descr "")) 28 | (lib (name nxp)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/nxp.lib)(options "")(descr "")) 29 | (lib (name nordicsemi)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/nordicsemi.lib)(options "")(descr "")) 30 | (lib (name motorola)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/motorola.lib)(options "")(descr "")) 31 | (lib (name motor_drivers)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/motor_drivers.lib)(options "")(descr "")) 32 | (lib (name modules)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/modules.lib)(options "")(descr "")) 33 | (lib (name microcontrollers)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/microcontrollers.lib)(options "")(descr "")) 34 | (lib (name microchip)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/microchip.lib)(options "")(descr "")) 35 | (lib (name memory)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/memory.lib)(options "")(descr "")) 36 | (lib (name maxim)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/maxim.lib)(options "")(descr "")) 37 | (lib (name logic_programmable)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/logic_programmable.lib)(options "")(descr "")) 38 | (lib (name linear)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/linear.lib)(options "")(descr "")) 39 | (lib (name ir)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/ir.lib)(options "")(descr "")) 40 | (lib (name intersil)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/intersil.lib)(options "")(descr "")) 41 | (lib (name interface)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/interface.lib)(options "")(descr "")) 42 | (lib (name intel)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/intel.lib)(options "")(descr "")) 43 | (lib (name infineon)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/infineon.lib)(options "")(descr "")) 44 | (lib (name hc11)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/hc11.lib)(options "")(descr "")) 45 | (lib (name gennum)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/gennum.lib)(options "")(descr "")) 46 | (lib (name ftdi)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/ftdi.lib)(options "")(descr "")) 47 | (lib (name elec-unifil)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/elec-unifil.lib)(options "")(descr "")) 48 | (lib (name dsp)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/dsp.lib)(options "")(descr "")) 49 | (lib (name driver_gate)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/driver_gate.lib)(options "")(descr "")) 50 | (lib (name digital-audio)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/digital-audio.lib)(options "")(descr "")) 51 | (lib (name device)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/device.lib)(options "")(descr "")) 52 | (lib (name dc-dc)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/dc-dc.lib)(options "")(descr "")) 53 | (lib (name cypress)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/cypress.lib)(options "")(descr "")) 54 | (lib (name contrib)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/contrib.lib)(options "")(descr "")) 55 | (lib (name brooktre)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/brooktre.lib)(options "")(descr "")) 56 | (lib (name bbd)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/bbd.lib)(options "")(descr "")) 57 | (lib (name audio)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/audio.lib)(options "")(descr "")) 58 | (lib (name atmel)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/atmel.lib)(options "")(descr "")) 59 | (lib (name analog_switches)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/analog_switches.lib)(options "")(descr "")) 60 | (lib (name analog_devices)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/analog_devices.lib)(options "")(descr "")) 61 | (lib (name adc-dac)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/adc-dac.lib)(options "")(descr "")) 62 | (lib (name ac-dc)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/ac-dc.lib)(options "")(descr "")) 63 | (lib (name Zilog)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Zilog.lib)(options "")(descr "")) 64 | (lib (name Xicor)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Xicor.lib)(options "")(descr "")) 65 | (lib (name Worldsemi)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Worldsemi.lib)(options "")(descr "")) 66 | (lib (name Valve1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Valve.lib)(options "")(descr "")) 67 | (lib (name Transistor)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Transistor.lib)(options "")(descr "")) 68 | (lib (name Transformer1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Transformer.lib)(options "")(descr "")) 69 | (lib (name Switch1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Switch.lib)(options "")(descr "")) 70 | (lib (name Sensor_Humidity1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Sensor_Humidity.lib)(options "")(descr "")) 71 | (lib (name Sensor_Current1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Sensor_Current.lib)(options "")(descr "")) 72 | (lib (name Relay1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Relay.lib)(options "")(descr "")) 73 | (lib (name RF_Bluetooth1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/RF_Bluetooth.lib)(options "")(descr "")) 74 | (lib (name RFSolutions)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/RFSolutions.lib)(options "")(descr "")) 75 | (lib (name Power_Management1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Power_Management.lib)(options "")(descr "")) 76 | (lib (name Oscillators)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Oscillators.lib)(options "")(descr "")) 77 | (lib (name Motor1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Motor.lib)(options "")(descr "")) 78 | (lib (name Mechanical1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Mechanical.lib)(options "")(descr "")) 79 | (lib (name MCU_Texas_MSP4301)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_Texas_MSP430.lib)(options "")(descr "")) 80 | (lib (name MCU_ST_STM81)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_ST_STM8.lib)(options "")(descr "")) 81 | (lib (name MCU_ST_STM32)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_ST_STM32.lib)(options "")(descr "")) 82 | (lib (name MCU_Parallax1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_Parallax.lib)(options "")(descr "")) 83 | (lib (name MCU_NXP_S081)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_NXP_S08.lib)(options "")(descr "")) 84 | (lib (name MCU_NXP_LPC1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_NXP_LPC.lib)(options "")(descr "")) 85 | (lib (name MCU_NXP_Kinetis1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_NXP_Kinetis.lib)(options "")(descr "")) 86 | (lib (name MCU_Microchip_PIC321)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_Microchip_PIC32.lib)(options "")(descr "")) 87 | (lib (name MCU_Microchip_PIC241)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_Microchip_PIC24.lib)(options "")(descr "")) 88 | (lib (name MCU_Microchip_PIC181)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_Microchip_PIC18.lib)(options "")(descr "")) 89 | (lib (name MCU_Microchip_PIC161)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_Microchip_PIC16.lib)(options "")(descr "")) 90 | (lib (name MCU_Microchip_PIC121)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_Microchip_PIC12.lib)(options "")(descr "")) 91 | (lib (name MCU_Microchip_PIC101)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/MCU_Microchip_PIC10.lib)(options "")(descr "")) 92 | (lib (name Logic_TTL_IEEE)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Logic_TTL_IEEE.lib)(options "")(descr "")) 93 | (lib (name Logic_CMOS_IEEE)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Logic_CMOS_IEEE.lib)(options "")(descr "")) 94 | (lib (name Logic_CMOS_4000)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Logic_CMOS_4000.lib)(options "")(descr "")) 95 | (lib (name Logic_74xx)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Logic_74xx.lib)(options "")(descr "")) 96 | (lib (name Logic_74xgxx)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Logic_74xgxx.lib)(options "")(descr "")) 97 | (lib (name Lattice)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Lattice.lib)(options "")(descr "")) 98 | (lib (name LEM)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/LEM.lib)(options "")(descr "")) 99 | (lib (name LED1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/LED.lib)(options "")(descr "")) 100 | (lib (name Graphic1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Graphic.lib)(options "")(descr "")) 101 | (lib (name FPGA_Actel)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/FPGA_Actel.lib)(options "")(descr "")) 102 | (lib (name Espressif)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Espressif.lib)(options "")(descr "")) 103 | (lib (name ESD_Protection)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/ESD_Protection.lib)(options "")(descr "")) 104 | (lib (name Display)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Display.lib)(options "")(descr "")) 105 | (lib (name Diode1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Diode.lib)(options "")(descr "")) 106 | (lib (name Decawave)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Decawave.lib)(options "")(descr "")) 107 | (lib (name DSP_Microchip_DSPIC331)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/DSP_Microchip_DSPIC33.lib)(options "")(descr "")) 108 | (lib (name Connector1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Connector.lib)(options "")(descr "")) 109 | (lib (name Bosch)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Bosch.lib)(options "")(descr "")) 110 | (lib (name Battery_Management1)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Battery_Management.lib)(options "")(descr "")) 111 | (lib (name Altera)(type Legacy)(uri /home/tadas/.local/share/kicad-library/library/Altera.lib)(options "")(descr "")) 112 | ) 113 | -------------------------------------------------------------------------------- /include/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for project header files. 3 | 4 | A header file is a file containing C declarations and macro definitions 5 | to be shared between several project source files. You request the use of a 6 | header file in your project source file (C, C++, etc) located in `src` folder 7 | by including it, with the C preprocessing directive `#include'. 8 | 9 | ```src/main.c 10 | 11 | #include "header.h" 12 | 13 | int main (void) 14 | { 15 | ... 16 | } 17 | ``` 18 | 19 | Including a header file produces the same results as copying the header file 20 | into each source file that needs it. Such copying would be time-consuming 21 | and error-prone. With a header file, the related declarations appear 22 | in only one place. If they need to be changed, they can be changed in one 23 | place, and programs that include the header file will automatically use the 24 | new version when next recompiled. The header file eliminates the labor of 25 | finding and changing all the copies as well as the risk that a failure to 26 | find one copy will result in inconsistencies within a program. 27 | 28 | In C, the usual convention is to give header files names that end with `.h'. 29 | It is most portable to use only letters, digits, dashes, and underscores in 30 | header file names, and at most one dot. 31 | 32 | Read more about using header files in official GCC documentation: 33 | 34 | * Include Syntax 35 | * Include Operation 36 | * Once-Only Headers 37 | * Computed Includes 38 | 39 | https://gcc.gnu.org/onlinedocs/cpp/Header-Files.html 40 | -------------------------------------------------------------------------------- /include/debug.h: -------------------------------------------------------------------------------- 1 | #ifndef DEBUG_H 2 | #define DEBUG_H 3 | 4 | #ifdef DEBUG 5 | 6 | #define DEBUG_ESP_PORT Serial1 7 | #define DEBUG_MSG(...) Serial1.printf( __VA_ARGS__ ) 8 | 9 | #define DEBUG_OSC_MESSAGE(msg) \ 10 | do { \ 11 | char address[100]; \ 12 | msg.getAddress(address, 0, sizeof(address)); \ 13 | Serial1.printf("osc message: [%d] %s ", msg.size(), address); \ 14 | for (int i = 0; i < msg.size(); i++) { \ 15 | if (msg.isFloat(i)) { Serial1.printf("f:%f\t", msg.getFloat(i)); } \ 16 | if (msg.isInt(i)) { Serial1.printf("i:%d\t", msg.getInt(i)); } \ 17 | } \ 18 | Serial1.printf("\n"); \ 19 | } while(0); 20 | 21 | #else 22 | #define DEBUG_MSG(...) 23 | #define DEBUG_OSC_MESSAGE(...) 24 | #endif 25 | 26 | #endif -------------------------------------------------------------------------------- /lib/OSC2Midi/OSC2Midi.cpp: -------------------------------------------------------------------------------- 1 | #include "OSC2Midi.h" 2 | #include 3 | #include 4 | 5 | /* 6 | * TODO: this will return rather unpredictable numbers when 7 | * given strings with numbers > 255. 8 | */ 9 | uint8_t getCC(const char *str, int index) 10 | { 11 | const char *offset = str; 12 | 13 | // skip the first / 14 | if (strncmp(str, "/", strlen("/")) == 0) 15 | { 16 | offset++; 17 | } 18 | 19 | if (index == -1) 20 | { 21 | return atoi(offset); 22 | } 23 | 24 | while (index > 0) 25 | { 26 | const char *new_offset = strstr(offset, "/"); 27 | if (new_offset) { 28 | offset = new_offset + 1; 29 | } else { 30 | return 0; 31 | } 32 | 33 | index--; 34 | } 35 | 36 | return atoi(offset); 37 | } 38 | 39 | uint8_t getCC(const char *str) 40 | { 41 | return getCC(str, -1); 42 | } -------------------------------------------------------------------------------- /lib/OSC2Midi/OSC2Midi.h: -------------------------------------------------------------------------------- 1 | #ifndef OSC2MIDI_H 2 | #define OSC2MIDI_H 3 | 4 | #include 5 | 6 | uint8_t getCC(const char *str, int index); 7 | uint8_t getCC(const char *str); 8 | 9 | #endif -------------------------------------------------------------------------------- /lib/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for project specific (private) libraries. 3 | PlatformIO will compile them to static libraries and link into executable file. 4 | 5 | The source code of each library should be placed in a an own separate directory 6 | ("lib/your_library_name/[here are source files]"). 7 | 8 | For example, see a structure of the following two libraries `Foo` and `Bar`: 9 | 10 | |--lib 11 | | | 12 | | |--Bar 13 | | | |--docs 14 | | | |--examples 15 | | | |--src 16 | | | |- Bar.c 17 | | | |- Bar.h 18 | | | |- library.json (optional, custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html 19 | | | 20 | | |--Foo 21 | | | |- Foo.c 22 | | | |- Foo.h 23 | | | 24 | | |- README --> THIS FILE 25 | | 26 | |- platformio.ini 27 | |--src 28 | |- main.c 29 | 30 | and a contents of `src/main.c`: 31 | ``` 32 | #include 33 | #include 34 | 35 | int main (void) 36 | { 37 | ... 38 | } 39 | 40 | ``` 41 | 42 | PlatformIO Library Dependency Finder will find automatically dependent 43 | libraries scanning project source files. 44 | 45 | More information about PlatformIO Library Dependency Finder 46 | - https://docs.platformio.org/page/librarymanager/ldf.html 47 | -------------------------------------------------------------------------------- /platformio.ini: -------------------------------------------------------------------------------- 1 | ; PlatformIO Project Configuration File 2 | ; 3 | ; Build options: build flags, source filter 4 | ; Upload options: custom upload port, speed and extra flags 5 | ; Library options: dependencies, extra library storages 6 | ; Advanced options: extra scripting 7 | ; 8 | ; Please visit documentation for the other options and examples 9 | ; https://docs.platformio.org/page/projectconf.html 10 | 11 | [env:esp12e] 12 | platform = espressif8266 13 | board = esp12e 14 | framework = arduino 15 | upload_resetmethod = ck 16 | upload_speed = 921600 17 | build_flags = -Wl,-Teagle.flash.512k0.ld 18 | monitor_speed = 115200 19 | monitor_rts = 0 20 | test_ignore = * 21 | 22 | [env:native] 23 | platform = native 24 | lib_ignore = OSC 25 | test_build_project_src = false 26 | -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- 1 | #include "debug.h" 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | 11 | void MidiCCToOSC(uint8_t channel, uint8_t number, uint8_t value); 12 | 13 | WiFiUDP udp; 14 | 15 | /** 16 | source address of last OSC message for midi2osc messages. 17 | */ 18 | IPAddress clientIP; 19 | 20 | MIDI_CREATE_INSTANCE(HardwareSerial, Serial, MIDI); 21 | 22 | void setup() { 23 | // Midi via UART0 24 | Serial.begin(31250); 25 | Serial.swap(); 26 | 27 | #ifdef DEBUG 28 | // Debug via UART1 TX only 29 | Serial1.begin(115200, SERIAL_8N1, SERIAL_TX_ONLY, 2); 30 | Serial1.setDebugOutput(true); 31 | #endif 32 | 33 | DEBUG_MSG("\nHello OSC2Midi!\n"); 34 | 35 | WiFi.softAP("OSC2Midi", "Midi2OSCGateway"); 36 | 37 | DEBUG_MSG("\nAP IP address: %s\n", WiFi.softAPIP().toString().c_str()); 38 | 39 | udp.begin(8000); 40 | 41 | MIDI.setHandleControlChange(MidiCCToOSC); 42 | } 43 | 44 | void OSCToMidiCC(OSCMessage &msg, int offset) { 45 | char address[100] = { 0 }; 46 | uint8_t cc, value; 47 | 48 | msg.getAddress(address, offset, sizeof(address)); 49 | 50 | if (msg.size() == 1 && msg.isFloat(0)) { 51 | // Single or multi control with sending one value 52 | cc = getCC(address); 53 | value = round(msg.getFloat(0)); 54 | value = value > 127 ? 127 : value; 55 | DEBUG_MSG("MSG: %s\tCC: %u\tValue: %u\n", address, cc, value); 56 | MIDI.sendControlChange(cc, value, 1); 57 | } else if (msg.size() == 2 && msg.isFloat(0) && msg.isFloat(1)) { 58 | // XY pad, two values 59 | cc = getCC(address, 0); 60 | value = round(msg.getFloat(0)); 61 | value = value > 127 ? 127 : value; 62 | DEBUG_MSG("MSG: %s\tCC: %u\tValue: %u\n", address, cc, value); 63 | MIDI.sendControlChange(cc, value, 1); 64 | 65 | cc = getCC(address, 1); 66 | value = round(msg.getFloat(1)); 67 | value = value > 127 ? 127 : value; 68 | DEBUG_MSG("MSG: %s\tCC: %u\tValue: %u\n", address, cc, value); 69 | MIDI.sendControlChange(cc, value, 1); 70 | } else { 71 | DEBUG_MSG("Cannot handle: %s\n", address); 72 | } 73 | } 74 | 75 | void MidiCCToOSC(uint8_t channel, uint8_t number, uint8_t value) { 76 | char buffer[1024]; 77 | snprintf(buffer, sizeof(buffer), "/midi/cc/%u", number); 78 | 79 | OSCMessage msg = OSCMessage(buffer); 80 | msg.add(value * 1.0); 81 | 82 | DEBUG_MSG("MidiCCToOsc: %s %f", buffer, value * 1.0); 83 | 84 | udp.beginPacket(clientIP, 8001); 85 | msg.send(udp); 86 | udp.endPacket(); 87 | } 88 | 89 | void loop() { 90 | OSCMessage msg; 91 | uint8_t buffer[1024]; 92 | 93 | // Check if there are any OSC packets to handle 94 | size_t size = udp.parsePacket(); 95 | if (size > 0 && size <= 1024) { 96 | udp.read(buffer, size); 97 | msg.fill(buffer, size); 98 | 99 | if (!msg.hasError()) { 100 | DEBUG_OSC_MESSAGE(msg); 101 | msg.route("/midi/cc", OSCToMidiCC); 102 | } else { 103 | DEBUG_MSG("Error parsing OSC message: %d\n", msg.getError()); 104 | } 105 | 106 | // Keep track of the client IP address for "talking back" 107 | clientIP = udp.remoteIP(); 108 | } 109 | 110 | // Check if there are any CC messages from synth itself 111 | MIDI.read(); 112 | } -------------------------------------------------------------------------------- /test/README: -------------------------------------------------------------------------------- 1 | 2 | This directory is intended for PIO Unit Testing and project tests. 3 | 4 | Unit Testing is a software testing method by which individual units of 5 | source code, sets of one or more MCU program modules together with associated 6 | control data, usage procedures, and operating procedures, are tested to 7 | determine whether they are fit for use. Unit testing finds problems early 8 | in the development cycle. 9 | 10 | More information about PIO Unit Testing: 11 | - https://docs.platformio.org/page/plus/unit-testing.html 12 | -------------------------------------------------------------------------------- /test/test_osc2midi.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | void test_getCC_returns_0_when_given_empty_string(void) { 5 | TEST_ASSERT_EQUAL(0, getCC("")); 6 | } 7 | 8 | void test_getCC_picks_the_only_number_not_starting_with_slash(void) { 9 | TEST_ASSERT_EQUAL(3, getCC("3")); 10 | } 11 | 12 | void test_getCC_picks_the_only_number_without_index(void) { 13 | TEST_ASSERT_EQUAL(32, getCC("/32")); 14 | } 15 | 16 | void test_getCC_picks_first_number_without_index(void) { 17 | TEST_ASSERT_EQUAL(66, getCC("/66/123")); 18 | } 19 | 20 | void test_getCC_picks_first_number_when_asked_for_index_0(void) { 21 | TEST_ASSERT_EQUAL(66, getCC("/66/99", 0)); 22 | } 23 | 24 | void test_getCC_picks_second_number_when_asked_for_index_1(void) { 25 | TEST_ASSERT_EQUAL(99, getCC("/66/99", 1)); 26 | } 27 | 28 | void test_getCC_picks_third_number_when_asked_for_index_2(void) { 29 | TEST_ASSERT_EQUAL(33, getCC("/66/99/33", 2)); 30 | } 31 | 32 | void test_getCC_returns_0_when_asked_for_index_out_of_range(void) { 33 | TEST_ASSERT_EQUAL(0, getCC("/1", 1)); 34 | } 35 | 36 | void test_getCC_returns_0_when_asked_for_index_out_of_range_2(void) { 37 | TEST_ASSERT_EQUAL(0, getCC("/11/22/33", 3)); 38 | } 39 | 40 | void test_getCC_returns_0_when_asked_for_index_waay_out_of_range(void) { 41 | TEST_ASSERT_EQUAL(0, getCC("/12/13/14", 55)); 42 | } 43 | 44 | void process() { 45 | UNITY_BEGIN(); 46 | RUN_TEST(test_getCC_returns_0_when_given_empty_string); 47 | RUN_TEST(test_getCC_picks_the_only_number_not_starting_with_slash); 48 | RUN_TEST(test_getCC_picks_the_only_number_without_index); 49 | RUN_TEST(test_getCC_picks_first_number_without_index); 50 | RUN_TEST(test_getCC_picks_first_number_when_asked_for_index_0); 51 | RUN_TEST(test_getCC_picks_second_number_when_asked_for_index_1); 52 | RUN_TEST(test_getCC_picks_third_number_when_asked_for_index_2); 53 | RUN_TEST(test_getCC_returns_0_when_asked_for_index_out_of_range); 54 | RUN_TEST(test_getCC_returns_0_when_asked_for_index_out_of_range_2); 55 | RUN_TEST(test_getCC_returns_0_when_asked_for_index_waay_out_of_range); 56 | UNITY_END(); 57 | } 58 | 59 | int main(int argc, char **argv) { 60 | process(); 61 | return 0; 62 | } --------------------------------------------------------------------------------