Compare commits

...

204 Commits

Author SHA1 Message Date
frank 43d7a280bc Merge commit '37cf5a350' 2024-03-05 19:45:27 +00:00
git stash 37cf5a3500 WIP on main: ee13cdb clarify single player ending message 2024-03-05 19:43:12 +00:00
git stash 004c9b6a8a index on main: ee13cdb clarify single player ending message 2024-03-05 19:43:12 +00:00
ohsqueezy da0458e0a9 add canonical url to web page, take down mailman API while mailman is broken on the server 2024-03-05 14:42:46 -05:00
ohsqueezy 616aa93bc3 fix for issue of disappearing level select previews after hard reset 2024-01-18 19:41:42 -08:00
ohsqueezy ee13cdbdc6 clarify single player ending message 2024-01-10 21:24:00 -08:00
ohsqueezy 41fa64c553 - ending screen for versus battles
- add date to saved scores
- add file for tracking dnf runs
2024-01-10 21:11:45 -08:00
ohsqueezy 0b59b4fc29 sync seed and wait time separately from launch trigger 2024-01-10 17:30:37 -08:00
ohsqueezy 3c68333638 cancel blinds animation when quick starting level 2024-01-10 16:26:10 -08:00
ohsqueezy c4c8a1e79b sync wipe animation and wait for all peers to be at voted status before starting level 2024-01-10 16:13:44 -08:00
ohsqueezy 5745783e68 debug messages for random seeding, skip directly to screen wipe on level select when more than one player is playing 2024-01-10 15:30:47 -08:00
ohsqueezy e7846d4826 use level select vote messages to determine if peers are playing versus and sync random seed for level 2024-01-10 15:16:10 -08:00
ohsqueezy a085eaff6d use most recent score object to transfer time in milliseconds 2024-01-10 10:03:04 -08:00
ohsqueezy 01df4f350e remove peer list from checked in config 2024-01-09 23:44:11 -05:00
ohsqueezy 2fe057a351 - preliminary support for listening for messages, posting messages, and displaying status of network
- make title screen scores optimization optional
- add option to clear pop up messages queue when adding a message
2024-01-09 19:22:54 -08:00
ohsqueezy 9b9277bedb add screen to setup diagram 2023-12-22 01:20:50 -05:00
ohsqueezy 78b05b0bf9 update info about wiki in the README 2023-12-22 01:06:45 -05:00
ohsqueezy 5a78b3c6c1 add screenshot of level 1 for operator's manual 2023-12-22 01:02:08 -05:00
ohsqueezy 1f9ce78e42 more operator's manual images 2023-12-22 00:51:30 -05:00
ohsqueezy e61237f1a7 reorganize news on web page 2023-12-22 00:18:55 -05:00
ohsqueezy 33beb9df6f news section for web site 2023-12-21 23:49:40 -05:00
ohsqueezy 66043aa393 try all detected devices when auto detecting Arduino; restore the end function's behavior which kills serial threads before quitting 2023-10-13 14:58:26 -04:00
ohsqueezy d1fe534c9f mark event date as past 2023-08-07 14:35:19 -04:00
Blake Lee Andrews ef8f7bc5a8 backgrounds 2023-08-04 20:01:58 -04:00
ohsqueezy a05f42c257 add more kaomojis to fill screen 2023-08-04 18:51:30 -04:00
ohsqueezy 78689e1bb8 add reminder to update version to event checklist 2023-08-04 18:38:48 -04:00
ohsqueezy e17b29b1c1 add dates to calendar 2023-08-04 18:35:18 -04:00
Blake Lee Andrews 97880534ae new board assets
changed some tuning also
2023-07-26 19:15:04 -04:00
Blake Lee Andrews 28dcee741c Merge branch 'main' of https://open.shampoo.ooo/scrape/scrapeboard 2023-06-16 22:29:11 -04:00
Blake Lee Andrews c0095d7ced SCORES 2023-06-16 22:29:07 -04:00
ohsqueezy d828346fae fix qr boolean config, add builder's manual print-out to equipment list 2023-06-15 17:05:49 -04:00
ohsqueezy ef5ec4d313 Merge commit 'ce14753' 2023-06-14 17:28:19 -04:00
ohsqueezy ce14753668 add QR code to tony's shirt, add links for shop, wiki, and kofi to web page 2023-06-14 17:25:59 -04:00
ohsqueezy 129907c30a fix links and adjust wording 2023-05-17 16:06:42 -04:00
ohsqueezy 39de5967d1 replaced builder's manual file with links to the wiki in the README 2023-05-17 16:02:41 -04:00
ohsqueezy fdff973446 Merge branch 'main' of https://open.shampoo.ooo/scrape/scrapeboard 2023-05-16 17:50:25 -04:00
ohsqueezy 9249d6f83a more doc images for wiki 2023-05-16 17:50:05 -04:00
ohsqueezy a1ef890238 add PIL install step to windows docs 2023-04-28 15:17:46 -04:00
ohsqueezy bd585b92f4 fix link 2023-04-25 19:17:54 -04:00
ohsqueezy ea256e7ea1 fix link 2023-04-25 19:15:34 -04:00
ohsqueezy 3f674150b6 fix link 2023-04-25 19:11:53 -04:00
ohsqueezy 5fe4140523 fix relative links 2023-04-25 19:09:08 -04:00
ohsqueezy 58637344f0 fix anchor links 2023-04-25 19:04:28 -04:00
ohsqueezy 3c2a818028 fix anchor link 2023-04-25 18:59:36 -04:00
ohsqueezy 921689f655 fix link to board and platform photo 2023-04-25 18:36:44 -04:00
ohsqueezy 71186bf1cf fix link to electronics section 2023-04-25 18:33:59 -04:00
ohsqueezy c532f09388 remove table display from table of contents header 2023-04-25 18:32:46 -04:00
ohsqueezy a582bdd096 fix table of contents shortcode 2023-04-25 18:31:31 -04:00
ohsqueezy f9e1e967a0 fix readme links to manual 2023-04-25 18:30:03 -04:00
ohsqueezy 1618dacc4d update builder's manual 2023-04-25 18:28:02 -04:00
ohsqueezy b30391bdcc restore time lapse webp 2023-02-03 13:43:57 -05:00
ohsqueezy a0f7c9d3fc replace webp with webm and html tag 2023-02-03 13:37:16 -05:00
ohsqueezy 94dd058a70 rearrange history images in builder's manual 2023-02-02 19:30:33 -05:00
ohsqueezy 8a745a9617 change gif markdown to html 2023-02-02 19:27:30 -05:00
ohsqueezy 2bd04296cb added media to builder's manual 2023-02-02 18:50:11 -05:00
ohsqueezy 4b73638d48 fix image path 2023-01-30 14:01:05 -05:00
ohsqueezy aa2f599215 remove width attribute on image 2023-01-30 14:00:06 -05:00
ohsqueezy a5546a56e5 add image to builder's manual history with width attribute 2023-01-30 13:59:13 -05:00
ohsqueezy 3080f650d4 fix link to electronics section 2023-01-27 17:23:49 -05:00
ohsqueezy 941c320290 change rpi pins 2023-01-27 17:22:06 -05:00
ohsqueezy 6231711a3d added terminology to builder's manual 2023-01-27 16:51:03 -05:00
ohsqueezy 1ee97de9e1 combine kicad projects into single board, update builder manual supplies 2023-01-27 16:45:37 -05:00
ohsqueezy de8a227acf update credits 2023-01-25 21:08:53 -05:00
ohsqueezy a4f2feef0f add kicad pcb project files and readme 2023-01-25 20:07:33 -05:00
ohsqueezy 42bc7440c4 restore background scrolling 2023-01-25 16:52:12 -05:00
ohsqueezy 5faee7703c update PGFW repo url 2023-01-25 16:44:23 -05:00
ohsqueezy 34b9c30e0a clean up unused code and resources 2023-01-25 16:42:37 -05:00
ohsqueezy dcef09e613 change Arduino pins to 2, 3, 4, 5, remove old serial code, update builder's manual 2023-01-25 16:09:07 -05:00
ohsqueezy 4a076a72d0 update builder's manual supplies and instructions, add introduction 2023-01-20 19:40:10 -05:00
ohsqueezy d0cb0706a7 yellow pad 2023-01-02 16:21:57 -08:00
ohsqueezy 8cfa142d39 fix manual links again 2022-12-18 20:48:17 -05:00
ohsqueezy f35c3a1486 fix manual links 2022-12-18 20:47:27 -05:00
ohsqueezy 66d9eabfe5 Merge branch 'main' of https://git.nugget.fun/scrape/scrapeboard 2022-12-18 20:44:36 -05:00
ohsqueezy 263c131cdb remove boss clip 2022-12-18 20:42:59 -05:00
ohsqueezy 6b94fed42f add raspberry pi to readme 2022-12-18 20:41:08 -05:00
ohsqueezy 455630509b auto detect gpio library 2022-12-18 20:34:22 -05:00
ohsqueezy 21a856089d builder's manual 2022-12-18 20:09:06 -05:00
ohsqueezy 14772a45e6 test clipping on level screen 2022-12-03 14:42:50 -05:00
ohsqueezy 63a7ddf51f pre-render platform glow, slightly optimize dialogue 2022-12-02 16:34:44 -05:00
ohsqueezy 0b3e09f807 blit scores once and set clip; apply existing clip to wipe; disable background logo effects 2022-12-02 13:43:39 -05:00
ohsqueezy 3deb552325 draw scores once and set clip 2022-12-01 18:35:59 -05:00
ohsqueezy e0b4ed0251 add event to calendar, only import GPIO if necessary 2022-11-30 20:16:12 -05:00
ohsqueezy 51165f5af9 optionally set SDL video driver to KMS, set GPIO thread to daemon mode 2022-11-30 19:57:01 -05:00
ohsqueezy bccc8bb6f0 add activity test to gpio 2022-11-05 01:33:05 -04:00
ohsqueezy fa481631f2 wip gpio thread 2022-11-04 21:10:14 -04:00
ohsqueezy d70c305626 force small delay between gpio connection comparisons 2022-11-04 21:05:26 -04:00
ohsqueezy f091e01605 fix call to config 2022-11-04 21:02:31 -04:00
ohsqueezy d122f66af4 wip applying GPIO to the game 2022-11-04 19:01:26 -04:00
ohsqueezy f68fb897c5 raspberry pi gpio input test script 2022-11-04 17:49:08 -04:00
ohsqueezy 0f0f771ea8 optimize score drawing 2022-11-03 22:47:01 -04:00
ohsqueezy e86a3d2324 toggle-able tony shirt glow effect 2022-11-02 23:46:48 -04:00
ohsqueezy 2369def547 temporarily adjust tony shirt glow effect 2022-11-02 23:34:57 -04:00
ohsqueezy d95b31a19b prerender glow effect into logo background 2022-11-02 23:19:14 -04:00
ohsqueezy e85d8ee74f fix effect toggle for swords 2022-11-02 22:57:33 -04:00
ohsqueezy 591ff28ebb mention about the work in progress instructable in the README 2022-11-02 19:29:58 -04:00
ohsqueezy 57168817b9 add logo and tony glow effects to toggleable effects 2022-11-02 19:21:24 -04:00
ohsqueezy a94dfbedcf adjust platform and boss health hud for smaller resolution, add donation button to web site 2022-11-01 20:26:12 -04:00
ohsqueezy 7555d3fca4 framebuffer flag for launcher script, permanent quit for when running as systemd service, wip reduce resolution to 800x450 2022-11-01 17:56:59 -04:00
ohsqueezy 93cec90dcc trying a markdown link 2022-10-25 18:03:46 -04:00
ohsqueezy ac7814f6bd trying a different donation widget format 2022-10-25 17:59:52 -04:00
ohsqueezy 789858aea1 adding donation widget 2022-10-25 17:56:04 -04:00
ohsqueezy e5267a2828 update pgfw for fullscreen fix 2022-10-25 15:26:32 -04:00
ohsqueezy 63fe269e2d fixing submodule url to pgfw 2022-10-25 14:22:41 -04:00
ohsqueezy 2f9784498e added pgfw as a dependency and updated instructions 2022-10-25 14:16:29 -04:00
ohsqueezy 98aaa12260 updated readme, added license 2022-10-25 13:56:58 -04:00
ohsqueezy 8b22ef3db0 subscribe an email address directly using the Mailman API 2022-10-24 23:04:52 -04:00
frank f0e361e790 subscribe form upgrade 2022-06-29 23:55:35 -04:00
frank 41b2620686 made level 1 easier; added calendar event; started tracking kit HTML; changed README to markdown 2022-06-24 15:49:05 -04:00
frank e88c4b8937 preload gif frames, move music into resource folder 2022-03-19 18:32:29 -04:00
frank 81beea7f5e moved sword into resource folder 2022-03-19 17:21:15 -04:00
frank a71222a443 Merge branch 'art' into gdc 2022-03-17 16:09:32 -04:00
frank 708027ee5a tongue, boss death animation looping 2022-03-17 16:09:07 -04:00
Blake Lee Andrews b1fea4ef85 changed the pop 2022-03-17 12:56:27 -04:00
frank 77555b8ec9 variable hurt and ending screen timeout 2022-03-16 18:55:06 -04:00
frank c6d0fd544e adjustements for new pad 2022-03-16 18:40:43 -04:00
frank 21650602fb Merge branch 'art' into gdc 2022-03-16 12:45:56 -04:00
Blake Lee Andrews 6a4da2786b Down Left Tongue 2022-03-16 11:57:51 -04:00
Blake Lee Andrews e482412e81 just the tongue 2022-03-16 11:54:50 -04:00
Blake Lee Andrews 0cb6c04b16 new Pad 2022-03-16 11:21:30 -04:00
Blake Lee Andrews c77341f6fb alien death 2022-03-16 00:21:33 -04:00
frank e7c39d3e8b implemented death animations, added ordinal rank, added swords to ending 2022-03-15 21:52:02 -04:00
frank fdba749b43 Merge branch 'art' into gdc 2022-03-15 20:49:32 -04:00
frank d400682ee5 all enemy entrance animations, per boss time variables, display score rank 2022-03-15 20:43:30 -04:00
Blake Lee Andrews 63ebd0ec3a Changed Stance for One Slime Position 2022-03-15 18:25:25 -04:00
Blake Lee Andrews 3f4984ce0b EmoDeath 2022-03-15 13:54:00 -04:00
Blake Lee Andrews 5e6d209c8d kool death 2022-03-10 15:38:36 -05:00
frank 63c2e834b9 Merge branch 'art' into gdc 2022-03-10 13:15:50 -05:00
Blake Lee Andrews e35ddf6573 Emo Intro 2022-03-10 13:02:48 -05:00
Blake Lee Andrews 0aba235a63 Kool Intro 2022-03-10 11:08:51 -05:00
frank fa360ebb40 implemented lizard hurt animation 2022-03-10 01:06:53 -05:00
frank 7d1e049614 implemented lizard boil graphics 2022-03-10 00:27:25 -05:00
frank 465da72ac9 implemented new boss graphics 2022-03-09 23:55:38 -05:00
frank 597547b7ca Merge branch 'art' into gdc 2022-03-09 22:56:39 -05:00
frank 6651648325 Merge branch 'art' into gdc 2022-03-09 22:55:50 -05:00
frank 1f5fb312c5 per level boss cooldowns and health decrease 2022-03-09 22:42:45 -05:00
Blake Lee Andrews 8a2ec282d9 Emo Hit and fixed the boil's nose color 2022-03-09 18:00:44 -05:00
Blake Lee Andrews 08415678dd emoBoil 2022-03-09 15:34:57 -05:00
Blake Lee Andrews dbd37824e5 Kool Man Boil and Hurt 2022-03-09 13:13:19 -05:00
Blake Lee Andrews d311283fa8 hurt 2022-03-09 13:10:42 -05:00
Blake Lee Andrews 08ddedcdb2 Slime Boils 2022-03-09 13:09:57 -05:00
Blake Lee Andrews ea0971f0dc Arm Stationary Boils 2022-03-09 13:05:30 -05:00
frank da22509fe1 level select timeout 2022-03-08 22:26:50 -05:00
frank 003141b7e4 zoom level select longer, fix draw order 2022-03-07 19:25:54 -05:00
frank 8b9c944824 arm and animated sprites for all bosses 2022-03-07 18:57:32 -05:00
frank 4265c13dbb endings for level select mode 2022-03-05 15:59:12 -05:00
frank 5e941dbd5b attack and damage sound effects 2022-03-01 16:27:09 -05:00
frank e1ab123bdd timer warning effect and visitor entrance animation 2022-02-28 21:34:18 -05:00
frank ad0c68aedb sword attack and take damage animations 2022-02-27 00:14:51 -05:00
frank 5cf548fc2e adjust chameleon positions 2022-02-25 00:11:53 -05:00
frank 7779cc362f sword arm ghosts 2022-02-24 20:53:34 -05:00
frank ad2b75e8f1 increase screen resolution to widescreen, adjust title screen and screen wipe graphics 2022-02-24 15:05:09 -05:00
frank 607f6a8059 new pad graphics and glow 2022-02-24 01:16:45 -05:00
frank 0526507649 new chameleon; alien sword smears; website updates 2022-02-22 22:34:00 -05:00
frank ee8ef6e1d1 Merge alien animations and pad images from branch 'art' into gdc 2022-01-29 18:01:15 -05:00
frank 62831ade79 started using level select object, added preview of animated alien 2022-01-29 17:58:06 -05:00
Blake Lee Andrews b9c1eb21e1 pads 2022-01-29 02:46:46 -05:00
Blake Lee Andrews a4413d1a6b 10 frame smears 2022-01-29 02:35:00 -05:00
frank 7036ea9ed0 variable for how long before the title screen unlock resets from no input 2022-01-28 12:14:08 -05:00
frank b099c97871 added option to load the game quickly by turning off some effects 2022-01-28 02:16:07 -05:00
Blake Lee Andrews f41f85059f some more 2022-01-27 18:58:50 -05:00
Blake Lee Andrews e0a5484e90 L to U 2022-01-27 18:51:45 -05:00
Blake Lee Andrews a48a5d00ac some more animations 2022-01-27 18:44:51 -05:00
Blake Lee Andrews a7345757b1 more animations 2022-01-27 18:33:44 -05:00
Blake Lee Andrews fe4ae1fe48 new dr u 2022-01-27 17:43:52 -05:00
frank 80c06582be Merge alien swabs into gdc 2022-01-27 17:39:11 -05:00
Blake Lee Andrews 60cd6783ee Added Transition Animations for Sword arms 2022-01-27 17:34:10 -05:00
frank eb4f1897fb Merge branch 'art' into gdc 2022-01-27 16:28:24 -05:00
frank b5adc33110 new pad colors; website updates 2022-01-27 15:10:02 -05:00
Blake Lee Andrews 4434923c4d timer 2022-01-27 14:59:51 -05:00
Blake Lee Andrews 4fed78c674 alien arm down right boil 2022-01-27 14:57:22 -05:00
Blake Lee Andrews 2f5d71e3f0 basic sword arms 2022-01-27 14:53:02 -05:00
Blake Lee Andrews 7b873f4999 some alien body animations 2022-01-27 14:50:05 -05:00
Blake Lee Andrews a3945de556 new slime bag 2022-01-27 14:46:43 -05:00
frank f66642c2e1 look for bgm in resource folders pgfw update 2022-01-19 13:57:45 -05:00
frank a8e49ccc7e set bgm volume; pre init mixer 2022-01-19 13:53:13 -05:00
frank 6bb9011483 play a bgm from resource/bgm folder each scene 2022-01-06 03:20:10 -05:00
admin 6c375afe34 reset scores; fast blit temporary code; pgfw temp local location 2022-01-05 10:17:34 -05:00
admin f8064c4d0b reset idle timeout when serial data causes a light to be pressed 2022-01-04 20:38:47 -05:00
Frank DeMarco bc3894c2d4 added taunts to title screen 2020-10-30 15:29:35 -04:00
Blake Lee Andrews 03accbe24a added new tony attract sounds 2020-10-30 10:06:09 -04:00
Frank DeMarco e40bd37be2 removed buttons from dialog 2020-10-30 03:57:46 -04:00
Frank DeMarco 9b6d5e5af2 gif alpha and timing config options 2020-10-29 13:40:05 -04:00
Frank DeMarco 6dd202c8e3 fixed ending background and text 2020-10-29 12:48:45 -04:00
Frank DeMarco 1df3863638 tony places board on platform 2020-10-29 01:06:56 -04:00
Frank DeMarco a06549f890 Merge branch 'art' into master 2020-10-28 21:15:16 -04:00
Frank DeMarco acf212a5ca gif auto hide 2020-10-28 20:02:23 -04:00
Blake Lee Andrews 72a32fdf72 arms and head and shoulders 2020-10-28 17:33:30 -04:00
Frank DeMarco 2f172566b0 merged master in 2020-10-28 15:42:49 -04:00
Frank DeMarco eedd92cd9a moved black tony 2020-10-28 15:41:41 -04:00
Frank DeMarco fa70497b03 bouncing scrape gif bubble 2020-10-28 15:28:12 -04:00
Blake Lee Andrews 9f23cb5036 bigTony
newTonySprites
2020-10-27 17:41:52 -04:00
Frank DeMarco edc4cdd8c4 title screen glowing effects; maybe fixed continue bug 2020-10-24 03:38:45 -04:00
Frank DeMarco 772263e918 attract mode work in progress 2020-10-18 18:50:48 -04:00
Blake Lee Andrews 53aba4a60b made tony black
black tony
2020-10-13 16:50:06 -04:00
Frank DeMarco 2320c6697c convert font surface to fix pygame2 error 2020-10-13 16:12:44 -04:00
frank 53081f1bcb pgfw windows path fix 2020-10-11 19:43:50 -04:00
Frank DeMarco 855d21624f clean up old hack 2020-10-11 19:14:07 -04:00
Frank DeMarco 6fd76bc2d3 use http for pgfw submodule 2020-10-07 00:05:40 -04:00
Frank DeMarco ad4be8e337 don't reset arduino if we're currently getting good input 2020-10-06 23:53:03 -04:00
Frank DeMarco 7b92f7ee12 use audio obj auto sfx scanning feature 2020-10-05 20:15:32 -04:00
Frank DeMarco b09ff54d3b python3 hashbang 2020-10-05 18:37:18 -04:00
Frank DeMarco dd938d8da2 merge magfest branch into master 2020-10-05 18:28:14 -04:00
Frank DeMarco e0c8f71884 clement 2018-12-19 17:32:09 -05:00
Frank DeMarco 86f3aef797 barf 2018-11-21 01:19:29 -05:00
1106 changed files with 273925 additions and 1191 deletions

