├── .gitattributes ├── 3D ├── BigKnob.stl ├── Bottom.stl ├── SmallKnob.stl ├── SmallKnobs.gcode └── Top.stl ├── Art ├── FrontPanel.ai ├── FrontPanel.dxf ├── PanelCopper.bmp ├── PanelCopper.dxf ├── PanelOutline.dxf ├── PanelText.bmp ├── PanelText.dxf ├── baudboxFullPic.jpg └── render.PNG ├── DisplayCarrier.brd ├── DisplayCarrier.sch ├── DisplayCarrierFlipped.brd ├── DisplayCarrierFlipped.sch ├── Firmware ├── Firmware.ino └── Firmware.ino.feather_m0.bin ├── FrontPanel.brd ├── Gerbers ├── DisplayCarrier_2020-12-24.zip ├── Motherboard_2021-01-20.zip └── SerialKeyboard_2020-12-24.zip ├── MasterBoard.brd ├── MasterBoard.sch ├── Motherboard.brd ├── Motherboard.sch ├── README.md ├── SerialKeyboard.brd └── SerialKeyboard.sch /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /3D/BigKnob.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/3D/BigKnob.stl -------------------------------------------------------------------------------- /3D/Bottom.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/3D/Bottom.stl -------------------------------------------------------------------------------- /3D/SmallKnob.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/3D/SmallKnob.stl -------------------------------------------------------------------------------- /3D/Top.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/3D/Top.stl -------------------------------------------------------------------------------- /Art/FrontPanel.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/Art/FrontPanel.ai -------------------------------------------------------------------------------- /Art/PanelCopper.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/Art/PanelCopper.bmp -------------------------------------------------------------------------------- /Art/PanelOutline.dxf: -------------------------------------------------------------------------------- 1 | 0 2 | SECTION 3 | 2 4 | HEADER 5 | 9 6 | $INSUNITS 7 | 70 8 | 4 9 | 9 10 | $ACADVER 11 | 1 12 | AC1014 13 | 9 14 | $HANDSEED 15 | 5 16 | FFFF 17 | 0 18 | ENDSEC 19 | 0 20 | SECTION 21 | 2 22 | TABLES 23 | 0 24 | TABLE 25 | 2 26 | VPORT 27 | 5 28 | 8 29 | 100 30 | AcDbSymbolTable 31 | 0 32 | ENDTAB 33 | 0 34 | TABLE 35 | 2 36 | LTYPE 37 | 5 38 | 5 39 | 100 40 | AcDbSymbolTable 41 | 0 42 | LTYPE 43 | 5 44 | 14 45 | 100 46 | AcDbSymbolTableRecord 47 | 100 48 | AcDbLinetypeTableRecord 49 | 2 50 | BYBLOCK 51 | 70 52 | 0 53 | 0 54 | LTYPE 55 | 5 56 | 15 57 | 100 58 | AcDbSymbolTableRecord 59 | 100 60 | AcDbLinetypeTableRecord 61 | 2 62 | BYLAYER 63 | 70 64 | 0 65 | 0 66 | ENDTAB 67 | 0 68 | TABLE 69 | 2 70 | LAYER 71 | 5 72 | 2 73 | 100 74 | AcDbSymbolTable 75 | 70 76 | 2 77 | 0 78 | LAYER 79 | 5 80 | 50 81 | 100 82 | AcDbSymbolTableRecord 83 | 100 84 | AcDbLayerTableRecord 85 | 2 86 | 0 87 | 70 88 | 0 89 | 6 90 | CONTINUOUS 91 | 0 92 | ENDTAB 93 | 0 94 | TABLE 95 | 2 96 | STYLE 97 | 5 98 | 3 99 | 100 100 | AcDbSymbolTable 101 | 70 102 | 1 103 | 0 104 | STYLE 105 | 5 106 | 11 107 | 100 108 | AcDbSymbolTableRecord 109 | 100 110 | AcDbTextStyleTableRecord 111 | 2 112 | STANDARD 113 | 70 114 | 0 115 | 0 116 | ENDTAB 117 | 0 118 | TABLE 119 | 2 120 | VIEW 121 | 5 122 | 6 123 | 100 124 | AcDbSymbolTable 125 | 70 126 | 0 127 | 0 128 | ENDTAB 129 | 0 130 | TABLE 131 | 2 132 | UCS 133 | 5 134 | 7 135 | 100 136 | AcDbSymbolTable 137 | 70 138 | 0 139 | 0 140 | ENDTAB 141 | 0 142 | TABLE 143 | 2 144 | APPID 145 | 5 146 | 9 147 | 100 148 | AcDbSymbolTable 149 | 70 150 | 2 151 | 0 152 | APPID 153 | 5 154 | 12 155 | 100 156 | AcDbSymbolTableRecord 157 | 100 158 | AcDbRegAppTableRecord 159 | 2 160 | ACAD 161 | 70 162 | 0 163 | 0 164 | ENDTAB 165 | 0 166 | TABLE 167 | 2 168 | DIMSTYLE 169 | 5 170 | A 171 | 100 172 | AcDbSymbolTable 173 | 70 174 | 1 175 | 0 176 | ENDTAB 177 | 0 178 | TABLE 179 | 2 180 | BLOCK_RECORD 181 | 5 182 | 1 183 | 100 184 | AcDbSymbolTable 185 | 70 186 | 1 187 | 0 188 | BLOCK_RECORD 189 | 5 190 | 1F 191 | 100 192 | AcDbSymbolTableRecord 193 | 100 194 | AcDbBlockTableRecord 195 | 2 196 | *MODEL_SPACE 197 | 0 198 | BLOCK_RECORD 199 | 5 200 | 1B 201 | 100 202 | AcDbSymbolTableRecord 203 | 100 204 | AcDbBlockTableRecord 205 | 2 206 | *PAPER_SPACE 207 | 0 208 | ENDTAB 209 | 0 210 | ENDSEC 211 | 0 212 | SECTION 213 | 2 214 | BLOCKS 215 | 0 216 | BLOCK 217 | 5 218 | 20 219 | 100 220 | AcDbEntity 221 | 100 222 | AcDbBlockBegin 223 | 2 224 | *MODEL_SPACE 225 | 0 226 | ENDBLK 227 | 5 228 | 21 229 | 100 230 | AcDbEntity 231 | 100 232 | AcDbBlockEnd 233 | 0 234 | BLOCK 235 | 5 236 | 1C 237 | 100 238 | AcDbEntity 239 | 100 240 | AcDbBlockBegin 241 | 2 242 | *PAPER_SPACE 243 | 0 244 | ENDBLK 245 | 5 246 | 1D 247 | 100 248 | AcDbEntity 249 | 100 250 | AcDbBlockEnd 251 | 0 252 | ENDSEC 253 | 0 254 | SECTION 255 | 2 256 | ENTITIES 257 | 0 258 | CIRCLE 259 | 5 260 | 100 261 | 100 262 | AcDbEntity 263 | 8 264 | 0 265 | 100 266 | AcDbCircle 267 | 10 268 | 27.000000000000014 269 | 20 270 | -14.000000000000048 271 | 30 272 | 0 273 | 40 274 | 4.9499999999999966 275 | 210 276 | 0 277 | 220 278 | -0 279 | 230 280 | 1 281 | 0 282 | CIRCLE 283 | 5 284 | 101 285 | 100 286 | AcDbEntity 287 | 8 288 | 0 289 | 100 290 | AcDbCircle 291 | 10 292 | 27.000000000000014 293 | 20 294 | 5.9999999999999503 295 | 30 296 | 0 297 | 40 298 | 4.9500000000000011 299 | 210 300 | 0 301 | 220 302 | -0 303 | 230 304 | 1 305 | 0 306 | LWPOLYLINE 307 | 5 308 | 102 309 | 100 310 | AcDbEntity 311 | 8 312 | 0 313 | 100 314 | AcDbPolyline 315 | 90 316 | 4 317 | 70 318 | 1 319 | 43 320 | 0.0 321 | 10 322 | -66.66781164426969 323 | 20 324 | -86.00000125169754 325 | 10 326 | 10.00000011920929 327 | 20 328 | -86.00000125169754 329 | 10 330 | 10.000000119209291 331 | 20 332 | 9.9014918357636184 333 | 10 334 | -66.66781164426969 335 | 20 336 | 9.9014918357636184 337 | 0 338 | LWPOLYLINE 339 | 5 340 | 103 341 | 100 342 | AcDbEntity 343 | 8 344 | 0 345 | 100 346 | AcDbPolyline 347 | 90 348 | 4 349 | 70 350 | 1 351 | 43 352 | 0.0 353 | 10 354 | 13.802320323358984 355 | 20 356 | -81.00000125169754 357 | 10 358 | 39.302320323358991 359 | 20 360 | -81.00000125169754 361 | 10 362 | 39.302320323358991 363 | 20 364 | -59.500001251697526 365 | 10 366 | 13.802320323358984 367 | 20 368 | -59.500001251697526 369 | 0 370 | CIRCLE 371 | 5 372 | 104 373 | 100 374 | AcDbEntity 375 | 8 376 | 0 377 | 100 378 | AcDbCircle 379 | 10 380 | 27.000000000000014 381 | 20 382 | -40.000000000000057 383 | 30 384 | 0 385 | 40 386 | 11 387 | 210 388 | 0 389 | 220 390 | -0 391 | 230 392 | 1 393 | 0 394 | LWPOLYLINE 395 | 5 396 | 105 397 | 100 398 | AcDbEntity 399 | 8 400 | 0 401 | 100 402 | AcDbPolyline 403 | 90 404 | 4 405 | 70 406 | 1 407 | 43 408 | 0.0 409 | 10 410 | 43.104640527508693 411 | 20 412 | -90.702463939814791 413 | 10 414 | -72.075359472491314 415 | 20 416 | -90.702463939814791 417 | 10 418 | -72.075359472491328 419 | 20 420 | 13.362536060185203 421 | 10 422 | 43.104640527508678 423 | 20 424 | 13.362536060185199 425 | 0 426 | CIRCLE 427 | 5 428 | 106 429 | 100 430 | AcDbEntity 431 | 8 432 | 0 433 | 100 434 | AcDbCircle 435 | 10 436 | 27.000000000000014 437 | 20 438 | -40.000000000000057 439 | 30 440 | 0 441 | 40 442 | 11 443 | 210 444 | 0 445 | 220 446 | 0 447 | 230 448 | 1 449 | 0 450 | CIRCLE 451 | 5 452 | 107 453 | 100 454 | AcDbEntity 455 | 8 456 | 0 457 | 100 458 | AcDbCircle 459 | 10 460 | 27.000000000000014 461 | 20 462 | -14.000000000000048 463 | 30 464 | 0 465 | 40 466 | 4.9499999999999966 467 | 210 468 | 0 469 | 220 470 | 0 471 | 230 472 | 1 473 | 0 474 | CIRCLE 475 | 5 476 | 108 477 | 100 478 | AcDbEntity 479 | 8 480 | 0 481 | 100 482 | AcDbCircle 483 | 10 484 | 27.000000000000014 485 | 20 486 | 5.9999999999999503 487 | 30 488 | 0 489 | 40 490 | 4.9500000000000011 491 | 210 492 | 0 493 | 220 494 | 0 495 | 230 496 | 1 497 | 0 498 | LWPOLYLINE 499 | 5 500 | 109 501 | 100 502 | AcDbEntity 503 | 8 504 | 0 505 | 100 506 | AcDbPolyline 507 | 90 508 | 4 509 | 70 510 | 1 511 | 43 512 | 0.0 513 | 10 514 | 13.802320323358984 515 | 20 516 | -81.00000125169754 517 | 10 518 | 39.302320323358991 519 | 20 520 | -81.00000125169754 521 | 10 522 | 39.302320323358991 523 | 20 524 | -59.500001251697526 525 | 10 526 | 13.802320323358984 527 | 20 528 | -59.500001251697526 529 | 0 530 | LWPOLYLINE 531 | 5 532 | 110 533 | 100 534 | AcDbEntity 535 | 8 536 | 0 537 | 100 538 | AcDbPolyline 539 | 90 540 | 4 541 | 70 542 | 1 543 | 43 544 | 0.0 545 | 10 546 | 11.000000163912773 547 | 20 548 | -88.000001311302185 549 | 10 550 | 42.00000062584877 551 | 20 552 | -88.000001311302185 553 | 10 554 | 42.00000062584877 555 | 20 556 | 12.000000178813934 557 | 10 558 | 11.000000163912773 559 | 20 560 | 12.000000178813934 561 | 0 562 | ENDSEC 563 | 0 564 | SECTION 565 | 2 566 | OBJECTS 567 | 0 568 | DICTIONARY 569 | 5 570 | C 571 | 100 572 | AcDbDictionary 573 | 3 574 | ACAD_GROUP 575 | 350 576 | D 577 | 3 578 | ACAD_MLINESTYLE 579 | 350 580 | 17 581 | 0 582 | DICTIONARY 583 | 5 584 | D 585 | 100 586 | AcDbDictionary 587 | 0 588 | DICTIONARY 589 | 5 590 | 1A 591 | 330 592 | C 593 | 100 594 | AcDbDictionary 595 | 0 596 | DICTIONARY 597 | 5 598 | 17 599 | 100 600 | AcDbDictionary 601 | 0 602 | ENDSEC 603 | 0 604 | EOF 605 | -------------------------------------------------------------------------------- /Art/PanelText.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/Art/PanelText.bmp -------------------------------------------------------------------------------- /Art/baudboxFullPic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/Art/baudboxFullPic.jpg -------------------------------------------------------------------------------- /Art/render.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/Art/render.PNG -------------------------------------------------------------------------------- /DisplayCarrier.brd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | <h3>SparkFun Connectors</h3> 200 | This library contains electrically-functional connectors. 201 | <br> 202 | <br> 203 | We've spent an enormous amount of time creating and checking these footprints and parts, but it is <b> the end user's responsibility</b> to ensure correctness and suitablity for a given componet or application. 204 | <br> 205 | <br>If you enjoy using this library, please buy one of our products at <a href=" www.sparkfun.com">SparkFun.com</a>. 206 | <br> 207 | <br> 208 | <b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/ 209 | <br> 210 | <br> 211 | You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage. 212 | 213 | 214 | <h3>Plated Through Hole -9 Pin</h3> 215 | <p>Specifications: 216 | <ul><li>Pin count:9</li> 217 | <li>Pin pitch:0.1"</li> 218 | </ul></p> 219 | <p>Example device(s): 220 | <ul><li>CONN_09</li> 221 | </ul></p> 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | >NAME 297 | >VALUE 298 | 299 | 300 | 301 | 302 | Plated Through Hole -9 Pin 303 | Specifications: 304 | Pin count:9 305 | Pin pitch:0.1" 306 | 307 | Example device(s): 308 | CONN_09 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | <b>EAGLE Design Rules</b> 327 | <p> 328 | Die Standard-Design-Rules sind so gewählt, dass sie für 329 | die meisten Anwendungen passen. Sollte ihre Platine 330 | besondere Anforderungen haben, treffen Sie die erforderlichen 331 | Einstellungen hier und speichern die Design Rules unter 332 | einem neuen Namen ab. 333 | <b>EAGLE Design Rules</b> 334 | <p> 335 | The default Design Rules have been set to cover 336 | a wide range of applications. Your particular design 337 | may have different requirements, so please make the 338 | necessary adjustments and save your customized 339 | design rules under a new name. 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | 451 | 452 | 453 | 454 | 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | 523 | 524 | 525 | 526 | 527 | 528 | 529 | 530 | 531 | 532 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | 548 | 549 | 550 | 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 | 559 | 560 | 561 | 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | 610 | 611 | 612 | 613 | 614 | 615 | 616 | 617 | 618 | 619 | 620 | 621 | 622 | 623 | 624 | 625 | 626 | 627 | 628 | 629 | 630 | 631 | 632 | 633 | 634 | Since Version 8.2, EAGLE supports online libraries. The ids 635 | of those online libraries will not be understood (or retained) 636 | with this version. 637 | 638 | 639 | Since Version 8.3, EAGLE supports URNs for individual library 640 | assets (packages, symbols, and devices). The URNs of those assets 641 | will not be understood (or retained) with this version. 642 | 643 | 644 | Since Version 8.3, EAGLE supports the association of 3D packages 645 | with devices in libraries, schematics, and board files. Those 3D 646 | packages will not be understood (or retained) with this version. 647 | 648 | 649 | 650 | -------------------------------------------------------------------------------- /DisplayCarrierFlipped.brd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | FLIPPY VERSION 166 | Flippy version 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | <h3>SparkFun Connectors</h3> 202 | This library contains electrically-functional connectors. 203 | <br> 204 | <br> 205 | We've spent an enormous amount of time creating and checking these footprints and parts, but it is <b> the end user's responsibility</b> to ensure correctness and suitablity for a given componet or application. 206 | <br> 207 | <br>If you enjoy using this library, please buy one of our products at <a href=" www.sparkfun.com">SparkFun.com</a>. 208 | <br> 209 | <br> 210 | <b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/ 211 | <br> 212 | <br> 213 | You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage. 214 | 215 | 216 | <h3>Plated Through Hole -9 Pin</h3> 217 | <p>Specifications: 218 | <ul><li>Pin count:9</li> 219 | <li>Pin pitch:0.1"</li> 220 | </ul></p> 221 | <p>Example device(s): 222 | <ul><li>CONN_09</li> 223 | </ul></p> 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | >NAME 299 | >VALUE 300 | 301 | 302 | 303 | 304 | Plated Through Hole -9 Pin 305 | Specifications: 306 | Pin count:9 307 | Pin pitch:0.1" 308 | 309 | Example device(s): 310 | CONN_09 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | <b>EAGLE Design Rules</b> 329 | <p> 330 | Die Standard-Design-Rules sind so gewählt, dass sie für 331 | die meisten Anwendungen passen. Sollte ihre Platine 332 | besondere Anforderungen haben, treffen Sie die erforderlichen 333 | Einstellungen hier und speichern die Design Rules unter 334 | einem neuen Namen ab. 335 | <b>EAGLE Design Rules</b> 336 | <p> 337 | The default Design Rules have been set to cover 338 | a wide range of applications. Your particular design 339 | may have different requirements, so please make the 340 | necessary adjustments and save your customized 341 | design rules under a new name. 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | 451 | 452 | 453 | 454 | 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | 523 | 524 | 525 | 526 | 527 | 528 | 529 | 530 | 531 | 532 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | 548 | 549 | 550 | 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 | 559 | 560 | 561 | 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | 610 | 611 | 612 | 613 | 614 | 615 | 616 | 617 | 618 | 619 | 620 | 621 | 622 | 623 | 624 | 625 | 626 | 627 | 628 | 629 | 630 | 631 | 632 | 633 | 634 | 635 | 636 | 637 | 638 | 639 | 640 | 641 | 642 | 643 | 644 | 645 | 646 | 647 | 648 | 649 | 650 | 651 | 652 | 653 | 654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | 663 | 664 | 665 | 666 | 667 | 668 | 669 | 670 | 671 | 672 | 673 | 674 | 675 | 676 | 677 | 678 | 679 | 680 | 681 | 682 | 683 | 684 | 685 | 686 | 687 | 688 | 689 | 690 | 691 | 692 | 693 | 694 | 695 | 696 | 697 | 698 | Since Version 8.2, EAGLE supports online libraries. The ids 699 | of those online libraries will not be understood (or retained) 700 | with this version. 701 | 702 | 703 | Since Version 8.3, EAGLE supports URNs for individual library 704 | assets (packages, symbols, and devices). The URNs of those assets 705 | will not be understood (or retained) with this version. 706 | 707 | 708 | Since Version 8.3, EAGLE supports the association of 3D packages 709 | with devices in libraries, schematics, and board files. Those 3D 710 | packages will not be understood (or retained) with this version. 711 | 712 | 713 | 714 | -------------------------------------------------------------------------------- /DisplayCarrierFlipped.sch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | a 256 | b 257 | c 258 | d 259 | e 260 | f 261 | g 262 | h 263 | j 264 | k 265 | L 266 | m 267 | N 268 | p 269 | 270 | dp 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | a 334 | b 335 | c 336 | d 337 | e 338 | f 339 | g 340 | h 341 | j 342 | k 343 | L 344 | m 345 | N 346 | p 347 | 348 | dp 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | <h3>SparkFun Connectors</h3> 408 | This library contains electrically-functional connectors. 409 | <br> 410 | <br> 411 | We've spent an enormous amount of time creating and checking these footprints and parts, but it is <b> the end user's responsibility</b> to ensure correctness and suitablity for a given componet or application. 412 | <br> 413 | <br>If you enjoy using this library, please buy one of our products at <a href=" www.sparkfun.com">SparkFun.com</a>. 414 | <br> 415 | <br> 416 | <b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/ 417 | <br> 418 | <br> 419 | You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage. 420 | 421 | 422 | <h3>Plated Through Hole -9 Pin</h3> 423 | <p>Specifications: 424 | <ul><li>Pin count:9</li> 425 | <li>Pin pitch:0.1"</li> 426 | </ul></p> 427 | <p>Example device(s): 428 | <ul><li>CONN_09</li> 429 | </ul></p> 430 | 431 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | 451 | 452 | 453 | 454 | 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | >NAME 505 | >VALUE 506 | 507 | 508 | <h3>Plated Through Hole -9 Pin Locking Footprint</h3> 509 | Holes are offset 0.005" to lock pins in place during soldering. 510 | <p>Specifications: 511 | <ul><li>Pin count:9</li> 512 | <li>Pin pitch:0.1"</li> 513 | </ul></p> 514 | <p>Example device(s): 515 | <ul><li>CONN_09</li> 516 | </ul></p> 517 | 518 | 519 | 520 | 521 | 522 | 523 | 524 | 525 | 526 | 527 | 528 | 529 | 530 | 531 | 532 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | 548 | 549 | 550 | 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 | 559 | 560 | 561 | 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | >NAME 592 | >VALUE 593 | 594 | 595 | <h3>Plated Through Hole -9 Pin Locking Footprint w/ Long Pads</h3> 596 | Holes are offset 0.005" to lock pins in place during soldering. 597 | <p>Specifications: 598 | <ul><li>Pin count:9</li> 599 | <li>Pin pitch:0.1"</li> 600 | </ul></p> 601 | <p>Example device(s): 602 | <ul><li>CONN_09</li> 603 | </ul></p> 604 | 605 | 606 | 607 | 608 | 609 | 610 | 611 | 612 | 613 | 614 | 615 | 616 | 617 | 618 | 619 | 620 | 621 | 622 | 623 | 624 | 625 | 626 | 627 | 628 | 629 | 630 | 631 | 632 | 633 | 634 | 635 | 636 | 637 | 638 | 639 | 640 | >NAME 641 | >VALUE 642 | 643 | 644 | <h3>Plated Through Hole -9 Pin Long Pads</h3> 645 | <p>Specifications: 646 | <ul><li>Pin count:9</li> 647 | <li>Pin pitch:0.1"</li> 648 | </ul></p> 649 | <p>Example device(s): 650 | <ul><li>CONN_09</li> 651 | </ul></p> 652 | 653 | 654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | 663 | 664 | 665 | 666 | 667 | 668 | 669 | 670 | 671 | 672 | >NAME 673 | >VALUE 674 | 675 | 676 | <h3>Plated Through Hole -9 Pin No Silk</h3> 677 | <p>Specifications: 678 | <ul><li>Pin count:9</li> 679 | <li>Pin pitch:0.1"</li> 680 | </ul></p> 681 | <p>Example device(s): 682 | <ul><li>CONN_09</li> 683 | </ul></p> 684 | 685 | 686 | 687 | 688 | 689 | 690 | 691 | 692 | 693 | 694 | 695 | 696 | 697 | 698 | 699 | 700 | 701 | 702 | >NAME 703 | >VALUE 704 | 705 | 706 | 707 | 708 | Plated Through Hole -9 Pin 709 | Specifications: 710 | Pin count:9 711 | Pin pitch:0.1" 712 | 713 | Example device(s): 714 | CONN_09 715 | 716 | 717 | 718 | 719 | 720 | 721 | Plated Through Hole -9 Pin Locking Footprint 722 | Holes are offset 0.005" to lock pins in place during soldering. 723 | Specifications: 724 | Pin count:9 725 | Pin pitch:0.1" 726 | 727 | Example device(s): 728 | CONN_09 729 | 730 | 731 | 732 | 733 | 734 | 735 | Plated Through Hole -9 Pin Locking Footprint w/ Long Pads 736 | Holes are offset 0.005" to lock pins in place during soldering. 737 | Specifications: 738 | Pin count:9 739 | Pin pitch:0.1" 740 | 741 | Example device(s): 742 | CONN_09 743 | 744 | 745 | 746 | 747 | 748 | 749 | Plated Through Hole -9 Pin Long Pads 750 | Specifications: 751 | Pin count:9 752 | Pin pitch:0.1" 753 | 754 | Example device(s): 755 | CONN_09 756 | 757 | 758 | 759 | 760 | 761 | 762 | Plated Through Hole -9 Pin No Silk 763 | Specifications: 764 | Pin count:9 765 | Pin pitch:0.1" 766 | 767 | Example device(s): 768 | CONN_09 769 | 770 | 771 | 772 | 773 | 774 | 775 | 776 | 777 | <h3> 9 Pin Connection</h3> 778 | 779 | 780 | 781 | 782 | 783 | 784 | 785 | 786 | 787 | 788 | 789 | 790 | 791 | >VALUE 792 | >NAME 793 | 794 | 795 | 796 | 797 | 798 | 799 | 800 | 801 | 802 | 803 | 804 | 805 | 806 | <h3>Multi connection point. Often used as Generic Header-pin footprint for 0.1 inch spaced/style header connections</h3> 807 | 808 | <p></p> 809 | <b>On any of the 0.1 inch spaced packages, you can populate with these:</b> 810 | <ul> 811 | <li><a href="https://www.sparkfun.com/products/116"> Break Away Headers - Straight</a> (PRT-00116)</li> 812 | <li><a href="https://www.sparkfun.com/products/553"> Break Away Male Headers - Right Angle</a> (PRT-00553)</li> 813 | <li><a href="https://www.sparkfun.com/products/115"> Female Headers</a> (PRT-00115)</li> 814 | <li><a href="https://www.sparkfun.com/products/117"> Break Away Headers - Machine Pin</a> (PRT-00117)</li> 815 | <li><a href="https://www.sparkfun.com/products/743"> Break Away Female Headers - Swiss Machine Pin</a> (PRT-00743)</li> 816 | </ul> 817 | 818 | <p></p> 819 | <b> For SCREWTERMINALS and SPRING TERMINALS visit here:</b> 820 | <ul> 821 | <li><a href="https://www.sparkfun.com/search/results?term=Screw+Terminals"> Screw Terimnals on SparkFun.com</a> (5mm/3.5mm/2.54mm spacing)</li> 822 | </ul> 823 | 824 | <p></p> 825 | <b>This device is also useful as a general connection point to wire up your design to another part of your project. Our various solder wires solder well into these plated through hole pads.</b> 826 | <ul> 827 | <li><a href="https://www.sparkfun.com/products/11375"> Hook-Up Wire - Assortment (Stranded, 22 AWG)</a> (PRT-11375)</li> 828 | <li><a href="https://www.sparkfun.com/products/11367"> Hook-Up Wire - Assortment (Solid Core, 22 AWG)</a> (PRT-11367)</li> 829 | <li><a href="https://www.sparkfun.com/categories/141"> View the entire wire category on our website here</a></li> 830 | <p></p> 831 | </ul> 832 | 833 | <p></p> 834 | <b>Special notes:</b> 835 | <p> </p> Molex polarized connector foot print use with SKU : PRT-08231 with associated crimp pins and housings. 1MM SMD Version SKU: PRT-10208 836 | <p></p> 837 | NOTES ON THE VARIANTS LOCK and LOCK_LONGPADS... 838 | This footprint was designed to help hold the alignment of a through-hole component (i.e. 6-pin header) while soldering it into place. You may notice that each hole has been shifted either up or down by 0.005 of an inch from it's more standard position (which is a perfectly straight line). This slight alteration caused the pins (the squares in the middle) to touch the edges of the holes. Because they are alternating, it causes a "brace" to hold the component in place. 0.005 has proven to be the perfect amount of "off-center" position when using our standard breakaway headers. Although looks a little odd when you look at the bare footprint, once you have a header in there, the alteration is very hard to notice. Also,if you push a header all the way into place, it is covered up entirely on the bottom side. 839 | 840 | 841 | 842 | 843 | 844 | 845 | 846 | 847 | 848 | 849 | 850 | 851 | 852 | 853 | 854 | 855 | 856 | 857 | 858 | 859 | 860 | 861 | 862 | 863 | 864 | 865 | 866 | 867 | 868 | 869 | 870 | 871 | 872 | 873 | 874 | 875 | 876 | 877 | 878 | 879 | 880 | 881 | 882 | 883 | 884 | 885 | 886 | 887 | 888 | 889 | 890 | 891 | 892 | 893 | 894 | 895 | 896 | 897 | 898 | 899 | 900 | 901 | 902 | 903 | 904 | 905 | 906 | 907 | 908 | 909 | 910 | 911 | 912 | 913 | 914 | 915 | 916 | 917 | 918 | 919 | 920 | 921 | 922 | 923 | 924 | 925 | 926 | 927 | 928 | 929 | 930 | 931 | 932 | 933 | 934 | 935 | 936 | 937 | 938 | 939 | 940 | 941 | 942 | 943 | 944 | 945 | 946 | 947 | 948 | 949 | 950 | 951 | 952 | 953 | 954 | 955 | 956 | 957 | 958 | 959 | 960 | 961 | 962 | 963 | 964 | 965 | 966 | 967 | 968 | 969 | 970 | 971 | 972 | 973 | 974 | 975 | 976 | 977 | 978 | 979 | 980 | 981 | 982 | 983 | 984 | 985 | 986 | 987 | 988 | 989 | 990 | 991 | 992 | 993 | 994 | 995 | 996 | 997 | 998 | 999 | 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 | 1009 | 1010 | 1011 | 1012 | 1013 | 1014 | 1015 | 1016 | 1017 | 1018 | 1019 | 1020 | 1021 | 1022 | 1023 | 1024 | 1025 | 1026 | 1027 | 1028 | 1029 | 1030 | 1031 | 1032 | 1033 | 1034 | 1035 | 1036 | 1037 | 1038 | 1039 | 1040 | 1041 | 1042 | 1043 | 1044 | 1045 | 1046 | 1047 | 1048 | 1049 | 1050 | 1051 | 1052 | 1053 | 1054 | 1055 | 1056 | 1057 | 1058 | 1059 | 1060 | 1061 | 1062 | 1063 | 1064 | 1065 | 1066 | 1067 | 1068 | 1069 | 1070 | 1071 | 1072 | 1073 | 1074 | 1075 | 1076 | 1077 | 1078 | 1079 | 1080 | 1081 | 1082 | 1083 | 1084 | 1085 | 1086 | 1087 | 1088 | 1089 | 1090 | 1091 | 1092 | 1093 | 1094 | 1095 | 1096 | 1097 | 1098 | 1099 | 1100 | 1101 | 1102 | 1103 | 1104 | 1105 | 1106 | 1107 | 1108 | 1109 | 1110 | 1111 | 1112 | 1113 | 1114 | 1115 | 1116 | 1117 | 1118 | 1119 | 1120 | 1121 | 1122 | 1123 | 1124 | 1125 | 1126 | 1127 | 1128 | 1129 | 1130 | 1131 | 1132 | 1133 | 1134 | 1135 | 1136 | 1137 | 1138 | 1139 | 1140 | 1141 | 1142 | 1143 | 1144 | 1145 | 1146 | 1147 | 1148 | 1149 | 1150 | 1151 | 1152 | 1153 | 1154 | 1155 | 1156 | 1157 | 1158 | 1159 | 1160 | 1161 | 1162 | 1163 | 1164 | 1165 | 1166 | 1167 | Since Version 8.2, EAGLE supports online libraries. The ids 1168 | of those online libraries will not be understood (or retained) 1169 | with this version. 1170 | 1171 | 1172 | Since Version 8.3, EAGLE supports URNs for individual library 1173 | assets (packages, symbols, and devices). The URNs of those assets 1174 | will not be understood (or retained) with this version. 1175 | 1176 | 1177 | Since Version 8.3, EAGLE supports the association of 3D packages 1178 | with devices in libraries, schematics, and board files. Those 3D 1179 | packages will not be understood (or retained) with this version. 1180 | 1181 | 1182 | 1183 | -------------------------------------------------------------------------------- /Firmware/Firmware.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include "Adafruit_LEDBackpack.h" 6 | #include "Adafruit_MCP23017.h" 7 | 8 | const byte ROWS = 4; 9 | const byte COLS = 5; 10 | 11 | char keys[ROWS][COLS] = { 12 | {'C','D','E','F','K'}, 13 | {'8','9','A','B','T'}, 14 | {'4','5','6','7', }, 15 | {'0','1','2','3', } 16 | }; 17 | byte rowPins[ROWS] = {6,10,11,12}; 18 | byte colPins[COLS] = {18,17,16,15,14}; 19 | 20 | Adafruit_AlphaNum4 alpha = Adafruit_AlphaNum4(); 21 | Adafruit_Keypad keypad = Adafruit_Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS); 22 | 23 | Adafruit_MCP23017 mcp; 24 | 25 | 26 | int value = NULL; 27 | 28 | void setup() 29 | { 30 | keypad.begin(); 31 | alpha.begin(0x70); 32 | } 33 | 34 | void loop() 35 | { 36 | keypad.tick(); 37 | 38 | KeypadLoop(); 39 | delay(40); 40 | } 41 | 42 | void SetupSerial(void) 43 | { 44 | /* 45 | int mcpPins[] = {1,2,3,4,5,6,7,8,9,10,14,15}; 46 | long baudValue[] = {115200,57600,19200,9600,2400,1200,300}; 47 | char parityValue[] = {'N','E','O'}; 48 | 49 | long baudRate; 50 | char parity; 51 | int stopBit = 1; 52 | 53 | mcp.begin(); 54 | mcp.pinMode(1, INPUT); 55 | mcp.pinMode(2, INPUT); 56 | mcp.pinMode(3, INPUT); 57 | mcp.pinMode(4, INPUT); 58 | mcp.pinMode(5, INPUT); 59 | mcp.pinMode(6, INPUT); 60 | mcp.pinMode(7, INPUT); 61 | mcp.pinMode(8, INPUT); 62 | mcp.pinMode(9, INPUT); 63 | mcp.pinMode(10, INPUT); 64 | mcp.pinMode(14, INPUT); 65 | mcp.pinMode(15, INPUT); 66 | 67 | mcp.pullUp(1, HIGH); 68 | mcp.pullUp(2, HIGH); 69 | mcp.pullUp(3, HIGH); 70 | mcp.pullUp(4, HIGH); 71 | mcp.pullUp(5, HIGH); 72 | mcp.pullUp(6, HIGH); 73 | mcp.pullUp(7, HIGH); 74 | mcp.pullUp(8, HIGH); 75 | mcp.pullUp(9, HIGH); 76 | mcp.pullUp(10, HIGH); 77 | mcp.pullUp(14, HIGH); 78 | mcp.pullUp(15, HIGH); 79 | 80 | 81 | //read the baud rate dial 82 | for(int i = 0 ; i < 7 ; i++) 83 | { 84 | if(mcp.digitalRead(mcpPins[i]) == HIGH) 85 | baudRate = baudValue[i]; 86 | } 87 | 88 | //read the parity 89 | for(int i = 7 ; i < 10 ; i++) 90 | { 91 | if(mcp.digitalRead(mcpPins[i]) == HIGH) 92 | parity = parityValue[(i-7)]; 93 | } 94 | 95 | //read the stop bits 96 | if(mcp.digitalRead(14) == HIGH) 97 | stopBit = 1; 98 | else 99 | stopBit = 2; 100 | 101 | //put it all together 102 | if(stopBit == 1 && parity == 'N') 103 | Serial1.begin(baudRate, SERIAL_8N1); 104 | else if(stopBit == 1 && parity == 'E') 105 | Serial1.begin(baudRate, SERIAL_8E1); 106 | else if(stopBit == 1 && parity == 'O') 107 | Serial1.begin(baudRate, SERIAL_8O1); 108 | else if(stopBit == 2 && parity == 'N') 109 | Serial1.begin(baudRate, SERIAL_8N2); 110 | else if(stopBit == 2 && parity == 'E') 111 | Serial1.begin(baudRate, SERIAL_8E2); 112 | else if(stopBit == 2 && parity == 'O') 113 | Serial1.begin(baudRate, SERIAL_8O2); 114 | 115 | //comment the below lines out when you're done testing 116 | Serial.begin(9600); 117 | Serial.print("Baud: "); 118 | Serial.print(baudRate); 119 | Serial.print(" Parity: "); 120 | Serial.print(parity); 121 | Serial.print(" Stop: "); 122 | Serial.print(stopBit); 123 | Serial.print(" \n\r"); 124 | */ 125 | 126 | Serial1.begin(9600); 127 | } 128 | 129 | void TransmitValue(int value) 130 | { 131 | SetupSerial(); 132 | Serial1.print(char(value)); 133 | 134 | //Serial1.end(); 135 | } 136 | 137 | void KeypadLoop(void) 138 | { 139 | char currentKey; 140 | 141 | while(keypad.available()) 142 | { 143 | keypadEvent e = keypad.read(); 144 | if(e.bit.EVENT == KEY_JUST_PRESSED) 145 | { 146 | currentKey = (char)e.bit.KEY; 147 | } 148 | 149 | if(value == NULL) 150 | { 151 | switch(currentKey) 152 | { 153 | case '0': 154 | value = 0; 155 | break; 156 | case '1': 157 | value = 1; 158 | break; 159 | case '2': 160 | value = 2; 161 | break; 162 | case '3': 163 | value = 3; 164 | break; 165 | case '4': 166 | value = 4; 167 | break; 168 | case '5': 169 | value = 5; 170 | break; 171 | case '6': 172 | value = 6; 173 | break; 174 | case '7': 175 | value = 7; 176 | break; 177 | case '8': 178 | value = 8; 179 | break; 180 | case '9': 181 | value = 9; 182 | break; 183 | case 'A': 184 | value = 10; 185 | break; 186 | case 'B': 187 | value = 11; 188 | break; 189 | case 'C': 190 | value = 12; 191 | break; 192 | case 'D': 193 | value = 13; 194 | break; 195 | case 'E': 196 | value = 14; 197 | break; 198 | case 'F': 199 | value = 15; 200 | break; 201 | } 202 | } 203 | else 204 | { 205 | switch(currentKey) 206 | { 207 | case '0': 208 | value = value * 16; 209 | break; 210 | case '1': 211 | value = value * 16 + 1; 212 | break; 213 | case '2': 214 | value = value * 16 + 2; 215 | break; 216 | case '3': 217 | value = value * 16 + 3; 218 | break; 219 | case '4': 220 | value = value * 16 + 4; 221 | break; 222 | case '5': 223 | value = value * 16 + 5; 224 | break; 225 | case '6': 226 | value = value * 16 + 6; 227 | break; 228 | case '7': 229 | value = value * 16 + 7; 230 | break; 231 | case '8': 232 | value = value * 16 + 8; 233 | break; 234 | case '9': 235 | value = value * 16 + 9; 236 | break; 237 | case 'A': 238 | value = value * 16 + 10; 239 | break; 240 | case 'B': 241 | value = value * 16 + 11; 242 | break; 243 | case 'C': 244 | value = value * 16 + 12; 245 | break; 246 | case 'D': 247 | value = value * 16 + 13; 248 | break; 249 | case 'E': 250 | value = value * 16 + 14; 251 | break; 252 | case 'F': 253 | value = value * 16 + 15; 254 | break; 255 | case 'K': 256 | value = NULL; 257 | break; 258 | case 'T': 259 | TransmitValue(value); 260 | value = NULL; 261 | break; 262 | 263 | } 264 | } 265 | WriteToDisplay(value); 266 | } 267 | } 268 | 269 | void WriteToDisplay(int value) 270 | { 271 | if(value == NULL) 272 | { 273 | alpha.writeDigitAscii(0, 0xFF); 274 | alpha.writeDigitAscii(1, 0xFF); 275 | } 276 | else 277 | { 278 | String hexString = String(value, HEX); 279 | hexString.toUpperCase(); 280 | alpha.writeDigitAscii(0, hexString[0]); 281 | if(hexString[1] == NULL) 282 | { 283 | alpha.writeDigitAscii(1, hexString[0]); 284 | alpha.writeDigitAscii(0, '0'); 285 | } 286 | else 287 | { 288 | alpha.writeDigitAscii(0, hexString[0]); 289 | alpha.writeDigitAscii(1, hexString[1]); 290 | } 291 | } 292 | alpha.writeDisplay(); 293 | } 294 | -------------------------------------------------------------------------------- /Firmware/Firmware.ino.feather_m0.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/Firmware/Firmware.ino.feather_m0.bin -------------------------------------------------------------------------------- /Gerbers/DisplayCarrier_2020-12-24.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/Gerbers/DisplayCarrier_2020-12-24.zip -------------------------------------------------------------------------------- /Gerbers/Motherboard_2021-01-20.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/Gerbers/Motherboard_2021-01-20.zip -------------------------------------------------------------------------------- /Gerbers/SerialKeyboard_2020-12-24.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bbenchoff/SerialKeybard/d3254dcb317232c0d8ee674c5fbfbf8038129134/Gerbers/SerialKeyboard_2020-12-24.zip -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Serial Keyboard 2 | 3 | It's a keyboard that transmits serial. Or it's a 256-key keyboard, using 18 keys. Something like that. The main thing is that it transmits any serial byte. 4 | 5 | ## Notice 6 | 7 | This repo contains a few files, but is mostly geared towards an unoptimized build with the internal structure consisting of five(!) different PCBs. The SerialKeyboard.brd is just a 18-key keyboard with diodes. The DisplayCarrier.brd is an interposer between the display and Motherboard.brd, which is the only thing with active electronics. There's also an Arduino in there and the front panel, which makes for a grand total of five different PCBs in this project. 8 | 9 | I have started work on a simplified version, MasterBoard.brd, which would combine this all into one single circuit board. This work is not completed. 10 | 11 | If someone can find me a source of 2U 'Transmit' keycaps, I'll get right on that. 12 | 13 | Oh yeah, I noticed this repo was named 'SerialKeybard', but it's too late to fix it now. 14 | 15 | ![render](https://github.com/bbenchoff/SerialKeybard/blob/main/Art/render.PNG) 16 | 17 | ![full pic](https://github.com/bbenchoff/SerialKeybard/blob/main/Art/baudboxFullPic.jpg) 18 | --------------------------------------------------------------------------------