21
.gitignore vendored
View File

@ -4,3 +4,24 @@ MANIFEST
dist/
build/
*.mp4
venv/
lib/fonts
favicon.ico
scrapeboard_new.webm
Scrapeboard_Gameplay_Demo_picture_in_picture.webp
bin/
include/
lib/python3.9/
pyvenv.cfg
lib/python*
stat/
www/scrapeboard_new.gif
*.backup
kicad/*/*-backups
scrapeboard_hat*.zip
_autosave-*
www/Scrapeboard_Cyber_Monday_auction.webp
www/Scrapeboard_Cyber_Monday_auction_long.webp
www/Scrapeboard_auction_flyer_with_stream.png
resource/scores.txt
resource/dnf.txt

2
.gitmodules vendored
View File

@ -1,3 +1,3 @@
[submodule "lib/pgfw"]
path = lib/pgfw
url = makar:/var/www/git/pgfw
url = https://open.shampoo.ooo/shampoo/pgfw

30
LICENSE.txt Normal file
View File

@ -0,0 +1,30 @@
Code
----
Original source code is released under the zlib license:
Copyright (c) Frank DeMarco, Blake Andrews, and Dr. Clement Shimizu <scrape@nugget.fun>
This software is provided 'as-is', without any express or implied warranty. In
no event will the authors be held liable for any damages arising from the use of
this software.
Permission is granted to anyone to use this software for any purpose, including
commercial applications, and to alter it and redistribute it freely, subject to
the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software in a
product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Assets and documents
--------------------
Art, sound, documentation, manuals, and schematics are released under CC BY 4.0. To view a copy of this
license, visit <http://creativecommons.org/licenses/by/4.0/>.

3218
NS.py

File diff suppressed because it is too large Load Diff

View File

@ -1,45 +1,43 @@
#!/usr/bin/env python
#!/usr/bin/env python3
from os import environ, execvp, chdir, getcwd
from os.path import exists, join, dirname
from sys import version_info, argv, maxint
# Scrapeboard is an arcade game in development by Frank DeMarco (@diskmem) and Blake Andrews (@snakesandrews).
# It requires custom hardware to play, but it can be tested in keyboard mode with just the code in this
# repository. For more information on setting up and running the game, see README.md. For more information
# on the game in general, visit <https://scrape.nugget.fun>.
#
# This is the launcher script that creates a main game object and runs it. If you're running Python 3 with
# the pygame module installed, you should be able to run this script with the --no-serial flag to get it
# running even without the custom hardware:
#
# ./OPEN-GAME --no-serial
def can_import(module_name):
try:
__import__(module_name)
except ImportError:
return False
else:
return True
import sys, os
def is_python_3():
return version_info[0] >= 3
def ignore_sighup():
"""
Ignore hangup signal (that is thrown when launching from systemd?).
Taken from https://stackoverflow.com/questions/57205271/how-to-display-pygame-framebuffer-using-systemd-service
"""
import signal
def handler(signum, frame):
pass
signal.signal(signal.SIGHUP, handler)
def is_current_version(file_name):
version = map(int, file_name.replace("python", "").split("."))
return version == list(version_info)[:2]
# Change directory to the directory of the program launching the script (usually this script "OPEN-GAME").
if "--go-to-dir" in sys.argv:
os.chdir(os.path.dirname(sys.argv[0]))
def launch_alternative(alternatives):
for alternative in alternatives:
if not is_current_version(alternative):
for root in environ["PATH"].split(":"):
if exists(join(root, alternative)):
execvp(alternative, [alternative] + argv)
# Use the framebuffer display (for Raspberry Pi). This only works with Pygame 1.9.6 (and SDL 1.2).
if "--fb" in sys.argv:
os.putenv("SDL_VIDEODRIVER", "fbcon")
os.putenv("SDL_FBDEV", "/dev/fb0")
ignore_sighup()
def move_to_executable():
chdir(dirname(argv[0]))
if is_python_3():
launch_alternative(["python2", "python2.7", "python2.6"])
# if maxint >> 33:
# launch_alternative(["python-32", "python2-32", "python2.7-32", "python2.6-32"])
if not can_import("pygame"):
launch_alternative(["python2.7", "python2.6"])
if "--go-to-dir" in argv:
move_to_executable()
# Use the KMS video driver. This works for newer versions of Raspberry Pi with the KMS overlay
# enabled, SDL 2, and Pygame 2.
if "--kms" in sys.argv:
os.putenv("SDL_VIDEODRIVER", "kmsdrm")
ignore_sighup()
from NS import NS

5
README
View File

@ -1,5 +0,0 @@
Requires pyserial (https://pypi.org/project/pyserial/)
If you have Python Package Installer, you can run
pip install pyserial

132
README.md Normal file
View File

@ -0,0 +1,132 @@
Scrapeboard
===========
![demo](https://scrape.nugget.fun/www/Scrapeboard_Gameplay_Demo_picture_in_picture.webp)
So, you think you can skateboard, but can you scrapeboard, you slime bag? Scrapeboard is a DDR inspired alt control game that uses a real skateboard deck instead of your feet. Do you have the moves to skate through a gauntlet of goons all the way to Tony Hawk?
Wiki
----
This README file is for setting up and using the code repository. For more general information on how to [operate](../../../wiki/Operators-manual) or [build](../../../wiki/Builders-manual) Scrapeboard, see the [wiki](../../../wiki).
Controller
----------
The standard controller is a custom platform combined with a modified skatedeck, seen in the above GIF. It can be built using the instructions in the [builder's manual](../../../wiki/Builders-manual) and attached to an Arduino. Custom interfaces can be created using an Arduino or Raspberry Pi.
There is also keyboard support built-in. It is meant for testing, but the game can be played with it.
Software
--------
### *See the [software chapter](../../../wiki/Software) of the [Builder's Manual](../../../wiki/Builders-manual) for more detailed instructions*
The software requires Python, [Pygame][], and a custom Python game framework [PGFW][]. The Python version should be 3.9 or higher. The Pygame version should be 1.9.6 or higher. PGFW is a submodule of this repository, so it can be cloned simultaneously using the `--recursive` flag. Python and Pygame can be installed on any operating system, including Windows, OS X, and Linux.
Installing Python will usually install Python's package manager PIP as well. PIP can be used to install Pygame by running the following from your terminal (for example, PowerShell on Windows).
pip install pygame
Once you have Python and Pygame installed, run the following to download Scrapeboard and PGFW
git clone --recursive https://open.shampoo.ooo/scrape/scrapeboard
If you have an Arduino connected with the circuit and program prepared, run this to start the game. If the Arduino is not prepared yet, see below.
python OPEN-GAME
If you are using a Raspberry Pi, run this instead. The Pi should have a circuit installed to its GPIO pins. See below for details.
python OPEN-GAME --pi
To run the game in keyboard mode anytime, use the following
python OPEN-GAME --no-serial
Serial
------
### *See the [electronics chapter](../../../wiki/Electronics) of the [Builder's Manual](../../../wiki/Builders-manual) for more detailed instructions*
To run the game using the custom skateboard and metal pads, the Arduino attached to the pads must be plugged into USB, and the [pyserial][] package must be installed on the computer.
If you have Python Package Installer, you can run this to install pyserial:
pip install pyserial
The Arduino must be loaded with the [serial program][] and connected to USB. The game will try to detect the Arduino, but if that does not work, the device location of the Arduino can be specified in the [config file][].
If you don't have the board, pad and Arduino, you can test the game using keyboard-only mode.
Raspberry Pi
------------
Raspberry Pi GPIO input is also supported. See the [Raspberry Pi chapter](../../../wiki/Raspberry-Pi) of the manual for how to install Scrapeboard on a Raspberry Pi. Once the circuit is in place, the game will be able to detect GPIO input. Run with the `--pi` flag to activate Raspberry Pi mode.
./OPEN-GAME --pi
Keys
----
For testing, there is keyboard input. To run in keyboard only mode use:
./OPEN-GAME --no-serial
The O, P, L, and ; keys simulate the dance pads and your fingers simulate the board
___ ___
| O| P| <-- These keyboard keys correspond to the floor pads
|___|___| O = top left pad, P = top right pad, L = bottom left pad, ; = bottom right pad
| L| ;|
|___|___|
Arrow keys also work
UP = top left pad
RIGHT = top right pad
DOWN = bottom left pad
LEFT = bottom right pad
### Other keys
* The `Z` key is a shortcut for reset (`F8` also resets).
* The `A` key force resets the connected Arduino (or does nothing if no Arduino is connected).
Options
-------
The full list of configurable values is in the [config file][]. There are also command line flags that can override config values. Use the help flag to see the possible values:
python OPEN-GAME -h
The `--minimize-load-time` flag can be useful when testing because it sacrifices some effects to load the game quickly.
License
-------
Original Scrapeboard code is released without restriction on copying, modifying, or selling, under the zlib license. Art, sound, text, and schematic assets are released under CC BY 4.0. Users are licensed to modify Scrapeboard and even sell their modifications. Scrapeboard code and assets can be used in other projects, even closed source ones. Use of the assets requires attribution is given to Scrapeboard for the original assets. If the source is distributed, the zlib license must be included as the license for the original code. The full license is in [LICENSE.txt][].
PGFW is included under [its zlib license](https://open.shampoo.ooo/shampoo/pgfw/LICENSE.txt).
Donations
---------
Send us a donation through [Ko-fi](https://ko-fi.com/scrapeboard)!
[![Donate at Ko-fi](https://storage.ko-fi.com/cdn/kofi3.png?v=3)](https://ko-fi.com/Z8Z7FX41L)
Contact
-------
More information is available [at the website](https://scrape.nugget.fun). Email us at scrape (at) nugget (dot) fun.
[Pygame]: https://pygame.org
[Makey Makey]: https://makeymakey.com
[serial program]: serial/serial.ino
[pyserial]: https://pypi.org/project/pyserial/
[Arduino]: https://arduino.cc
[config file]: config
[LICENSE.txt]: LICENSE.txt
[PGFW]: https://open.shampoo.ooo/shampoo/pgfw
[Raspberry Pi]: https://www.raspberrypi.org/

112
config
View File

@ -1,35 +1,121 @@
#
# [SCRAPEBOARD] is an arcade game in development by [@diskmem] and [@snakesandrews]
#
# It requires custom hardware to play but can be tested in keyboard mode without the hardware.
# For more information on setting up and running the game, see the README, or for the game in
# general, visit https://scrape.nugget.fun/
#
# This file contains configurable values that can adjust things like visual effects, performance,
# and audio. A lot of these values are closely tied to how the game is expected to run (for example,
# the screen resolution), so adjust at your own risk. There are also a lot of values currently
# hardcoded in NS.py that should be moved into here eventually.
#
[setup]
license = Public Domain
title = Electric Scrapeboard
url = http://A-O.in/
version = 0.2
title = Scrapeboard
url = https://scrape.nugget.fun
version = 0.2.3
init-script = OPEN-GAME
additional-packages = lib
data-exclude = local/, *.pyc
data-exclude = local/, *.pyc, .git*, README, build/, dist/, *.egg-info, *.py, MANIFEST*, PKG-INFO, *.pyc, *.swp, *~, changelog, scrapeboard, OPEN-GAME, lib
[display]
caption = Electric Scrapeboard
show-framerate = no
dimensions = 640, 480
caption = Scrapeboard
show-framerate = no
framerate-position = 600, 0
dimensions = 800, 450
fullscreen = no
attract-gif-alpha = 1.0
effects = True
alpha-effect-title = True
scores-font = BPmono.ttf
scores-alpha = 230
qr-static = False
[system]
# will force set display->effects to off
minimize-load-time = no
enable-level-select = yes
lives-boss-rush-mode = 3
lives-level-select-mode = 1
optimize-title-screen = no
max-seed = 2147483647
dnf-file = resource/dnf.txt
scores-file = resource/scores.txt
[network]
peers =
port = 8080
delimeter = |
join-time-limit = 5999
diagnostics = no
diagnostics-font = resource/BPmono.ttf
diagnostics-size = 15
[pop-up]
size = 22
length = 3000
foreground = #ffffff
background = #000000
center = yes
[boss]
damage-per-hit-level-1 = 6.0
damage-per-hit-level-2 = 2.5
damage-per-hit-level-3 = 1.75
cooldown-level-1 = 2500
cooldown-level-2 = 2100
cooldown-level-3 = 1300
first-combo-delay = 1300
[mouse]
visible = False
visible = no
[keys]
quit = K_ESCAPE
quit = K_q
up = K_u
[audio]
sfx-volume = .8
sfx-volume = 0.8
panel-enabled = yes
volume = 1.0
[input]
buffer = 0
arduino-port = /dev/ttyACM0
arduino-port = COM6
serial = yes
pi = no
confirm-quit = no
[time]
timer-max-time = 10000
timer-start-time = 7000
timer-addition = 1000
timer-start-level-1 = 9000
timer-start-level-2 = 7000
timer-start-level-3 = 6000
timer-addition-level-1 = 1100
timer-addition-level-2 = 700
timer-addition-level-3 = 700
timer-warning-start = 0.4
sword-delay = 300
attract-gif-length = 10000
attract-board-length = 3600
attract-reset-countdown = 30000
level-select-reset-countdown = 30000
level-select-press-length = 1500
ending-timeout = 7500
lizard-hurt-length = 2000
[bgm]
title = bgm/title.ogg, 1.0
level_0 = bgm/level_0.ogg, .65
level_1 = bgm/level_1.ogg, .65
level_2 = bgm/level_2.ogg, .65
end = bgm/end.ogg, .65
[pads]
nw_color = #FF88FF
ne_color = #E4B80C
se_color = #FF2222
sw_color = #2222FF
center_y = 376

View File

@ -0,0 +1,63 @@
Scrapeboard events checklist
============================
This is a list to look over while packing and before leaving for an event. For some events, some of these supplies may be unnecessary. For example, if the event uses a TV monitor, the projector wouldn't be necessary.
Basics
------
* Platform: four metal/wood panels with attached wires
* Skatedeck with attached metal pads
* Arduino
* Arduino USB cable
* Laptop that can run Scrapeboard
* Power for laptop
* HDMI cable
* PCB
* Male-to-male PCB pin adapter (usually in the Arudino already)
* Mini flat-head screwdriver
* HDMI Projector
* Projector screen
* Regular flat-head screwdriver
* Regular phillips-head screwdriver
* Pliers
* Mailing list clipboard
* Builder's manual print-out
* Remember to pull the latest version from the main branch of the Git repository
Raspberry Pi
------------
The Raspberry Pi is the preferred way to run the game, but it's more untested than using a laptop and Arduino. Ideally, bring both the Arudino + laptop version and the Raspberry Pi one.
* Raspberry Pi with Scrapeboard pre-installed and set to auto launch
* Raspberry Pi power adapter
* Micro-HDMI to HDMI cable
* PCB
* Mini phillips-head screwdriver
* USB keyboard
Sound
-----
The projector's speaker can be used for audio, but when not using a projector, a bluetooth speaker should be included.
* Bluetooth speaker with AUX input
* AUX cable
* USB charger for speaker
Merch
-----
* T-shirts
* Stickers
* Square credit card reader phone adapter
Extras
------
* Backup platform
* Backup skatedeck
* Extra resistors
* Extra speaker wire
* Knife

BIN
doc/img/End_screen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

BIN
doc/img/Level_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
doc/img/Level_select.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 MiB

BIN
doc/img/Scrapeboard_underside.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

BIN
doc/img/Title_screen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 KiB

BIN
doc/img/clasps.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

BIN
doc/img/metal_plate_outline.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
doc/img/metal_strip.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
doc/img/outer_screw_routing.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

BIN
doc/img/raspi-config.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

BIN
doc/img/stripped_wire_endings.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

BIN
doc/img/wood_panels_14in.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

129
gpio.py Normal file
View File

@ -0,0 +1,129 @@
# [SCRAPEBOARD] is an arcade game in development by [@diskmem] & [@snakesandrews]
#
# It requires custom hardware to play but can be tested in keyboard mode without
# the hardware. For more information on setting up and running the game, see
# README.md. For information on the game in general, see <https://scrape.nugget.fun/>.
#
# Full open source code is available at <https://git.nugget.fun/scrape/scrapeboard>.
#
# This module can be imported and used to check on the status of connections between four GPIO
# inputs on the Raspberry Pi for detecting the pads in Scrapeboard.
#
# It can also be run as a diagnostic script, in which case it prints connections detected between
# the input GPIO pins. Use the `-h` flag to print the options.
#
# $ python3 gpio.py -h
#
# Original algorithm by Dr. Clement Shimizu is taken from his Arduino code in serial/serial.ino
import time, itertools, argparse
import RPi.GPIO as GPIO
# These represent the game pads and the GPIO pins they're connected to
LNW, LNE, LSE, LSW = range(4)
pins = {
LNW: 26,
LNE: 19,
LSE: 13,
LSW: 6
}
def initialize_gpio():
"""
Set pin numbering mode to GPIO and initialize all pins to input pullup.
"""
# Use GPIO numbering
GPIO.setmode(GPIO.BCM)
# Set all pins to pullup
for pin_id, pin in pins.items():
GPIO.setup(pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
def connection2(pin_a, pin_b):
"""
Set `pin_a` to output a low signal, and set every other pin to pullup. If `pin_b` reads a low signal even though
it's set to pullup, that means `pin_a` is connected to it, so return `True`.
@param pin_a Pin which will be set to output LOW
@param pin_b Pin which will be read
@return `True` if a low signal is sent from `pin_a` to `pin_b`, `False` otherwise
"""
for pin_id, pin in pins.items():
if pin == pin_a:
# Set pin_a to output LOW
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, GPIO.LOW)
else:
# Set all other pins to input pullup
GPIO.setup(pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# Force 25ns delay between comparisons
time.sleep(0.025)
# pin_b can now be tested to see if if reads the LOW signal from pin_a
return GPIO.input(pin_b) == GPIO.LOW
def connection(pin_a, pin_b):
"""
Tests low signals connect from both A to B and from B to A
@param pin_a Test if this pin is connected to `pin_b`
@param pin_b Test if this pin is connected to `pin_a`
@return `True` if `pin_a` and `pin_b` are connected, `False` otherwise
"""
return connection2(pin_a, pin_b) and connection2(pin_b, pin_a)
def connections():
"""
Look at all six possible connections between the four pins and return the state of each as a single dict.
@return A dict with one entry per combination of pins, the key is a tuple of pin IDs, and the value is the state of connection
"""
state = {}
for pin_id_a, pin_id_b in itertools.combinations(pins, 2):
if connection(pins[pin_id_a], pins[pin_id_b]):
state[(pin_id_a, pin_id_b)] = True
else:
state[(pin_id_a, pin_id_b)] = False
return state
def activity():
"""
Look at all six possible connections between the four pins, and if a pin appears in any active connection, consider it active.
Return the active state of all four pins as a dict.
@return A dict with one entry per pin. The key is the pin ID, and the value is the state of whether it's active (a.k.a. pressed)
"""
# Create a dict of pins all at False
state = pins.copy()
for pin in state.keys():
state[pin] = False
# Check all six combinations. If a pin appears in a connection, update its state to True.
for pin_id_a, pin_id_b in itertools.combinations(pins, 2):
if connection(pins[pin_id_a], pins[pin_id_b]):
state[pin_id_a] = True
state[pin_id_b] = True
return state
if __name__ == "__main__":
# Set up and parse CLI
parser = argparse.ArgumentParser()
parser.add_argument("--connections", action="store_true")
parser.add_argument("--activity", action="store_true")
arguments = parser.parse_args()
initialize_gpio()
while True:
if arguments.connections or not arguments.activity:
# Try all connections once each frame
for connection_ids, connection_state in connections().items():
# Only print connected combinations of pins
if connection_state:
pin_id_a, pin_id_b = connection_ids
print(f"{pin_id_a} ({pins[pin_id_a]}) <-> {pin_id_b} ({pins[pin_id_b]})")
else:
pin_activity = activity()
print(f"LNW {int(pin_activity[LNW])} LNE {int(pin_activity[LNE])} LSE {int(pin_activity[LSE])} LSW {int(pin_activity[LSW])}")

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

14
kicad/README.md Normal file
View File

@ -0,0 +1,14 @@
KiCad PCB project files
=======================
This folder contains a [KiCad 7](https://kicad.org) project for printing a circuit board that can attach to Raspberry Pi or Arduino. KiCad 7 software is required for viewing and editing. The necessary footprint, symbol, and 3D model files are included. Local paths have been set to include these folders, so the projects should be able to load everything automatically, but they have not been tested on other installations of KiCad.
This PCB can be printed and used to connect the wires from the four metal plates to either an Arduino or a Raspberry Pi.
Originally made by Evan Kahn and modified by Frank DeMarco. Alien goon logo is by Blake Andrews. The boards and project files are released under the zlib license, so they are licensed to be used for any purpose. See [LICENSE.txt](../LICENSE.txt) for details.
![Scrapeboard Raspberry Pi hat](../www/pcb_hats/scrapeboard_hat_top_and_bottom_annotated.png)
![Scrapeboard Arduino UNO hat](../www/pcb_hats/scrapeboard_hat_top_and_bottom_annotated.png)
![Scrapeboard Arduino UNO hat](../www/KiCad_GUI_screen.png)

View File

@ -0,0 +1,57 @@
(footprint "PinHeader_1x04_P2.54mm_Vertical" (version 20221018) (generator pcbnew)
(layer "F.Cu")
(descr "Through hole straight pin header, 1x04, 2.54mm pitch, single row")
(tags "Through hole pin header THT 1x04 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.33) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp d559e78f-9137-43bf-9f69-165532415fcf)
)
(fp_text value "PinHeader_1x04_P2.54mm_Vertical" (at 0 9.95) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 348f53c9-f22c-45ad-a1c8-50113d0805cb)
)
(fp_text user "${REFERENCE}" (at 0 3.81 90) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 6a275956-06fa-47ad-92b1-820393d36d11)
)
(fp_line (start -1.33 -1.33) (end 0 -1.33)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp decb3ddc-c833-429d-8c0e-63b5aa24bff4))
(fp_line (start -1.33 0) (end -1.33 -1.33)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3842b227-6544-43a1-85fa-56835b085379))
(fp_line (start -1.33 1.27) (end -1.33 8.95)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e60cdaf9-8c35-4a4f-a87a-cc0c4ae2445b))
(fp_line (start -1.33 1.27) (end 1.33 1.27)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6e06f040-0623-46ed-af8e-13eea2bd173d))
(fp_line (start -1.33 8.95) (end 1.33 8.95)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 48f5f3f1-daeb-4966-b655-9849658074ad))
(fp_line (start 1.33 1.27) (end 1.33 8.95)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 31936b74-58c0-41b0-9174-96592b7c2da3))
(fp_line (start -1.8 -1.8) (end -1.8 9.4)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c81c6ee0-4441-4de7-807f-c30b3d1aa088))
(fp_line (start -1.8 9.4) (end 1.8 9.4)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 9743eb14-e958-45a4-83eb-310dcdb26e62))
(fp_line (start 1.8 -1.8) (end -1.8 -1.8)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp eef21155-0819-4e22-84e8-f17b0bc291da))
(fp_line (start 1.8 9.4) (end 1.8 -1.8)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 22b486a5-f3c3-447d-83fc-e0bf37a5d122))
(fp_line (start -1.27 -0.635) (end -0.635 -1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f23b7a6c-84ee-4e57-bc43-363743bbba33))
(fp_line (start -1.27 8.89) (end -1.27 -0.635)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 91ac591b-23aa-41f6-a831-190c665c7dd1))
(fp_line (start -0.635 -1.27) (end 1.27 -1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 036fb27e-aac9-4db3-afab-9f568eb24cb5))
(fp_line (start 1.27 -1.27) (end 1.27 8.89)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a0f55beb-3ffe-43fe-b95d-6e9857ff1b99))
(fp_line (start 1.27 8.89) (end -1.27 8.89)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 110fb385-fb0b-4fa5-817c-9563606ec082))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 154cd23f-521c-47b4-b321-b81bccc55300))
(pad "2" thru_hole oval (at 0 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 73467b20-058f-45e4-ac84-184d62db7dc8))
(pad "3" thru_hole oval (at 0 5.08) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 70affaf9-cf8f-4cfc-b9e7-c80a572e37b4))
(pad "4" thru_hole oval (at 0 7.62) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 7773fc0b-045f-44e0-9512-f82000fc06b7))
(model "../3dmodels/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x04_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,43 @@
(footprint "PinSocket_1x04_P2.54mm_Vertical" (version 20211014) (generator pcbnew)
(layer "F.Cu")
(tedit 5A19A429)
(descr "Through hole straight socket strip, 1x04, 2.54mm pitch, single row (from Kicad 4.0.7), script generated")
(tags "Through hole socket strip THT 1x04 2.54mm single row")
(attr through_hole)
(fp_text reference "REF**" (at 0 -2.77) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp f2b54470-c210-48e0-af04-601bc8f080b6)
)
(fp_text value "PinSocket_1x04_P2.54mm_Vertical" (at 0 10.39) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp d53e0302-0db9-4055-a945-e949bb69a01a)
)
(fp_text user "${REFERENCE}" (at 0 3.81 90) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 12818457-a928-4a58-a768-32818fc42d8d)
)
(fp_line (start 0 -1.33) (end 1.33 -1.33) (layer "F.SilkS") (width 0.12) (tstamp 0b0caae4-3516-4e1d-8c34-db4d96d41b69))
(fp_line (start 1.33 -1.33) (end 1.33 0) (layer "F.SilkS") (width 0.12) (tstamp 1bbfb789-b903-4d94-a84c-27c31d6ddb87))
(fp_line (start -1.33 1.27) (end -1.33 8.95) (layer "F.SilkS") (width 0.12) (tstamp 257cdb19-4025-4fa7-9a74-b2d22e8ba58d))
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer "F.SilkS") (width 0.12) (tstamp 7046adf6-9740-4d25-b205-d1fffb82b005))
(fp_line (start 1.33 1.27) (end 1.33 8.95) (layer "F.SilkS") (width 0.12) (tstamp c8cf58ba-8863-4630-be56-78a2eb8d55bd))
(fp_line (start -1.33 8.95) (end 1.33 8.95) (layer "F.SilkS") (width 0.12) (tstamp d1e4446c-7a25-4f49-846a-5ec9b3ac753a))
(fp_line (start -1.8 9.4) (end -1.8 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 59f28584-bc37-4ee4-9d8d-83313332dd22))
(fp_line (start 1.75 -1.8) (end 1.75 9.4) (layer "F.CrtYd") (width 0.05) (tstamp 63d51db6-ac13-4c8e-a47e-37785e50651f))
(fp_line (start -1.8 -1.8) (end 1.75 -1.8) (layer "F.CrtYd") (width 0.05) (tstamp 7fbbaabf-f9c9-4c65-84ac-eb48bbb94306))
(fp_line (start 1.75 9.4) (end -1.8 9.4) (layer "F.CrtYd") (width 0.05) (tstamp f7f34377-dc94-4e23-abc2-c9ec3682eb39))
(fp_line (start 0.635 -1.27) (end 1.27 -0.635) (layer "F.Fab") (width 0.1) (tstamp 4488ae3b-6026-4638-a2e4-db8d518174db))
(fp_line (start 1.27 -0.635) (end 1.27 8.89) (layer "F.Fab") (width 0.1) (tstamp 71b610dc-6482-4490-9131-865e7f856685))
(fp_line (start -1.27 8.89) (end -1.27 -1.27) (layer "F.Fab") (width 0.1) (tstamp 7949220b-fca3-49a1-9b4c-fac10faf8d69))
(fp_line (start -1.27 -1.27) (end 0.635 -1.27) (layer "F.Fab") (width 0.1) (tstamp 7c45869b-ce5d-4b65-9c7c-2e902cfe9d0a))
(fp_line (start 1.27 8.89) (end -1.27 8.89) (layer "F.Fab") (width 0.1) (tstamp f97fc5e6-8b3e-4567-9586-3ebba4b86f3f))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 2e08a263-3e07-43ef-b8ac-536cb45b6165))
(pad "2" thru_hole oval (at 0 2.54) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 21d635ce-212a-436e-8900-6f95ebc71c55))
(pad "3" thru_hole oval (at 0 5.08) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 4eed0372-d89a-4fec-bea1-b5660297ac7d))
(pad "4" thru_hole oval (at 0 7.62) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask) (tstamp 1f92a149-11c2-4b9c-9f4d-d30f134bf31d))
(model "${KICAD6_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x04_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,63 @@
(footprint "PinSocket_2x03_P2.54mm_Vertical" (version 20221018) (generator pcbnew)
(layer "F.Cu")
(descr "Through hole straight socket strip, 2x03, 2.54mm pitch, double cols (from Kicad 4.0.7), script generated")
(tags "Through hole socket strip THT 2x03 2.54mm double row")
(attr through_hole)
(fp_text reference "REF**" (at -1.27 -2.77) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 547f6058-d0f8-4b17-9eea-3335399ee2c3)
)
(fp_text value "PinSocket_2x03_P2.54mm_Vertical" (at -1.27 7.85) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp e73ef684-f822-425e-9f87-e46d26e33de1)
)
(fp_text user "${REFERENCE}" (at -1.27 2.54 90) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp b21bfe37-8cf6-472a-8277-d897f75677af)
)
(fp_line (start -3.87 -1.33) (end -3.87 6.41)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8dba4dae-6ee7-41f7-89af-5eae2b9e24d5))
(fp_line (start -3.87 -1.33) (end -1.27 -1.33)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp bd6823a8-eecf-4e7d-a82a-861ce2f958a1))
(fp_line (start -3.87 6.41) (end 1.33 6.41)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3fe1ebdd-418a-49ec-9b1a-7fd025aa8474))
(fp_line (start -1.27 -1.33) (end -1.27 1.27)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp be73fec0-a41c-479e-9ca5-41e528e60fd7))
(fp_line (start -1.27 1.27) (end 1.33 1.27)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 494e1600-1f0d-4a93-9da6-23d025d75462))
(fp_line (start 0 -1.33) (end 1.33 -1.33)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 91e2d6b4-f2ba-48a8-8abf-6d5a87305bd7))
(fp_line (start 1.33 -1.33) (end 1.33 0)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f10b8cfb-68c6-4d3d-9601-86c90e4e064a))
(fp_line (start 1.33 1.27) (end 1.33 6.41)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9d00c9b1-8ed2-41a8-a4d4-84c0935b9a2e))
(fp_line (start -4.34 -1.8) (end 1.76 -1.8)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 2fed7008-a1b8-4949-ad06-dfccf8306a57))
(fp_line (start -4.34 6.85) (end -4.34 -1.8)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c593c6bd-791a-4447-b384-7d62cd512ff7))
(fp_line (start 1.76 -1.8) (end 1.76 6.85)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp e242fa4e-f2ef-4372-9f5b-a4d3ecf2c6a6))
(fp_line (start 1.76 6.85) (end -4.34 6.85)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 78e3d90c-43b7-4836-b83d-3d53d086928b))
(fp_line (start -3.81 -1.27) (end 0.27 -1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7e29cd35-3f2a-48c9-acc8-d014a5110b8d))
(fp_line (start -3.81 6.35) (end -3.81 -1.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 781febbd-90b2-44d9-83bb-b1d2479a435f))
(fp_line (start 0.27 -1.27) (end 1.27 -0.27)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b16ab704-c191-447a-be88-e92f6fe58e2c))
(fp_line (start 1.27 -0.27) (end 1.27 6.35)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 06a63ecb-6558-417d-a55c-2bf4413510cb))
(fp_line (start 1.27 6.35) (end -3.81 6.35)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2550f46f-d775-4a46-85aa-2c06289b6e41))
(pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp d9b0de11-74c8-4d77-86fa-70a51d432852))
(pad "2" thru_hole oval (at -2.54 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 5efdc2f3-947f-47e4-be12-376e85cabe90))
(pad "3" thru_hole oval (at 0 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp 1755c143-7bd3-42a1-8a6e-adbfe4768968))
(pad "4" thru_hole oval (at -2.54 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp a6077d29-b32a-4586-9b87-15ca964f7122))
(pad "5" thru_hole oval (at 0 5.08) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp b712a23c-c57a-4596-844a-f582681a8672))
(pad "6" thru_hole oval (at -2.54 5.08) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") (tstamp f98507ce-23ea-4ae8-b05f-5fb546e4dd3f))
(model "../3dmodels/Connector_PinSocket_2.54mm.3dshapes/PinSocket_2x03_P2.54mm_Vertical.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,49 @@
(footprint "R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal" (version 20221018) (generator pcbnew)
(layer "F.Cu")
(descr "Resistor, Axial_DIN0204 series, Axial, Horizontal, pin pitch=5.08mm, 0.167W, length*diameter=3.6*1.6mm^2, http://cdn-reichelt.de/documents/datenblatt/B400/1_4W%23YAG.pdf")
(tags "Resistor Axial_DIN0204 series Axial Horizontal pin pitch 5.08mm 0.167W length 3.6mm diameter 1.6mm")
(attr through_hole)
(fp_text reference "REF**" (at 2.54 -1.92) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp ebea55fe-536f-4927-aa8d-6fcdfd78ce7a)
)
(fp_text value "R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal" (at 2.54 1.92) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp d0bf7ffd-3c91-431f-a80b-0a79f3746de9)
)
(fp_text user "${REFERENCE}" (at 2.54 0) (layer "F.Fab")
(effects (font (size 0.72 0.72) (thickness 0.108)))
(tstamp 41964bac-5517-4835-9a75-1e78fb8fdbf3)
)
(fp_line (start 0.62 -0.92) (end 4.46 -0.92)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7838ef45-07ba-4309-a2ca-7e8d9db957fa))
(fp_line (start 0.62 0.92) (end 4.46 0.92)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5b5ee5a6-78cb-4a95-921d-77e05f111e1d))
(fp_line (start -0.95 -1.05) (end -0.95 1.05)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 326374a9-11e2-4ed4-9096-41c432bf783b))
(fp_line (start -0.95 1.05) (end 6.03 1.05)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d71fb886-2b0d-4954-9f5d-9dc732799255))
(fp_line (start 6.03 -1.05) (end -0.95 -1.05)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ebc18cf3-a0eb-4813-aa40-a8538219d5d5))
(fp_line (start 6.03 1.05) (end 6.03 -1.05)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3f192b22-7424-4689-b8c9-4082a2577f5c))
(fp_line (start 0 0) (end 0.74 0)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 4d20b271-141d-4c9c-a5f4-2ad87473b03b))
(fp_line (start 0.74 -0.8) (end 0.74 0.8)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9dedcc7f-88be-491b-b7ea-281efff1ff70))
(fp_line (start 0.74 0.8) (end 4.34 0.8)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b10178b3-9c6b-452e-9ac1-4c96c0d98a15))
(fp_line (start 4.34 -0.8) (end 0.74 -0.8)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c0f03172-0d98-467c-9df6-8d41589d8644))
(fp_line (start 4.34 0.8) (end 4.34 -0.8)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 470bc31e-9d3d-492f-9108-2e8867078dba))
(fp_line (start 5.08 0) (end 4.34 0)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dcc0313f-4fed-4546-96b4-431fce0eeeec))
(pad "1" thru_hole circle (at 0 0) (size 1.4 1.4) (drill 0.7) (layers "*.Cu" "*.Mask") (tstamp a4046359-6457-425d-a49b-248934349aed))
(pad "2" thru_hole oval (at 5.08 0) (size 1.4 1.4) (drill 0.7) (layers "*.Cu" "*.Mask") (tstamp cc3d7c9b-0586-4d33-b6fd-733dca88e64b))
(model "../3dmodels/Resistor_THT.3dshapes/R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,133 @@
(footprint "TerminalBlock_Phoenix_MKDS-1,5-4_1x04_P5.00mm_Horizontal" (version 20221018) (generator pcbnew)
(layer "F.Cu")
(descr "Terminal Block Phoenix MKDS-1,5-4, 4 pins, pitch 5mm, size 20x9.8mm^2, drill diamater 1.3mm, pad diameter 2.6mm, see http://www.farnell.com/datasheets/100425.pdf, script-generated using https://github.com/pointhi/kicad-footprint-generator/scripts/TerminalBlock_Phoenix")
(tags "THT Terminal Block Phoenix MKDS-1,5-4 pitch 5mm size 20x9.8mm^2 drill 1.3mm pad 2.6mm")
(attr through_hole)
(fp_text reference "REF**" (at 7.5 -6.26) (layer "F.SilkS")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp a21e8700-241b-400e-83fb-fadb2d4c102d)
)
(fp_text value "TerminalBlock_Phoenix_MKDS-1,5-4_1x04_P5.00mm_Horizontal" (at 7.5 5.66) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp de4143e3-1566-40dc-9690-7491c66e0405)
)
(fp_text user "${REFERENCE}" (at 7.5 3.2) (layer "F.Fab")
(effects (font (size 1 1) (thickness 0.15)))
(tstamp 56e24b71-ec18-4ed3-afae-35ca33a2b246)
)
(fp_line (start -2.8 4.16) (end -2.8 4.9)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d4c0e6f5-e415-4c25-a64b-e3286aa5b23d))
(fp_line (start -2.8 4.9) (end -2.3 4.9)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8e974080-6df8-4af1-85c0-f90c9b8bd2b6))
(fp_line (start -2.56 -5.261) (end -2.56 4.66)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d4e760ee-1684-4f4e-81cc-08c17225f771))
(fp_line (start -2.56 -5.261) (end 17.561 -5.261)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 92feddb0-12ce-4382-9a81-301b3776452d))
(fp_line (start -2.56 -2.301) (end 17.561 -2.301)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7c6aaba1-d40c-4c8b-99cf-fe6b024df4ba))
(fp_line (start -2.56 2.6) (end 17.561 2.6)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e692a87c-964a-4222-aaf6-84deb6ef7d53))
(fp_line (start -2.56 4.1) (end 17.561 4.1)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4ba88744-45ca-4487-a0e1-8b232a8ae0ac))
(fp_line (start -2.56 4.66) (end 17.561 4.66)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7ae7bceb-2af8-4bbc-9f7a-738f07bea61b))
(fp_line (start 3.773 1.023) (end 3.726 1.069)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4d819a18-dd2a-4355-a1aa-a0e05780d58a))
(fp_line (start 3.966 1.239) (end 3.931 1.274)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 31417d65-a94a-40cf-b830-1f8f06988481))
(fp_line (start 6.07 -1.275) (end 6.035 -1.239)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 68ba6865-d06e-4dd1-9086-8a8c604145ea))
(fp_line (start 6.275 -1.069) (end 6.228 -1.023)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5791149e-f802-4b60-9383-f082bb19f4e3))
(fp_line (start 8.773 1.023) (end 8.726 1.069)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2358fd56-5b56-4f33-b933-0f5e71778831))
(fp_line (start 8.966 1.239) (end 8.931 1.274)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0df73792-2d3a-4abb-9786-a7b9f1c0b5e5))
(fp_line (start 11.07 -1.275) (end 11.035 -1.239)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 759605aa-4ad5-41ad-b7c1-0f9fc6fd2f62))
(fp_line (start 11.275 -1.069) (end 11.228 -1.023)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 486a7108-3b6c-490e-9119-5aacbecfa75f))
(fp_line (start 13.773 1.023) (end 13.726 1.069)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ae0d4f5e-65f2-46ec-a122-3d11a253b453))
(fp_line (start 13.966 1.239) (end 13.931 1.274)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 42b35d34-46c7-4410-a4b3-091caf4d3f19))
(fp_line (start 16.07 -1.275) (end 16.035 -1.239)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 15c0758b-f306-45b5-8d01-14a8db926dd7))
(fp_line (start 16.275 -1.069) (end 16.228 -1.023)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9b14171e-c21e-498a-8233-50819d357e0b))
(fp_line (start 17.561 -5.261) (end 17.561 4.66)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp eb198d0c-7a5c-4f81-837e-76c8212f4040))
(fp_arc (start -1.535427 0.683042) (mid -1.680501 -0.000524) (end -1.535 -0.684)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f8ed04b9-622d-4130-ba0c-e4f187b5b8a4))
(fp_arc (start -0.683042 -1.535427) (mid 0.000524 -1.680501) (end 0.684 -1.535)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 198fdd75-8403-4c63-924e-148c9394b9d7))
(fp_arc (start 0.028805 1.680253) (mid -0.335551 1.646659) (end -0.684 1.535)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 9a6be24a-1d2d-4a11-a93d-771673f88bac))
(fp_arc (start 0.683318 1.534756) (mid 0.349292 1.643288) (end 0 1.68)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 48aa4a68-fa93-4263-8b29-af35c8910190))
(fp_arc (start 1.535427 -0.683042) (mid 1.680501 0.000524) (end 1.535 0.684)
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 44939052-2f80-4be5-bb65-435fd966c3cb))
(fp_circle (center 5 0) (end 6.68 0)
(stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp 81094710-f8b5-4eee-9c62-b9cc8d864112))
(fp_circle (center 10 0) (end 11.68 0)
(stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp f7c06156-93b3-48bb-97b3-066c9ee981f1))
(fp_circle (center 15 0) (end 16.68 0)
(stroke (width 0.12) (type solid)) (fill none) (layer "F.SilkS") (tstamp 485fde80-1e36-4bf2-b4ec-a24930286064))
(fp_line (start -3 -5.71) (end -3 5.1)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 511a7274-e689-46a1-b431-1606a0baad24))
(fp_line (start -3 5.1) (end 18 5.1)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b2c91f91-0022-48a5-a9e8-09d1f1b132f0))
(fp_line (start 18 -5.71) (end -3 -5.71)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5e92a9a6-94a7-4bbd-9db2-6fcc9e62a1f1))
(fp_line (start 18 5.1) (end 18 -5.71)
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4c32cf34-3934-4215-b035-e6983e2f8e45))
(fp_line (start -2.5 -5.2) (end 17.5 -5.2)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8af2bd48-29b1-4512-9e88-e397b5f81a7f))
(fp_line (start -2.5 -2.3) (end 17.5 -2.3)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 10c68a37-927f-444c-9361-3820dcb39299))
(fp_line (start -2.5 2.6) (end 17.5 2.6)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c47bd299-e3fa-4a21-a123-ebdf5d70eef8))
(fp_line (start -2.5 4.1) (end -2.5 -5.2)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 716ee938-647e-4a4f-8135-4e2e27f6850b))
(fp_line (start -2.5 4.1) (end 17.5 4.1)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 58dffd43-8365-4dfe-9744-9f59cbf6c610))
(fp_line (start -2 4.6) (end -2.5 4.1)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ee917058-4132-4021-9c45-300db29cdcbc))
(fp_line (start 0.955 -1.138) (end -1.138 0.955)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 52efb189-4b3d-440f-8062-66049cf989e7))
(fp_line (start 1.138 -0.955) (end -0.955 1.138)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 88a81e11-86ee-4d13-94fb-ab01ad4b251e))
(fp_line (start 5.955 -1.138) (end 3.863 0.955)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp c53a5d42-c505-4178-b07e-dea74a6c0521))
(fp_line (start 6.138 -0.955) (end 4.046 1.138)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 436754bc-d636-46e2-ae3d-09c3660b0c82))
(fp_line (start 10.955 -1.138) (end 8.863 0.955)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9fb03865-778a-4ae5-9611-b443ee37e5d9))
(fp_line (start 11.138 -0.955) (end 9.046 1.138)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b258cc7e-24b9-4d4b-a095-a2259180295d))
(fp_line (start 15.955 -1.138) (end 13.863 0.955)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 47e26b55-5971-4469-bb28-c55c2c868cb1))
(fp_line (start 16.138 -0.955) (end 14.046 1.138)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 13cc8dd9-74c8-4222-affa-2a4e8006eb08))
(fp_line (start 17.5 -5.2) (end 17.5 4.6)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ded0f7c3-8929-498f-b016-eb53fb0bbde5))
(fp_line (start 17.5 4.6) (end -2 4.6)
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 67c31ba9-f69f-4828-adf5-7d0d9746a585))
(fp_circle (center 0 0) (end 1.5 0)
(stroke (width 0.1) (type solid)) (fill none) (layer "F.Fab") (tstamp c5b83e75-e018-466a-99e4-e8119ecc75dd))
(fp_circle (center 5 0) (end 6.5 0)
(stroke (width 0.1) (type solid)) (fill none) (layer "F.Fab") (tstamp d9e19c94-bfad-4eee-90be-c6e460ee9cf5))
(fp_circle (center 10 0) (end 11.5 0)
(stroke (width 0.1) (type solid)) (fill none) (layer "F.Fab") (tstamp 90c37f53-8ffa-4ebe-9a8c-4b924f310093))
(fp_circle (center 15 0) (end 16.5 0)
(stroke (width 0.1) (type solid)) (fill none) (layer "F.Fab") (tstamp 097537d6-8842-4c97-bfd2-e1c88cf37777))
(pad "1" thru_hole rect (at 0 0) (size 2.6 2.6) (drill 1.3) (layers "*.Cu" "*.Mask") (tstamp 21d2cab0-828f-4396-b3aa-dcd78386c0bf))
(pad "2" thru_hole circle (at 5 0) (size 2.6 2.6) (drill 1.3) (layers "*.Cu" "*.Mask") (tstamp cb39843e-e04f-4101-9146-b9f08ca26d6c))
(pad "3" thru_hole circle (at 10 0) (size 2.6 2.6) (drill 1.3) (layers "*.Cu" "*.Mask") (tstamp 05259832-ed60-4eb7-bab6-477bb172ee86))
(pad "4" thru_hole circle (at 15 0) (size 2.6 2.6) (drill 1.3) (layers "*.Cu" "*.Mask") (tstamp 43d8a773-2c4a-4143-8007-31330a485ad8))
(model "../3dmodels/TerminalBlock_Phoenix.3dshapes/TerminalBlock_Phoenix_MKDS-1,5-4_1x04_P5.00mm_Horizontal.wrl"
(offset (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@ -0,0 +1,15 @@
3349543420202
Connector_PinSocket_2.54mm
PinSocket_1x04_P2.54mm_Vertical
Through hole straight socket strip, 1x04, 2.54mm pitch, single row (from Kicad 4.0.7), script generated
Through hole socket strip THT 1x04 2.54mm single row
0
4
4
Connector_PinSocket_2.54mm
PinSocket_2x03_P2.54mm_Vertical
Through hole straight socket strip, 2x03, 2.54mm pitch, double cols (from Kicad 4.0.7), script generated
Through hole socket strip THT 2x03 2.54mm double row
0
6
6

View File

@ -0,0 +1,7 @@
(fp_lib_table
(lib (name "Connector_PinHeader_2.54mm")(type "KiCad")(uri "${KIPRJMOD}/../footprints/Connector_PinHeader_2.54mm.pretty")(options "")(descr ""))
(lib (name "Connector_PinSocket_2.54mm")(type "KiCad")(uri "${KIPRJMOD}/../footprints/Connector_PinSocket_2.54mm.pretty")(options "")(descr ""))
(lib (name "Resistor_THT")(type "KiCad")(uri "${KIPRJMOD}/../footprints/Resistor_THT.pretty")(options "")(descr ""))
(lib (name "scrapeboard_footprint_library")(type "KiCad")(uri "${KIPRJMOD}/../footprints/scrapeboard_footprint_library.pretty")(options "")(descr ""))
(lib (name "TerminalBlock_Phoenix")(type "KiCad")(uri "${KIPRJMOD}/../footprints/TerminalBlock_Phoenix.pretty")(options "")(descr ""))
)

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,77 @@
{
"board": {
"active_layer": 0,
"active_layer_preset": "All Layers",
"auto_track_width": true,
"hidden_netclasses": [],
"hidden_nets": [],
"high_contrast_mode": 0,
"net_color_mode": 1,
"opacity": {
"images": 0.6,
"pads": 1.0,
"tracks": 1.0,
"vias": 1.0,
"zones": 0.6
},
"selection_filter": {
"dimensions": true,
"footprints": true,
"graphics": true,
"keepouts": true,
"lockedItems": true,
"otherItems": true,
"pads": true,
"text": true,
"tracks": true,
"vias": true,
"zones": true
},
"visible_items": [
0,
1,
2,
3,
4,
5,
8,
9,
10,
11,
12,
13,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
32,
33,
34,
35,
36,
39,
40
],
"visible_layers": "fffffff_ffffffff",
"zone_display_mode": 0
},
"meta": {
"filename": "scrapeboard_hat.kicad_prl",
"version": 3
},
"project": {
"files": []
}
}

View File

@ -0,0 +1,489 @@
{
"board": {
"3dviewports": [],
"design_settings": {
"defaults": {
"board_outline_line_width": 0.09999999999999999,
"copper_line_width": 0.19999999999999998,
"copper_text_italic": false,
"copper_text_size_h": 1.5,
"copper_text_size_v": 1.5,
"copper_text_thickness": 0.3,
"copper_text_upright": false,
"courtyard_line_width": 0.049999999999999996,
"dimension_precision": 4,
"dimension_units": 3,
"dimensions": {
"arrow_length": 1270000,
"extension_offset": 500000,
"keep_text_aligned": true,
"suppress_zeroes": false,
"text_position": 0,
"units_format": 1
},
"fab_line_width": 0.09999999999999999,
"fab_text_italic": false,
"fab_text_size_h": 1.0,
"fab_text_size_v": 1.0,
"fab_text_thickness": 0.15,
"fab_text_upright": false,
"other_line_width": 0.15,
"other_text_italic": false,
"other_text_size_h": 1.0,
"other_text_size_v": 1.0,
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.762,
"height": 1.524,
"width": 1.524
},
"silk_line_width": 0.15,
"silk_text_italic": false,
"silk_text_size_h": 1.0,
"silk_text_size_v": 1.0,
"silk_text_thickness": 0.15,
"silk_text_upright": false,
"zones": {
"min_clearance": 0.508
}
},
"diff_pair_dimensions": [
{
"gap": 0.0,
"via_gap": 0.0,
"width": 0.0
}
],
"drc_exclusions": [],
"meta": {
"version": 2
},
"rule_severities": {
"annular_width": "error",
"clearance": "error",
"connection_width": "warning",
"copper_edge_clearance": "error",
"copper_sliver": "warning",
"courtyards_overlap": "error",
"diff_pair_gap_out_of_range": "error",
"diff_pair_uncoupled_length_too_long": "error",
"drill_out_of_range": "error",
"duplicate_footprints": "warning",
"extra_footprint": "warning",
"footprint": "error",
"footprint_type_mismatch": "warning",
"hole_clearance": "error",
"hole_near_hole": "error",
"invalid_outline": "error",
"isolated_copper": "warning",
"item_on_disabled_layer": "error",
"items_not_allowed": "error",
"length_out_of_range": "error",
"lib_footprint_issues": "warning",
"lib_footprint_mismatch": "warning",
"malformed_courtyard": "error",
"microvia_drill_out_of_range": "error",
"missing_courtyard": "ignore",
"missing_footprint": "warning",
"net_conflict": "warning",
"npth_inside_courtyard": "warning",
"padstack": "warning",
"pth_inside_courtyard": "warning",
"shorting_items": "error",
"silk_edge_clearance": "warning",
"silk_over_copper": "warning",
"silk_overlap": "warning",
"skew_out_of_range": "error",
"solder_mask_bridge": "error",
"starved_thermal": "error",
"text_height": "warning",
"text_thickness": "warning",
"through_hole_pad_without_hole": "error",
"too_many_vias": "error",
"track_dangling": "warning",
"track_width": "error",
"tracks_crossing": "error",
"unconnected_items": "error",
"unresolved_variable": "error",
"via_dangling": "warning",
"zones_intersect": "error"
},
"rules": {
"max_error": 0.005,
"min_clearance": 0.0,
"min_connection": 0.0,
"min_copper_edge_clearance": 0.0,
"min_hole_clearance": 0.25,
"min_hole_to_hole": 0.25,
"min_microvia_diameter": 0.19999999999999998,
"min_microvia_drill": 0.09999999999999999,
"min_resolved_spokes": 2,
"min_silk_clearance": 0.0,
"min_text_height": 0.7999999999999999,
"min_text_thickness": 0.12,
"min_through_hole_diameter": 0.3,
"min_track_width": 0.19999999999999998,
"min_via_annular_width": 0.049999999999999996,
"min_via_diameter": 0.39999999999999997,
"solder_mask_clearance": 0.0,
"solder_mask_min_width": 0.0,
"solder_mask_to_copper_clearance": 0.0,
"use_height_for_length_calcs": true
},
"teardrop_options": [
{
"td_allow_use_two_tracks": true,
"td_curve_segcount": 5,
"td_on_pad_in_zone": false,
"td_onpadsmd": true,
"td_onroundshapesonly": false,
"td_ontrackend": false,
"td_onviapad": true
}
],
"teardrop_parameters": [
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_round_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_rect_shape",
"td_width_to_size_filter_ratio": 0.9
},
{
"td_curve_segcount": 0,
"td_height_ratio": 1.0,
"td_length_ratio": 0.5,
"td_maxheight": 2.0,
"td_maxlen": 1.0,
"td_target_name": "td_track_end",
"td_width_to_size_filter_ratio": 0.9
}
],
"track_widths": [
0.0
],
"via_dimensions": [
{
"diameter": 0.0,
"drill": 0.0
}
],
"zones_allow_external_fillets": false
},
"layer_presets": [],
"viewports": []
},
"boards": [],
"cvpcb": {
"equivalence_files": []
},
"erc": {
"erc_exclusions": [],
"meta": {
"version": 0
},
"pin_map": [
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
1,
2
],
[
0,
1,
0,
0,
0,
0,
1,
1,
2,
1,
1,
2
],
[
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2
],
[
1,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
2
],
[
0,
0,
0,
1,
0,
0,
1,
0,
0,
0,
0,
2
],
[
0,
2,
1,
2,
0,
0,
1,
0,
2,
2,
2,
2
],
[
0,
2,
0,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
0,
2,
1,
1,
0,
0,
1,
0,
2,
0,
0,
2
],
[
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2,
2
]
],
"rule_severities": {
"bus_definition_conflict": "error",
"bus_entry_needed": "error",
"bus_to_bus_conflict": "error",
"bus_to_net_conflict": "error",
"conflicting_netclasses": "error",
"different_unit_footprint": "error",
"different_unit_net": "error",
"duplicate_reference": "error",
"duplicate_sheet_names": "error",
"endpoint_off_grid": "warning",
"extra_units": "error",
"global_label_dangling": "warning",
"hier_label_mismatch": "error",
"label_dangling": "error",
"lib_symbol_issues": "warning",
"missing_bidi_pin": "warning",
"missing_input_pin": "warning",
"missing_power_pin": "error",
"missing_unit": "warning",
"multiple_net_names": "warning",
"net_not_bus_member": "warning",
"no_connect_connected": "warning",
"no_connect_dangling": "warning",
"pin_not_connected": "error",
"pin_not_driven": "error",
"pin_to_pin": "warning",
"power_pin_not_driven": "error",
"similar_labels": "warning",
"simulation_model_issue": "error",
"unannotated": "error",
"unit_value_mismatch": "error",
"unresolved_variable": "error",
"wire_dangling": "error"
}
},
"libraries": {
"pinned_footprint_libs": [],
"pinned_symbol_libs": []
},
"meta": {
"filename": "scrapeboardhat_uno.kicad_pro",
"version": 1
},
"net_settings": {
"classes": [
{
"bus_width": 12,
"clearance": 0.2,
"diff_pair_gap": 0.25,
"diff_pair_via_gap": 0.25,
"diff_pair_width": 0.2,
"line_style": 0,
"microvia_diameter": 0.3,
"microvia_drill": 0.1,
"name": "Default",
"pcb_color": "rgba(0, 0, 0, 0.000)",
"schematic_color": "rgba(0, 0, 0, 0.000)",
"track_width": 0.25,
"via_diameter": 0.8,
"via_drill": 0.4,
"wire_width": 6
}
],
"meta": {
"version": 3
},
"net_colors": null,
"netclass_assignments": null,
"netclass_patterns": []
},
"pcbnew": {
"last_paths": {
"gencad": "",
"idf": "",
"netlist": "",
"specctra_dsn": "",
"step": "",
"vrml": ""
},
"page_layout_descr_file": ""
},
"schematic": {
"annotate_start_num": 0,
"drawing": {
"dashed_lines_dash_length_ratio": 12.0,
"dashed_lines_gap_length_ratio": 3.0,
"default_line_thickness": 6.0,
"default_text_size": 50.0,
"field_names": [],
"intersheets_ref_own_page": false,
"intersheets_ref_prefix": "",
"intersheets_ref_short": false,
"intersheets_ref_show": false,
"intersheets_ref_suffix": "",
"junction_size_choice": 3,
"label_size_ratio": 0.375,
"pin_symbol_size": 25.0,
"text_offset_ratio": 0.15
},
"legacy_lib_dir": "",
"legacy_lib_list": [],
"meta": {
"version": 1
},
"net_format_name": "",
"page_layout_descr_file": "",
"plot_directory": "",
"spice_adjust_passive_values": false,
"spice_external_command": "spice \"%I\"",
"spice_save_all_currents": false,
"spice_save_all_voltages": false,
"subpart_first_id": 65,
"subpart_id_separator": 0
},
"sheets": [
[
"195130d0-ebea-4258-8e5e-5259bc202c76",
""
]
],
"text_variables": {}
}

View File

@ -0,0 +1,449 @@
(kicad_sch (version 20221206) (generator eeschema)
(uuid 195130d0-ebea-4258-8e5e-5259bc202c76)
(paper "A4")
(lib_symbols
(symbol "Connector:Screw_Terminal_01x04" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "J" (at 0 5.08 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "Screw_Terminal_01x04" (at 0 -7.62 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "screw terminal" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "Generic screw terminal, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "TerminalBlock*:*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "Screw_Terminal_01x04_1_1"
(rectangle (start -1.27 3.81) (end 1.27 -6.35)
(stroke (width 0.254) (type default))
(fill (type background))
)
(circle (center 0 -5.08) (radius 0.635)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(circle (center 0 -2.54) (radius 0.635)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.5334 -4.7498)
(xy 0.3302 -5.588)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.5334 -2.2098)
(xy 0.3302 -3.048)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.5334 0.3302)
(xy 0.3302 -0.508)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.5334 2.8702)
(xy 0.3302 2.032)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.3556 -4.572)
(xy 0.508 -5.4102)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.3556 -2.032)
(xy 0.508 -2.8702)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.3556 0.508)
(xy 0.508 -0.3302)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(polyline
(pts
(xy -0.3556 3.048)
(xy 0.508 2.2098)
)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(circle (center 0 0) (radius 0.635)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(circle (center 0 2.54) (radius 0.635)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(pin passive line (at -5.08 2.54 0) (length 3.81)
(name "Pin_1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 0 0) (length 3.81)
(name "Pin_2" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 -2.54 0) (length 3.81)
(name "Pin_3" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 -5.08 0) (length 3.81)
(name "Pin_4" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Connector_Generic:Conn_01x04" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
(property "Reference" "J" (at 0 5.08 0)
(effects (font (size 1.27 1.27)))
)
(property "Value" "Conn_01x04" (at 0 -7.62 0)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "connector" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "Connector*:*_1x??_*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "Conn_01x04_1_1"
(rectangle (start -1.27 -4.953) (end 0 -5.207)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(rectangle (start -1.27 -2.413) (end 0 -2.667)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(rectangle (start -1.27 0.127) (end 0 -0.127)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(rectangle (start -1.27 2.667) (end 0 2.413)
(stroke (width 0.1524) (type default))
(fill (type none))
)
(rectangle (start -1.27 3.81) (end 1.27 -6.35)
(stroke (width 0.254) (type default))
(fill (type background))
)
(pin passive line (at -5.08 2.54 0) (length 3.81)
(name "Pin_1" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 0 0) (length 3.81)
(name "Pin_2" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 -2.54 0) (length 3.81)
(name "Pin_3" (effects (font (size 1.27 1.27))))
(number "3" (effects (font (size 1.27 1.27))))
)
(pin passive line (at -5.08 -5.08 0) (length 3.81)
(name "Pin_4" (effects (font (size 1.27 1.27))))
(number "4" (effects (font (size 1.27 1.27))))
)
)
)
(symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
(property "Reference" "R" (at 2.032 0 90)
(effects (font (size 1.27 1.27)))
)
(property "Value" "R" (at 0 0 90)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at -1.778 0 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_keywords" "R res resistor" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_description" "Resistor" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "ki_fp_filters" "R_*" (at 0 0 0)
(effects (font (size 1.27 1.27)) hide)
)
(symbol "R_0_1"
(rectangle (start -1.016 -2.54) (end 1.016 2.54)
(stroke (width 0.254) (type default))
(fill (type none))
)
)
(symbol "R_1_1"
(pin passive line (at 0 3.81 270) (length 1.27)
(name "~" (effects (font (size 1.27 1.27))))
(number "1" (effects (font (size 1.27 1.27))))
)
(pin passive line (at 0 -3.81 90) (length 1.27)
(name "~" (effects (font (size 1.27 1.27))))
(number "2" (effects (font (size 1.27 1.27))))
)
)
)
)
(wire (pts (xy 128.27 87.63) (xy 133.35 87.63))
(stroke (width 0) (type default))
(uuid 42d05a19-f4dc-402d-aeff-f23947d74f14)
)
(wire (pts (xy 128.27 80.01) (xy 133.35 80.01))
(stroke (width 0) (type default))
(uuid 9f33ca07-d471-4296-8415-4f0477da0f66)
)
(wire (pts (xy 113.03 87.63) (xy 120.65 87.63))
(stroke (width 0) (type default))
(uuid aaad9ee8-fb49-4134-aae4-c2176209f148)
)
(wire (pts (xy 128.27 82.55) (xy 133.35 82.55))
(stroke (width 0) (type default))
(uuid dbba668a-a10e-4c23-b338-13b92cb499e8)
)
(wire (pts (xy 113.03 80.01) (xy 120.65 80.01))
(stroke (width 0) (type default))
(uuid e5015bf5-37de-40d3-a024-e35edb77fe4c)
)
(wire (pts (xy 113.03 82.55) (xy 120.65 82.55))
(stroke (width 0) (type default))
(uuid f399897a-b451-41c0-b517-803099b32c72)
)
(wire (pts (xy 128.27 85.09) (xy 133.35 85.09))
(stroke (width 0) (type default))
(uuid f5c37a3a-68c5-4892-8914-2eb6482c66b4)
)
(wire (pts (xy 113.03 85.09) (xy 120.65 85.09))
(stroke (width 0) (type default))
(uuid f7226f80-a25f-4965-868a-cb97db855a28)
)
(label "PIN3" (at 114.3 82.55 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 28ccf20f-4834-451d-a5ce-45a3958ef774)
)
(label "PIN4" (at 114.3 85.09 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 3e1d6fe7-2b7c-4cc1-ac2f-bb83f1e814d2)
)
(label "PIN2" (at 114.3 80.01 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid 93a6a7d8-62d2-4b9e-8fc6-5bf2ac146a19)
)
(label "PIN5" (at 114.3 87.63 0) (fields_autoplaced)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid fbda4e07-87f8-4ddc-81e1-b860c91df8cf)
)
(symbol (lib_id "Device:R") (at 124.46 82.55 270) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 0111c824-1332-4ce4-9b62-513acee8652a)
(property "Reference" "R6" (at 124.46 77.47 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "4.7K" (at 124.46 82.55 90)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal" (at 124.46 80.772 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 124.46 82.55 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid d12e2229-a5c0-48ec-ba08-441621a20e93))
(pin "2" (uuid 3f0c725a-d800-4a87-afa6-69f72aea0964))
(instances
(project "scrapeboard_hat"
(path "/195130d0-ebea-4258-8e5e-5259bc202c76"
(reference "R6") (unit 1)
)
)
)
)
(symbol (lib_id "Device:R") (at 124.46 80.01 270) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid 692ab5a4-bfca-4d07-af0a-e1d873fc6777)
(property "Reference" "R7" (at 124.46 74.93 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "4.7K" (at 124.46 80.01 90)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal" (at 124.46 78.232 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 124.46 80.01 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 78a58fc8-b241-4b18-8b27-0d199ed43511))
(pin "2" (uuid 93062795-9550-42a6-a88d-1d44884f946c))
(instances
(project "scrapeboard_hat"
(path "/195130d0-ebea-4258-8e5e-5259bc202c76"
(reference "R7") (unit 1)
)
)
)
)
(symbol (lib_id "Connector_Generic:Conn_01x04") (at 107.95 85.09 180) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid b61ae372-5cc8-455a-b68f-975e70a349db)
(property "Reference" "J3" (at 105.41 84.455 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "PI_OR_ARDUINO_HEADER" (at 105.41 81.915 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical" (at 107.95 85.09 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 107.95 85.09 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 347254f3-79ae-4acf-bc54-1becda7db6b5))
(pin "2" (uuid 4312d4d0-0062-4173-9e48-deefe1183f1e))
(pin "3" (uuid 88bd6f1c-8e3c-47a2-84f6-6a39f3def2cd))
(pin "4" (uuid a8ea1197-d7b6-4942-a74c-bfd494007c00))
(instances
(project "scrapeboard_hat"
(path "/195130d0-ebea-4258-8e5e-5259bc202c76"
(reference "J3") (unit 1)
)
)
)
)
(symbol (lib_id "Connector:Screw_Terminal_01x04") (at 138.43 82.55 0) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid c9618a6f-1090-4906-9c99-a03e0182a2bd)
(property "Reference" "J1" (at 140.97 83.185 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Value" "Screw_Terminal_01x04" (at 140.97 85.725 0)
(effects (font (size 1.27 1.27)) (justify left))
)
(property "Footprint" "TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-4_1x04_P5.00mm_Horizontal" (at 138.43 82.55 0)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 138.43 82.55 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid e6b2c076-9102-4267-90f9-43bef0a9e5c4))
(pin "2" (uuid 423a7ac8-3525-4440-a620-8aeb96cea13d))
(pin "3" (uuid b41cb0d4-6631-45ce-a5b2-d92e3fb5a26d))
(pin "4" (uuid dc7e9a66-e758-4c49-aeca-db026d2b3b43))
(instances
(project "scrapeboard_hat"
(path "/195130d0-ebea-4258-8e5e-5259bc202c76"
(reference "J1") (unit 1)
)
)
)
)
(symbol (lib_id "Device:R") (at 124.46 87.63 270) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid e1aaf9d1-3988-433f-8a79-2a9a6e0691a1)
(property "Reference" "R4" (at 124.46 82.55 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "4.7K" (at 124.46 87.63 90)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal" (at 124.46 85.852 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 124.46 87.63 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid 595d08ce-3b5d-47ea-9731-1caa456175f4))
(pin "2" (uuid c168884a-66b2-4a05-94cf-a1657c7e462d))
(instances
(project "scrapeboard_hat"
(path "/195130d0-ebea-4258-8e5e-5259bc202c76"
(reference "R4") (unit 1)
)
)
)
)
(symbol (lib_id "Device:R") (at 124.46 85.09 270) (unit 1)
(in_bom yes) (on_board yes) (dnp no)
(uuid f90bc9d3-bcde-459d-92d9-f6c2f8dbb148)
(property "Reference" "R5" (at 124.46 80.01 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Value" "4.7K" (at 124.46 85.09 90)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal" (at 124.46 83.312 90)
(effects (font (size 1.27 1.27)) hide)
)
(property "Datasheet" "~" (at 124.46 85.09 0)
(effects (font (size 1.27 1.27)) hide)
)
(pin "1" (uuid ffefd996-31e2-40ec-b2da-432fe4d868ed))
(pin "2" (uuid 0741004a-8d4b-4e72-96a2-f7a12be493ac))
(instances
(project "scrapeboard_hat"
(path "/195130d0-ebea-4258-8e5e-5259bc202c76"
(reference "R5") (unit 1)
)
)
)
)
(sheet_instances
(path "/" (page "1"))
)
)

View File

@ -0,0 +1,5 @@
(sym_lib_table
(lib (name "Connector")(type "KiCad")(uri "${KIPRJMOD}/../symbols/Connector.kicad_sym")(options "")(descr ""))
(lib (name "Connector_Generic")(type "KiCad")(uri "${KIPRJMOD}/../symbols/Connector_Generic.kicad_sym")(options "")(descr ""))
(lib (name "Device")(type "KiCad")(uri "${KIPRJMOD}/../symbols/Device.kicad_sym")(options "")(descr ""))
)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

75254
kicad/symbols/Device.kicad_sym Normal file

File diff suppressed because it is too large Load Diff

@ -1 +1 @@
Subproject commit 91fcfbc6bfca6da2a9243c179850b5c4ff4e5ad8
Subproject commit 2bbdc9a7028dd86c8a2f06a74403ffc5a1fe6d44

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
resource/BPmono.ttf Executable file

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 16 KiB

BIN
resource/Black_Tony.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 952 B

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 383 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
resource/Title_tile.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Some files were not shown because too many files have changed in this diff Show More