Full Code of mudmin/AnotherMaker for AI

master f0f704b5d954 cached
404 files
7.4 MB
1.9M tokens
599 symbols
1 requests
Download .txt
Showing preview only (7,786K chars total). Download the full file or copy to clipboard to get everything.
Repository: mudmin/AnotherMaker
Branch: master
Commit: f0f704b5d954
Files: 404
Total size: 7.4 MB

Directory structure:
gitextract_39yg57z7/

├── 37-sensors-one-arduino/
│   └── 37-sensors-1-arduino.ino
├── 4_dollar_xt_ide/
│   └── _readme.txt
├── 5-Practical-Uses-For-Node-Red-On-Android/
│   ├── flow3.json
│   ├── flow4.json
│   └── flow5.json
├── 9 Pin Cable Tester/
│   ├── no_screen.ino
│   ├── readme.txt
│   ├── with_screen.ino
│   └── with_screen_and_button.ino
├── Apple II Gotek/
│   ├── ProDOS_2_4_3_po.hfe
│   └── readme.txt
├── Atari 4x16/
│   ├── 16kBottomLabel.stl
│   ├── 8K16KTop.stl
│   ├── ATARI_CARY_REV_2_holder.stl
│   └── desktop.ini
├── Atari Super Salt Diagnostic/
│   └── roms can be found here.txt
├── Component Organization/
│   ├── Common Electronics Values for Labels etc.xlsx
│   └── live_version.txt
├── ESP32-Cheap-Yellow-Display/
│   └── split-screen-buttons/
│       └── split-screen-buttons.ino
├── Global-Variables-On-Node-Red/
│   ├── part1.json
│   ├── part2-with-text-to-speech.json
│   └── part2.json
├── IR-RF/
│   ├── master-receiver-ir-rf-video.c
│   ├── master-receiver-ir-rf.c
│   └── soundbar-fixer.ino
├── Kicad 8/
│   └── Kicad 8/
│       ├── Kicad 8.kicad_pcb
│       ├── Kicad 8.kicad_prl
│       ├── Kicad 8.kicad_pro
│       ├── Kicad 8.kicad_sch
│       ├── fp-info-cache
│       └── kicad 8 video gerbers/
│           ├── Kicad 8-B_Cu.gbr
│           ├── Kicad 8-B_Mask.gbr
│           ├── Kicad 8-B_Paste.gbr
│           ├── Kicad 8-B_Silkscreen.gbr
│           ├── Kicad 8-Edge_Cuts.gbr
│           ├── Kicad 8-F_Cu.gbr
│           ├── Kicad 8-F_Mask.gbr
│           ├── Kicad 8-F_Paste.gbr
│           ├── Kicad 8-F_Silkscreen.gbr
│           ├── Kicad 8-NPTH.drl
│           ├── Kicad 8-PTH.drl
│           └── Kicad 8-job.gbrjob
├── Lilygo-7000g/
│   ├── Arduino_Cayenne/
│   │   ├── Anothermaker-Stripped-LilyGO-SIM7000-Cayenne.ino
│   │   ├── LilyGO-SIM7000-Cayenne.ino
│   │   └── README.MD
│   ├── Arduino_GPSTest/
│   │   └── Arduino_GPSTest.ino
│   ├── Arduino_LoraShield/
│   │   ├── LoRaReceiver/
│   │   │   └── LoRaReceiver.ino
│   │   ├── LoRaSender/
│   │   │   └── LoRaSender.ino
│   │   └── README.MD
│   ├── Arduino_NetworkTest/
│   │   └── Arduino_NetworkTest.ino
│   ├── Arduino_Simple_API/
│   │   └── rough_api_test.ino
│   ├── Arduino_TinyGSM/
│   │   ├── ATdebug/
│   │   │   └── ATdebug.ino
│   │   ├── AllFunctions/
│   │   │   └── AllFunctions.ino
│   │   ├── README.MD
│   │   └── ResetModem/
│   │       └── ResetModem.ino
│   ├── MicroPython_LoBo/
│   │   ├── README.MD
│   │   ├── gps.py
│   │   ├── gsm.py
│   │   └── sd.py
│   └── Platformio_Arduino_Thingsboard/
│       ├── .travis.yml
│       ├── include/
│       │   └── README
│       ├── lib/
│       │   └── README
│       ├── platformio.ini
│       ├── readme.md
│       ├── src/
│       │   └── main.cpp
│       └── test/
│           └── README
├── README.md
├── StreamArray/
│   ├── fancy_version/
│   │   ├── StreamArray.ino
│   │   ├── build-notes.txt
│   │   └── node-red-flow.json
│   ├── scripts/
│   │   ├── dangerous.vbs
│   │   ├── fidget.cmd
│   │   ├── open_close_cd.vbs
│   │   ├── reddit.cmd
│   │   └── subscribe.cmd
│   └── simple_version/
│       ├── node-red.json
│       └── streaming_deck_arduino.ino
├── api-calls/
│   ├── apirelay.php
│   ├── basic-api-call-8266.c
│   ├── basic-api-call-esp32.c
│   ├── basic_api_call_uno.c
│   └── nr-relay.json
├── arduino-dmx
├── arduino-eeprom-torture/
│   ├── test_read.ino
│   ├── torture-fast.ino
│   └── torture.ino
├── arduino-lidar-tf-luna/
│   ├── arduino-lidar-tf-mini.ino
│   ├── arduino-ultrasonic.ino
│   └── printf.h
├── arduino-powered-cash-reader/
│   └── cash-reader-with-lcd.c
├── arduino-receipt-printer/
│   └── notes.txt
├── arduno-barcode/
│   ├── 01-Initial-hackery.ino
│   └── 02-splitting-barcodes.ino
├── big-game/
│   ├── big-game-new-tv-arduino-nano.ino
│   ├── big-game-new-tv-wemos-d1.ino
│   └── ir_remote_codes.txt
├── blink-without-delay/
│   ├── 1-Blink.c
│   ├── 2-blink-all.c
│   ├── 3-millis.c
│   ├── 4-Blink-1-no-delay.c
│   ├── 5-Blink-1-with-comments.c
│   ├── 6-Blink-3.c
│   └── 7-Blink-Train.c
├── circuit-specialists-variac-data/
│   ├── 1000w toaster oven.csv
│   ├── 25 watt 30 minute test.csv
│   ├── 300w heat gun.csv
│   └── This is my raw meter data from my variac stability tests.txt
├── diabolocal-it-prank/
│   └── it-prank-v1.ino
├── ds18b20/
│   └── address-finder.ino
├── ecom-pi-camera/
│   ├── node-red-sketch.json
│   └── snippets.txt
├── engergyduino/
│   ├── data_logger.ino
│   └── energyduino.php
├── eprom-booster/
│   └── readme.txt
├── escape-room/
│   ├── arduino_simon.ino
│   ├── button_maze.ino
│   └── true_false.ino
├── esp32-joke-phone/
│   ├── esp32-joke-phone-build-notes.txt
│   └── esp32-joke-phone.ino
├── esp32-s3/
│   ├── Arduino IDE/
│   │   ├── pdpie-esp32-comm-test.ino
│   │   └── pdpie-esp32-io-test v1.ino
│   └── esp32-s3 notes
├── esp32-watch/
│   ├── infrared-tv-b-gone/
│   │   ├── 01-send-simple-ir.ino
│   │   ├── 02-send-all-ir.ino
│   │   ├── ESP8266-TV-B-Gone.ino
│   │   ├── WORLD_IR_CODES.h
│   │   └── main.h
│   └── morse.ino
├── fb_sucks/
│   ├── index.php
│   └── steps/
│       ├── 01_template.html
│       └── 02_base_search.html
├── franklin-ace-1000/
│   └── monochrome-mod.txt
├── frehd/
│   ├── GAL Chip - Latest/
│   │   └── FreHD-ATF16V8B.JED
│   ├── GAL Chip - Old Versions/
│   │   ├── gal16v8.jed
│   │   ├── gal16v8.lst
│   │   └── gal16v8.pld
│   ├── PIC Hex Files/
│   │   ├── FreHD_213.hex
│   │   └── FreHD_214.hex
│   ├── PIC Source Files/
│   │   ├── 18f4620_g.lkr
│   │   ├── FatFS/
│   │   │   ├── diskio.c
│   │   │   ├── diskio.h
│   │   │   ├── diskio2.asm
│   │   │   ├── ff.c
│   │   │   ├── ff.h
│   │   │   ├── ffconf.h
│   │   │   └── integer.h
│   │   ├── FatFS.hex
│   │   ├── FatFS.mcp
│   │   ├── FatFS.mcs
│   │   ├── FatFS.mcw
│   │   ├── HardwareProfile.h
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── PIC.hex
│   │   ├── PLDDesign.jed
│   │   ├── action.h
│   │   ├── bootloader.asm
│   │   ├── bootloader.inc
│   │   ├── c018i.c
│   │   ├── crc.inc
│   │   ├── ds1307.c
│   │   ├── ds1307.h
│   │   ├── dsk.c
│   │   ├── eeprom.c
│   │   ├── eeprom.h
│   │   ├── generate_crc.pl
│   │   ├── interrupt.asm
│   │   ├── led.c
│   │   ├── led.h
│   │   ├── loader_eeprom.asm
│   │   ├── main.c
│   │   ├── reed.h
│   │   ├── serial.c
│   │   ├── serial.h
│   │   ├── simul.DSN
│   │   ├── stdint.h
│   │   ├── sw_i2c.c
│   │   ├── sw_i2c.h
│   │   ├── trs_extra.c
│   │   ├── trs_extra.h
│   │   ├── trs_hard.c
│   │   ├── trs_hard.h
│   │   ├── trs_hard_defs.h
│   │   ├── trs_uart.c
│   │   ├── trs_uart.h
│   │   └── version.h
│   ├── bom/
│   │   ├── REAL Part locations.txt
│   │   └── Use for Part numbers NOT Locations.XLS
│   ├── dans_frehd_build_notes.txt
│   ├── gerber/
│   │   ├── BOM for wd1010_rel1.bom
│   │   ├── BOM for wd1010_rel1.txt
│   │   ├── Status Report.txt
│   │   ├── wd1010.reg
│   │   ├── wd1010_rel1.DRL
│   │   ├── wd1010_rel1.DRR
│   │   ├── wd1010_rel1.GBL
│   │   ├── wd1010_rel1.GBP
│   │   ├── wd1010_rel1.GBS
│   │   ├── wd1010_rel1.GKO
│   │   ├── wd1010_rel1.GPB
│   │   ├── wd1010_rel1.GPT
│   │   ├── wd1010_rel1.GTL
│   │   ├── wd1010_rel1.GTO
│   │   ├── wd1010_rel1.GTP
│   │   ├── wd1010_rel1.GTS
│   │   ├── wd1010_rel1.REP
│   │   ├── wd1010_rel1.TXT
│   │   ├── wd1010_rel1.apr
│   │   └── wd1010_rel1.drc
│   ├── import.py
│   ├── protel/
│   │   ├── wd1010_rel1.pcb
│   │   └── wd1010_rel1.sch
│   └── z80/
│       ├── frehd_rom/
│       │   ├── Makefile
│       │   ├── frehd.asm
│       │   ├── frehd.inc
│       │   ├── frehd_macro.inc
│       │   ├── ldos531.asm
│       │   ├── ldos621.asm
│       │   ├── ldos631.asm
│       │   ├── loader.asm
│       │   ├── m1ldos531.asm
│       │   ├── m1newdos25.asm
│       │   ├── make_eeprom.pl
│       │   ├── menu.asm
│       │   ├── menu_util.asm
│       │   ├── newdos25.asm
│       │   ├── rom-patches/
│       │   │   ├── Makefile
│       │   │   ├── model1.rom
│       │   │   ├── model1rom.asm
│       │   │   ├── model3.rom
│       │   │   ├── model3rom.asm
│       │   │   ├── model4.gen2.rom
│       │   │   ├── model4.rom
│       │   │   ├── model4french.rom
│       │   │   ├── model4frenchrom.asm
│       │   │   ├── model4german.rom
│       │   │   ├── model4germanrom.asm
│       │   │   ├── model4germanrom.lst
│       │   │   ├── model4germanrom.p
│       │   │   ├── model4p_rom.asm
│       │   │   ├── model4rom.asm
│       │   │   └── model4rom.gen2.asm
│       │   └── time.asm
│       └── utils/
│           ├── Makefile
│           ├── dsk.z80
│           ├── eupdate.z80
│           ├── export2.cmd
│           ├── export2.hex
│           ├── export2.lst
│           ├── export2.z80
│           ├── fatfserr.z80
│           ├── frehd.z80
│           ├── frehdtst.z80
│           ├── fupdate.z80
│           ├── getversion.z80
│           ├── import2.z80
│           ├── import3.z80
│           ├── param.z80
│           ├── trsident.z80
│           ├── utlcore.z80
│           ├── version.z80
│           ├── vhdutl_cpm.z80
│           ├── vhdutl_kpro_cpm.z80
│           ├── vhdutl_ldos.z80
│           └── vhdutl_trs_cpm.z80
├── gameshow/
│   ├── gameshow_arduino.c
│   └── self-contained-gameshow.ino
├── gameshow_ultimate/
│   └── note.txt
├── gotek/
│   └── resources.txt
├── hyperbowl/
│   ├── arduino-code/
│   │   └── pro_mini_buttons.ino
│   └── laser-files/
│       └── URL to tweak console.txt
├── incomplete-pcbs/
│   └── 40_pin_v2_led.ino
├── laser-shooting-gallery/
│   ├── Node-Red-Flow-Scoreboard.json
│   ├── esp32-TARGET.c
│   └── esp8266-laser.c
├── lazy_kicad/
│   ├── _old_versions/
│   │   └── v1.0/
│   │       └── index.php
│   ├── index.php
│   ├── kicad_cards/
│   │   └── netlabels_card.php
│   ├── kicad_functions/
│   │   └── core_functions.php
│   ├── kicad_logic/
│   │   └── netlabels_logic.php
│   └── process.php
├── mini-notebook/
│   └── 555-timer-circuits/
│       ├── Mims 555 BOM-ALSO SEE -README.csv
│       └── _readme_first.txt
├── mission_control/
│   ├── button_grid/
│   │   ├── arduino_code/
│   │   │   ├── 01_button_test.ino
│   │   │   ├── 02_grid_no_ethernet.ino
│   │   │   └── 03_grid_with_ethernet.ino
│   │   ├── laser_files/
│   │   │   ├── button grid.lbrn2
│   │   │   └── button_numbers.txt
│   │   └── server_files/
│   │       ├── index.php
│   │       └── sounds/
│   │           └── free_sound_fx_provided_by_zapsplat.txt
│   ├── do_not_touch/
│   │   └── arduino_code/
│   │       └── 01-WemosWithRelayShield.ino
│   └── pi_tablet/
│       └── laser_files/
│           ├── RasPad.lbrn
│           └── note_that_this_is_a_lightburn_file.txt
├── mp3/
│   ├── index.php
│   ├── sound.php
│   ├── sounds/
│   │   └── free_sound_fx_provided_by_zapsplat.txt
│   └── test.php
├── nec-pc-6001a/
│   └── readme.txt
├── node-red-christmas-tree/
│   ├── another_example.json
│   ├── basic_outputs.json
│   ├── notes
│   └── python/
│       ├── LICENSE
│       ├── Notes.txt
│       ├── README.md
│       ├── example/
│       │   ├── blink.py
│       │   ├── group.py
│       │   ├── oneStar.py
│       │   ├── oneStar_catch.py
│       │   └── sequence.py
│       ├── gpiod/
│       │   ├── readme.md
│       │   └── sequence.py
│       └── oled/
│           ├── oled.py
│           └── readme.md
├── node-red-youtube-notifier/
│   ├── notes.txt
│   └── notifier.json
├── olimex/
│   ├── Olimex ESP32-EVB/
│   │   ├── ethernet-mqtt.c
│   │   └── webserver-with-wifi-and-ethernet.ino
│   ├── Olimex ESP32-POE-ISO/
│   │   ├── board_holder-65mm.stl
│   │   ├── ethernet_and_poe_diag.ino
│   │   ├── ethernet_udp_example.ino
│   │   ├── holder.f3d
│   │   └── sample_code.ino
│   ├── Olimex Protoboard/
│   │   └── olimex-protoboard.ino
│   └── board_id/
│       ├── initial_setup_of_board_id.ino
│       └── read_back_id.ino
├── open-canary/
│   └── steps.txt
├── quack-attack/
│   ├── quack-attack-build-notes.txt
│   └── quack-attack-node-red.json
├── raspberry-pi-cooling/
│   └── test.sh
├── relay-test/
│   ├── every-single-pin.ino
│   └── relay-test.ino
├── rgb-to-hdmi-build-notes/
│   └── coming-soon.txt
├── rgbduino/
│   ├── README.md
│   └── examples/
│       ├── _RGB_LED_test.ino
│       ├── _buzzer_test.ino
│       ├── lesson1.ino
│       ├── lesson2.ino
│       ├── lesson3.ino
│       ├── lesson4.ino
│       ├── lesson5.ino
│       ├── lesson6.ino
│       ├── lesson7-anothermaker.ino
│       ├── lesson8-anothermaker.ino
│       └── lesson9-anothermaker.ino
├── rigged-o-fortune/
│   └── rigged.c
├── smart-doorbell/
│   ├── 03-node-red-flow-for-rev-02.json
│   ├── arduino-mega/
│   │   ├── 01-basic-current-sensor.ino
│   │   └── 02-with-ethernet-and-mqtt.ino
│   └── esp32/
│       ├── 01-basic-current-sensor.ino
│       └── 02-with-wifi-and-mqtt.ino
├── tandy-2000/
│   ├── Tandy 2000 Card Mount/
│   │   ├── Tandy 2000 Card Mount - Heat Set M3x4x4.2 - LEFT.stl
│   │   ├── Tandy 2000 Card Mount - Heat Set M3x4x4.2 - Right.stl
│   │   ├── Tandy 2000 Card Mount - Heat Set M4x6x6 - Left.stl
│   │   ├── Tandy 2000 Card Mount - Heat Set M4x6x6 - Right.stl
│   │   ├── Tandy 2000 Card Mount - Screws Only - LEFT.stl
│   │   ├── Tandy 2000 Card Mount - Screws Only - Right.stl
│   │   └── Tandy 2000 Card Mount Build Notes.txt
│   └── Tandy 2000 Replacement Slot Cover/
│       └── Tandy 2000 Slot cover.stl
├── tandy-3-in-1/
│   ├── 3-in-1-cache.lib
│   ├── 3-in-1-rescue.dcm
│   ├── 3-in-1-rescue.lib
│   ├── 3-in-1.kicad_pcb
│   ├── 3-in-1.pro
│   ├── 3-in-1.sch
│   ├── BIOS/
│   │   ├── 3in1BIOS-8088/
│   │   │   └── xtidecfg.com
│   │   └── 3in1BIOS-V20/
│   │       └── xtidecfg.com
│   ├── README.md
│   ├── dans_build_notes.txt
│   ├── fp-info-cache
│   └── sym-lib-table
├── tandy-terminator/
│   └── readme.txt
├── traffic-light/
│   └── traffic-light-sketch.ino
├── vintage_emulation/
│   ├── apple ii/
│   │   ├── User_Guide_apple2.txt
│   │   └── sources.txt
│   ├── atari 8 bit/
│   │   ├── User_Guide_Atari8bit.txt
│   │   └── sources.txt
│   ├── trs-80/
│   │   ├── User_Guide_TRS-80.txt
│   │   └── sources.txt
│   └── zx spectrum/
│       ├── User_Guide_ZX81.txt
│       └── sources.txt
├── water-quality/
│   ├── CCS811/
│   │   ├── CCS811.cpp
│   │   ├── CCS811.h
│   │   └── examples/
│   │       └── readData/
│   │           └── readData.ino
│   ├── notes.txt
│   ├── water-and-co2.ino
│   └── water.ino
├── will-it-blow-up/
│   ├── 10-ways-to-destroy-arduino/
│   │   └── 10-ways-to-destroy-arduino.ino
│   ├── led-test/
│   │   ├── screen-test.ino
│   │   ├── screen1.ino
│   │   ├── screen2.ino
│   │   ├── screen3.ino
│   │   └── screen4.ino
│   ├── relay-test/
│   │   ├── baseline-test.ino
│   │   ├── every-single-pin.ino
│   │   └── relay-test.ino
│   └── xeon/
│       ├── arduino/
│       │   ├── date-call.ino
│       │   └── key-call.ino
│       └── esp32/
│           └── esp32-key-call.ino
├── wind-speed-arduino/
│   └── wind-speed-arduino.ino
├── youtube-notifier/
│   ├── wemos-d1-code.ino
│   └── youtube-notifier-node-red.json
└── yt_sucks/
    ├── index.php
    └── steps/
        ├── 01_base.php
        └── v1.1.0.php

================================================
FILE CONTENTS
================================================

================================================
FILE: 37-sensors-one-arduino/37-sensors-1-arduino.ino
================================================
#include <math.h>
#include <Wire.h>
#include <dht11.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
#include "DS3231.h"
#include <OneWire.h>
#include <IRremote.h>
IRsend irsend;
RTClib RTC;
dht11 DHT;


const int photoCell = A0;
const int microphone = A1;
const int temt = A2;
const int joyX = A3;
const int joyY = A4;
const int thermistor = A5; //analog temp
const int rotary = A6;
const int moist = A7;
const int lm = A8;

const int knock = 3;
const int joyBut = 4;
const int piranha = 5;
const int photoInt = 6;
const int actBuzz = 7;
const int greenLed = 8;
const int blueLed = 2; //can't use 9 because of IRsend

const int redLed = 10;
const int yellowButton = 11;
const int hallSensor = 12;
const int whiteLed = 13;


/*     Arduino Rotary Encoder Tutorial
*
*  by Dejan Nedelkovski, www.HowToMechatronics.com
*
*/
const int outputA = 49;
const int outputB = 48;
const int DHT11_PIN = 47;
const int passBuzz = 46;
const int pir = 45;
const int capTouch = 44;
const int echoPin = 43;
const int trigPin = 42;
const int DS18S20_Pin = 41;
const int hugeLed = 40;
const int relay = 39;
const int vibe = 38;
const int line = 37;
const int tilt = 36;
const int RECV_PIN = 35;
const int flame = 34;
const int obst = 33;


OneWire ds(DS18S20_Pin);
int relayState = 0;
int counter = 0;
int aState;
int aLastState;
unsigned char vibeState = 0;

int maximumRange = 200; // Maximum range needed
int minimumRange = 0; // Minimum range needed
long duration, distance; // Duration used to calculate distance

int val = 0; //store random int values


//stuff for Analog Temp sensor
double Thermister(int RawADC) {  //Function to perform the fancy math of the Steinhart-Hart equation
  double Temp;
  Temp = log(((10240000/RawADC) - 10000));
  Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
  Temp = Temp - 273.15;              // Convert Kelvin to Celsius
  Temp = (Temp * 9.0)/ 5.0 + 32.0; // Celsius to Fahrenheit - comment out this line if you need Celsius

}


//345 accelerometer_data
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);


float AccelMinX = 0;
float AccelMaxX = 0;
float AccelMinY = 0;
float AccelMaxY = 0;
float AccelMinZ = 0;
float AccelMaxZ = 0;

void setup(){
  Serial.begin(9600);

  /* Initialise the sensor */
  if(!accel.begin())
  {
    /* There was a problem detecting the ADXL345 ... check your connections */
    Serial.println("Ooops, no ADXL345 detected ... Check your wiring!");
    delay(1000);
  }
  pinMode(joyBut,INPUT);
  pinMode(piranha, OUTPUT);
  pinMode(photoInt, INPUT);
  pinMode(actBuzz, OUTPUT);
  pinMode(passBuzz, OUTPUT);
  pinMode(redLed, OUTPUT);
  pinMode(blueLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
  pinMode(yellowButton, INPUT);
  pinMode(hallSensor, INPUT);
  pinMode(whiteLed, OUTPUT);
  pinMode(pir, INPUT);
  pinMode(capTouch, INPUT);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(hugeLed, OUTPUT);
  pinMode(relay, OUTPUT);
  pinMode(vibe, INPUT);
  pinMode(line, INPUT);
  pinMode(tilt, INPUT);
  pinMode(RECV_PIN, INPUT);
  pinMode(flame, INPUT);
  pinMode(obst, INPUT);
  Wire.begin();
  aLastState = digitalRead(outputA);
}

void loop(){
  digitalWrite(whiteLed, LOW);
  digitalWrite(piranha, LOW);
  digitalWrite(hugeLed, LOW);
  digitalWrite(actBuzz, LOW);
  digitalWrite(passBuzz, LOW);

  lightLevel();
  hallDetect();
  checkButton();
  rainbow();
  photoInter();
  soundLevel();
  checkVibe();
  temtLight();
  checkJoy();
  analogTemp();
  checkRoto();
  rotaryEncoder();
  axdl();
  moisture();
  lmTemp();
  checkKnock();
  readDht();
  rtcNow();
  readPir();
  touchSensor();
  echoRange();
  getTemp();
  checkGas();
  relayFlip();
  isLine();
  isTilt();
  irsend.sendRC5(0x0, 8);
  isIR();
  isFlame();
  obstCheck();

  Serial.println("*********************");
  digitalWrite(whiteLed, HIGH);
  digitalWrite(piranha, HIGH);
  delay(5000);
  digitalWrite(hugeLed, HIGH);
  digitalWrite(actBuzz, HIGH);
  digitalWrite(passBuzz, HIGH);
}
//So, uh yeah. Let's get started...
// void whiteLED(){
//   digitalWrite(white,HIGH);
//   delay(1000);
//   digitalWrite(white,LOW);
//   delay(1000);
// }

void lightLevel(){
  val = analogRead(photoCell);
  Serial.print("light: ");
  Serial.println(val, DEC);
}

void hallDetect(){
  val = digitalRead(hallSensor);  // read input value
  if (val == HIGH) {            // check if the input is HIGH
    Serial.println("No Magnet");
  } else {
    Serial.println("Magnet");
  }
}

void checkButton(){
  val = digitalRead(yellowButton);  // read input value
  if (val == HIGH) {            // check if the input is HIGH
    Serial.println("Not Pushed");
  } else {
    Serial.println("Pushed");
  }
}

void rainbow(){
  for(val=255; val>0; val--)
  {analogWrite(redLed, val);
    analogWrite(blueLed, 255-val);
    analogWrite(greenLed, 128-val);
  }
  for(val=0; val<255; val++)
  {analogWrite(redLed, val);
    analogWrite(blueLed, 255-val);
    analogWrite(greenLed, 128-val);
  }
  digitalWrite(redLed, HIGH);
  digitalWrite(blueLed, HIGH);
  digitalWrite(greenLed, HIGH);
}

void photoInter(){
  val = digitalRead(photoInt);
  if (val == HIGH) {
    Serial.println("Beam Broken");
  }else{
    Serial.println("Beam Solid");
  }
}

void soundLevel(){
  val=analogRead(microphone);
  Serial.print("SoundLvl: ");
  Serial.println(val,DEC);
}

void temtLight(){
  val = analogRead(temt);
  Serial.print("TEMT Light: ");
  Serial.println(val);
}

void checkJoy(){
  int x,y,z;
  x=analogRead(joyX);
  y=analogRead(joyY);
  z=digitalRead(joyBut);
  Serial.print("X: ");
  Serial.print(x ,DEC);
  Serial.print(",");
  Serial.print("Y: ");
  Serial.print(y ,DEC);
  Serial.print(",");
  if(z == HIGH){
    Serial.println(" Button Pushed");
  }else{
    Serial.println(" Button NOT Pushed");
  }
}

void analogTemp(){
  Serial.print(Thermister(analogRead(thermistor)));
  Serial.println("c");
}

void checkRoto(){
  int rot=analogRead(rotary);
  Serial.print("Rotary Value: ");
  Serial.println(val,DEC);
}

void rotaryEncoder(){
  aState = digitalRead(outputA); // Reads the "current" state of the outputA
  // If the previous and the current state of the outputA are different, that means a Pulse has occured
  if (aState != aLastState){
    // If the outputB state is different to the outputA state, that means the encoder is rotating clockwise
    if (digitalRead(outputB) != aState) {
      counter ++;
    } else {
      counter --;
    }
    Serial.print("Position: ");
    Serial.println(counter);
  }
  aLastState = aState; // Updates the previous state of the outputA with the current state
}

void axdl(){
  AccelMinX = 0;
  AccelMaxX = 0;
  AccelMinY = 0;
  AccelMaxY = 0;
  AccelMinZ = 0;
  AccelMaxZ = 0;
  sensors_event_t accelEvent;
  accel.getEvent(&accelEvent);

  if (accelEvent.acceleration.x < AccelMinX) AccelMinX = accelEvent.acceleration.x;
  if (accelEvent.acceleration.x > AccelMaxX) AccelMaxX = accelEvent.acceleration.x;

  if (accelEvent.acceleration.y < AccelMinY) AccelMinY = accelEvent.acceleration.y;
  if (accelEvent.acceleration.y > AccelMaxY) AccelMaxY = accelEvent.acceleration.y;

  if (accelEvent.acceleration.z < AccelMinZ) AccelMinZ = accelEvent.acceleration.z;
  if (accelEvent.acceleration.z > AccelMaxZ) AccelMaxZ = accelEvent.acceleration.z;

  Serial.print("Accel Minimums: "); Serial.print(AccelMinX); Serial.print("  ");Serial.print(AccelMinY); Serial.print("  "); Serial.print(AccelMinZ); Serial.println();
  Serial.print("Accel Maximums: "); Serial.print(AccelMaxX); Serial.print("  ");Serial.print(AccelMaxY); Serial.print("  "); Serial.print(AccelMaxZ); Serial.println();

}

void moisture(){
  val=analogRead(moist);
  Serial.print("Moisture: ");
  Serial.println(val,DEC);
}

void lmTemp(){
  val = analogRead(lm);
  float mv = ( val/1024.0)*5000;
  float cel = mv/10;
  float farh = (cel*9)/5 + 32;

  Serial.print("LM35: ");
  Serial.print(cel);
  Serial.print("*C");
  Serial.println();
}

void checkKnock(){
  val=digitalRead(knock);
  if(val==HIGH){
    Serial.println("Shock Detected");
  }else{
    Serial.println("No Shock Detected");
  }
}

void readDht(){
  val = DHT.read(DHT11_PIN);
  Serial.print("DHT: ");
  Serial.print(DHT.humidity,1);
  Serial.print("%,\t");
  Serial.print(DHT.temperature,1);
  Serial.println(" deg C");
}

void rtcNow(){
  DateTime now = RTC.now();

  Serial.print(now.year(), DEC);
  Serial.print('/');
  Serial.print(now.month(), DEC);
  Serial.print('/');
  Serial.print(now.day(), DEC);
  Serial.print(' ');
  Serial.print(now.hour(), DEC);
  Serial.print(':');
  Serial.print(now.minute(), DEC);
  Serial.print(':');
  Serial.print(now.second(), DEC);
  Serial.println();
}

void readPir(){
  val = digitalRead(pir);
  if(val == 1){
    Serial.println("Somebody is in this area!");
  }else{
    Serial.println("No motion!");
  }
}

void touchSensor(){
  if(digitalRead(capTouch)==HIGH) {
    Serial.println("Capacitive Touched");
  }else{
    Serial.println("Not touched");
  }
}

void echoRange(){
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH);

  //Calculate the distance (in cm) based on the speed of sound.
  distance = duration/58.2;
  if (distance >= maximumRange || distance <= minimumRange){
    Serial.println("Out of Range");
  }else {
    Serial.print(distance);
    Serial.println(" cm");
  }
}

void getTemp(){
  //returns the temperature from one DS18S20 in DEG Celsius

  byte data[12];
  byte addr[8];

  if ( !ds.search(addr)) {
    //no more sensors on chain, reset search
    ds.reset_search();
    return -1000;
  }

  if ( OneWire::crc8( addr, 7) != addr[7]) {
    Serial.println("CRC is not valid!");
    return -1000;
  }

  if ( addr[0] != 0x10 && addr[0] != 0x28) {
    Serial.print("Device is not recognized");
    return -1000;
  }

  ds.reset();
  ds.select(addr);
  ds.write(0x44,1); // start conversion, with parasite power on at the end

  byte present = ds.reset();
  ds.select(addr);

  ds.write(0xBE); // Read Scratchpad


  for (int i = 0; i < 9; i++) { // we need 9 bytes
    data[i] = ds.read();
  }
  ds.reset_search();

  byte MSB = data[1];
  byte LSB = data[0];

  float tempRead = ((MSB << 8) | LSB); //using two's compliment
  float TemperatureSum = tempRead / 16;
  Serial.print("DS18b20: ");
  Serial.print(TemperatureSum);
  Serial.println(" deg C");
}

void checkGas(){
  val = analogRead(10);//gas sensor
  Serial.print("Gas: ");
  Serial.println(val,DEC);

  val = analogRead(9);//alcohol sensor
  Serial.print("Alc: ");
  Serial.println(val,DEC);
}

void relayFlip(){
  if(relayState == 0){
    digitalWrite(relay,HIGH);
    relayState = 1;
    Serial.println("Setting Relay High");
  }else{
    digitalWrite(relay,LOW);
    relayState = 0;
    Serial.println("Setting Relay Low");
  }
}

void checkVibe(){
  val = digitalRead(vibe);
  // Serial.println(val);
  if(val != 0){
    Serial.println("Vibration detected");
  }else{
    Serial.println("Vibration NOT detected");
  }
}

void isLine(){
  val = digitalRead(line);
  if(val != 0){
    Serial.println("No Line!");
  }else{
    Serial.println("Line!!!!!!!!!!!!!!!!!");
  }
}

void isTilt(){
  val = digitalRead(tilt);
  if(val != 0){
    Serial.println("Steady");
  }else{
    Serial.println("TILT!");
  }
}

void isIR(){
  val = digitalRead(RECV_PIN);
  if(val == 0){
    Serial.println("IR Detected");
  }else{
    Serial.println("No IR Detected");
  }
}

void isFlame(){
  val = digitalRead(flame);
  if (val == HIGH) {
    Serial.println("Flame NOT Detected");
  }
  else {
    Serial.println("Flame Detected");
  }
}

void obstCheck(){
  val = digitalRead(obst);
  if (val == HIGH) {
    Serial.println("Object NOT Detected");
  }
  else {
    Serial.println("Object Detected");
  }
}

//Sketch uses 13512 bytes (5%) of program storage space. Maximum is 253952 bytes.
//Global variables use 1405 bytes (17%) of dynamic memory, leaving 6787 bytes for local variables. Maximum is 8192 bytes.


================================================
FILE: 4_dollar_xt_ide/_readme.txt
================================================
These are just quick and dirty bios exports to get you up and running in the vast majority of situations.  You can configure a lot more options if you download the full XTIDE Universal BIOS Package from https://www.xtideuniversalbios.org/ and configure it properly.

Video Link
https://youtu.be/WTBoUmHI0pU

PCBs and the latest BOMs can be found at 
The $4 XT-IDE Card
https://www.pcbway.com/project/shareproject/The_4_XTIDE_69f4ccdd.html

The $5 XT-IDE Card
https://www.pcbway.com/project/shareproject/The_5_XTIDE_d82d86c8.html

================================================
FILE: 5-Practical-Uses-For-Node-Red-On-Android/flow3.json
================================================
[{"id":"525fadc.ed09b54","type":"inject","z":"41ca64f3.1d227c","name":"","topic":"","payload":"Start!","payloadType":"str","repeat":"3","crontab":"","once":true,"onceDelay":0.1,"x":90,"y":160,"wires":[["5eb0269c.f49da8","8516419f.405e9","8996e27f.65a39","74e394d6.9048ec","922b3e46.96f8d","2ae7328a.e2132e"]]},{"id":"8516419f.405e9","type":"light","z":"41ca64f3.1d227c","name":"","x":270,"y":140,"wires":[["b00c310d.67b71"]]},{"id":"5eb0269c.f49da8","type":"motion","z":"41ca64f3.1d227c","name":"","x":270,"y":200,"wires":[["402ce830.b73648","dc4f741.a551e88","9785b23.f67d85"]]},{"id":"8996e27f.65a39","type":"gyroscope","z":"41ca64f3.1d227c","name":"","x":290,"y":360,"wires":[["692313b6.3f448c","a5d3ab1a.5f8468","3ba68bef.710394"]]},{"id":"74e394d6.9048ec","type":"compass","z":"41ca64f3.1d227c","name":"","x":280,"y":540,"wires":[["a35dafcf.adb72"]]},{"id":"922b3e46.96f8d","type":"db","z":"41ca64f3.1d227c","name":"","x":270,"y":460,"wires":[["1767f923.edefd7"]]},{"id":"74d183e6.c5d6ec","type":"ui_gauge","z":"41ca64f3.1d227c","name":"","group":"c63627f1.5c7318","order":0,"width":0,"height":0,"gtype":"gage","title":"Light Intensity","label":"","format":"{{value}}","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":620,"y":140,"wires":[]},{"id":"b00c310d.67b71","type":"function","z":"41ca64f3.1d227c","name":"","func":"msg.payload = msg.payload.intensity;\nreturn msg;","outputs":1,"noerr":0,"x":420,"y":140,"wires":[["74d183e6.c5d6ec"]]},{"id":"402ce830.b73648","type":"ui_text","z":"41ca64f3.1d227c","group":"9e66dc54.60929","order":1,"width":0,"height":0,"name":"","label":"Motion X (m/s^2)","format":"{{msg.payload.x}}","layout":"row-spread","x":490,"y":180,"wires":[]},{"id":"dc4f741.a551e88","type":"ui_text","z":"41ca64f3.1d227c","group":"9e66dc54.60929","order":1,"width":0,"height":0,"name":"","label":"Motion Y (m/s^2)","format":"{{msg.payload.y}}","layout":"row-spread","x":490,"y":220,"wires":[]},{"id":"9785b23.f67d85","type":"ui_text","z":"41ca64f3.1d227c","group":"9e66dc54.60929","order":1,"width":0,"height":0,"name":"","label":"Motion Z (m/s^2)","format":"{{msg.payload.z}}","layout":"row-spread","x":490,"y":260,"wires":[]},{"id":"692313b6.3f448c","type":"ui_text","z":"41ca64f3.1d227c","group":"9e66dc54.60929","order":1,"width":0,"height":0,"name":"","label":"Rotation X (rad/s)","format":"{{msg.payload.x}}","layout":"row-spread","x":490,"y":320,"wires":[]},{"id":"a5d3ab1a.5f8468","type":"ui_text","z":"41ca64f3.1d227c","group":"9e66dc54.60929","order":1,"width":0,"height":0,"name":"","label":"Rotation Y (rad/s)","format":"{{msg.payload.y}}","layout":"row-spread","x":490,"y":360,"wires":[]},{"id":"3ba68bef.710394","type":"ui_text","z":"41ca64f3.1d227c","group":"9e66dc54.60929","order":1,"width":0,"height":0,"name":"","label":"Rotation Z (rad/s)","format":"{{msg.payload.z}}","layout":"row-spread","x":490,"y":400,"wires":[]},{"id":"1767f923.edefd7","type":"function","z":"41ca64f3.1d227c","name":"","func":"var db = msg.payload.avg;\ndb = db-30;\ndb = db.toFixed(2);\nmsg.payload = db;\nreturn msg;","outputs":1,"noerr":0,"x":430,"y":460,"wires":[["ae7176b8.a8e948"]]},{"id":"ae7176b8.a8e948","type":"ui_gauge","z":"41ca64f3.1d227c","name":"","group":"c63627f1.5c7318","order":0,"width":0,"height":0,"gtype":"gage","title":"Sound Intensity","label":"dB","format":"{{value}}","min":0,"max":"100","colors":["#80ffff","#0273e3","#1205fc"],"seg1":"","seg2":"","x":630,"y":460,"wires":[]},{"id":"6d06207c.68f6b","type":"ui_text","z":"41ca64f3.1d227c","group":"9e66dc54.60929","order":1,"width":0,"height":0,"name":"","label":"Magnetic Heading","format":"{{msg.payload}}","layout":"row-spread","x":670,"y":540,"wires":[]},{"id":"a35dafcf.adb72","type":"function","z":"41ca64f3.1d227c","name":"","func":"msg.payload = msg.payload.magneticHeading;\nreturn msg;","outputs":1,"noerr":0,"x":430,"y":540,"wires":[["6d06207c.68f6b"]]},{"id":"2ae7328a.e2132e","type":"battery","z":"41ca64f3.1d227c","name":"","x":270,"y":620,"wires":[["c2412236.2bc","7b3d40d6.81447"]]},{"id":"c2412236.2bc","type":"function","z":"41ca64f3.1d227c","name":"","func":"msg.payload = msg.payload.level;\nreturn msg;","outputs":1,"noerr":0,"x":430,"y":600,"wires":[["72efd830.2af678"]]},{"id":"72efd830.2af678","type":"ui_text","z":"41ca64f3.1d227c","group":"9e66dc54.60929","order":1,"width":0,"height":0,"name":"","label":"Battery Level","format":"{{msg.payload}}%","layout":"row-spread","x":650,"y":600,"wires":[]},{"id":"596e3384.79d33c","type":"ui_switch","z":"41ca64f3.1d227c","name":"","label":"Plugged in?","tooltip":"","group":"9e66dc54.60929","order":8,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","x":660,"y":660,"wires":[[]]},{"id":"7b3d40d6.81447","type":"function","z":"41ca64f3.1d227c","name":"","func":"msg.payload = msg.payload.isPlugged;\nreturn msg;","outputs":1,"noerr":0,"x":430,"y":660,"wires":[["596e3384.79d33c"]]},{"id":"c63627f1.5c7318","type":"ui_group","z":"","name":"Gauge","tab":"6c42d8e.4926428","disp":true,"width":"6","collapse":false},{"id":"9e66dc54.60929","type":"ui_group","z":"","name":"Lab","tab":"6c42d8e.4926428","disp":true,"width":"7","collapse":false},{"id":"6c42d8e.4926428","type":"ui_tab","z":"","name":"Lab","icon":"fa-flask","disabled":false,"hidden":false}]


================================================
FILE: 5-Practical-Uses-For-Node-Red-On-Android/flow4.json
================================================
[{"id":"7348226e.5a7fcc","type":"change","z":"41ca64f3.1d227c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{     \"text\": \"Please speak your passphrase.\",     \"lang\": \"en-US\" }","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":280,"y":120,"wires":[["a337f668.4fe438"]]},{"id":"a337f668.4fe438","type":"text-to-speech","z":"41ca64f3.1d227c","name":"","x":520,"y":120,"wires":[[]]}]


================================================
FILE: 5-Practical-Uses-For-Node-Red-On-Android/flow5.json
================================================
[{"id":"7a24a90f.8d5f28","type":"change","z":"41ca64f3.1d227c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{     \"text\": \"Please speak your passphrase.\",     \"lang\": \"en-US\" }","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":320,"y":140,"wires":[["1112a9c1.8f7836"]]},{"id":"1112a9c1.8f7836","type":"text-to-speech","z":"41ca64f3.1d227c","name":"","x":540,"y":140,"wires":[["f31162f.349b2a"]]},{"id":"ceb30d0.ad1fff","type":"speech-to-text","z":"41ca64f3.1d227c","name":"","x":1100,"y":140,"wires":[["cc08934.94b6d7","3808c806.fe05f8"]]},{"id":"81c00d38.f1758","type":"change","z":"41ca64f3.1d227c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{     \"language\": \"en-US\",     \"matches\": 5,     \"prompt\": \"please talk\",     \"showPopup\": true }","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":900,"y":140,"wires":[["ceb30d0.ad1fff"]]},{"id":"14d07534.e14c6b","type":"debug","z":"41ca64f3.1d227c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":630,"y":460,"wires":[]},{"id":"cc08934.94b6d7","type":"switch","z":"41ca64f3.1d227c","name":"See if the word code is used","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"code","vt":"str"},{"t":"cont","v":"Code","vt":"str"},{"t":"else"}],"checkall":"false","repair":false,"outputs":3,"x":240,"y":300,"wires":[["67e180c.188fb8"],["67e180c.188fb8"],["df9aca3a.71dab8"]]},{"id":"f31162f.349b2a","type":"delay","z":"41ca64f3.1d227c","name":"","pauseType":"delay","timeout":"1.5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":730,"y":140,"wires":[["81c00d38.f1758"]]},{"id":"67e180c.188fb8","type":"switch","z":"41ca64f3.1d227c","name":"Look for a valid trigger","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"yellow","vt":"str"},{"t":"cont","v":"Yellow","vt":"str"},{"t":"cont","v":"brown","vt":"str"},{"t":"cont","v":"Brown","vt":"str"}],"checkall":"false","repair":false,"outputs":4,"x":560,"y":280,"wires":[["14d07534.e14c6b","f1c2e1d5.369cf"],["14d07534.e14c6b","f1c2e1d5.369cf"],["14d07534.e14c6b","9c16b6ae.505998"],["14d07534.e14c6b","9c16b6ae.505998"]]},{"id":"c4cc099b.413a28","type":"text-to-speech","z":"41ca64f3.1d227c","name":"Invalid Phrase","x":360,"y":360,"wires":[[]]},{"id":"df9aca3a.71dab8","type":"change","z":"41ca64f3.1d227c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{     \"text\": \"Invalid phrase\",     \"lang\": \"en-US\" }","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":160,"y":360,"wires":[["c4cc099b.413a28"]]},{"id":"f1c2e1d5.369cf","type":"change","z":"41ca64f3.1d227c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{     \"text\": \"Bathroom Unlocked.  Please don't forget to put the seat down when you are finished.\",     \"lang\": \"en-US\" }","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":880,"y":260,"wires":[["3b220a2b.b94b96"]]},{"id":"3b220a2b.b94b96","type":"text-to-speech","z":"41ca64f3.1d227c","name":"Code Yellow","x":1070,"y":260,"wires":[[]]},{"id":"9c16b6ae.505998","type":"change","z":"41ca64f3.1d227c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{     \"text\": \"Please state your name\",     \"lang\": \"en-US\" }","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":880,"y":320,"wires":[["6134b98c.9f78a8"]]},{"id":"6134b98c.9f78a8","type":"text-to-speech","z":"41ca64f3.1d227c","name":"Request Name","x":1080,"y":320,"wires":[["efe0a225.95c67"]]},{"id":"efe0a225.95c67","type":"delay","z":"41ca64f3.1d227c","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":860,"y":380,"wires":[["47757393.fae95c"]]},{"id":"47757393.fae95c","type":"change","z":"41ca64f3.1d227c","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{     \"language\": \"en-US\",     \"matches\": 1,     \"prompt\": \"please talk\",     \"showPopup\": true }","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":1040,"y":380,"wires":[["af412c0f.fa129"]]},{"id":"af412c0f.fa129","type":"speech-to-text","z":"41ca64f3.1d227c","name":"","x":1240,"y":380,"wires":[["14d07534.e14c6b","1f3be3ef.00549c","d5d87ccb.6ffda","47b9766f.59bec8"]]},{"id":"1f3be3ef.00549c","type":"http request","z":"41ca64f3.1d227c","name":"","method":"GET","ret":"txt","paytoqs":false,"url":"http://192.168.95.148/shop/sound.php?sound=attention","tls":"","proxy":"","authType":"","x":870,"y":460,"wires":[[]]},{"id":"d5d87ccb.6ffda","type":"delay","z":"41ca64f3.1d227c","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":860,"y":520,"wires":[["a5318edf.ffb7e"]]},{"id":"a5318edf.ffb7e","type":"mqtt out","z":"41ca64f3.1d227c","name":"","topic":"tts","qos":"0","retain":"false","broker":"c730a4d9.d64ec8","x":1030,"y":520,"wires":[]},{"id":"47b9766f.59bec8","type":"delay","z":"41ca64f3.1d227c","name":"","pauseType":"delay","timeout":"3.5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":870,"y":580,"wires":[["af1c969b.792258"]]},{"id":"af1c969b.792258","type":"http request","z":"41ca64f3.1d227c","name":"","method":"GET","ret":"txt","paytoqs":false,"url":"http://192.168.95.148/shop/sound.php?sound=brown","tls":"","proxy":"","authType":"","x":1070,"y":580,"wires":[[]]},{"id":"3808c806.fe05f8","type":"debug","z":"41ca64f3.1d227c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1230,"y":220,"wires":[]},{"id":"c730a4d9.d64ec8","type":"mqtt-broker","z":"","name":"","broker":"192.168.95.225","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]


================================================
FILE: 9 Pin Cable Tester/no_screen.ino
================================================
//if you are not familiar with programming the arduino, 
//you can find the software and instructions here:
// https://www.arduino.cc/en/Guide/ArduinoNano

void setup()
{
    // Initialize the serial port
    Serial.begin(9600);

    // Set pins 12 through 4 as output
    for (int pin = 12; pin >= 4; pin--)
    {
        pinMode(pin, OUTPUT);
    }

    // Print a welcome message
    Serial.println("9 Pin Cable Tester by AnotherMaker");
}

void loop()
{

    for (int pin = 12; pin >= 4; pin--)
    {
        // Turn on the current LED
        digitalWrite(pin, HIGH);
        // Print which LED is lit up

        Serial.print("LED ");
        Serial.print(13 - pin);
        Serial.println(" is lit up");

        // Wait for 0.5 seconds
        delay(500);

        // Turn off the current LED
        digitalWrite(pin, LOW);
    }
}


================================================
FILE: 9 Pin Cable Tester/readme.txt
================================================
This project requires
Arduino Nano - https://amzn.to/3ysygOz
18 @ 5mm LEDs - https://amzn.to/3WQ7TvY
9 @ 330 ohm resistors - https://amzn.to/4boEXQi
4 DE-9 connectors - https://amzn.to/3QSAUmT

Optional parts:
Female Headers for Nano & screen https://amzn.to/3UMBFPF
7 Segment Display - https://amzn.to/4c25rqP
Network cable tester - https://amzn.to/3K4ua1H

//if you are not familiar with programming the arduino, 
//you can find the software and instructions here:
https://www.arduino.cc/en/Guide/ArduinoNano


================================================
FILE: 9 Pin Cable Tester/with_screen.ino
================================================
//if you are not familiar with programming the arduino, 
//you can find the software and instructions here:
// https://www.arduino.cc/en/Guide/ArduinoNano


// be sure to include the TM1637 library in the Arduino IDE
#include <TM1637Display.h>

// Define the connections pins for TM1637 display
#define CLK A0
#define DIO A1

TM1637Display display(CLK, DIO);

// Custom segment definitions for "P", "I", and "N" on the first 3 digits
const uint8_t SEG_P = 0b01110011;
const uint8_t SEG_I = 0b00000100; 
const uint8_t SEG_N = 0b01010100;

void setup() {
  // Initialize serial communication at 9600 baud
  Serial.begin(9600);
  
  // Initialize the TM1637 display
  display.setBrightness(0x0f); // Set the brightness to maximum
  
  // Set pins 12 through 4 as output
  for (int pin = 12; pin >= 4; pin--) {
    pinMode(pin, OUTPUT);
  }
  
  // Print a welcome message
  Serial.println("9 Pin Cable Tester with Screen by AnotherMaker");
}

void loop() {
  // Loop through pins 12 through 4
  for (int pin = 12; pin >= 4; pin--) {
    // Turn on the current LED
    digitalWrite(pin, HIGH);
    // Determine which LED is lit up
    int ledNumber = 13 - pin;
    // Print which LED is lit up
    Serial.print("LED ");
    Serial.print(ledNumber);
    Serial.println(" is lit up");

    // Display "PIN" followed by the LED number on TM1637 display
    uint8_t data[] = {SEG_P, SEG_I, SEG_N, display.encodeDigit(ledNumber)};
    display.setSegments(data);
    
    // Wait for 0.5 seconds
    delay(500);

    // Turn off the current LED
    digitalWrite(pin, LOW);
  }
}


================================================
FILE: 9 Pin Cable Tester/with_screen_and_button.ino
================================================
// A button gets soldered between Pins A6 and GND on the Arduino Nano
// Holding the button down on boot will switch to mode 1 which allows you to
// manually step through the pins.  Tapping the button in mode 0 will change
// the speed at which the LEDs step through the pins.

#include <TM1637Display.h>

int stepSpeed = 500;
int mode = 0; 
const int buttonPin = A6;
bool buttonPressed = false;
unsigned long lastDebounceTime = 0;
unsigned long debounceDelay = 68;
unsigned long buttonPressStartTime = 0;
bool buttonHeld = false;
unsigned long lastStepTime = 0;

#define CLK A0
#define DIO A1
TM1637Display display(CLK, DIO);

const uint8_t SEG_P = 0b01110011;
const uint8_t SEG_I = 0b00000100;
const uint8_t SEG_N = 0b01010100;
const uint8_t SEG_DASH = 0b01000000;

void setup() {
  Serial.begin(9600);
  pinMode(buttonPin, INPUT_PULLUP);
  display.setBrightness(0x0f);
  for (int pin = 12; pin >= 4; pin--) {
    pinMode(pin, OUTPUT);
  }
  int bootreading = analogRead(buttonPin);
  if(bootreading< 10){
    mode = 1;
  }
  Serial.println("9 Pin Cable Tester with Screen by AnotherMaker");

  // Display initial mode on boot
  uint8_t data[4];
  data[0] = SEG_DASH;
  data[1] = SEG_DASH;
  data[2] = SEG_DASH;
  data[3] = display.encodeDigit(mode);
  display.setSegments(data);
  delay(1000);
  updateDisplayAfterModeSwitch();
}

void loop() {
  int reading = analogRead(buttonPin);
  Serial.println(reading);

  if (reading < 10) {
    if (!buttonPressed && (millis() - lastDebounceTime) > debounceDelay) {
      buttonPressed = true;
      buttonPressStartTime = millis();
      lastDebounceTime = millis();
    } 
  } else {
    if (buttonPressed) {
      if (!buttonHeld && (millis() - lastDebounceTime) > debounceDelay) {
        if (mode == 0) {
          adjustStepSpeed();
        } else if (mode == 1) {
          incrementLEDs();
        }
      }
      buttonPressed = false;
      buttonHeld = false;
      lastDebounceTime = millis();
    }
  }

  if (mode == 0) {
    autoStepThroughPins();
  }
}

void adjustStepSpeed() {
  if (stepSpeed == 500) {
    stepSpeed = 1000;
  } else if (stepSpeed == 1000) {
    stepSpeed = 2500;
  } else if (stepSpeed == 2500) {
    stepSpeed = 250;
  } else {
    stepSpeed = 500;
  }
  Serial.print("Step Speed: ");
  Serial.println(stepSpeed);
  display.clear();
  display.showNumberDec(stepSpeed);
  delay(1000); // Blocking delay for speed change
  display.clear(); // Clear the display after showing speed
}

void incrementLEDs() {
  static int currentLED = 12;
  static bool firstPress = true;
  
  if (firstPress) {
    firstPress = false;
    currentLED = 12; // Reset to initial state on first press in mode 1
  } else {
    digitalWrite(currentLED, LOW);
    currentLED--;
    if (currentLED < 4) {
      currentLED = 12;
    }
  }
  
  digitalWrite(currentLED, HIGH);
  int ledNumber = 13 - currentLED;
  uint8_t data[] = {SEG_P, SEG_I, SEG_N, display.encodeDigit(ledNumber)};
  display.setSegments(data);
}

void autoStepThroughPins() {
  static int currentPin = 12;
  unsigned long currentTime = millis();
  
  if (currentTime - lastStepTime >= stepSpeed) {
    digitalWrite(currentPin, LOW); // Turn off the previous LED
    currentPin--;
    if (currentPin < 4) {
      currentPin = 12;
    }
    digitalWrite(currentPin, HIGH); // Turn on the current LED
    int ledNumber = 13 - currentPin;
    uint8_t data[] = {SEG_P, SEG_I, SEG_N, display.encodeDigit(ledNumber)};
    display.setSegments(data);
    lastStepTime = currentTime;
  }
}

void updateDisplayAfterModeSwitch() {
  if (mode == 1) {
    static int currentLED = 12; // Ensure the currentLED value is consistent
    int ledNumber = 13 - currentLED;
    uint8_t data[] = {SEG_P, SEG_I, SEG_N, display.encodeDigit(ledNumber)};
    display.setSegments(data);
  } else {
    display.clear();
  }
}


================================================
FILE: Apple II Gotek/readme.txt
================================================
This is the home of my Apple ][ Gotek Adapter

I will eventually release the gerbers, but as a thank you, I am offering it on my PCBWay shared projects page only for a limited time. If you want to support me, please order it from there.

https://www.pcbway.com/project/shareproject/Apple___Gotek_Adapter.html

Parts I used
2x17 female headers https://amzn.to/3vm8A4z (You can use 2@single row also)

Female Single Row Headers - https://amzn.to/47duGU8
Male Single Row Headers - https://amzn.to/4aI2fAO

Thanks to the HxC firmware (currently free!) https://hxc2001.com/store/ for providing the software and especially to Jean-François over at HxC for all his hard work on the project.

IMPORTANT:
At the time of this publication, v2.5.6.6 of HxC Floppy Emulator for Converting my images.

There are 2 VERY important steps to converting existing files.  
1. Before you import, make sure you rename any files that are .dsk to .do so the software is clear that they are Apple files.  This will probably not be necessary in future versions.

2. When you export make sure that you export as "Rev 3 Experimental." This is the only version that works with the Apple ][ at the time I released this board..
https://i.imgur.com/7uMgklw.png

================================================
FILE: Atari 4x16/desktop.ini
================================================
[LocalizedFileNames]
16kBottomLabel.stl=@16kBottomLabel.stl,0
ATARI_CARY_REV_2_holder.stl=@ATARI_CARY_REV_2_holder.stl,0
8K16KTop.stl=@8K16KTop.stl,0


================================================
FILE: Atari Super Salt Diagnostic/roms can be found here.txt
================================================
https://archive.org/download/super-salt-roms/SUPER_SALT_ROMS.zip


================================================
FILE: Component Organization/live_version.txt
================================================
I will try to keep exporting, but I will share my live link with you with the latest values. These are great for storing in a database or for printing labels.

https://docs.google.com/spreadsheets/d/1c1tNzaBOpc-Giuv75RJBtnUbS3LsTN9mnHcwL9sqR7Q/edit?usp=sharing


================================================
FILE: ESP32-Cheap-Yellow-Display/split-screen-buttons/split-screen-buttons.ino
================================================
// Adapted from 
// https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/tree/main/Examples/Basics/2-TouchTest

//Splits the screen horizontally and adds an arrow to pointing to the left and right.  
//touching each half of the screen will fire off a different function. 

// Make sure to copy the UserSetup.h file into the library as
// per the Github Instructions at 
//https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/blob/main/SETUP.md. 
//The pins are defined in there.

// ----------------------------
// Standard Libraries
// ----------------------------

#include <SPI.h>

// ----------------------------
// Additional Libraries - each one of these will need to be installed.
// ----------------------------

#include <XPT2046_Touchscreen.h>
#include <TFT_eSPI.h>

// ----------------------------
// Touch Screen pins
// ----------------------------

#define XPT2046_IRQ 36
#define XPT2046_MOSI 32
#define XPT2046_MISO 39
#define XPT2046_CLK 25
#define XPT2046_CS 33
int pressureThreshold = 500;
int arrowSize = 20;

// the larger the offset, the more the arrows are pushed to the edge of the screen
int arrowOffsetX = 300;
int arrowOffsetY = 60;

// ----------------------------

SPIClass mySpi = SPIClass(HSPI);
XPT2046_Touchscreen ts(XPT2046_CS, XPT2046_IRQ);

TFT_eSPI tft = TFT_eSPI();

void setup()
{
  Serial.begin(115200);

  // Staright the SPI for the touch screen and init the TS library
  mySpi.begin(XPT2046_CLK, XPT2046_MISO, XPT2046_MOSI, XPT2046_CS);
  ts.begin(mySpi);
  ts.setRotation(1);

  // Staright the tft display and set it to black
  tft.init();
  tft.setRotation(1);

  baseScreenBackground();

  int x = tft.width() / 2;
  int y = 100;
  int fontSize = 2;
  tft.drawCentreString("Touch Screen to Start", x, y, fontSize);
}

void baseScreenBackground()
{
  // Clear the screen and draw the red and green halves
  tft.fillScreen(TFT_RED);
  tft.fillRect(0, tft.height() / 2, tft.width(), tft.height() / 2, TFT_BLUE);

  // right arrow (rotated 180 degrees) on the left side
  int rightArrowX = arrowOffsetX + arrowSize / 2;
  int rightArrowY = tft.height() / 2 + arrowOffsetY;
  int rightArrowTopX = rightArrowX - arrowSize / 2;
  int rightArrowTopY = rightArrowY - arrowSize / 2;
  int rightArrowBottomY = rightArrowY + arrowSize / 2;

  tft.fillTriangle(
      rightArrowTopX, rightArrowTopY,
      rightArrowX, rightArrowY,
      rightArrowTopX, rightArrowBottomY,
      TFT_WHITE);

  // Calculate the X-coordinate of the left point of the arrow's base
  int leftArrowX = tft.width() - arrowOffsetX - arrowSize / 2;

  // Calculate the Y-coordinate of the center point of the arrow
  int leftArrowY = tft.height() / 2 - arrowOffsetY;

  // Calculate the X-coordinate of the top point of the arrow
  int leftArrowTopX = leftArrowX + arrowSize / 2;

  // Calculate the Y-coordinate of the top point of the arrow
  int leftArrowTopY = leftArrowY - arrowSize / 2;

  // Calculate the Y-coordinate of the bottom point of the arrow
  int leftArrowBottomY = leftArrowY + arrowSize / 2;

  // Draw the left arrow using the calculated coordinates
  tft.fillTriangle(
      // X-coordinate of the top point of the arrow
      leftArrowTopX,

      // Y-coordinate of the top point of the arrow
      leftArrowTopY,

      // X-coordinate of the left point of the arrow's base
      leftArrowX,

      // Y-coordinate of the center point of the arrow
      leftArrowY,

      // X-coordinate of the top point of the arrow (again, to close the triangle)
      leftArrowTopX,

      // Y-coordinate of the bottom point of the arrow
      leftArrowBottomY,

      // Color of the arrow (in this case, white)
      TFT_WHITE);
}

void printTouchLocation(TS_Point p)
{
  Serial.print("Pressure = ");
  Serial.print(p.z);
  Serial.print(", x = ");
  Serial.print(p.x);
  Serial.print(", y = ");
  Serial.print(p.y);
  Serial.println();

  // leave a dead zone in the middle of the screen.
  if (p.y < 2000)
  {
   topPressed();
  }
  else if (p.y > 2800)
  {
   bottomPressed();
  }
  delay(1000);
  baseScreenBackground();
}

void topPressed(){
  tft.fillScreen(TFT_GREEN);
  tft.setTextColor(TFT_BLACK, TFT_GREEN);
  tft.drawCentreString("Top half touched", tft.width() / 2, tft.height() / 2, 2);
  Serial.println("Top half touched");
}

void bottomPressed(){
  tft.fillScreen(TFT_GREEN);
  tft.setTextColor(TFT_BLACK, TFT_GREEN);
  tft.drawCentreString("Bottom half touched", tft.width() / 2, tft.height() / 2, 2);
  Serial.println("Bottom half touched");
}

void loop()
{
  if (ts.tirqTouched() && ts.touched())
  {
    TS_Point p = ts.getPoint();
    if (p.z >= pressureThreshold)
    {

      printTouchLocation(p);
    }

    delay(100);
  }
}


================================================
FILE: Global-Variables-On-Node-Red/part1.json
================================================
[{"id":"c8614d89.c2194","type":"tab","label":"Flow 3","disabled":false,"info":""},{"id":"9f2ba77e.586b38","type":"inject","z":"c8614d89.c2194","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":100,"y":60,"wires":[["f25220c5.15bb4"]]},{"id":"f25220c5.15bb4","type":"function","z":"c8614d89.c2194","name":"","func":"var a = 4;\nmsg.payload = a;\nreturn msg;","outputs":1,"noerr":0,"x":280,"y":60,"wires":[["c04256f0.eeecd8"]]},{"id":"c04256f0.eeecd8","type":"debug","z":"c8614d89.c2194","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":480,"y":60,"wires":[]},{"id":"be16fa72.470658","type":"inject","z":"c8614d89.c2194","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":100,"y":120,"wires":[["f9ca4601.1b7848"]]},{"id":"f9ca4601.1b7848","type":"function","z":"c8614d89.c2194","name":"","func":"var b = 10 + a;\nmsg.payload = b;\nreturn msg;","outputs":1,"noerr":0,"x":280,"y":120,"wires":[["6129504e.8a768"]]},{"id":"6129504e.8a768","type":"debug","z":"c8614d89.c2194","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":480,"y":120,"wires":[]},{"id":"9af77677.3ad128","type":"inject","z":"c8614d89.c2194","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":100,"y":240,"wires":[["1ff677ce.fc91e8"]]},{"id":"1ff677ce.fc91e8","type":"function","z":"c8614d89.c2194","name":"","func":"global.set('a',4);\nreturn msg;","outputs":1,"noerr":0,"x":280,"y":240,"wires":[["a6f7a248.46cb5"]]},{"id":"a6f7a248.46cb5","type":"debug","z":"c8614d89.c2194","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":480,"y":240,"wires":[]},{"id":"b9bb1001.bb773","type":"inject","z":"c8614d89.c2194","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":100,"y":300,"wires":[["1d7143e.357ccbc"]]},{"id":"1d7143e.357ccbc","type":"function","z":"c8614d89.c2194","name":"","func":"var a = global.get('a');\nvar b = 10 + a;\nmsg.payload = b;\nreturn msg;","outputs":1,"noerr":0,"x":280,"y":300,"wires":[["d4f788d9.62aa18"]]},{"id":"d4f788d9.62aa18","type":"debug","z":"c8614d89.c2194","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":480,"y":300,"wires":[]},{"id":"860da857.c80ca8","type":"comment","z":"c8614d89.c2194","name":"This Doesn't Work","info":"","x":730,"y":80,"wires":[]},{"id":"5ba33fb6.437c9","type":"comment","z":"c8614d89.c2194","name":"This Works","info":"","x":700,"y":260,"wires":[]}]


================================================
FILE: Global-Variables-On-Node-Red/part2-with-text-to-speech.json
================================================
[{"id":"3f62355a.ef21aa","type":"inject","z":"7a36420f.45489c","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":80,"wires":[["1a2cd85.92bc428"]]},{"id":"1a2cd85.92bc428","type":"function","z":"7a36420f.45489c","name":"Reset Game","func":"global.set('1isPressed',0);\nglobal.set('2isPressed',0);\nglobal.set('3isPressed',0);\nglobal.set('4isPressed',0);\n\nglobal.set('1',0);\nglobal.set('2',0);\nglobal.set('3',0);\nglobal.set('4',0);\n\nglobal.set('gameOver',0);\nglobal.set('numPressed',0);\n\nvar mine = Math.floor(Math.random() * 4 + 1);\nglobal.set(\"\"+mine,1);\nmsg.payload = mine;\nreturn msg;","outputs":1,"noerr":0,"x":370,"y":80,"wires":[["d1f13fde.91bf8"]]},{"id":"d1f13fde.91bf8","type":"debug","z":"7a36420f.45489c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":610,"y":80,"wires":[]},{"id":"1002db81.9280a4","type":"inject","z":"7a36420f.45489c","name":"","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":180,"wires":[["b1892651.afb888"]]},{"id":"9b91eeb5.29423","type":"inject","z":"7a36420f.45489c","name":"","topic":"","payload":"3","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":260,"wires":[["b1892651.afb888"]]},{"id":"821b9013.8fa6","type":"inject","z":"7a36420f.45489c","name":"","topic":"","payload":"4","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":300,"wires":[["b1892651.afb888"]]},{"id":"1b225a06.352e26","type":"inject","z":"7a36420f.45489c","name":"","topic":"","payload":"2","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":220,"wires":[["b1892651.afb888"]]},{"id":"b1892651.afb888","type":"function","z":"7a36420f.45489c","name":"","func":"var gameState = global.get('gameOver');\nif(gameState === 1){\n    msg.payload = \"The Game is Over! Please Reset!\";\n     return msg;\n}\n\n\nvar pressed = msg.payload;\nvar check = global.get(pressed+\"isPressed\"); \n\n\nif(check === 0){ //has not been pressed\n    var press = global.get('numPressed');\n    global.set('numPressed',press+1);\n  \n    global.set(pressed+\"isPressed\",1);\n    \n    var isMine = global.get(\"\"+pressed);\n    if (isMine === 1){\n        msg.payload = \"Mineeeeeee!\";\n        global.set('gameOver',1);\n        return msg;\n    }else{\n        if(press < 1){ //2\n        msg.payload = \"You are fine, but you must press another button\";\n        }else{\n         msg.payload = \"You win!!!!!!!!!!!!!!!!!!\";   \n        }\n        return msg;\n    }\n    \n}\n\n","outputs":1,"noerr":0,"x":360,"y":240,"wires":[["d1f13fde.91bf8","ff18913b.60c74"]]},{"id":"ff18913b.60c74","type":"switch","z":"7a36420f.45489c","name":"","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"Over","vt":"str"},{"t":"cont","v":"another","vt":"str"},{"t":"cont","v":"Mine","vt":"str"},{"t":"cont","v":"win","vt":"str"},{"t":"else"}],"checkall":"false","repair":false,"outputs":5,"x":590,"y":240,"wires":[["3d20721e.27b9ce"],["27fef652.5eb74a"],["be46dff5.31e1f"],["e1adbe78.74739"],[]]},{"id":"3d20721e.27b9ce","type":"say","z":"7a36420f.45489c","name":"The game is over, please hit reset.","voice":"","x":910,"y":200,"wires":[[]]},{"id":"27fef652.5eb74a","type":"say","z":"7a36420f.45489c","name":"You are good, but please press another button","voice":"","x":940,"y":240,"wires":[[]]},{"id":"be46dff5.31e1f","type":"say","z":"7a36420f.45489c","name":"Boom","voice":"","x":810,"y":280,"wires":[[]]},{"id":"e1adbe78.74739","type":"say","z":"7a36420f.45489c","name":"You win!","voice":"","x":820,"y":320,"wires":[[]]}]


================================================
FILE: Global-Variables-On-Node-Red/part2.json
================================================
[{"id":"de21b0f1.09d24","type":"inject","z":"c8614d89.c2194","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":80,"wires":[["229d1fe3.7e05"]]},{"id":"229d1fe3.7e05","type":"function","z":"c8614d89.c2194","name":"Reset Game","func":"global.set('1isPressed',0);\nglobal.set('2isPressed',0);\nglobal.set('3isPressed',0);\nglobal.set('4isPressed',0);\n\nglobal.set('1',0);\nglobal.set('2',0);\nglobal.set('3',0);\nglobal.set('4',0);\n\nglobal.set('gameOver',0);\nglobal.set('numPressed',0);\n\nvar mine = Math.floor(Math.random() * 4 + 1);\nglobal.set(\"\"+mine,1);\nmsg.payload = mine;\nreturn msg;","outputs":1,"noerr":0,"x":370,"y":80,"wires":[["cb7ecae2.79d218"]]},{"id":"cb7ecae2.79d218","type":"debug","z":"c8614d89.c2194","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":610,"y":80,"wires":[]},{"id":"58920348.b06ccc","type":"inject","z":"c8614d89.c2194","name":"","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":180,"wires":[["cfc6a53f.ab7c48"]]},{"id":"b38f7c39.696ea","type":"inject","z":"c8614d89.c2194","name":"","topic":"","payload":"3","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":260,"wires":[["cfc6a53f.ab7c48"]]},{"id":"125291f3.8ce3ae","type":"inject","z":"c8614d89.c2194","name":"","topic":"","payload":"4","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":300,"wires":[["cfc6a53f.ab7c48"]]},{"id":"eb4035f.c4c8ec8","type":"inject","z":"c8614d89.c2194","name":"","topic":"","payload":"2","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":220,"wires":[["cfc6a53f.ab7c48"]]},{"id":"cfc6a53f.ab7c48","type":"function","z":"c8614d89.c2194","name":"","func":"var gameState = global.get('gameOver');\nif(gameState === 1){\n    msg.payload = \"The Game is Over! Please Reset!\";\n     return msg;\n}\n\n\nvar pressed = msg.payload;\nvar check = global.get(pressed+\"isPressed\");\n\n\nif(check === 0){ //has not been pressed\n    var press = global.get('numPressed');\n    global.set('numPressed',press+1);\n  \n    global.set(pressed+\"isPressed\",1);\n    \n    var isMine = global.get(\"\"+pressed);\n    if (isMine === 1){\n        msg.payload = \"Mineeeeeee!\";\n        global.set('gameOver',1);\n        return msg;\n    }else{\n        if(press < 1){\n        msg.payload = \"You are fine, but you must press another button\";\n        }else{\n         msg.payload = \"You win!!!!!!!!!!!!!!!!!!\";   \n        }\n        return msg;\n    }\n    \n}\n\n","outputs":1,"noerr":0,"x":360,"y":240,"wires":[["cb7ecae2.79d218"]]}]


================================================
FILE: IR-RF/master-receiver-ir-rf-video.c
================================================
//------------------------------------------------------------------------------
// Include the IRremote library header
//
#include <IRremote.h>
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
//------------------------------------------------------------------------------
// Tell IRremote which Arduino pin is connected to the IR Receiver (TSOP4838)
//
int blueLED = 7;
int redLED = 8;
int greenLED = 9;
int recvPin = 6;
IRrecv irrecv(recvPin);
unsigned long interval1 = 250; //how long should the green led be off to indicate blinking in ms
unsigned long finished = 0;    // just a place to store when to stop blinking

//+=============================================================================
// Configure the Arduino
//
void  setup ( )
{
  Serial.begin(9600);   // Status message will be sent to PC at 9600 baud
  irrecv.enableIRIn();  // Start the receiver
  // mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2 on nano,uno,mega
  mySwitch.enableReceive(1);  // Receiver on interrupt 1 => that is pin #3 on nano,uno,mega
  pinMode(blueLED,OUTPUT);
  pinMode(redLED,OUTPUT);
  pinMode(greenLED,OUTPUT);
  Serial.println("Master Receiver Booted");
  digitalWrite(greenLED,LOW);
  digitalWrite(redLED,HIGH);
  digitalWrite(blueLED,HIGH);
}

//+=============================================================================
// Display IR code
//
void  ircode (decode_results *results)
{
  // Panasonic has an Address
  if (results->decode_type == PANASONIC) {
    Serial.print(results->address, HEX);
    Serial.print(":");
  }

  // Print Code
  Serial.print(results->value, HEX);
}

//+=============================================================================
// Display encoding type
//
void  encoding (decode_results *results)
{
  switch (results->decode_type) {
    default:
    case UNKNOWN:      Serial.print("UNKNOWN");       break ;
    case NEC:          Serial.print("NEC");           break ;
    case SONY:         Serial.print("SONY");          break ;
    case RC5:          Serial.print("RC5");           break ;
    case RC6:          Serial.print("RC6");           break ;
    case DISH:         Serial.print("DISH");          break ;
    case SHARP:        Serial.print("SHARP");         break ;
    case JVC:          Serial.print("JVC");           break ;
    case SANYO:        Serial.print("SANYO");         break ;
    case MITSUBISHI:   Serial.print("MITSUBISHI");    break ;
    case SAMSUNG:      Serial.print("SAMSUNG");       break ;
    case LG:           Serial.print("LG");            break ;
    case WHYNTER:      Serial.print("WHYNTER");       break ;
    case AIWA_RC_T501: Serial.print("AIWA_RC_T501");  break ;
    case PANASONIC:    Serial.print("PANASONIC");     break ;
    case DENON:        Serial.print("Denon");         break ;
  }
}

//+=============================================================================
// Dump out the decode_results structure.
//
void  dumpInfo (decode_results *results)
{
  // Check if the buffer overflowed
  if (results->overflow) {
    Serial.println("IR code too long. Edit IRremoteInt.h and increase RAWBUF");
    return;
  }

  // Show Encoding standard
  Serial.print("Encoding  : ");
  encoding(results);
  Serial.println("");

  // Show Code & length
  Serial.print("Code      : ");
  ircode(results);
  Serial.print(" (");
  Serial.print(results->bits, DEC);
  Serial.println(" bits)");
}

//+=============================================================================
// Dump out the decode_results structure.
//
void  dumpRaw (decode_results *results)
{
  // Print Raw data
  Serial.print("Timing[");
  Serial.print(results->rawlen-1, DEC);
  Serial.println("]: ");

  for (int i = 1;  i < results->rawlen;  i++) {
    unsigned long  x = results->rawbuf[i] * USECPERTICK;
    if (!(i & 1)) {  // even
      Serial.print("-");
      if (x < 1000)  Serial.print(" ") ;
      if (x < 100)   Serial.print(" ") ;
      Serial.print(x, DEC);
    } else {  // odd
      Serial.print("     ");
      Serial.print("+");
      if (x < 1000)  Serial.print(" ") ;
      if (x < 100)   Serial.print(" ") ;
      Serial.print(x, DEC);
      if (i < results->rawlen-1) Serial.print(", "); //',' not needed for last one
    }
    if (!(i % 8))  Serial.println("");
  }
  Serial.println("");                    // Newline
}

//+=============================================================================
// Dump out the decode_results structure.
//
void  dumpCode (decode_results *results)
{
  // Start declaration
  Serial.print("unsigned int  ");          // variable type
  Serial.print("rawData[");                // array name
  Serial.print(results->rawlen - 1, DEC);  // array size
  Serial.print("] = {");                   // Start declaration

  // Dump data
  for (int i = 1;  i < results->rawlen;  i++) {
    Serial.print(results->rawbuf[i] * USECPERTICK, DEC);
    if ( i < results->rawlen-1 ) Serial.print(","); // ',' not needed on last one
    if (!(i & 1))  Serial.print(" ");
  }

  // End declaration
  Serial.print("};");  //

  // Comment
  Serial.print("  // ");
  encoding(results);
  Serial.print(" ");
  ircode(results);

  // Newline
  Serial.println("");

  // Now dump "known" codes
  if (results->decode_type != UNKNOWN) {

    // Some protocols have an address
    if (results->decode_type == PANASONIC) {
      Serial.print("unsigned int  addr = 0x");
      Serial.print(results->address, HEX);
      Serial.println(";");
    }

    // All protocols have data
    Serial.print("unsigned int  data = 0x");
    Serial.print(results->value, HEX);
    Serial.println(";");
  }
}

//+=============================================================================
// The repeating section of the code
//
void  loop ( )
{
  unsigned long currentMillis = millis();
  decode_results  results;        // Somewhere to store the results
  if(currentMillis >= finished){
    digitalWrite(blueLED, HIGH);
    digitalWrite(redLED, HIGH);
    digitalWrite(greenLED, LOW);

  }
  if (irrecv.decode(&results)) {  // Grab an IR code
    digitalWrite(redLED, LOW);
    digitalWrite(greenLED, HIGH);
    finished = interval1 + currentMillis;
    Serial.println("Received IR:");
    dumpInfo(&results);           // Output the results
    dumpRaw(&results);            // Output the results in RAW format
    dumpCode(&results);           // Output the results as source code
    Serial.println("");           // Blank line between entries
    irrecv.resume();              // Prepare for the next value
  }

  if (mySwitch.available()) {
    digitalWrite(blueLED, LOW);
    digitalWrite(greenLED, HIGH);
    finished = interval1 + currentMillis;
    Serial.print("Received RF:");
    Serial.print( mySwitch.getReceivedValue() );
    Serial.print(" / ");
    Serial.print( mySwitch.getReceivedBitlength() );
    Serial.print("bit ");
    Serial.print("Protocol: ");
    Serial.println( mySwitch.getReceivedProtocol() );

    mySwitch.resetAvailable();
}
}


================================================
FILE: IR-RF/master-receiver-ir-rf.c
================================================
//------------------------------------------------------------------------------
// Include the IRremote library header
//
#include <IRremote.h>
#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
//------------------------------------------------------------------------------
// Tell IRremote which Arduino pin is connected to the IR Receiver (TSOP4838)
//
int recvPin = 10;
IRrecv irrecv(recvPin);

//+=============================================================================
// Configure the Arduino
//
void  setup ( )
{
  Serial.begin(9600);   // Status message will be sent to PC at 9600 baud
  irrecv.enableIRIn();  // Start the receiver
  mySwitch.enableReceive(0);  // Receiver on interrupt 0 => that is pin #2
  Serial.println("Booted");
}

//+=============================================================================
// Display IR code
//
void  ircode (decode_results *results)
{
  // Panasonic has an Address
  if (results->decode_type == PANASONIC) {
    Serial.print(results->address, HEX);
    Serial.print(":");
  }

  // Print Code
  Serial.print(results->value, HEX);
}

//+=============================================================================
// Display encoding type
//
void  encoding (decode_results *results)
{
  switch (results->decode_type) {
    default:
    case UNKNOWN:      Serial.print("UNKNOWN");       break ;
    case NEC:          Serial.print("NEC");           break ;
    case SONY:         Serial.print("SONY");          break ;
    case RC5:          Serial.print("RC5");           break ;
    case RC6:          Serial.print("RC6");           break ;
    case DISH:         Serial.print("DISH");          break ;
    case SHARP:        Serial.print("SHARP");         break ;
    case JVC:          Serial.print("JVC");           break ;
    case SANYO:        Serial.print("SANYO");         break ;
    case MITSUBISHI:   Serial.print("MITSUBISHI");    break ;
    case SAMSUNG:      Serial.print("SAMSUNG");       break ;
    case LG:           Serial.print("LG");            break ;
    case WHYNTER:      Serial.print("WHYNTER");       break ;
    case AIWA_RC_T501: Serial.print("AIWA_RC_T501");  break ;
    case PANASONIC:    Serial.print("PANASONIC");     break ;
    case DENON:        Serial.print("Denon");         break ;
  }
}

//+=============================================================================
// Dump out the decode_results structure.
//
void  dumpInfo (decode_results *results)
{
  // Check if the buffer overflowed
  if (results->overflow) {
    Serial.println("IR code too long. Edit IRremoteInt.h and increase RAWBUF");
    return;
  }

  // Show Encoding standard
  Serial.print("Encoding  : ");
  encoding(results);
  Serial.println("");

  // Show Code & length
  Serial.print("Code      : ");
  ircode(results);
  Serial.print(" (");
  Serial.print(results->bits, DEC);
  Serial.println(" bits)");
}

//+=============================================================================
// Dump out the decode_results structure.
//
void  dumpRaw (decode_results *results)
{
  // Print Raw data
  Serial.print("Timing[");
  Serial.print(results->rawlen-1, DEC);
  Serial.println("]: ");

  for (int i = 1;  i < results->rawlen;  i++) {
    unsigned long  x = results->rawbuf[i] * USECPERTICK;
    if (!(i & 1)) {  // even
      Serial.print("-");
      if (x < 1000)  Serial.print(" ") ;
      if (x < 100)   Serial.print(" ") ;
      Serial.print(x, DEC);
    } else {  // odd
      Serial.print("     ");
      Serial.print("+");
      if (x < 1000)  Serial.print(" ") ;
      if (x < 100)   Serial.print(" ") ;
      Serial.print(x, DEC);
      if (i < results->rawlen-1) Serial.print(", "); //',' not needed for last one
    }
    if (!(i % 8))  Serial.println("");
  }
  Serial.println("");                    // Newline
}

//+=============================================================================
// Dump out the decode_results structure.
//
void  dumpCode (decode_results *results)
{
  // Start declaration
  Serial.print("unsigned int  ");          // variable type
  Serial.print("rawData[");                // array name
  Serial.print(results->rawlen - 1, DEC);  // array size
  Serial.print("] = {");                   // Start declaration

  // Dump data
  for (int i = 1;  i < results->rawlen;  i++) {
    Serial.print(results->rawbuf[i] * USECPERTICK, DEC);
    if ( i < results->rawlen-1 ) Serial.print(","); // ',' not needed on last one
    if (!(i & 1))  Serial.print(" ");
  }

  // End declaration
  Serial.print("};");  //

  // Comment
  Serial.print("  // ");
  encoding(results);
  Serial.print(" ");
  ircode(results);

  // Newline
  Serial.println("");

  // Now dump "known" codes
  if (results->decode_type != UNKNOWN) {

    // Some protocols have an address
    if (results->decode_type == PANASONIC) {
      Serial.print("unsigned int  addr = 0x");
      Serial.print(results->address, HEX);
      Serial.println(";");
    }

    // All protocols have data
    Serial.print("unsigned int  data = 0x");
    Serial.print(results->value, HEX);
    Serial.println(";");
  }
}

//+=============================================================================
// The repeating section of the code
//
void  loop ( )
{
  decode_results  results;        // Somewhere to store the results

  if (irrecv.decode(&results)) {  // Grab an IR code
    Serial.println("Received IR:");
    dumpInfo(&results);           // Output the results
    dumpRaw(&results);            // Output the results in RAW format
    dumpCode(&results);           // Output the results as source code
    Serial.println("");           // Blank line between entries
    irrecv.resume();              // Prepare for the next value
  }

  if (mySwitch.available()) {
    Serial.print("Received RF:");
    Serial.print( mySwitch.getReceivedValue() );
    Serial.print(" / ");
    Serial.print( mySwitch.getReceivedBitlength() );
    Serial.print("bit ");
    Serial.print("Protocol: ");
    Serial.println( mySwitch.getReceivedProtocol() );

    mySwitch.resetAvailable();
}
}


================================================
FILE: IR-RF/soundbar-fixer.ino
================================================
//youtube.com/AnotherMaker
//You may want to consider using my universal receiver to get the codes for your remote.
//https://github.com/mudmin/AnotherMaker/blob/master/IR-RF/master-receiver-ir-rf-video.c
//video - https://www.youtube.com/watch?v=McYDX7_Tqy0

//You need an IR sending LED with the long leg (anode) to pin 3 of an Uno/Nano or Pin 9 of a Mega
//Connect a 200 to 330 ohm resistor to the short leg of the LED and send the other side of the resistor to ground

  int khz = 38; // 38kHz carrier frequency for the NEC protocol
  //Volume Up 1
  unsigned int irUp[] = {4550,4400, 650,500, 600,500, 600,1600, 650,1600, 600,500, 600,1650, 600,500, 600,500, 650,500, 600,500, 600,1600, 650,1600, 600,500, 600,1650, 600,500, 600,500, 600,1650, 600,1600, 600,1600, 650,450, 650,1600, 650,450, 650,450, 650,500, 650,450, 650,450, 650,500, 600,1600, 650,450, 650,1600, 650,1550, 650,1600, 650};
  //Volume Down 1
  unsigned int irDn[] = {4550,4400, 650,500, 600,500, 600,1600, 650,1600, 600,500, 600,1650, 600,500, 600,500, 600,550, 600,500, 600,1600, 600,1650, 600,500, 600,1650, 600,500, 600,500, 600,500, 650,1600, 600,1600, 650,500, 550,1650, 600,500, 650,500, 600,500, 600,1600, 600,550, 550,550, 600,1600, 650,500, 550,1650, 600,1650, 600,1600, 600};  // SAMSUNG 34346897};


#include <IRremote.h>

IRsend irsend;

void setup()
{
  Serial.begin(9600);
  Serial.println("Booted");
}

void loop() {
  Serial.println("Send it");
  irsend.sendRaw(irUp, sizeof(irUp) / sizeof(irUp[0]), khz);
  delay(500);
  irsend.sendRaw(irDn, sizeof(irDn) / sizeof(irDn[0]), khz);
  delay(200000);
}


================================================
FILE: Kicad 8/Kicad 8/Kicad 8.kicad_pcb
================================================
(kicad_pcb
	(version 20240108)
	(generator "pcbnew")
	(generator_version "8.0")
	(general
		(thickness 1.6)
		(legacy_teardrops no)
	)
	(paper "A4")
	(layers
		(0 "F.Cu" signal)
		(31 "B.Cu" signal)
		(32 "B.Adhes" user "B.Adhesive")
		(33 "F.Adhes" user "F.Adhesive")
		(34 "B.Paste" user)
		(35 "F.Paste" user)
		(36 "B.SilkS" user "B.Silkscreen")
		(37 "F.SilkS" user "F.Silkscreen")
		(38 "B.Mask" user)
		(39 "F.Mask" user)
		(40 "Dwgs.User" user "User.Drawings")
		(41 "Cmts.User" user "User.Comments")
		(42 "Eco1.User" user "User.Eco1")
		(43 "Eco2.User" user "User.Eco2")
		(44 "Edge.Cuts" user)
		(45 "Margin" user)
		(46 "B.CrtYd" user "B.Courtyard")
		(47 "F.CrtYd" user "F.Courtyard")
		(48 "B.Fab" user)
		(49 "F.Fab" user)
		(50 "User.1" user)
		(51 "User.2" user)
		(52 "User.3" user)
		(53 "User.4" user)
		(54 "User.5" user)
		(55 "User.6" user)
		(56 "User.7" user)
		(57 "User.8" user)
		(58 "User.9" user)
	)
	(setup
		(stackup
			(layer "F.SilkS"
				(type "Top Silk Screen")
			)
			(layer "F.Paste"
				(type "Top Solder Paste")
			)
			(layer "F.Mask"
				(type "Top Solder Mask")
				(thickness 0.01)
			)
			(layer "F.Cu"
				(type "copper")
				(thickness 0.035)
			)
			(layer "dielectric 1"
				(type "core")
				(thickness 1.51)
				(material "FR4")
				(epsilon_r 4.5)
				(loss_tangent 0.02)
			)
			(layer "B.Cu"
				(type "copper")
				(thickness 0.035)
			)
			(layer "B.Mask"
				(type "Bottom Solder Mask")
				(thickness 0.01)
			)
			(layer "B.Paste"
				(type "Bottom Solder Paste")
			)
			(layer "B.SilkS"
				(type "Bottom Silk Screen")
			)
			(copper_finish "None")
			(dielectric_constraints no)
		)
		(pad_to_mask_clearance 0)
		(allow_soldermask_bridges_in_footprints no)
		(pcbplotparams
			(layerselection 0x00010fc_ffffffff)
			(plot_on_all_layers_selection 0x0000000_00000000)
			(disableapertmacros no)
			(usegerberextensions no)
			(usegerberattributes yes)
			(usegerberadvancedattributes yes)
			(creategerberjobfile yes)
			(dashed_line_dash_ratio 12.000000)
			(dashed_line_gap_ratio 3.000000)
			(svgprecision 4)
			(plotframeref no)
			(viasonmask no)
			(mode 1)
			(useauxorigin no)
			(hpglpennumber 1)
			(hpglpenspeed 20)
			(hpglpendiameter 15.000000)
			(pdf_front_fp_property_popups yes)
			(pdf_back_fp_property_popups yes)
			(dxfpolygonmode yes)
			(dxfimperialunits yes)
			(dxfusepcbnewfont yes)
			(psnegative no)
			(psa4output no)
			(plotreference yes)
			(plotvalue yes)
			(plotfptext yes)
			(plotinvisibletext no)
			(sketchpadsonfab no)
			(subtractmaskfromsilk no)
			(outputformat 1)
			(mirror no)
			(drillshape 0)
			(scaleselection 1)
			(outputdirectory "kicad 8 video gerbers/")
		)
	)
	(net 0 "")
	(net 1 "GND")
	(net 2 "Net-(D1-A)")
	(net 3 "Net-(J1-Pin_3)")
	(net 4 "Net-(J1-Pin_4)")
	(net 5 "Net-(J1-Pin_1)")
	(net 6 "Net-(J1-Pin_5)")
	(net 7 "Net-(J1-Pin_2)")
	(net 8 "Net-(J1-Pin_6)")
	(net 9 "Net-(J1-Pin_8)")
	(net 10 "Net-(J2-Pin_1)")
	(net 11 "Net-(J2-Pin_3)")
	(net 12 "Net-(J2-Pin_2)")
	(net 13 "Net-(J2-Pin_5)")
	(net 14 "Net-(J2-Pin_7)")
	(net 15 "Net-(J2-Pin_6)")
	(net 16 "Net-(J2-Pin_8)")
	(net 17 "Net-(J2-Pin_4)")
	(footprint "Button_Switch_THT:SW_PUSH_6mm_H5mm"
		(layer "F.Cu")
		(uuid "0a9303d2-a128-420a-b759-315bd1a7a9b7")
		(at 83 85.5 90)
		(descr "tactile push button, 6x6mm e.g. PHAP33xx series, height=5mm")
		(tags "tact sw push 6mm")
		(property "Reference" "SW1"
			(at 3.25 -2 90)
			(layer "F.SilkS")
			(hide yes)
			(uuid "42ad02b5-f80d-4fac-91aa-0595046882e4")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "SW_Push"
			(at 3.75 6.7 90)
			(layer "F.Fab")
			(uuid "4adfe832-69a7-490c-9322-d7dd290b1f3c")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "Button_Switch_THT:SW_PUSH_6mm_H5mm"
			(at 0 0 90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "8796fbae-525a-4df0-80fc-bb5a8f683a44")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" ""
			(at 0 0 90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "83ccc5ab-7ee0-4aba-8e1e-d447254d3a60")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "Push button switch, generic, two pins"
			(at 0 0 90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "96019a4e-013b-4a9d-9199-3e962fe0de5f")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(path "/271caf55-eac8-40c7-ba3d-ea7b2407be7a")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start 5.5 -1)
			(end 1 -1)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "73743328-d25d-49aa-af91-4f889b1315cc")
		)
		(fp_line
			(start -0.25 1.5)
			(end -0.25 3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "4dd9e3f7-bb14-4b3e-9787-09e432869ef4")
		)
		(fp_line
			(start 6.75 3)
			(end 6.75 1.5)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "c8ca664c-9002-49b5-a95e-a7820daa9fe0")
		)
		(fp_line
			(start 1 5.5)
			(end 5.5 5.5)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "4a051c76-eba8-4426-9e15-106d98f2cf56")
		)
		(fp_line
			(start 8 -1.5)
			(end 8 -1.25)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "f5b5975f-d8ac-4f9b-bc1e-9b394faa0d74")
		)
		(fp_line
			(start 7.75 -1.5)
			(end 8 -1.5)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "d6c737d1-0244-4542-830e-9339718057e3")
		)
		(fp_line
			(start -1.25 -1.5)
			(end 7.75 -1.5)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "49ad368b-abe8-4af6-ab72-13fe1c89f27d")
		)
		(fp_line
			(start -1.5 -1.5)
			(end -1.25 -1.5)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "312bff1e-3af9-4bd3-bcc7-4c35dd1776ac")
		)
		(fp_line
			(start 8 -1.25)
			(end 8 5.75)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "cc250891-f03e-47ab-887e-63252acc9425")
		)
		(fp_line
			(start -1.5 -1.25)
			(end -1.5 -1.5)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "f26995ba-be82-4d05-ad15-69467c16db69")
		)
		(fp_line
			(start -1.5 5.75)
			(end -1.5 -1.25)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "b7047c87-78d7-4fda-b06a-a1fb5b1a27c4")
		)
		(fp_line
			(start -1.5 5.75)
			(end -1.5 6)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "e18c09f5-b6aa-48bc-be96-ecbd4d07e19c")
		)
		(fp_line
			(start 8 6)
			(end 8 5.75)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "d4a10414-5575-427a-ba42-3c3adf032fae")
		)
		(fp_line
			(start 7.75 6)
			(end 8 6)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "d1e677fb-cb39-417c-85c0-b6852ce92ee0")
		)
		(fp_line
			(start 7.75 6)
			(end -1.25 6)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "e1d47fe2-c39d-48e1-8ed6-b65c300077e8")
		)
		(fp_line
			(start -1.5 6)
			(end -1.25 6)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "2992213b-39c1-4d24-af29-0097e998caac")
		)
		(fp_line
			(start 6.25 -0.75)
			(end 6.25 5.25)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "4d60554e-fdb2-4546-aa03-8aea49387e45")
		)
		(fp_line
			(start 3.25 -0.75)
			(end 6.25 -0.75)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "e4ca6879-3735-4cc0-9d8c-f4080dd2ec50")
		)
		(fp_line
			(start 0.25 -0.75)
			(end 3.25 -0.75)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "76e4834c-7b9d-4fa8-be87-c98a44bf0c26")
		)
		(fp_line
			(start 6.25 5.25)
			(end 0.25 5.25)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "797b52e2-5757-4ccf-81b2-43d18639a5ab")
		)
		(fp_line
			(start 0.25 5.25)
			(end 0.25 -0.75)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "93a9ac03-cf71-412d-9991-2ede839806ce")
		)
		(fp_circle
			(center 3.25 2.25)
			(end 1.25 2.5)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "03474c3c-c5fa-4bc0-920a-44139330d22b")
		)
		(fp_text user "${REFERENCE}"
			(at 3.25 2.25 90)
			(layer "F.Fab")
			(uuid "f0171358-ada2-4348-ac25-132be67425dd")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(pad "1" thru_hole circle
			(at 0 0 180)
			(size 2 2)
			(drill 1.1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "1")
			(pintype "passive")
			(uuid "8436482f-a743-49bf-adcd-699454e7971e")
		)
		(pad "1" thru_hole circle
			(at 6.5 0 180)
			(size 2 2)
			(drill 1.1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "1")
			(pintype "passive")
			(uuid "72f1db5d-79ae-42f0-8abe-f3f7c4016c48")
		)
		(pad "2" thru_hole circle
			(at 0 4.5 180)
			(size 2 2)
			(drill 1.1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 10 "Net-(J2-Pin_1)")
			(pinfunction "2")
			(pintype "passive")
			(uuid "647186db-c454-4e10-8db5-ce8f685ca8b6")
		)
		(pad "2" thru_hole circle
			(at 6.5 4.5 180)
			(size 2 2)
			(drill 1.1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 10 "Net-(J2-Pin_1)")
			(pinfunction "2")
			(pintype "passive")
			(uuid "2f0a9d9c-d0c3-4895-bda2-16f9f65c1753")
		)
		(model "${KICAD8_3DMODEL_DIR}/Button_Switch_THT.3dshapes/SW_PUSH_6mm_H5mm.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
	)
	(footprint "Module:WEMOS_D1_mini_light"
		(layer "F.Cu")
		(uuid "15a5e2db-995a-4210-bc10-6f3241f60604")
		(at 131.5 54)
		(descr "16-pin module, column spacing 22.86 mm (900 mils), https://wiki.wemos.cc/products:d1:d1_mini, https://c1.staticflickr.com/1/734/31400410271_f278b087db_z.jpg")
		(tags "ESP8266 WiFi microcontroller")
		(property "Reference" "U4"
			(at 22 27 0)
			(layer "F.SilkS")
			(uuid "8cc203ab-2971-4457-a970-bdb021a35fa5")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "WeMos_D1_mini"
			(at 11.7 0 0)
			(layer "F.Fab")
			(uuid "e4407053-72fc-4efd-b915-f32c4fd8e40a")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "Module:WEMOS_D1_mini_light"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "bef1910a-3775-4b9c-9f7f-ce52e51d99a3")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" "https://wiki.wemos.cc/products:d1:d1_mini#documentation"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "4ec02a03-10ff-4fbf-81bc-cd1968a0997b")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "32-bit microcontroller module with WiFi"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "48c4598d-89dd-4a77-af15-9ad37b8089f8")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property ki_fp_filters "WEMOS*D1*mini*")
		(path "/821c07b0-77b0-4aef-9b64-c420c580f057")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start -1.5 19.22)
			(end -1.5 -6.21)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "72e3d252-152f-4b68-8e15-cea9eb9eb47e")
		)
		(fp_line
			(start -1.5 19.22)
			(end 1.04 19.22)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "620550dd-290c-4d51-9229-cab42a5132ac")
		)
		(fp_line
			(start 1.04 19.22)
			(end 1.04 26.12)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "61210183-7d89-4e9f-91af-9cc26ea33d18")
		)
		(fp_line
			(start 1.04 26.12)
			(end 24.36 26.12)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "f6405a79-fcf9-44e0-82ec-15f02fd1b939")
		)
		(fp_line
			(start 22.24 -8.34)
			(end 0.63 -8.34)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "ac0fdd4f-f7f0-4241-a9ee-460cb74344f3")
		)
		(fp_line
			(start 24.36 26.12)
			(end 24.36 -6.21)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "085789a1-5c88-4c4a-91e6-32239133f543")
		)
		(fp_arc
			(start -1.5 -6.21)
			(mid -0.876137 -7.716137)
			(end 0.63 -8.34)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "f773a409-7134-4c10-96b6-860a8fbffca6")
		)
		(fp_arc
			(start 22.23 -8.34)
			(mid 23.736137 -7.716137)
			(end 24.36 -6.21)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "30f2db37-e6a4-4de7-aa37-a0f4b52d2fda")
		)
		(fp_poly
			(pts
				(xy -2.54 -0.635) (xy -2.54 0.635) (xy -1.905 0)
			)
			(stroke
				(width 0.15)
				(type solid)
			)
			(fill solid)
			(layer "F.SilkS")
			(uuid "b387ac21-b7bf-4b7c-a128-c2247c9450ec")
		)
		(fp_line
			(start -1.35 -8.2)
			(end -1.35 -1.4)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "102e9c30-0117-4053-980e-d148d0c2bc62")
		)
		(fp_line
			(start -1.35 -7.4)
			(end -0.55 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "6091d15e-1cfb-4b8d-a4a4-d493ab27f4c0")
		)
		(fp_line
			(start -1.35 -3.4)
			(end 3.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "ca74e68d-ef1b-42f0-99be-ee5bfb9a18e7")
		)
		(fp_line
			(start -1.35 -1.4)
			(end 5.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "bb3d5184-586e-4f82-a297-3fde3d3a4a99")
		)
		(fp_line
			(start -1.35 -1.4)
			(end 24.25 -1.4)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "1db5a10e-eab1-400a-b6a1-bb267faecdc4")
		)
		(fp_line
			(start -1.3 -5.45)
			(end 1.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "73afd41b-3ef2-4450-9811-44dc27bd9285")
		)
		(fp_line
			(start 0.65 -1.4)
			(end 7.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "31fbfd00-9eb8-4110-b6d7-7015592450bd")
		)
		(fp_line
			(start 2.65 -1.4)
			(end 9.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "b52d91bd-baa3-46a5-8b72-36427c745624")
		)
		(fp_line
			(start 4.65 -1.4)
			(end 11.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "1284fa63-1164-4ed7-9720-7a27ee8a4a76")
		)
		(fp_line
			(start 6.65 -1.4)
			(end 13.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "ef51328c-a236-4e7e-9549-9c362e3a35e2")
		)
		(fp_line
			(start 8.65 -1.4)
			(end 15.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "edc3c113-9e55-4c24-a223-89f1647c2a5b")
		)
		(fp_line
			(start 10.65 -1.4)
			(end 17.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "66e3beab-60fe-4ce0-8a4b-2344bda4b933")
		)
		(fp_line
			(start 12.65 -1.4)
			(end 19.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "b1e3690e-cf25-487c-8f3a-ffcd72bf49ae")
		)
		(fp_line
			(start 14.65 -1.4)
			(end 21.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "bbb19298-ea56-4c1a-b590-37add62e7bf3")
		)
		(fp_line
			(start 16.65 -1.4)
			(end 23.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "76c5b596-4bf1-4ca9-b1e2-fbef8f92cbad")
		)
		(fp_line
			(start 18.65 -1.4)
			(end 24.25 -7)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "668847d9-f8c4-411e-ace2-a6d7160c6e68")
		)
		(fp_line
			(start 20.65 -1.4)
			(end 24.25 -5)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "47cf26db-1383-4f55-98a2-95e9e97fce12")
		)
		(fp_line
			(start 22.65 -1.4)
			(end 24.25 -3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "8a10ac51-c343-4c7d-8af1-b795fc470598")
		)
		(fp_line
			(start 24.25 -8.2)
			(end -1.35 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "b646ce55-776e-4e52-a288-8b50143c1aa1")
		)
		(fp_line
			(start 24.25 -1.4)
			(end 24.25 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "bffd0a1c-b516-4771-b2d2-db806e41b93b")
		)
		(fp_line
			(start -1.62 -8.46)
			(end 24.48 -8.46)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "7fe38370-20c2-44bf-b34d-3af065220ec6")
		)
		(fp_line
			(start -1.62 26.24)
			(end -1.62 -8.46)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "cc89264b-7ec5-4333-8168-6a6a90af45ff")
		)
		(fp_line
			(start 24.48 -8.46)
			(end 24.48 26.24)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "64c93c86-cab2-4e6f-a635-52e219b11c82")
		)
		(fp_line
			(start 24.48 26.24)
			(end -1.62 26.24)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "a85608a0-89a7-4dbc-91ca-d60a2f0df66f")
		)
		(fp_line
			(start -1.37 -6.21)
			(end -1.37 -1)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "fbae055a-bce4-4aac-b89b-4b596ab626ab")
		)
		(fp_line
			(start -1.37 1)
			(end -1.37 19.09)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "365e4f43-ae27-4013-9342-6b07999d27eb")
		)
		(fp_line
			(start -1.37 1)
			(end -0.37 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "21abf4f4-9389-4fcc-b6b3-858084a73c0d")
		)
		(fp_line
			(start -1.37 19.09)
			(end 1.17 19.09)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "0bebe0b7-5284-46e4-bf50-dd8d33cabc40")
		)
		(fp_line
			(start -0.37 0)
			(end -1.37 -1)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "66f4029b-a3a8-4fd6-a420-673c0b90ef0f")
		)
		(fp_line
			(start 1.17 19.09)
			(end 1.17 25.99)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "3899d9cb-4e06-4c26-a823-006788121273")
		)
		(fp_line
			(start 1.17 25.99)
			(end 24.23 25.99)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "043f4d47-7f5a-47bd-a0ad-87a90d91eb2b")
		)
		(fp_line
			(start 22.23 -8.21)
			(end 0.63 -8.21)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "cf8737cc-1881-4a9e-8bb7-8e0bd57226b4")
		)
		(fp_line
			(start 24.23 25.99)
			(end 24.23 -6.21)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "024e9996-1200-49b5-8d65-2e03a17b3cbe")
		)
		(fp_arc
			(start -1.37 -6.21)
			(mid -0.784214 -7.624214)
			(end 0.63 -8.21)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "d6611864-7894-4d9e-b253-8f2ead9cc48d")
		)
		(fp_arc
			(start 22.25 -8.21)
			(mid 23.658356 -7.610071)
			(end 24.23 -6.19)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "3b48d749-0ca6-43ac-b2a5-1419f54747e5")
		)
		(fp_text user "No copper"
			(at 11.43 -3.81 0)
			(layer "Cmts.User")
			(uuid "2462c333-ec2f-475a-9a9a-0823b24e4c61")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(fp_text user "KEEP OUT"
			(at 11.43 -6.35 0)
			(layer "Cmts.User")
			(uuid "98743922-0d4b-4ba2-b878-94c32dfeeff2")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(fp_text user "${REFERENCE}"
			(at 11.43 10 0)
			(layer "F.Fab")
			(uuid "816fa616-400a-433b-ae16-5aab94b09755")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(pad "1" thru_hole rect
			(at 0 0)
			(size 2 2)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 10 "Net-(J2-Pin_1)")
			(pinfunction "~{RST}")
			(pintype "input")
			(uuid "7b645f68-6f15-43ca-bd60-aa49002b84c0")
		)
		(pad "2" thru_hole oval
			(at 0 2.54)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 12 "Net-(J2-Pin_2)")
			(pinfunction "A0")
			(pintype "input")
			(uuid "05fe543b-ac69-429a-9a0a-19adb95b6a40")
		)
		(pad "3" thru_hole oval
			(at 0 5.08)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 11 "Net-(J2-Pin_3)")
			(pinfunction "D0")
			(pintype "bidirectional")
			(uuid "3b1435e8-5db2-4b3f-9899-d662d917a35e")
		)
		(pad "4" thru_hole oval
			(at 0 7.62)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 17 "Net-(J2-Pin_4)")
			(pinfunction "SCK/D5")
			(pintype "bidirectional")
			(uuid "87e1d286-274c-4ded-80b4-2148c96b4712")
		)
		(pad "5" thru_hole oval
			(at 0 10.16)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 13 "Net-(J2-Pin_5)")
			(pinfunction "MISO/D6")
			(pintype "bidirectional")
			(uuid "0cb11f74-3bbe-4a2b-bf82-32498b30d34c")
		)
		(pad "6" thru_hole oval
			(at 0 12.7)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 15 "Net-(J2-Pin_6)")
			(pinfunction "MOSI/D7")
			(pintype "bidirectional")
			(uuid "0c2388e2-aee0-4de8-94e5-447144887da1")
		)
		(pad "7" thru_hole oval
			(at 0 15.24)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 14 "Net-(J2-Pin_7)")
			(pinfunction "CS/D8")
			(pintype "bidirectional")
			(uuid "6ae805a7-9172-4c85-ae4e-88d17e4d1dca")
		)
		(pad "8" thru_hole oval
			(at 0 17.78)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 16 "Net-(J2-Pin_8)")
			(pinfunction "3V3")
			(pintype "power_out")
			(uuid "16fc3fec-03bc-4e5b-a6cb-adbac9e2391a")
		)
		(pad "9" thru_hole oval
			(at 22.86 17.78)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 9 "Net-(J1-Pin_8)")
			(pinfunction "5V")
			(pintype "power_in")
			(uuid "4d2a42e0-5000-4934-a937-90e83f4978f4")
		)
		(pad "10" thru_hole oval
			(at 22.86 15.24)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "GND")
			(pintype "power_in")
			(uuid "0d7622cd-7329-4c2c-881c-c53f2410fbff")
		)
		(pad "11" thru_hole oval
			(at 22.86 12.7)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 8 "Net-(J1-Pin_6)")
			(pinfunction "D4")
			(pintype "bidirectional")
			(uuid "2dec5448-e3d4-4235-88cd-1a993adbe7ab")
		)
		(pad "12" thru_hole oval
			(at 22.86 10.16)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 6 "Net-(J1-Pin_5)")
			(pinfunction "D3")
			(pintype "bidirectional")
			(uuid "166193e4-579f-4f6d-a47e-f94352a5864c")
		)
		(pad "13" thru_hole oval
			(at 22.86 7.62)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 4 "Net-(J1-Pin_4)")
			(pinfunction "SDA/D2")
			(pintype "bidirectional")
			(uuid "8b7ef2c6-7b7b-4ae7-a36e-c246ef1c2ae9")
		)
		(pad "14" thru_hole oval
			(at 22.86 5.08)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 3 "Net-(J1-Pin_3)")
			(pinfunction "SCL/D1")
			(pintype "bidirectional")
			(uuid "c56b2894-6215-4737-95c1-c05b24ae4196")
		)
		(pad "15" thru_hole oval
			(at 22.86 2.54)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 7 "Net-(J1-Pin_2)")
			(pinfunction "RX")
			(pintype "input")
			(uuid "60866d99-0dad-47bc-9f96-dc249f0b6b76")
		)
		(pad "16" thru_hole oval
			(at 22.86 0)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 5 "Net-(J1-Pin_1)")
			(pinfunction "TX")
			(pintype "output")
			(uuid "e81e8050-75c7-45c6-aec0-d1e23e989346")
		)
		(model "${KICAD8_3DMODEL_DIR}/Module.3dshapes/wemos_d1_mini_light.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 0 0 9.5)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 -180 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 22.86 0 9.5)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 -180 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 22.86 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
	)
	(footprint "Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical"
		(layer "F.Cu")
		(uuid "19f06d5c-34ed-4860-8e21-d23608bad5f5")
		(at 88 94.515)
		(descr "Through hole straight pin header, 1x08, 2.54mm pitch, single row")
		(tags "Through hole pin header THT 1x08 2.54mm single row")
		(property "Reference" "J2"
			(at 0 -2.33 0)
			(layer "F.SilkS")
			(uuid "8c639d69-4d4a-48b8-8582-cc619d8f9193")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "Conn_01x08_Pin - L"
			(at 0 20.11 0)
			(layer "F.Fab")
			(uuid "07691077-3c5d-4291-8d22-7ec9b84c541e")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "799e7bac-c35c-4616-9ca2-eabf696ffe20")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" ""
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "2b90a94e-a7c1-4fed-9952-cfd9dcca4456")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "Generic connector, single row, 01x08, script generated"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "b2fca465-7182-4ae8-b1e8-0ae0c9ff008c")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property ki_fp_filters "Connector*:*_1x??_*")
		(path "/a8388ad7-e052-43ad-81fa-ef133b176f18")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start -1.33 -1.33)
			(end 0 -1.33)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "9c22b570-8a46-4aba-a4b9-78726a4f8a30")
		)
		(fp_line
			(start -1.33 0)
			(end -1.33 -1.33)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "510a0167-ccdc-4b80-ae88-0d4a3e54a374")
		)
		(fp_line
			(start -1.33 1.27)
			(end -1.33 19.11)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "ed36cc41-e792-4728-9d1e-91b6569e48f3")
		)
		(fp_line
			(start -1.33 1.27)
			(end 1.33 1.27)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "569cbcb1-7d48-4ff6-85a4-fd33427e981a")
		)
		(fp_line
			(start -1.33 19.11)
			(end 1.33 19.11)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "5f84260a-8396-4a1e-a5c7-ca3076fce1c1")
		)
		(fp_line
			(start 1.33 1.27)
			(end 1.33 19.11)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "29e35cf4-d495-4658-a026-0c9264e11e92")
		)
		(fp_line
			(start -1.8 -1.8)
			(end -1.8 19.55)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "282cfa39-56e3-405a-9d37-97dcc63ce954")
		)
		(fp_line
			(start -1.8 19.55)
			(end 1.8 19.55)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "6c4ef4c9-d398-4340-be25-27d0c6008e1d")
		)
		(fp_line
			(start 1.8 -1.8)
			(end -1.8 -1.8)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "f456e9dd-4385-471a-a6af-07ba82ff6918")
		)
		(fp_line
			(start 1.8 19.55)
			(end 1.8 -1.8)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "babbd6c6-06b6-49dc-8f6e-9e154c126cda")
		)
		(fp_line
			(start -1.27 -0.635)
			(end -0.635 -1.27)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "573155e9-7fa0-4bae-9ecc-e1801221c097")
		)
		(fp_line
			(start -1.27 19.05)
			(end -1.27 -0.635)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "99dad6e4-bd9f-4178-b3e0-52eb7f3096c9")
		)
		(fp_line
			(start -0.635 -1.27)
			(end 1.27 -1.27)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "bd12d20a-d126-46c8-b97a-f1b69cadb7ab")
		)
		(fp_line
			(start 1.27 -1.27)
			(end 1.27 19.05)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "bdf2787e-4eb0-4fed-b754-bc1179986374")
		)
		(fp_line
			(start 1.27 19.05)
			(end -1.27 19.05)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "52fe8b13-82b7-4991-b698-6e20eaf10e8c")
		)
		(fp_text user "${REFERENCE}"
			(at 0 8.89 90)
			(layer "F.Fab")
			(uuid "fc72a3e6-134d-48f5-9b2e-ef4aade6a366")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(pad "1" thru_hole rect
			(at 0 0)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 10 "Net-(J2-Pin_1)")
			(pinfunction "Pin_1")
			(pintype "passive")
			(uuid "664ef6bd-f693-4814-a286-c2e31b829c7c")
		)
		(pad "2" thru_hole oval
			(at 0 2.54)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 12 "Net-(J2-Pin_2)")
			(pinfunction "Pin_2")
			(pintype "passive")
			(uuid "dfd56fa6-347c-482b-9fad-40cf904df487")
		)
		(pad "3" thru_hole oval
			(at 0 5.08)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 11 "Net-(J2-Pin_3)")
			(pinfunction "Pin_3")
			(pintype "passive")
			(uuid "f07782df-f99b-4863-8c5d-4e18e56de0aa")
		)
		(pad "4" thru_hole oval
			(at 0 7.62)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 17 "Net-(J2-Pin_4)")
			(pinfunction "Pin_4")
			(pintype "passive")
			(uuid "68ff1354-f53b-4234-a5a0-af7ba4d60434")
		)
		(pad "5" thru_hole oval
			(at 0 10.16)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 13 "Net-(J2-Pin_5)")
			(pinfunction "Pin_5")
			(pintype "passive")
			(uuid "4791fd3a-d76e-4892-9e6b-b98cc1b72dda")
		)
		(pad "6" thru_hole oval
			(at 0 12.7)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 15 "Net-(J2-Pin_6)")
			(pinfunction "Pin_6")
			(pintype "passive")
			(uuid "c61c8839-9d9f-4ae8-816e-d70e2a8cbad1")
		)
		(pad "7" thru_hole oval
			(at 0 15.24)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 14 "Net-(J2-Pin_7)")
			(pinfunction "Pin_7")
			(pintype "passive")
			(uuid "5b4cb2c8-604c-4903-8f06-f38180b2d658")
		)
		(pad "8" thru_hole oval
			(at 0 17.78)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 16 "Net-(J2-Pin_8)")
			(pinfunction "Pin_8")
			(pintype "passive")
			(uuid "e083492a-0dda-42bf-805a-5a1fc5666739")
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
	)
	(footprint "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal"
		(layer "F.Cu")
		(uuid "542cbb73-7d9d-46cd-a967-ce7dd0d37b62")
		(at 158 35.19 -90)
		(descr "Resistor, Axial_DIN0207 series, Axial, Horizontal, pin pitch=7.62mm, 0.25W = 1/4W, length*diameter=6.3*2.5mm^2, http://cdn-reichelt.de/documents/datenblatt/B400/1_4W%23YAG.pdf")
		(tags "Resistor Axial_DIN0207 series Axial Horizontal pin pitch 7.62mm 0.25W = 1/4W length 6.3mm diameter 2.5mm")
		(property "Reference" "R1"
			(at 3.81 0 90)
			(layer "F.SilkS")
			(uuid "41531ba0-66cd-44b6-af8f-80937483a0a6")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "R"
			(at 3.81 2.37 90)
			(layer "F.Fab")
			(uuid "0a6e1d13-2b1c-4387-8c72-ec31ccc9a001")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal"
			(at 0 0 -90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "237f11df-cb10-414e-8a78-b54fb6e7b9fc")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" ""
			(at 0 0 -90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "50b5de61-8a96-4452-9820-b68b99b0e45c")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "Resistor"
			(at 0 0 -90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "3d9c2113-aaef-4315-b2b5-f264028d2179")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property ki_fp_filters "R_*")
		(path "/40c55569-8314-425f-9a8c-a3b604acff22")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start 0.54 1.37)
			(end 7.08 1.37)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "59a949fe-f605-4269-9e19-55b08e816658")
		)
		(fp_line
			(start 7.08 1.37)
			(end 7.08 1.04)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "1b1f9f93-9538-4126-8b68-ac652829a53f")
		)
		(fp_line
			(start 0.54 1.04)
			(end 0.54 1.37)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "23d478cd-7641-44fa-9089-024c041e3c80")
		)
		(fp_line
			(start 0.54 -1.04)
			(end 0.54 -1.37)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "7523f4c7-6e4d-4213-b1d4-133d687ed360")
		)
		(fp_line
			(start 0.54 -1.37)
			(end 7.08 -1.37)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "6f4c809e-0b78-4bfc-a94c-b311035316b6")
		)
		(fp_line
			(start 7.08 -1.37)
			(end 7.08 -1.04)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "d2ffb98f-c2ff-4474-8262-bb4f017f99af")
		)
		(fp_line
			(start -1.05 1.5)
			(end 8.67 1.5)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "e84edc36-0327-4124-a716-3d29d84043aa")
		)
		(fp_line
			(start 8.67 1.5)
			(end 8.67 -1.5)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "b5066578-2d0f-4b14-ad9c-e0d2cc2a6362")
		)
		(fp_line
			(start -1.05 -1.5)
			(end -1.05 1.5)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "d021c58a-7255-40f9-b9c4-b772753a8c6e")
		)
		(fp_line
			(start 8.67 -1.5)
			(end -1.05 -1.5)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "fd49c9bf-c40d-40a5-9e1b-9b954d94f0d9")
		)
		(fp_line
			(start 0.66 1.25)
			(end 6.96 1.25)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "8f19c609-f2ed-4a42-ad5e-1dce257e0dcf")
		)
		(fp_line
			(start 6.96 1.25)
			(end 6.96 -1.25)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "5ee48225-7f57-4e84-81a5-a5a1b1111cb0")
		)
		(fp_line
			(start 0 0)
			(end 0.66 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "c2d4d8d5-b117-4f8a-a40a-189e17f6e5b5")
		)
		(fp_line
			(start 7.62 0)
			(end 6.96 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "f55e3b09-4eb7-4536-a80a-e8342cf6039d")
		)
		(fp_line
			(start 0.66 -1.25)
			(end 0.66 1.25)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "387b7772-b4a9-47f5-8048-239d35660457")
		)
		(fp_line
			(start 6.96 -1.25)
			(end 0.66 -1.25)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "b197963c-982f-49ce-b8f7-1f5e1730c434")
		)
		(fp_text user "${REFERENCE}"
			(at 3.81 0 90)
			(layer "F.Fab")
			(uuid "83fabcff-72e4-46c5-b60c-54ec91cf348f")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(pad "1" thru_hole circle
			(at 0 0 270)
			(size 1.6 1.6)
			(drill 0.8)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 2 "Net-(D1-A)")
			(pintype "passive")
			(uuid "5aaa12de-ed16-475a-b512-c696a39c0dfe")
		)
		(pad "2" thru_hole oval
			(at 7.62 0 270)
			(size 1.6 1.6)
			(drill 0.8)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 9 "Net-(J1-Pin_8)")
			(pintype "passive")
			(uuid "5bfc9de6-b446-4391-8fa3-f84a707b446d")
		)
		(model "${KICAD8_3DMODEL_DIR}/Resistor_THT.3dshapes/R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
	)
	(footprint "Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical"
		(layer "F.Cu")
		(uuid "628c96cf-e70e-46d0-8be1-9b180bd05106")
		(at 122 94.515)
		(descr "Through hole straight pin header, 1x08, 2.54mm pitch, single row")
		(tags "Through hole pin header THT 1x08 2.54mm single row")
		(property "Reference" "J1"
			(at 0 -2.33 0)
			(layer "F.SilkS")
			(uuid "9da7883d-3c78-4cbb-8370-4aadf1e5c2d9")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "Conn_01x08_Pin - R"
			(at 0 20.11 0)
			(layer "F.Fab")
			(uuid "50908e89-ac26-40d3-9970-97ef82662e9e")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "81c5e1c9-4f4c-48fc-af56-3f8ce8ffdfcf")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" ""
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "13ea4125-2cf5-464a-b08a-18a2b9362d23")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "Generic connector, single row, 01x08, script generated"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "7aabcbf6-fe06-4551-8388-34287d6c2222")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property ki_fp_filters "Connector*:*_1x??_*")
		(path "/b38961b6-2e0a-4aee-a4a8-88631a00266e")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start -1.33 -1.33)
			(end 0 -1.33)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "6cca7904-a127-4f7a-b18b-8524b39cfbe4")
		)
		(fp_line
			(start -1.33 0)
			(end -1.33 -1.33)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "88c3b0f1-9a15-48ef-bf97-b07ad7372d85")
		)
		(fp_line
			(start -1.33 1.27)
			(end -1.33 19.11)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "adb7f653-f45c-4ce9-a069-7d623f2b7bcf")
		)
		(fp_line
			(start -1.33 1.27)
			(end 1.33 1.27)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "5d35b8b4-e6b4-417f-9fd0-1329572691d7")
		)
		(fp_line
			(start -1.33 19.11)
			(end 1.33 19.11)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "0445f551-f0e2-4783-9935-a9c7fd28ac1b")
		)
		(fp_line
			(start 1.33 1.27)
			(end 1.33 19.11)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "b24ac547-7e5b-429b-8379-3631fbca2123")
		)
		(fp_line
			(start -1.8 -1.8)
			(end -1.8 19.55)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "2ae9f507-5e0d-4b50-acfd-b8dcf78d1b49")
		)
		(fp_line
			(start -1.8 19.55)
			(end 1.8 19.55)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "35da6e89-c5a8-4660-88a1-05ad40190e6b")
		)
		(fp_line
			(start 1.8 -1.8)
			(end -1.8 -1.8)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "ea4c5a2b-809c-4ee8-8339-3a86fb1e6b96")
		)
		(fp_line
			(start 1.8 19.55)
			(end 1.8 -1.8)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "8484ad86-836a-4f9f-b179-397409826f7e")
		)
		(fp_line
			(start -1.27 -0.635)
			(end -0.635 -1.27)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "e6a2312a-7a32-4a25-9b6e-3c4068f2d4f7")
		)
		(fp_line
			(start -1.27 19.05)
			(end -1.27 -0.635)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "3ab490bd-2986-420b-8dee-78b36e3d5506")
		)
		(fp_line
			(start -0.635 -1.27)
			(end 1.27 -1.27)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "2e1628a9-2dde-4a9f-bab4-be7a526cadfc")
		)
		(fp_line
			(start 1.27 -1.27)
			(end 1.27 19.05)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "965bc1cb-c154-4339-a90e-394766d53a93")
		)
		(fp_line
			(start 1.27 19.05)
			(end -1.27 19.05)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "150786fb-7b12-429d-a3a0-c1309e15e3ef")
		)
		(fp_text user "${REFERENCE}"
			(at 0 8.89 90)
			(layer "F.Fab")
			(uuid "d48a3c29-eaad-4449-9dbc-2b88c0a04bf3")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(pad "1" thru_hole rect
			(at 0 0)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 5 "Net-(J1-Pin_1)")
			(pinfunction "Pin_1")
			(pintype "passive")
			(uuid "f491ace3-ff49-462d-bb54-4518cfc14c23")
		)
		(pad "2" thru_hole oval
			(at 0 2.54)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 7 "Net-(J1-Pin_2)")
			(pinfunction "Pin_2")
			(pintype "passive")
			(uuid "bcde83a2-2ce1-4f48-9991-b5ff1eefdb5a")
		)
		(pad "3" thru_hole oval
			(at 0 5.08)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 3 "Net-(J1-Pin_3)")
			(pinfunction "Pin_3")
			(pintype "passive")
			(uuid "744cc7cb-82de-4797-9d38-38f92f4a4d94")
		)
		(pad "4" thru_hole oval
			(at 0 7.62)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 4 "Net-(J1-Pin_4)")
			(pinfunction "Pin_4")
			(pintype "passive")
			(uuid "b56af8c9-e17a-4134-a17e-e1bfe6c2b89e")
		)
		(pad "5" thru_hole oval
			(at 0 10.16)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 6 "Net-(J1-Pin_5)")
			(pinfunction "Pin_5")
			(pintype "passive")
			(uuid "3806092e-d40c-4f3a-b2f3-e050dc29b5a7")
		)
		(pad "6" thru_hole oval
			(at 0 12.7)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 8 "Net-(J1-Pin_6)")
			(pinfunction "Pin_6")
			(pintype "passive")
			(uuid "a73bd933-1508-4453-b205-09c95c6242d2")
		)
		(pad "7" thru_hole oval
			(at 0 15.24)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "Pin_7")
			(pintype "passive")
			(uuid "b5ab4e48-ae6b-4b4f-8d58-ee58b81b22d1")
		)
		(pad "8" thru_hole oval
			(at 0 17.78)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 9 "Net-(J1-Pin_8)")
			(pinfunction "Pin_8")
			(pintype "passive")
			(uuid "806026b1-1236-4465-bec6-7260f9e4f77f")
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
	)
	(footprint "Module:WEMOS_D1_mini_light"
		(layer "F.Cu")
		(uuid "6e70f540-872b-4a37-85b1-c8427d41036e")
		(at 93.5 54)
		(descr "16-pin module, column spacing 22.86 mm (900 mils), https://wiki.wemos.cc/products:d1:d1_mini, https://c1.staticflickr.com/1/734/31400410271_f278b087db_z.jpg")
		(tags "ESP8266 WiFi microcontroller")
		(property "Reference" "U3"
			(at 22 27 0)
			(layer "F.SilkS")
			(uuid "d552dd36-0b24-41c4-95a9-ea772bd66932")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "WeMos_D1_mini"
			(at 11.7 0 0)
			(layer "F.Fab")
			(uuid "b4508c96-c787-4799-8932-cb57520faa09")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "Module:WEMOS_D1_mini_light"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "f0ae6ef0-c0b3-4804-9f5d-a23b4ab9c87f")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" "https://wiki.wemos.cc/products:d1:d1_mini#documentation"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "bb10c7bd-d458-4435-a1ab-830551cc8bf5")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "32-bit microcontroller module with WiFi"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "10abdcd3-7494-4992-823d-29c13578ae5e")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property ki_fp_filters "WEMOS*D1*mini*")
		(path "/7e7488c7-5c64-4d49-a49a-4dd4ebe5e4b8")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start -1.5 19.22)
			(end -1.5 -6.21)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "d4b312d4-ebb9-44ad-b4b9-6f24c1a2ffb3")
		)
		(fp_line
			(start -1.5 19.22)
			(end 1.04 19.22)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "c628312b-801e-44aa-8af5-da1a1ee34f12")
		)
		(fp_line
			(start 1.04 19.22)
			(end 1.04 26.12)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "e5702a99-27a9-4905-bf85-52e44e397dd0")
		)
		(fp_line
			(start 1.04 26.12)
			(end 24.36 26.12)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "c0c6181f-2b4a-4661-a418-791285538452")
		)
		(fp_line
			(start 22.24 -8.34)
			(end 0.63 -8.34)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "f4323d39-4263-4f90-a0fa-ec25c4726f28")
		)
		(fp_line
			(start 24.36 26.12)
			(end 24.36 -6.21)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "6af4c9f6-7af5-40f4-917f-c53cef4d7cce")
		)
		(fp_arc
			(start -1.5 -6.21)
			(mid -0.876137 -7.716137)
			(end 0.63 -8.34)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "5687f1a5-ee19-44c1-baad-e11a4ed7b59f")
		)
		(fp_arc
			(start 22.23 -8.34)
			(mid 23.736137 -7.716137)
			(end 24.36 -6.21)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "aa4c4e48-f28f-4c32-b9bc-d0813e81f916")
		)
		(fp_poly
			(pts
				(xy -2.54 -0.635) (xy -2.54 0.635) (xy -1.905 0)
			)
			(stroke
				(width 0.15)
				(type solid)
			)
			(fill solid)
			(layer "F.SilkS")
			(uuid "716f62f9-4fc2-4559-b7e7-da73d6a1415d")
		)
		(fp_line
			(start -1.35 -8.2)
			(end -1.35 -1.4)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "44e7882f-b5aa-4945-8a1e-efda8d4dded7")
		)
		(fp_line
			(start -1.35 -7.4)
			(end -0.55 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "eb698839-88ae-4f13-aa4b-e0a736c6458e")
		)
		(fp_line
			(start -1.35 -3.4)
			(end 3.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "2c458a68-cd4e-4ef5-8d37-b38ce1066047")
		)
		(fp_line
			(start -1.35 -1.4)
			(end 5.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "d77404d0-aac2-4676-9216-2cab1892af4f")
		)
		(fp_line
			(start -1.35 -1.4)
			(end 24.25 -1.4)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "14d1b41b-056c-452d-9eff-c848ef03b691")
		)
		(fp_line
			(start -1.3 -5.45)
			(end 1.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "3225f41d-37f9-4810-9842-59dbcc1675b2")
		)
		(fp_line
			(start 0.65 -1.4)
			(end 7.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "5bfc5361-977b-46c4-9dd9-2211780e639a")
		)
		(fp_line
			(start 2.65 -1.4)
			(end 9.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "2b07a432-9aef-43c8-81ae-c8c4b6bb7f64")
		)
		(fp_line
			(start 4.65 -1.4)
			(end 11.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "46235d26-0ea9-4978-a69f-7eba859df5ad")
		)
		(fp_line
			(start 6.65 -1.4)
			(end 13.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "19ad3b20-4bf7-42a4-b4a7-d09100633f76")
		)
		(fp_line
			(start 8.65 -1.4)
			(end 15.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "db588535-26ae-447c-8386-2f4755357363")
		)
		(fp_line
			(start 10.65 -1.4)
			(end 17.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "8b43cbfe-ccd9-4401-9331-8f69842f6ab4")
		)
		(fp_line
			(start 12.65 -1.4)
			(end 19.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "d5922523-0dba-4bee-b531-07ed7237248a")
		)
		(fp_line
			(start 14.65 -1.4)
			(end 21.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "419008a8-0bee-4729-95b5-70d77a74f1e7")
		)
		(fp_line
			(start 16.65 -1.4)
			(end 23.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "33d96156-a2cc-46e3-a514-0ee58b902ac6")
		)
		(fp_line
			(start 18.65 -1.4)
			(end 24.25 -7)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "8c7cb86b-c24d-4099-8f9c-ef7a7d7226ac")
		)
		(fp_line
			(start 20.65 -1.4)
			(end 24.25 -5)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "8dd858f4-fbb9-4815-8f8e-1462b55b40a9")
		)
		(fp_line
			(start 22.65 -1.4)
			(end 24.25 -3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "386d91bb-899b-4d63-adb4-50eca88a43c5")
		)
		(fp_line
			(start 24.25 -8.2)
			(end -1.35 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "de5a0504-701e-40d5-a8cc-5c00728d077c")
		)
		(fp_line
			(start 24.25 -1.4)
			(end 24.25 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "b5ba1808-6d90-42ee-97a8-aa0a6352fde9")
		)
		(fp_line
			(start -1.62 -8.46)
			(end 24.48 -8.46)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "6e4d66c2-2621-41d0-9f25-222fd9aad4f8")
		)
		(fp_line
			(start -1.62 26.24)
			(end -1.62 -8.46)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "fad18a89-059f-47c1-a065-4e7cfb1022d1")
		)
		(fp_line
			(start 24.48 -8.46)
			(end 24.48 26.24)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "d095d556-e531-4f10-ab11-4e0f88a927be")
		)
		(fp_line
			(start 24.48 26.24)
			(end -1.62 26.24)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "ea322905-ccfb-449c-bf5f-38a486e2270a")
		)
		(fp_line
			(start -1.37 -6.21)
			(end -1.37 -1)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "6bd9c03a-8f42-46aa-a5d4-71563e6b6507")
		)
		(fp_line
			(start -1.37 1)
			(end -1.37 19.09)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "57b707ff-5131-4204-b6b7-5cd2d5c12426")
		)
		(fp_line
			(start -1.37 1)
			(end -0.37 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "ec150a89-831b-472b-8691-90239c1d904b")
		)
		(fp_line
			(start -1.37 19.09)
			(end 1.17 19.09)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "97409b50-cd5c-4a93-986b-79ff16c9a7bf")
		)
		(fp_line
			(start -0.37 0)
			(end -1.37 -1)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "dc3dbd2c-177e-4b12-8f84-b8cd4021d29a")
		)
		(fp_line
			(start 1.17 19.09)
			(end 1.17 25.99)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "18e0aed1-08bd-4fcd-8592-f95f12ec4634")
		)
		(fp_line
			(start 1.17 25.99)
			(end 24.23 25.99)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "eb03735a-fa1f-419d-ada6-44787bb34cd2")
		)
		(fp_line
			(start 22.23 -8.21)
			(end 0.63 -8.21)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "310e5034-5795-41fa-81e7-1924aca2cd2a")
		)
		(fp_line
			(start 24.23 25.99)
			(end 24.23 -6.21)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "1d08273e-05fe-402c-a13e-84ca289a2212")
		)
		(fp_arc
			(start -1.37 -6.21)
			(mid -0.784214 -7.624214)
			(end 0.63 -8.21)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "24cd120b-2a7f-400a-9f12-0a5afb5da00d")
		)
		(fp_arc
			(start 22.25 -8.21)
			(mid 23.658356 -7.610071)
			(end 24.23 -6.19)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "5c9ed653-d2aa-43e1-a3d6-5716953d71ca")
		)
		(fp_text user "KEEP OUT"
			(at 11.43 -6.35 0)
			(layer "Cmts.User")
			(uuid "53569575-1780-4f31-bd7a-243a2b74b14a")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(fp_text user "No copper"
			(at 11.43 -3.81 0)
			(layer "Cmts.User")
			(uuid "65efae54-80f6-4529-821d-caadf9ec6986")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(fp_text user "${REFERENCE}"
			(at 11.43 10 0)
			(layer "F.Fab")
			(uuid "3a90bd76-f8d6-41ac-9000-c7a5685169ee")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(pad "1" thru_hole rect
			(at 0 0)
			(size 2 2)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 10 "Net-(J2-Pin_1)")
			(pinfunction "~{RST}")
			(pintype "input")
			(uuid "3be5bd4e-b9d6-4c80-909c-6f8db4133009")
		)
		(pad "2" thru_hole oval
			(at 0 2.54)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 12 "Net-(J2-Pin_2)")
			(pinfunction "A0")
			(pintype "input")
			(uuid "21bf233c-1de9-4770-922c-fa301efad121")
		)
		(pad "3" thru_hole oval
			(at 0 5.08)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 11 "Net-(J2-Pin_3)")
			(pinfunction "D0")
			(pintype "bidirectional")
			(uuid "7cd1d3d0-4a45-42dc-9c30-c24fffd269c1")
		)
		(pad "4" thru_hole oval
			(at 0 7.62)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 17 "Net-(J2-Pin_4)")
			(pinfunction "SCK/D5")
			(pintype "bidirectional")
			(uuid "44f0e311-c7e4-4a1d-a03f-e16679b477cf")
		)
		(pad "5" thru_hole oval
			(at 0 10.16)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 13 "Net-(J2-Pin_5)")
			(pinfunction "MISO/D6")
			(pintype "bidirectional")
			(uuid "bdb31b85-cdae-417d-abb7-af110473f0c7")
		)
		(pad "6" thru_hole oval
			(at 0 12.7)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 15 "Net-(J2-Pin_6)")
			(pinfunction "MOSI/D7")
			(pintype "bidirectional")
			(uuid "8c6ef439-3da8-4f32-8497-f51d61b89a3f")
		)
		(pad "7" thru_hole oval
			(at 0 15.24)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 14 "Net-(J2-Pin_7)")
			(pinfunction "CS/D8")
			(pintype "bidirectional")
			(uuid "a2afb31b-7bef-457a-9552-2163495f0d3e")
		)
		(pad "8" thru_hole oval
			(at 0 17.78)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 16 "Net-(J2-Pin_8)")
			(pinfunction "3V3")
			(pintype "power_out")
			(uuid "151d8168-6ba0-4cf9-b945-516a6b05550e")
		)
		(pad "9" thru_hole oval
			(at 22.86 17.78)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 9 "Net-(J1-Pin_8)")
			(pinfunction "5V")
			(pintype "power_in")
			(uuid "9a51ea1e-22e7-48b9-bdcd-d9eeddc0ae8b")
		)
		(pad "10" thru_hole oval
			(at 22.86 15.24)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "GND")
			(pintype "power_in")
			(uuid "8dbc528e-e64c-46c2-8e60-c837c9196bbe")
		)
		(pad "11" thru_hole oval
			(at 22.86 12.7)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 8 "Net-(J1-Pin_6)")
			(pinfunction "D4")
			(pintype "bidirectional")
			(uuid "2d8c2aa3-2d93-492a-9c79-bafe190e0477")
		)
		(pad "12" thru_hole oval
			(at 22.86 10.16)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 6 "Net-(J1-Pin_5)")
			(pinfunction "D3")
			(pintype "bidirectional")
			(uuid "2553b9e2-90a4-4234-a014-45defea21af0")
		)
		(pad "13" thru_hole oval
			(at 22.86 7.62)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 4 "Net-(J1-Pin_4)")
			(pinfunction "SDA/D2")
			(pintype "bidirectional")
			(uuid "9b5e530e-9f5a-4e36-8ec6-789bde185cd0")
		)
		(pad "14" thru_hole oval
			(at 22.86 5.08)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 3 "Net-(J1-Pin_3)")
			(pinfunction "SCL/D1")
			(pintype "bidirectional")
			(uuid "60476186-954a-491f-b473-5bb08e10e472")
		)
		(pad "15" thru_hole oval
			(at 22.86 2.54)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 7 "Net-(J1-Pin_2)")
			(pinfunction "RX")
			(pintype "input")
			(uuid "37593070-1eff-4dce-8985-c805ee179128")
		)
		(pad "16" thru_hole oval
			(at 22.86 0)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 5 "Net-(J1-Pin_1)")
			(pinfunction "TX")
			(pintype "output")
			(uuid "06e87f93-e2ec-4550-bf2c-0f12210a1bca")
		)
		(model "${KICAD8_3DMODEL_DIR}/Module.3dshapes/wemos_d1_mini_light.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 0 0 9.5)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 -180 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 22.86 0 9.5)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 -180 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 22.86 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
	)
	(footprint "Module:WEMOS_D1_mini_light"
		(layer "F.Cu")
		(uuid "760effc4-4c56-4044-b871-f37286098267")
		(at 131.5 94.5)
		(descr "16-pin module, column spacing 22.86 mm (900 mils), https://wiki.wemos.cc/products:d1:d1_mini, https://c1.staticflickr.com/1/734/31400410271_f278b087db_z.jpg")
		(tags "ESP8266 WiFi microcontroller")
		(property "Reference" "U2"
			(at 24.36 27.5 0)
			(layer "F.SilkS")
			(uuid "284fbe53-4c73-4198-b6f2-0a05f885f193")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "WeMos_D1_mini"
			(at 11.7 0 0)
			(layer "F.Fab")
			(uuid "9a8d7046-db9a-41d1-95b1-880368129e90")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "Module:WEMOS_D1_mini_light"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "539a38d3-d6a6-4f57-8aeb-e8b922b08bff")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" "https://wiki.wemos.cc/products:d1:d1_mini#documentation"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "1d4e6113-b941-47e9-89aa-af24a758875d")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "32-bit microcontroller module with WiFi"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "34f63b40-143b-444f-a611-a4a783880503")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property ki_fp_filters "WEMOS*D1*mini*")
		(path "/857ad8e9-c677-475a-b327-42b8efd3690d")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start -1.5 19.22)
			(end -1.5 -6.21)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "bd33bd8d-d64e-433d-ba66-deea01f1ac2e")
		)
		(fp_line
			(start -1.5 19.22)
			(end 1.04 19.22)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "0578290f-7d24-4755-b133-d41da0afa3ce")
		)
		(fp_line
			(start 1.04 19.22)
			(end 1.04 26.12)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "1efc1b2d-aa3c-459b-8f5e-cc97110560f0")
		)
		(fp_line
			(start 1.04 26.12)
			(end 24.36 26.12)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "ef396bf8-e263-4d8b-990e-d21a77369ff4")
		)
		(fp_line
			(start 22.24 -8.34)
			(end 0.63 -8.34)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "82f10b40-59dc-45ca-9200-6786caae74a7")
		)
		(fp_line
			(start 24.36 26.12)
			(end 24.36 -6.21)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "8ce23e93-93b8-4aa5-8633-56a22a67fd8c")
		)
		(fp_arc
			(start -1.5 -6.21)
			(mid -0.876137 -7.716137)
			(end 0.63 -8.34)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "288de293-f83b-4944-9c21-eac5bdba95de")
		)
		(fp_arc
			(start 22.23 -8.34)
			(mid 23.736137 -7.716137)
			(end 24.36 -6.21)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "feeefca7-48df-49a6-8a20-e4c646bbce11")
		)
		(fp_poly
			(pts
				(xy -2.54 -0.635) (xy -2.54 0.635) (xy -1.905 0)
			)
			(stroke
				(width 0.15)
				(type solid)
			)
			(fill solid)
			(layer "F.SilkS")
			(uuid "420fd2a3-15d6-41cc-b23a-71b54d36cd5c")
		)
		(fp_line
			(start -1.35 -8.2)
			(end -1.35 -1.4)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "96980017-9f91-4e0d-b2a3-a5b9b8a55501")
		)
		(fp_line
			(start -1.35 -7.4)
			(end -0.55 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "9713d591-c19a-41b9-98fc-e6be5ed349bb")
		)
		(fp_line
			(start -1.35 -3.4)
			(end 3.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "19296b9f-de9c-4121-b22d-8827bd5c8463")
		)
		(fp_line
			(start -1.35 -1.4)
			(end 5.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "030f078d-1733-40d4-a1d6-101ed6aaa598")
		)
		(fp_line
			(start -1.35 -1.4)
			(end 24.25 -1.4)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "c422de46-fc93-4fe4-8fef-89cb0486fe18")
		)
		(fp_line
			(start -1.3 -5.45)
			(end 1.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "ac3ca053-8599-49f1-84d8-e756ecdc6c77")
		)
		(fp_line
			(start 0.65 -1.4)
			(end 7.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "dde9c118-1fad-4e16-a3e8-66205f624b01")
		)
		(fp_line
			(start 2.65 -1.4)
			(end 9.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "757ff474-4b47-4046-b9c2-e9793cbf326e")
		)
		(fp_line
			(start 4.65 -1.4)
			(end 11.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "c25ab519-f50b-4e82-afea-36f991219540")
		)
		(fp_line
			(start 6.65 -1.4)
			(end 13.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "d8367d07-649d-4a5a-b46d-679ebde9032f")
		)
		(fp_line
			(start 8.65 -1.4)
			(end 15.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "a84dad86-d2ce-418c-a689-16f793a2082e")
		)
		(fp_line
			(start 10.65 -1.4)
			(end 17.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "0ebbecc2-164c-49b9-918b-df4723e33a54")
		)
		(fp_line
			(start 12.65 -1.4)
			(end 19.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "334c04c1-af77-4b06-a9b3-39679b6c2f0e")
		)
		(fp_line
			(start 14.65 -1.4)
			(end 21.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "55900f61-3110-4687-8ef1-3225eae9d353")
		)
		(fp_line
			(start 16.65 -1.4)
			(end 23.45 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "c59c1f63-0f5c-47cb-b466-e070937ca777")
		)
		(fp_line
			(start 18.65 -1.4)
			(end 24.25 -7)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "57697b63-9c56-401a-98aa-69bac03a63d4")
		)
		(fp_line
			(start 20.65 -1.4)
			(end 24.25 -5)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "9824f5aa-eb0d-4ff4-a4f2-aed9048922eb")
		)
		(fp_line
			(start 22.65 -1.4)
			(end 24.25 -3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "8ee13050-e922-47b0-9098-3b64085ce8ab")
		)
		(fp_line
			(start 24.25 -8.2)
			(end -1.35 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "ef6c6956-e087-475e-8a89-cb0c18608a63")
		)
		(fp_line
			(start 24.25 -1.4)
			(end 24.25 -8.2)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "Dwgs.User")
			(uuid "b66f973d-e146-419c-9653-64d0fa5e82ab")
		)
		(fp_line
			(start -1.62 -8.46)
			(end 24.48 -8.46)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "7bc8d81d-4e24-4144-96f3-43fb314c9dac")
		)
		(fp_line
			(start -1.62 26.24)
			(end -1.62 -8.46)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "1d0e159d-8f55-4ece-838c-82dfed70fd07")
		)
		(fp_line
			(start 24.48 -8.46)
			(end 24.48 26.24)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "b7193c97-0088-4253-bf55-e2b7ffd3dcc6")
		)
		(fp_line
			(start 24.48 26.24)
			(end -1.62 26.24)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "ae6be8a6-4993-4a31-b071-f401a6acfcc3")
		)
		(fp_line
			(start -1.37 -6.21)
			(end -1.37 -1)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "6c6d1c5e-09ff-4635-874c-8b9362991f1a")
		)
		(fp_line
			(start -1.37 1)
			(end -1.37 19.09)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "5e88cf82-3b43-4b58-98cf-f8b1f81cb014")
		)
		(fp_line
			(start -1.37 1)
			(end -0.37 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "764675ee-ee2b-4597-a527-b96f998178a2")
		)
		(fp_line
			(start -1.37 19.09)
			(end 1.17 19.09)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "229cd1bd-0c88-421d-b839-3da7b7cb191a")
		)
		(fp_line
			(start -0.37 0)
			(end -1.37 -1)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "126c3d24-7576-4ab4-b493-de793e3e3564")
		)
		(fp_line
			(start 1.17 19.09)
			(end 1.17 25.99)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "21050291-0c5d-42c5-986b-40a55c4dfe53")
		)
		(fp_line
			(start 1.17 25.99)
			(end 24.23 25.99)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "f8b254ba-18d8-47d6-b157-7421f4153eeb")
		)
		(fp_line
			(start 22.23 -8.21)
			(end 0.63 -8.21)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "5ab0e7f1-9388-4cbb-8c22-fd9c403f326d")
		)
		(fp_line
			(start 24.23 25.99)
			(end 24.23 -6.21)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "ecc15e3a-5a56-46bb-925f-f00c82b6328a")
		)
		(fp_arc
			(start -1.37 -6.21)
			(mid -0.784214 -7.624214)
			(end 0.63 -8.21)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "f044164e-4951-4a22-a59f-a5c70c3e1367")
		)
		(fp_arc
			(start 22.25 -8.21)
			(mid 23.658356 -7.610071)
			(end 24.23 -6.19)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "3cf9a2a2-0ff2-44c6-8541-df7d43848b6a")
		)
		(fp_text user "No copper"
			(at 11.43 -3.81 0)
			(layer "Cmts.User")
			(uuid "83b4ad98-8939-40cd-b1f0-a14f3f793097")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(fp_text user "KEEP OUT"
			(at 11.43 -6.35 0)
			(layer "Cmts.User")
			(uuid "ad83270f-3cf0-4a4b-a30b-18a9fe65480e")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(fp_text user "${REFERENCE}"
			(at 11.43 10 0)
			(layer "F.Fab")
			(uuid "55a60560-c54c-4181-9c6e-1cd71167e3a7")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(pad "1" thru_hole rect
			(at 0 0)
			(size 2 2)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 10 "Net-(J2-Pin_1)")
			(pinfunction "~{RST}")
			(pintype "input")
			(uuid "a6f9411b-c05b-45cf-a6bd-35828db4153c")
		)
		(pad "2" thru_hole oval
			(at 0 2.54)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 12 "Net-(J2-Pin_2)")
			(pinfunction "A0")
			(pintype "input")
			(uuid "cc6c3f03-0a03-4ccc-89d1-ed4ffb4c4dc8")
		)
		(pad "3" thru_hole oval
			(at 0 5.08)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 11 "Net-(J2-Pin_3)")
			(pinfunction "D0")
			(pintype "bidirectional")
			(uuid "68193a5f-6ba3-4604-9de2-9d3659011723")
		)
		(pad "4" thru_hole oval
			(at 0 7.62)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 17 "Net-(J2-Pin_4)")
			(pinfunction "SCK/D5")
			(pintype "bidirectional")
			(uuid "41ae4edc-4553-4258-aa20-e2130ef39f67")
		)
		(pad "5" thru_hole oval
			(at 0 10.16)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 13 "Net-(J2-Pin_5)")
			(pinfunction "MISO/D6")
			(pintype "bidirectional")
			(uuid "4594d360-1a37-4ca2-bc85-035fcaa3ab31")
		)
		(pad "6" thru_hole oval
			(at 0 12.7)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 15 "Net-(J2-Pin_6)")
			(pinfunction "MOSI/D7")
			(pintype "bidirectional")
			(uuid "4f196664-c69e-4f5f-ac56-e37866f5a09c")
		)
		(pad "7" thru_hole oval
			(at 0 15.24)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 14 "Net-(J2-Pin_7)")
			(pinfunction "CS/D8")
			(pintype "bidirectional")
			(uuid "38beaa3d-cb2e-4567-8b49-17edff0999b6")
		)
		(pad "8" thru_hole oval
			(at 0 17.78)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 16 "Net-(J2-Pin_8)")
			(pinfunction "3V3")
			(pintype "power_out")
			(uuid "446e360b-e229-449f-b501-fc4897eb5b85")
		)
		(pad "9" thru_hole oval
			(at 22.86 17.78)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 9 "Net-(J1-Pin_8)")
			(pinfunction "5V")
			(pintype "power_in")
			(uuid "c5784e0a-f212-4dcf-a6e8-a0f518842475")
		)
		(pad "10" thru_hole oval
			(at 22.86 15.24)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "GND")
			(pintype "power_in")
			(uuid "39621df5-7fcd-4cf9-b621-ae4cefbaa1a7")
		)
		(pad "11" thru_hole oval
			(at 22.86 12.7)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 8 "Net-(J1-Pin_6)")
			(pinfunction "D4")
			(pintype "bidirectional")
			(uuid "f89efa83-49ba-400f-823d-49c170d7ff10")
		)
		(pad "12" thru_hole oval
			(at 22.86 10.16)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 6 "Net-(J1-Pin_5)")
			(pinfunction "D3")
			(pintype "bidirectional")
			(uuid "f4e9d6bc-cf07-4a76-b52b-f27bd9122e91")
		)
		(pad "13" thru_hole oval
			(at 22.86 7.62)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 4 "Net-(J1-Pin_4)")
			(pinfunction "SDA/D2")
			(pintype "bidirectional")
			(uuid "87099a52-b2ed-4ea9-bb84-8f6869181732")
		)
		(pad "14" thru_hole oval
			(at 22.86 5.08)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 3 "Net-(J1-Pin_3)")
			(pinfunction "SCL/D1")
			(pintype "bidirectional")
			(uuid "a68c6335-dd71-4cc8-b83a-b3ee6573cd97")
		)
		(pad "15" thru_hole oval
			(at 22.86 2.54)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 7 "Net-(J1-Pin_2)")
			(pinfunction "RX")
			(pintype "input")
			(uuid "6d43da7b-7703-40f0-83f1-1441c08516df")
		)
		(pad "16" thru_hole oval
			(at 22.86 0)
			(size 2 1.6)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 5 "Net-(J1-Pin_1)")
			(pinfunction "TX")
			(pintype "output")
			(uuid "a19f43ee-9289-492c-8330-b0c3f13f1514")
		)
		(model "${KICAD8_3DMODEL_DIR}/Module.3dshapes/wemos_d1_mini_light.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 0 0 9.5)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 -180 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 22.86 0 9.5)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 -180 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x08_P2.54mm_Vertical.wrl"
			(offset
				(xyz 22.86 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
	)
	(footprint "Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical"
		(layer "F.Cu")
		(uuid "87ddd931-6237-4830-8c6f-c82fe7c69b47")
		(at 160.5 81.3712)
		(descr "Through hole straight socket strip, 1x05, 2.54mm pitch, single row (from Kicad 4.0.7), script generated")
		(tags "Through hole socket strip THT 1x05 2.54mm single row")
		(property "Reference" "J5"
			(at 0 -2.77 0)
			(layer "F.SilkS")
			(uuid "e21ccfa3-602b-4f93-ada5-653fc0e454d8")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "Conn_01x05_Pin - 5v"
			(at 0 12.93 0)
			(layer "F.Fab")
			(uuid "7f922299-d59a-4816-8b69-144e3fc4a4f1")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "8c78bbd5-f56a-4f01-8e73-478157607449")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" ""
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "dacece15-e4b3-417c-b337-07139dc1083d")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "Generic connector, single row, 01x05, script generated"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "e920b8ab-84eb-4d5c-92b9-ffee59cfc268")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property ki_fp_filters "Connector*:*_1x??_*")
		(path "/f18a20b4-e7b5-4a52-9d98-d364421505d9")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start -1.33 1.27)
			(end -1.33 11.49)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "d6fed4ba-bee6-4540-9bc7-dee385f6401e")
		)
		(fp_line
			(start -1.33 1.27)
			(end 1.33 1.27)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "757dc119-87c5-4740-9920-da42f1bf31dd")
		)
		(fp_line
			(start -1.33 11.49)
			(end 1.33 11.49)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "1f015641-a38a-4492-be49-dc76c2249247")
		)
		(fp_line
			(start 0 -1.33)
			(end 1.33 -1.33)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "7e322f3e-8b7e-4824-8905-40446669b936")
		)
		(fp_line
			(start 1.33 -1.33)
			(end 1.33 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "0672b8a1-7697-47f7-b63e-3644636ff802")
		)
		(fp_line
			(start 1.33 1.27)
			(end 1.33 11.49)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "76b7162c-4212-45f6-8283-15894243ad94")
		)
		(fp_line
			(start -1.8 -1.8)
			(end 1.75 -1.8)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "e99100be-5f21-41cc-ac85-aedfd1796b21")
		)
		(fp_line
			(start -1.8 11.9)
			(end -1.8 -1.8)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "e2a96c38-ce52-4b88-9888-ca9863a02e0b")
		)
		(fp_line
			(start 1.75 -1.8)
			(end 1.75 11.9)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "f7ec738d-5f4f-463f-9145-5be7646b895e")
		)
		(fp_line
			(start 1.75 11.9)
			(end -1.8 11.9)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "4ae18694-db8a-47ea-a2c9-35df7313039e")
		)
		(fp_line
			(start -1.27 -1.27)
			(end 0.635 -1.27)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "f127b867-b285-4d63-8c15-869ee9a40712")
		)
		(fp_line
			(start -1.27 11.43)
			(end -1.27 -1.27)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "08f1f7e4-4058-4119-84aa-3d9a00c5a4ca")
		)
		(fp_line
			(start 0.635 -1.27)
			(end 1.27 -0.635)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "5f7b17e1-2ceb-4398-9d3b-763cec4acfc7")
		)
		(fp_line
			(start 1.27 -0.635)
			(end 1.27 11.43)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "059823e8-308a-4ffc-9cfe-94b8d335aa1e")
		)
		(fp_line
			(start 1.27 11.43)
			(end -1.27 11.43)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "db9444fd-e2ab-47e4-ab4d-4d1584f844c6")
		)
		(fp_text user "${REFERENCE}"
			(at 0 5.08 90)
			(layer "F.Fab")
			(uuid "fed5c04e-5844-4a27-afde-a622ab767f5c")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(pad "1" thru_hole rect
			(at 0 0)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 9 "Net-(J1-Pin_8)")
			(pinfunction "Pin_1")
			(pintype "passive")
			(uuid "460b45ad-b231-4601-b4f5-30c26514586d")
		)
		(pad "2" thru_hole oval
			(at 0 2.54)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 9 "Net-(J1-Pin_8)")
			(pinfunction "Pin_2")
			(pintype "passive")
			(uuid "89a179bb-f059-448a-baeb-58299479381d")
		)
		(pad "3" thru_hole oval
			(at 0 5.08)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 9 "Net-(J1-Pin_8)")
			(pinfunction "Pin_3")
			(pintype "passive")
			(uuid "c4eb4001-017a-4012-8029-ab27ff859251")
		)
		(pad "4" thru_hole oval
			(at 0 7.62)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 9 "Net-(J1-Pin_8)")
			(pinfunction "Pin_4")
			(pintype "passive")
			(uuid "1f34e95a-78a7-4ec9-9d2d-6be9a824c266")
		)
		(pad "5" thru_hole oval
			(at 0 10.16)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 9 "Net-(J1-Pin_8)")
			(pinfunction "Pin_5")
			(pintype "passive")
			(uuid "d82407b4-a28b-4e25-9e09-71a33aadb7ca")
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x05_P2.54mm_Vertical.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
	)
	(footprint "Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical"
		(layer "F.Cu")
		(uuid "9760a81e-3980-4f90-a7f7-e6b7aed93416")
		(at 160.5 48)
		(descr "Through hole straight socket strip, 1x05, 2.54mm pitch, single row (from Kicad 4.0.7), script generated")
		(tags "Through hole socket strip THT 1x05 2.54mm single row")
		(property "Reference" "J7"
			(at 0 -2.77 0)
			(layer "F.SilkS")
			(uuid "420e5814-d779-4afb-8ba9-490f9de1d02e")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "Conn_01x05_Pin - G"
			(at 0 12.93 0)
			(layer "F.Fab")
			(uuid "00dfdc21-922b-427f-b07f-e4fc1cf031ee")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "9c0fff76-eb42-4060-9685-476cf8822538")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" ""
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "94edb96b-26c3-4ddd-a216-1f27a192b310")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "Generic connector, single row, 01x05, script generated"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "bd638b4b-30b3-444c-9f6c-1922f30c8624")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property ki_fp_filters "Connector*:*_1x??_*")
		(path "/451e32c7-d634-44eb-a1a3-474541a7fdd7")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start -1.33 1.27)
			(end -1.33 11.49)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "ee80f72b-72d8-4b92-b01c-13c4ba8350f6")
		)
		(fp_line
			(start -1.33 1.27)
			(end 1.33 1.27)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "0ec243b9-8b45-4653-8ce7-03b8fd39f0eb")
		)
		(fp_line
			(start -1.33 11.49)
			(end 1.33 11.49)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "489b5c47-3bff-46f6-9f8d-b66e7604c96c")
		)
		(fp_line
			(start 0 -1.33)
			(end 1.33 -1.33)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "81f4f159-07b2-4e1c-9ab3-c1fdbfe2f001")
		)
		(fp_line
			(start 1.33 -1.33)
			(end 1.33 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "7845f02d-a376-4c6c-9185-f7c62d08612c")
		)
		(fp_line
			(start 1.33 1.27)
			(end 1.33 11.49)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "fef55039-bda5-4300-b58f-eef44ed24675")
		)
		(fp_line
			(start -1.8 -1.8)
			(end 1.75 -1.8)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "0977ce7e-4c7f-4ebc-b887-cfb512e27f96")
		)
		(fp_line
			(start -1.8 11.9)
			(end -1.8 -1.8)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "8621d6e7-1337-4026-9ce4-42f2b7dc2f55")
		)
		(fp_line
			(start 1.75 -1.8)
			(end 1.75 11.9)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "e497cb31-36e8-43ee-b817-a76ca80426a1")
		)
		(fp_line
			(start 1.75 11.9)
			(end -1.8 11.9)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "bd652872-d144-4d2f-afa8-89056f6a9157")
		)
		(fp_line
			(start -1.27 -1.27)
			(end 0.635 -1.27)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "f22376d6-3c61-46ed-a620-75dda622edd1")
		)
		(fp_line
			(start -1.27 11.43)
			(end -1.27 -1.27)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "cf40c5af-295d-4723-a863-a0ae1e64e9f4")
		)
		(fp_line
			(start 0.635 -1.27)
			(end 1.27 -0.635)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "f8ef5e87-e8ac-40fa-954d-913b309a39e5")
		)
		(fp_line
			(start 1.27 -0.635)
			(end 1.27 11.43)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "b5c780f5-5d86-4fb7-855f-a34f4f490f72")
		)
		(fp_line
			(start 1.27 11.43)
			(end -1.27 11.43)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "13c76e0f-c2a2-432b-8d32-bb0b07f964b8")
		)
		(fp_text user "${REFERENCE}"
			(at 0 5.08 90)
			(layer "F.Fab")
			(uuid "0acbf02c-2469-4908-b118-5bb982e74691")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(pad "1" thru_hole rect
			(at 0 0)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "Pin_1")
			(pintype "passive")
			(uuid "e084f8ed-7d5b-4cbf-8302-8b21f3b9de01")
		)
		(pad "2" thru_hole oval
			(at 0 2.54)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "Pin_2")
			(pintype "passive")
			(uuid "bcd77423-cc84-4195-9267-d7354c8452dd")
		)
		(pad "3" thru_hole oval
			(at 0 5.08)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "Pin_3")
			(pintype "passive")
			(uuid "3a3035a0-4d84-4f33-8e27-98bb8be75276")
		)
		(pad "4" thru_hole oval
			(at 0 7.62)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "Pin_4")
			(pintype "passive")
			(uuid "44754907-d6e4-4aa7-8595-998f3e93510b")
		)
		(pad "5" thru_hole oval
			(at 0 10.16)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "Pin_5")
			(pintype "passive")
			(uuid "5c08ce3d-3840-4b5b-8e75-7e748e829c16")
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x05_P2.54mm_Vertical.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
	)
	(footprint "TerminalBlock_RND:TerminalBlock_RND_205-00018_1x08_P5.00mm_Horizontal"
		(layer "F.Cu")
		(uuid "a0c5ea09-3ab9-48a6-8894-6f7df857856d")
		(at 174 36.5 -90)
		(descr "terminal block RND 205-00018, 8 pins, pitch 5mm, size 40x7.6mm^2, drill diamater 1.3mm, pad diameter 2.5mm, see http://cdn-reichelt.de/documents/datenblatt/C151/RND_205-00012_DB_EN.pdf, script-generated using https://github.com/pointhi/kicad-footprint-generator/scripts/TerminalBlock_RND")
		(tags "THT terminal block RND 205-00018 pitch 5mm size 40x7.6mm^2 drill 1.3mm pad 2.5mm")
		(property "Reference" "J4"
			(at 17.5 -1.5 90)
			(layer "F.SilkS")
			(uuid "7a0019cd-933b-46d1-9714-6ba03dd0365e")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "Conn_01x08_Pin - R"
			(at 17.5 4.547 90)
			(layer "F.Fab")
			(uuid "0c62ac51-0ae1-447d-bfaa-0eb594893a42")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "TerminalBlock_RND:TerminalBlock_RND_205-00018_1x08_P5.00mm_Horizontal"
			(at 0 0 -90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "16ca4fed-bd0b-4161-9e3a-049a02dfcc41")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" ""
			(at 0 0 -90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "d5d181f2-b6d4-44d7-928e-1a1b6e62bb4e")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "Generic connector, single row, 01x08, script generated"
			(at 0 0 -90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "863b83ca-a159-4ad4-913d-4e1a214de118")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property ki_fp_filters "Connector*:*_1x??_*")
		(path "/c769e809-e4e6-45f4-a5af-126dc5a562cb")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start -2.8 3.8)
			(end -2.2 3.8)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "0145b2e0-a2e5-47b3-a6dc-4686e4606692")
		)
		(fp_line
			(start -2.56 3.561)
			(end 37.56 3.561)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "f29ca5b3-35f3-4d1b-b987-099184c3c4d7")
		)
		(fp_line
			(start -2.8 2.96)
			(end -2.8 3.8)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "ecd0712c-c985-4537-86d1-58de177c96c3")
		)
		(fp_line
			(start -2.56 2.9)
			(end 37.56 2.9)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "5d152e00-c5df-4858-89d9-8614fc42b738")
		)
		(fp_line
			(start -2.56 2.3)
			(end 37.56 2.3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "fc3c27e4-42ec-4c93-9ee5-71c8fa74caca")
		)
		(fp_line
			(start 3.99 1.216)
			(end 3.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "837c9e93-406b-4a39-8442-d7fbf626674a")
		)
		(fp_line
			(start 8.99 1.216)
			(end 8.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "355ef67a-87ea-464a-8659-c23844cedfd5")
		)
		(fp_line
			(start 13.99 1.216)
			(end 13.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "58b1f268-f606-49ef-b940-b6b3032731c9")
		)
		(fp_line
			(start 18.99 1.216)
			(end 18.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "550eb677-1697-45e7-86ed-73ea9c01a65d")
		)
		(fp_line
			(start 23.99 1.216)
			(end 23.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "6e640670-dc2e-4ad9-b95f-7ab47629aeef")
		)
		(fp_line
			(start 28.99 1.216)
			(end 28.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "6286d185-54ba-4c5d-bdf9-e5575c7905a9")
		)
		(fp_line
			(start 33.99 1.216)
			(end 33.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "4d240f31-2b69-41d3-ac8d-f257e47b3f9f")
		)
		(fp_line
			(start 3.82 0.976)
			(end 3.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "48fd63cc-436c-4b66-a1af-c06af16a58eb")
		)
		(fp_line
			(start 8.82 0.976)
			(end 8.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "e7abe6a3-1729-4d9f-a78b-318b3bdd8a0c")
		)
		(fp_line
			(start 13.82 0.976)
			(end 13.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "fe5f72d0-cd10-4b1d-9f38-d7652856c184")
		)
		(fp_line
			(start 18.82 0.976)
			(end 18.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "5c1226b1-33b1-4e2b-96d0-4b11e54c75db")
		)
		(fp_line
			(start 23.82 0.976)
			(end 23.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "b83936f1-d8b9-4aca-a08c-c8499fc99eef")
		)
		(fp_line
			(start 28.82 0.976)
			(end 28.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "982a27d0-b0b5-480f-bdba-bc1cce41cf63")
		)
		(fp_line
			(start 33.82 0.976)
			(end 33.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "80e0f60a-e225-40ad-a63a-ddc0fb740e22")
		)
		(fp_line
			(start 6.275 -1.069)
			(end 6.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "b6df04a8-9344-4d2b-9aeb-e1c13ff9dd17")
		)
		(fp_line
			(start 11.275 -1.069)
			(end 11.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "c90488ba-65d0-446a-b284-edac772fbbbf")
		)
		(fp_line
			(start 16.275 -1.069)
			(end 16.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "5037da14-584b-4648-937a-5bf9a82dd636")
		)
		(fp_line
			(start 21.275 -1.069)
			(end 21.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "8e7ab2df-d69b-471c-bf6b-fd8c5378c0a1")
		)
		(fp_line
			(start 26.275 -1.069)
			(end 26.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "86682ac5-404d-429e-87e1-cef7c44c0335")
		)
		(fp_line
			(start 31.275 -1.069)
			(end 31.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "94e8b8b5-37a2-4183-b039-859d4571caa3")
		)
		(fp_line
			(start 36.275 -1.069)
			(end 36.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "54eedcb5-be5d-4c9d-a4d0-d9d4c4b9ef54")
		)
		(fp_line
			(start 6.07 -1.275)
			(end 6.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "aad3792b-7503-4005-9c9c-5d2829f75af7")
		)
		(fp_line
			(start 11.07 -1.275)
			(end 11.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "e23ad742-3f25-44d8-8f4a-6e4e3f2c9594")
		)
		(fp_line
			(start 16.07 -1.275)
			(end 16.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "7c3a98cd-3da1-4890-a745-55ef42a73fad")
		)
		(fp_line
			(start 21.07 -1.275)
			(end 21.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "46708a4e-38d8-46c8-804e-8854f806f841")
		)
		(fp_line
			(start 26.07 -1.275)
			(end 26.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "eee93008-6419-4ffb-be05-d247add9e3a1")
		)
		(fp_line
			(start 31.07 -1.275)
			(end 31.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "a28b01eb-0759-42c2-b4ba-2e1843e5285e")
		)
		(fp_line
			(start 36.07 -1.275)
			(end 36.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "4762e520-5005-4e59-b9c9-42219db2aa7a")
		)
		(fp_line
			(start -2.56 -2.4)
			(end 37.56 -2.4)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "9fe17b47-b61d-4f92-ace8-9cd1eaca4fde")
		)
		(fp_line
			(start -2.56 -4.16)
			(end -2.56 3.561)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "39401c2d-1c97-4578-8cff-a9de6ca2e770")
		)
		(fp_line
			(start -2.56 -4.16)
			(end 37.56 -4.16)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "c6b91f47-248b-419d-87db-1690698c3a35")
		)
		(fp_line
			(start 37.56 -4.16)
			(end 37.56 3.561)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "fd974bcf-4d73-4f98-9777-a6b00fca5aeb")
		)
		(fp_arc
			(start 0.029383 1.68045)
			(mid -0.392304 1.634281)
			(end -0.789 1.484)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "1da40089-3d83-414e-9902-cfa4858814b9")
		)
		(fp_arc
			(start 0.788712 1.483352)
			(mid 0.406429 1.630097)
			(end 0 1.68)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "00717a57-056b-4940-aa4f-a5b9634f8726")
		)
		(fp_arc
			(start -1.483953 0.789089)
			(mid -1.680708 0.00005)
			(end -1.484 -0.789)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "6a211290-ce86-4555-a273-e3f4a42f54dd")
		)
		(fp_arc
			(start 1.483953 -0.789089)
			(mid 1.680708 -0.00005)
			(end 1.484 0.789)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "d06adccc-0e4c-467c-8bd9-818447922a04")
		)
		(fp_arc
			(start -0.789089 -1.483953)
			(mid -0.00005 -1.680708)
			(end 0.789 -1.484)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "de76541e-d688-4a68-a467-0882d87bd783")
		)
		(fp_circle
			(center 5 0)
			(end 6.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "0d3978eb-f248-4bd3-93a7-be5791f86873")
		)
		(fp_circle
			(center 10 0)
			(end 11.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "6ad93564-fdb6-43ab-8e76-6919977010e1")
		)
		(fp_circle
			(center 15 0)
			(end 16.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "0150989b-84c4-48ae-8f94-2e41ee02421c")
		)
		(fp_circle
			(center 20 0)
			(end 21.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "d3032a42-e1f7-4579-ae8f-eda4fb54d7bc")
		)
		(fp_circle
			(center 25 0)
			(end 26.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "d5ca9463-f7dc-4b0c-8327-a08a123d51af")
		)
		(fp_circle
			(center 30 0)
			(end 31.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "bc057cbf-6340-4d5b-a2f2-7c2d7b6e547d")
		)
		(fp_circle
			(center 35 0)
			(end 36.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "bf138c3a-430d-41d1-92c4-dee38eab1678")
		)
		(fp_circle
			(center 0 -3)
			(end 0.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "805127f6-3a5d-4980-aed5-a2e13520799b")
		)
		(fp_circle
			(center 5 -3)
			(end 5.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "083f812e-3812-4238-a212-91368c735139")
		)
		(fp_circle
			(center 10 -3)
			(end 10.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "f1fec285-235b-42bd-8d4e-c424b9944d0e")
		)
		(fp_circle
			(center 15 -3)
			(end 15.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "7e0c614e-ff5d-40f9-b40b-bbf2d001870b")
		)
		(fp_circle
			(center 20 -3)
			(end 20.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "0404d872-87e5-45a5-9e52-dca1f4a7386c")
		)
		(fp_circle
			(center 25 -3)
			(end 25.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "66cc3f9d-d273-4ba9-8352-fc9513e21303")
		)
		(fp_circle
			(center 30 -3)
			(end 30.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "624611d7-47c9-4d49-9d99-31865642cc19")
		)
		(fp_circle
			(center 35 -3)
			(end 35.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "6b0044e8-a13d-4ff7-8755-68b238c1ae6d")
		)
		(fp_line
			(start -3 4)
			(end 38 4)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "eeffd734-7cf4-47c9-bb79-23dd2979c248")
		)
		(fp_line
			(start 38 4)
			(end 38 -4.6)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "75cba9ca-0abb-4dea-8d8a-88723bfaf400")
		)
		(fp_line
			(start -3 -4.6)
			(end -3 4)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "799c0c5f-b7dd-4ee3-9872-2bcf036cdcc5")
		)
		(fp_line
			(start 38 -4.6)
			(end -3 -4.6)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "3a583fe3-da5d-4a0a-bd7f-ba3f0d91289c")
		)
		(fp_line
			(start -1.9 3.5)
			(end -2.5 2.9)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "4f7b5092-7456-4b24-8f1f-971fade0b268")
		)
		(fp_line
			(start 37.5 3.5)
			(end -1.9 3.5)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "514b311d-c2eb-402a-91fb-f3f732a96b82")
		)
		(fp_line
			(start -2.5 2.9)
			(end 37.5 2.9)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "5df30fb0-3d5c-4e06-8115-2f4f0e2b8c82")
		)
		(fp_line
			(start -2.5 2.9)
			(end -2.5 -4.1)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "1cdbf4f9-b42d-4e52-9bf6-d729cd9b0d9c")
		)
		(fp_line
			(start -2.5 2.3)
			(end 37.5 2.3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "ee585254-afe0-47f7-8273-cb4ab204f83f")
		)
		(fp_line
			(start 1.138 -0.955)
			(end -0.955 1.138)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "97efa982-0a52-45ec-a6d3-4bfc2a7496fa")
		)
		(fp_line
			(start 6.138 -0.955)
			(end 4.046 1.138)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "740a1f8c-b44a-462c-94df-0b362fc0d1b2")
		)
		(fp_line
			(start 11.138 -0.955)
			(end 9.046 1.138)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "5864365e-48c3-45f1-a0f2-6d76f280ae27")
		)
		(fp_line
			(start 16.138 -0.955)
			(end 14.046 1.138)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "8b07b1cb-cbfc-4e4c-8c93-f93641a9ed18")
		)
		(fp_line
			(start 21.138 -0.955)
			(end 19.046 1.138)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "2312d8a3-bc65-4da5-bad9-506912419963")
		)
		(fp_line
			(start 26.138 -0.955)
			(end 24.046 1.138)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "d5fed81b-1554-4430-8ebe-a6bb482f778b")
		)
		(fp_line
			(start 31.138 -0.955)
			(end 29.046 1.138)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "e7d50b34-65dd-4343-83a6-f45c9440f241")
		)
		(fp_line
			(start 36.138 -0.955)
			(end 34.046 1.138)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "54c61e22-4b41-4e33-8b2d-7a906caaabc6")
		)
		(fp_line
			(start 0.955 -1.138)
			(end -1.138 0.955)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "85adb6d0-d653-4c3c-a834-f32740846e7c")
		)
		(fp_line
			(start 5.955 -1.138)
			(end 3.863 0.955)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "0761b6aa-ae22-4c5c-ae3a-1802fc8f662b")
		)
		(fp_line
			(start 10.955 -1.138)
			(end 8.863 0.955)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "36125b68-10db-41b2-b617-6a4157f591cc")
		)
		(fp_line
			(start 15.955 -1.138)
			(end 13.863 0.955)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "3d8352ce-0bcf-497d-bee8-ec5c60d105ee")
		)
		(fp_line
			(start 20.955 -1.138)
			(end 18.863 0.955)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "6055a572-a1f2-47ce-9f69-426a41b2c0ae")
		)
		(fp_line
			(start 25.955 -1.138)
			(end 23.863 0.955)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "07558c0b-b296-414e-b3be-7b63ec020372")
		)
		(fp_line
			(start 30.955 -1.138)
			(end 28.863 0.955)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "986123e6-e51a-4806-9311-358a566eb013")
		)
		(fp_line
			(start 35.955 -1.138)
			(end 33.863 0.955)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "f19208da-fcd9-460a-b869-84e2dee76320")
		)
		(fp_line
			(start -2.5 -2.4)
			(end 37.5 -2.4)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "f8b2c751-f983-4a2a-b2c7-c8bca733280c")
		)
		(fp_line
			(start -2.5 -4.1)
			(end 37.5 -4.1)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "67436795-ae03-4093-82c0-137612548e3f")
		)
		(fp_line
			(start 37.5 -4.1)
			(end 37.5 3.5)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "f8aa06a1-1cce-4e28-b8be-1ebc11064c2c")
		)
		(fp_circle
			(center 0 0)
			(end 1.5 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "12df2b92-6fcc-4ce0-96d6-0099f71e5c79")
		)
		(fp_circle
			(center 5 0)
			(end 6.5 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "af15dbe1-56ec-40ed-8541-860ad03f863b")
		)
		(fp_circle
			(center 10 0)
			(end 11.5 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "6bded19e-9149-4cb4-936a-4db62fc4f1b6")
		)
		(fp_circle
			(center 15 0)
			(end 16.5 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "fe163443-06ae-46d9-a9b4-9ee34df32028")
		)
		(fp_circle
			(center 20 0)
			(end 21.5 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "37a5394a-367f-42ac-a0b1-1ccacee1f2a6")
		)
		(fp_circle
			(center 25 0)
			(end 26.5 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "4b1fb329-4176-4ce2-b08c-824402929855")
		)
		(fp_circle
			(center 30 0)
			(end 31.5 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "3b5096ae-6fe5-4b5b-bb9c-7e06f3aa4e59")
		)
		(fp_circle
			(center 35 0)
			(end 36.5 0)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "15c130fb-6fcf-4a36-b338-87dec904926a")
		)
		(fp_circle
			(center 0 -3)
			(end 0.55 -3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "8a36d98c-dfb4-4ffc-9a93-42b01002f3cc")
		)
		(fp_circle
			(center 5 -3)
			(end 5.55 -3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "9bb38f42-c380-4c89-a58a-001c3201051f")
		)
		(fp_circle
			(center 10 -3)
			(end 10.55 -3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "b4799289-a624-41f8-801c-4994e8956955")
		)
		(fp_circle
			(center 15 -3)
			(end 15.55 -3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "31f12c53-2382-4eaa-a24d-0032f52f2d5d")
		)
		(fp_circle
			(center 20 -3)
			(end 20.55 -3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "611e511c-a358-41c1-99d2-e5ffd293170d")
		)
		(fp_circle
			(center 25 -3)
			(end 25.55 -3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "03026993-63b4-4aad-8a86-863da541e11a")
		)
		(fp_circle
			(center 30 -3)
			(end 30.55 -3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "bcd5df17-aca6-48e6-88eb-664da66889a4")
		)
		(fp_circle
			(center 35 -3)
			(end 35.55 -3)
			(stroke
				(width 0.1)
				(type solid)
			)
			(fill none)
			(layer "F.Fab")
			(uuid "c726d9c0-6a75-48cb-816f-a730a553e947")
		)
		(fp_text user "${REFERENCE}"
			(at 17.5 1.5 90)
			(layer "F.Fab")
			(uuid "6ca83c6f-d8e2-4805-8b17-ad7ca0058026")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(pad "1" thru_hole rect
			(at 0 0 270)
			(size 2.5 2.5)
			(drill 1.3)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 5 "Net-(J1-Pin_1)")
			(pinfunction "Pin_1")
			(pintype "passive")
			(uuid "e04334fd-7a16-40ac-86bc-241e4b0be3a1")
		)
		(pad "2" thru_hole circle
			(at 5 0 270)
			(size 2.5 2.5)
			(drill 1.3)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 7 "Net-(J1-Pin_2)")
			(pinfunction "Pin_2")
			(pintype "passive")
			(uuid "4c54392f-5d47-48a8-8ad2-e4d20ec05798")
		)
		(pad "3" thru_hole circle
			(at 10 0 270)
			(size 2.5 2.5)
			(drill 1.3)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 3 "Net-(J1-Pin_3)")
			(pinfunction "Pin_3")
			(pintype "passive")
			(uuid "878e7c69-a91e-457c-b4d0-138d308b116f")
		)
		(pad "4" thru_hole circle
			(at 15 0 270)
			(size 2.5 2.5)
			(drill 1.3)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 4 "Net-(J1-Pin_4)")
			(pinfunction "Pin_4")
			(pintype "passive")
			(uuid "bb9f407b-7f33-42a4-9ad6-5b55b960a023")
		)
		(pad "5" thru_hole circle
			(at 20 0 270)
			(size 2.5 2.5)
			(drill 1.3)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 6 "Net-(J1-Pin_5)")
			(pinfunction "Pin_5")
			(pintype "passive")
			(uuid "d11b7039-175b-460d-845b-3a6ac1cc353f")
		)
		(pad "6" thru_hole circle
			(at 25 0 270)
			(size 2.5 2.5)
			(drill 1.3)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 8 "Net-(J1-Pin_6)")
			(pinfunction "Pin_6")
			(pintype "passive")
			(uuid "4be0f3fe-5476-4452-b094-832585a14c34")
		)
		(pad "7" thru_hole circle
			(at 30 0 270)
			(size 2.5 2.5)
			(drill 1.3)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 1 "GND")
			(pinfunction "Pin_7")
			(pintype "passive")
			(uuid "f9706a9f-c233-4fc3-833e-063f7a69bc58")
		)
		(pad "8" thru_hole circle
			(at 35 0 270)
			(size 2.5 2.5)
			(drill 1.3)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 9 "Net-(J1-Pin_8)")
			(pinfunction "Pin_8")
			(pintype "passive")
			(uuid "b36ffd2c-d488-438b-aeab-f1dd9a3e7510")
		)
		(model "${KICAD8_3DMODEL_DIR}/TerminalBlock_RND.3dshapes/TerminalBlock_RND_205-00018_1x08_P5.00mm_Horizontal.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
	)
	(footprint "Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical"
		(layer "F.Cu")
		(uuid "d224a047-43d8-4431-9a7a-1a8cab3ee8f1")
		(at 160.5 64.6856)
		(descr "Through hole straight socket strip, 1x05, 2.54mm pitch, single row (from Kicad 4.0.7), script generated")
		(tags "Through hole socket strip THT 1x05 2.54mm single row")
		(property "Reference" "J6"
			(at 0 -2.77 0)
			(layer "F.SilkS")
			(uuid "6b02e8c2-edfa-4cc4-8d77-90c76e38a25d")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "Conn_01x05_Pin - 3.3v"
			(at 0 12.93 0)
			(layer "F.Fab")
			(uuid "b66023df-557c-460d-a4d9-540d61558f87")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "5cd53de4-93a9-42e8-adf3-69a28e99d5f6")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" ""
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "2ef0ae8b-bf5b-438e-b4ed-d14b57c0f541")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "Generic connector, single row, 01x05, script generated"
			(at 0 0 0)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "67373ab2-cc4a-4348-9bb7-03a834c9c4a2")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property ki_fp_filters "Connector*:*_1x??_*")
		(path "/3e0384b4-1cb3-4158-9957-9e752458aa54")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start -1.33 1.27)
			(end -1.33 11.49)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "de8b92a5-fcf7-4b7b-8beb-423159bc156d")
		)
		(fp_line
			(start -1.33 1.27)
			(end 1.33 1.27)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "e4695a08-8de0-4289-bb1f-76f9b2ada2fa")
		)
		(fp_line
			(start -1.33 11.49)
			(end 1.33 11.49)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "c59561dd-bb70-4a97-9825-d8ba68d0c1e2")
		)
		(fp_line
			(start 0 -1.33)
			(end 1.33 -1.33)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "82e5926d-b77a-48f5-a416-1fdb9e567813")
		)
		(fp_line
			(start 1.33 -1.33)
			(end 1.33 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "684dce6a-c324-4f43-9563-cceef7a5e237")
		)
		(fp_line
			(start 1.33 1.27)
			(end 1.33 11.49)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "845bf314-f517-43ef-9a0a-242fc9007278")
		)
		(fp_line
			(start -1.8 -1.8)
			(end 1.75 -1.8)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "b48f1672-3f0f-45fc-972e-d374a889a74c")
		)
		(fp_line
			(start -1.8 11.9)
			(end -1.8 -1.8)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "8fc3faa1-5556-470b-944a-463c013cbac5")
		)
		(fp_line
			(start 1.75 -1.8)
			(end 1.75 11.9)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "e91a6097-9e7e-463d-a6a0-337a03ef4ae8")
		)
		(fp_line
			(start 1.75 11.9)
			(end -1.8 11.9)
			(stroke
				(width 0.05)
				(type solid)
			)
			(layer "F.CrtYd")
			(uuid "d81951e5-fef5-4d5e-a534-9eac20e38aab")
		)
		(fp_line
			(start -1.27 -1.27)
			(end 0.635 -1.27)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "579fd4c6-82f8-4823-8b32-07d53c4aca08")
		)
		(fp_line
			(start -1.27 11.43)
			(end -1.27 -1.27)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "de7d9975-9239-40bf-9501-5fdeece2cece")
		)
		(fp_line
			(start 0.635 -1.27)
			(end 1.27 -0.635)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "72ec9784-fdbe-4ef1-bdb5-dcf18c361a1c")
		)
		(fp_line
			(start 1.27 -0.635)
			(end 1.27 11.43)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "b44c3517-e1f7-4dc4-a878-79327aa3449b")
		)
		(fp_line
			(start 1.27 11.43)
			(end -1.27 11.43)
			(stroke
				(width 0.1)
				(type solid)
			)
			(layer "F.Fab")
			(uuid "b1f52c28-5f6d-4bf3-a3b4-2679b1ba75e6")
		)
		(fp_text user "${REFERENCE}"
			(at 0 5.08 90)
			(layer "F.Fab")
			(uuid "37d177a0-58de-4e47-8ef6-d755a8bf328c")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(pad "1" thru_hole rect
			(at 0 0)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 16 "Net-(J2-Pin_8)")
			(pinfunction "Pin_1")
			(pintype "passive")
			(uuid "bc57f602-4b39-48cf-92f4-10262121129a")
		)
		(pad "2" thru_hole oval
			(at 0 2.54)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 16 "Net-(J2-Pin_8)")
			(pinfunction "Pin_2")
			(pintype "passive")
			(uuid "e336f620-7f78-4916-a5e8-08b500d4ca75")
		)
		(pad "3" thru_hole oval
			(at 0 5.08)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 16 "Net-(J2-Pin_8)")
			(pinfunction "Pin_3")
			(pintype "passive")
			(uuid "d416b652-172c-4729-b135-e76ea54ef3a6")
		)
		(pad "4" thru_hole oval
			(at 0 7.62)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 16 "Net-(J2-Pin_8)")
			(pinfunction "Pin_4")
			(pintype "passive")
			(uuid "d57895b2-8e58-4803-a386-1ddaf6ade988")
		)
		(pad "5" thru_hole oval
			(at 0 10.16)
			(size 1.7 1.7)
			(drill 1)
			(layers "*.Cu" "*.Mask")
			(remove_unused_layers no)
			(net 16 "Net-(J2-Pin_8)")
			(pinfunction "Pin_5")
			(pintype "passive")
			(uuid "13ba4f1e-4f34-489f-91d1-2c648dbd6f16")
		)
		(model "${KICAD8_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x05_P2.54mm_Vertical.wrl"
			(offset
				(xyz 0 0 0)
			)
			(scale
				(xyz 1 1 1)
			)
			(rotate
				(xyz 0 0 0)
			)
		)
	)
	(footprint "TerminalBlock_RND:TerminalBlock_RND_205-00018_1x08_P5.00mm_Horizontal"
		(layer "F.Cu")
		(uuid "d5eef5e5-76ec-41de-af49-da9a14842d74")
		(at 174 78.5 -90)
		(descr "terminal block RND 205-00018, 8 pins, pitch 5mm, size 40x7.6mm^2, drill diamater 1.3mm, pad diameter 2.5mm, see http://cdn-reichelt.de/documents/datenblatt/C151/RND_205-00012_DB_EN.pdf, script-generated using https://github.com/pointhi/kicad-footprint-generator/scripts/TerminalBlock_RND")
		(tags "THT terminal block RND 205-00018 pitch 5mm size 40x7.6mm^2 drill 1.3mm pad 2.5mm")
		(property "Reference" "J3"
			(at 18 -1.5 90)
			(layer "F.SilkS")
			(uuid "7e5212b1-70ed-48d1-addf-977b0d09fe4b")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Value" "Conn_01x08_Pin - L"
			(at 17.5 4.547 90)
			(layer "F.Fab")
			(uuid "8fc7e502-fde9-4031-805b-fdcb7f5baa78")
			(effects
				(font
					(size 1 1)
					(thickness 0.15)
				)
			)
		)
		(property "Footprint" "TerminalBlock_RND:TerminalBlock_RND_205-00018_1x08_P5.00mm_Horizontal"
			(at 0 0 -90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "a24e1ca9-02b5-41f2-bea6-c0d0ee2886fd")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Datasheet" ""
			(at 0 0 -90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "580556d8-ce75-4d8b-8cfa-d913ce584b4b")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property "Description" "Generic connector, single row, 01x08, script generated"
			(at 0 0 -90)
			(unlocked yes)
			(layer "F.Fab")
			(hide yes)
			(uuid "0ff95068-d794-4c91-a621-0ac4a27334f9")
			(effects
				(font
					(size 1.27 1.27)
					(thickness 0.15)
				)
			)
		)
		(property ki_fp_filters "Connector*:*_1x??_*")
		(path "/d3f8ce83-bb7b-4640-992c-86f8bc72cafb")
		(sheetname "Root")
		(sheetfile "Kicad 8.kicad_sch")
		(attr through_hole)
		(fp_line
			(start -2.8 3.8)
			(end -2.2 3.8)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "8bf2335b-ddcb-49df-8df0-cb3a596397e0")
		)
		(fp_line
			(start -2.56 3.561)
			(end 37.56 3.561)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "de22abbc-42f8-4079-9363-9f802e3916a4")
		)
		(fp_line
			(start -2.8 2.96)
			(end -2.8 3.8)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "6ab5bce7-c036-47bb-8cb1-09d75ede8461")
		)
		(fp_line
			(start -2.56 2.9)
			(end 37.56 2.9)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "e9086204-8838-4255-a1f3-9e1d869f4698")
		)
		(fp_line
			(start -2.56 2.3)
			(end 37.56 2.3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "321906ca-1720-480f-856b-c25fdb93cfc2")
		)
		(fp_line
			(start 3.99 1.216)
			(end 3.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "0d3af0f6-9855-4ae3-a59a-265c023378e6")
		)
		(fp_line
			(start 8.99 1.216)
			(end 8.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "523d238c-9aa4-4494-81ba-4765478878a9")
		)
		(fp_line
			(start 13.99 1.216)
			(end 13.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "cdbd8ae9-6c2d-4f0a-9086-aef79512f0d8")
		)
		(fp_line
			(start 18.99 1.216)
			(end 18.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "8b5bca91-b770-436f-84c3-53652a067a9f")
		)
		(fp_line
			(start 23.99 1.216)
			(end 23.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "9362fa9c-a332-405f-98fe-0259bf9ca647")
		)
		(fp_line
			(start 28.99 1.216)
			(end 28.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "921f7886-57af-461d-9dc7-27e9f000cb17")
		)
		(fp_line
			(start 33.99 1.216)
			(end 33.931 1.274)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "bd9d49e2-e31d-40fd-b47a-98b70d32e8f2")
		)
		(fp_line
			(start 3.82 0.976)
			(end 3.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "5034ad38-89bb-4792-8e5d-c06e0cae94a6")
		)
		(fp_line
			(start 8.82 0.976)
			(end 8.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "716900e4-bc54-47b1-91a2-fd7d7c6641e3")
		)
		(fp_line
			(start 13.82 0.976)
			(end 13.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "a7b1e2ef-7cde-4f0a-a675-a70163e85af9")
		)
		(fp_line
			(start 18.82 0.976)
			(end 18.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "71ed7187-1e8e-4ec4-82c6-ed2f070814b2")
		)
		(fp_line
			(start 23.82 0.976)
			(end 23.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "3bcf8428-7b81-4483-9a9b-2ec0fdabb0b9")
		)
		(fp_line
			(start 28.82 0.976)
			(end 28.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "62e9f9a4-687e-4eda-9739-a69ab60aed54")
		)
		(fp_line
			(start 33.82 0.976)
			(end 33.726 1.069)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "b1765195-f4ad-4df1-8eba-cc8dc12b0c44")
		)
		(fp_line
			(start 6.275 -1.069)
			(end 6.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "b6425f54-6711-4165-b6ee-5d71c9861fd0")
		)
		(fp_line
			(start 11.275 -1.069)
			(end 11.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "9f47490d-ea12-4bdf-ae10-a6e75ac408e0")
		)
		(fp_line
			(start 16.275 -1.069)
			(end 16.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "85d6982d-d2f6-4ec0-88d8-539b92653ab8")
		)
		(fp_line
			(start 21.275 -1.069)
			(end 21.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "058bca36-012c-423f-9a4b-c69e171a4de1")
		)
		(fp_line
			(start 26.275 -1.069)
			(end 26.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "3f983004-3ab8-4771-bbb5-1c60bde884dc")
		)
		(fp_line
			(start 31.275 -1.069)
			(end 31.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "26f5f1aa-0787-4523-af53-b2ba0b2e6dea")
		)
		(fp_line
			(start 36.275 -1.069)
			(end 36.181 -0.976)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "02830f3a-361c-44e0-8862-1a98daca444d")
		)
		(fp_line
			(start 6.07 -1.275)
			(end 6.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "ea66a964-a83b-4d79-b462-dc75916be248")
		)
		(fp_line
			(start 11.07 -1.275)
			(end 11.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "2838c5d3-02ed-451e-bf25-2ccfc8735c3e")
		)
		(fp_line
			(start 16.07 -1.275)
			(end 16.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "ce6ee9b3-e396-4857-ac8d-7aef3c5f20da")
		)
		(fp_line
			(start 21.07 -1.275)
			(end 21.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "8e9d2bce-b6a2-4e57-be40-c6f507d4f4e8")
		)
		(fp_line
			(start 26.07 -1.275)
			(end 26.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "5456c348-dcd8-4b18-8c89-7bb7753d9992")
		)
		(fp_line
			(start 31.07 -1.275)
			(end 31.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "42a77b4d-5219-4652-ac6a-99f7ba0f16d7")
		)
		(fp_line
			(start 36.07 -1.275)
			(end 36.011 -1.216)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "fe2345ff-fc2e-408c-8067-bf912c4b91b7")
		)
		(fp_line
			(start -2.56 -2.4)
			(end 37.56 -2.4)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "7bded36d-110a-4d71-a147-b64bdc73d26b")
		)
		(fp_line
			(start -2.56 -4.16)
			(end -2.56 3.561)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "a37cfa34-23ac-4547-a2ed-3f74aab0acd0")
		)
		(fp_line
			(start -2.56 -4.16)
			(end 37.56 -4.16)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "0b3ab90d-c642-4b48-8aa8-f05759dc70b4")
		)
		(fp_line
			(start 37.56 -4.16)
			(end 37.56 3.561)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "c976c18c-4528-4db8-8526-0145031a1ef3")
		)
		(fp_arc
			(start 0.029383 1.68045)
			(mid -0.392304 1.634281)
			(end -0.789 1.484)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "b582b981-ab1d-48d5-a962-b59ea7f9ffa7")
		)
		(fp_arc
			(start 0.788712 1.483352)
			(mid 0.406429 1.630097)
			(end 0 1.68)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "89644584-0212-4c5b-8b01-005a83ddb8cb")
		)
		(fp_arc
			(start -1.483953 0.789089)
			(mid -1.680708 0.00005)
			(end -1.484 -0.789)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "6206eccc-83a7-4e9f-99ae-69af252870c3")
		)
		(fp_arc
			(start 1.483953 -0.789089)
			(mid 1.680708 -0.00005)
			(end 1.484 0.789)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "4d9bbce3-40f4-49bc-9c50-7be863099bd0")
		)
		(fp_arc
			(start -0.789089 -1.483953)
			(mid -0.00005 -1.680708)
			(end 0.789 -1.484)
			(stroke
				(width 0.12)
				(type solid)
			)
			(layer "F.SilkS")
			(uuid "14cc96b4-1eb3-4762-932d-fd1cbcf636b5")
		)
		(fp_circle
			(center 5 0)
			(end 6.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "270f9f8f-910b-4a8c-af22-e47632d1ddb6")
		)
		(fp_circle
			(center 10 0)
			(end 11.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "e1868aa2-70fb-41cd-b45b-edc523406e2a")
		)
		(fp_circle
			(center 15 0)
			(end 16.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "61350e62-aac7-4729-9459-37edb2754510")
		)
		(fp_circle
			(center 20 0)
			(end 21.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "fe3c103f-7bfe-4046-a642-6de14963629a")
		)
		(fp_circle
			(center 25 0)
			(end 26.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "c8e10684-8c04-4e9e-b6e0-35e020efd417")
		)
		(fp_circle
			(center 30 0)
			(end 31.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "4de2b65a-42d5-46cf-a311-f7733bfd1a83")
		)
		(fp_circle
			(center 35 0)
			(end 36.68 0)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "3795c9d0-8bb4-452b-8c79-6e3cc70b7872")
		)
		(fp_circle
			(center 0 -3)
			(end 0.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "c9efb0c8-7c5d-4507-af7b-e8e5e1272031")
		)
		(fp_circle
			(center 5 -3)
			(end 5.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "01802e08-a4b9-4524-b5fa-71b5298b4d91")
		)
		(fp_circle
			(center 10 -3)
			(end 10.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "4b7297d9-d330-4731-8d36-423172bb18b2")
		)
		(fp_circle
			(center 15 -3)
			(end 15.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
			(layer "F.SilkS")
			(uuid "98b08962-ff2d-452e-a459-c536e1dc170d")
		)
		(fp_circle
			(center 20 -3)
			(end 20.55 -3)
			(stroke
				(width 0.12)
				(type solid)
			)
			(fill none)
Download .txt
gitextract_39yg57z7/

├── 37-sensors-one-arduino/
│   └── 37-sensors-1-arduino.ino
├── 4_dollar_xt_ide/
│   └── _readme.txt
├── 5-Practical-Uses-For-Node-Red-On-Android/
│   ├── flow3.json
│   ├── flow4.json
│   └── flow5.json
├── 9 Pin Cable Tester/
│   ├── no_screen.ino
│   ├── readme.txt
│   ├── with_screen.ino
│   └── with_screen_and_button.ino
├── Apple II Gotek/
│   ├── ProDOS_2_4_3_po.hfe
│   └── readme.txt
├── Atari 4x16/
│   ├── 16kBottomLabel.stl
│   ├── 8K16KTop.stl
│   ├── ATARI_CARY_REV_2_holder.stl
│   └── desktop.ini
├── Atari Super Salt Diagnostic/
│   └── roms can be found here.txt
├── Component Organization/
│   ├── Common Electronics Values for Labels etc.xlsx
│   └── live_version.txt
├── ESP32-Cheap-Yellow-Display/
│   └── split-screen-buttons/
│       └── split-screen-buttons.ino
├── Global-Variables-On-Node-Red/
│   ├── part1.json
│   ├── part2-with-text-to-speech.json
│   └── part2.json
├── IR-RF/
│   ├── master-receiver-ir-rf-video.c
│   ├── master-receiver-ir-rf.c
│   └── soundbar-fixer.ino
├── Kicad 8/
│   └── Kicad 8/
│       ├── Kicad 8.kicad_pcb
│       ├── Kicad 8.kicad_prl
│       ├── Kicad 8.kicad_pro
│       ├── Kicad 8.kicad_sch
│       ├── fp-info-cache
│       └── kicad 8 video gerbers/
│           ├── Kicad 8-B_Cu.gbr
│           ├── Kicad 8-B_Mask.gbr
│           ├── Kicad 8-B_Paste.gbr
│           ├── Kicad 8-B_Silkscreen.gbr
│           ├── Kicad 8-Edge_Cuts.gbr
│           ├── Kicad 8-F_Cu.gbr
│           ├── Kicad 8-F_Mask.gbr
│           ├── Kicad 8-F_Paste.gbr
│           ├── Kicad 8-F_Silkscreen.gbr
│           ├── Kicad 8-NPTH.drl
│           ├── Kicad 8-PTH.drl
│           └── Kicad 8-job.gbrjob
├── Lilygo-7000g/
│   ├── Arduino_Cayenne/
│   │   ├── Anothermaker-Stripped-LilyGO-SIM7000-Cayenne.ino
│   │   ├── LilyGO-SIM7000-Cayenne.ino
│   │   └── README.MD
│   ├── Arduino_GPSTest/
│   │   └── Arduino_GPSTest.ino
│   ├── Arduino_LoraShield/
│   │   ├── LoRaReceiver/
│   │   │   └── LoRaReceiver.ino
│   │   ├── LoRaSender/
│   │   │   └── LoRaSender.ino
│   │   └── README.MD
│   ├── Arduino_NetworkTest/
│   │   └── Arduino_NetworkTest.ino
│   ├── Arduino_Simple_API/
│   │   └── rough_api_test.ino
│   ├── Arduino_TinyGSM/
│   │   ├── ATdebug/
│   │   │   └── ATdebug.ino
│   │   ├── AllFunctions/
│   │   │   └── AllFunctions.ino
│   │   ├── README.MD
│   │   └── ResetModem/
│   │       └── ResetModem.ino
│   ├── MicroPython_LoBo/
│   │   ├── README.MD
│   │   ├── gps.py
│   │   ├── gsm.py
│   │   └── sd.py
│   └── Platformio_Arduino_Thingsboard/
│       ├── .travis.yml
│       ├── include/
│       │   └── README
│       ├── lib/
│       │   └── README
│       ├── platformio.ini
│       ├── readme.md
│       ├── src/
│       │   └── main.cpp
│       └── test/
│           └── README
├── README.md
├── StreamArray/
│   ├── fancy_version/
│   │   ├── StreamArray.ino
│   │   ├── build-notes.txt
│   │   └── node-red-flow.json
│   ├── scripts/
│   │   ├── dangerous.vbs
│   │   ├── fidget.cmd
│   │   ├── open_close_cd.vbs
│   │   ├── reddit.cmd
│   │   └── subscribe.cmd
│   └── simple_version/
│       ├── node-red.json
│       └── streaming_deck_arduino.ino
├── api-calls/
│   ├── apirelay.php
│   ├── basic-api-call-8266.c
│   ├── basic-api-call-esp32.c
│   ├── basic_api_call_uno.c
│   └── nr-relay.json
├── arduino-dmx
├── arduino-eeprom-torture/
│   ├── test_read.ino
│   ├── torture-fast.ino
│   └── torture.ino
├── arduino-lidar-tf-luna/
│   ├── arduino-lidar-tf-mini.ino
│   ├── arduino-ultrasonic.ino
│   └── printf.h
├── arduino-powered-cash-reader/
│   └── cash-reader-with-lcd.c
├── arduino-receipt-printer/
│   └── notes.txt
├── arduno-barcode/
│   ├── 01-Initial-hackery.ino
│   └── 02-splitting-barcodes.ino
├── big-game/
│   ├── big-game-new-tv-arduino-nano.ino
│   ├── big-game-new-tv-wemos-d1.ino
│   └── ir_remote_codes.txt
├── blink-without-delay/
│   ├── 1-Blink.c
│   ├── 2-blink-all.c
│   ├── 3-millis.c
│   ├── 4-Blink-1-no-delay.c
│   ├── 5-Blink-1-with-comments.c
│   ├── 6-Blink-3.c
│   └── 7-Blink-Train.c
├── circuit-specialists-variac-data/
│   ├── 1000w toaster oven.csv
│   ├── 25 watt 30 minute test.csv
│   ├── 300w heat gun.csv
│   └── This is my raw meter data from my variac stability tests.txt
├── diabolocal-it-prank/
│   └── it-prank-v1.ino
├── ds18b20/
│   └── address-finder.ino
├── ecom-pi-camera/
│   ├── node-red-sketch.json
│   └── snippets.txt
├── engergyduino/
│   ├── data_logger.ino
│   └── energyduino.php
├── eprom-booster/
│   └── readme.txt
├── escape-room/
│   ├── arduino_simon.ino
│   ├── button_maze.ino
│   └── true_false.ino
├── esp32-joke-phone/
│   ├── esp32-joke-phone-build-notes.txt
│   └── esp32-joke-phone.ino
├── esp32-s3/
│   ├── Arduino IDE/
│   │   ├── pdpie-esp32-comm-test.ino
│   │   └── pdpie-esp32-io-test v1.ino
│   └── esp32-s3 notes
├── esp32-watch/
│   ├── infrared-tv-b-gone/
│   │   ├── 01-send-simple-ir.ino
│   │   ├── 02-send-all-ir.ino
│   │   ├── ESP8266-TV-B-Gone.ino
│   │   ├── WORLD_IR_CODES.h
│   │   └── main.h
│   └── morse.ino
├── fb_sucks/
│   ├── index.php
│   └── steps/
│       ├── 01_template.html
│       └── 02_base_search.html
├── franklin-ace-1000/
│   └── monochrome-mod.txt
├── frehd/
│   ├── GAL Chip - Latest/
│   │   └── FreHD-ATF16V8B.JED
│   ├── GAL Chip - Old Versions/
│   │   ├── gal16v8.jed
│   │   ├── gal16v8.lst
│   │   └── gal16v8.pld
│   ├── PIC Hex Files/
│   │   ├── FreHD_213.hex
│   │   └── FreHD_214.hex
│   ├── PIC Source Files/
│   │   ├── 18f4620_g.lkr
│   │   ├── FatFS/
│   │   │   ├── diskio.c
│   │   │   ├── diskio.h
│   │   │   ├── diskio2.asm
│   │   │   ├── ff.c
│   │   │   ├── ff.h
│   │   │   ├── ffconf.h
│   │   │   └── integer.h
│   │   ├── FatFS.hex
│   │   ├── FatFS.mcp
│   │   ├── FatFS.mcs
│   │   ├── FatFS.mcw
│   │   ├── HardwareProfile.h
│   │   ├── LICENSE
│   │   ├── Makefile
│   │   ├── PIC.hex
│   │   ├── PLDDesign.jed
│   │   ├── action.h
│   │   ├── bootloader.asm
│   │   ├── bootloader.inc
│   │   ├── c018i.c
│   │   ├── crc.inc
│   │   ├── ds1307.c
│   │   ├── ds1307.h
│   │   ├── dsk.c
│   │   ├── eeprom.c
│   │   ├── eeprom.h
│   │   ├── generate_crc.pl
│   │   ├── interrupt.asm
│   │   ├── led.c
│   │   ├── led.h
│   │   ├── loader_eeprom.asm
│   │   ├── main.c
│   │   ├── reed.h
│   │   ├── serial.c
│   │   ├── serial.h
│   │   ├── simul.DSN
│   │   ├── stdint.h
│   │   ├── sw_i2c.c
│   │   ├── sw_i2c.h
│   │   ├── trs_extra.c
│   │   ├── trs_extra.h
│   │   ├── trs_hard.c
│   │   ├── trs_hard.h
│   │   ├── trs_hard_defs.h
│   │   ├── trs_uart.c
│   │   ├── trs_uart.h
│   │   └── version.h
│   ├── bom/
│   │   ├── REAL Part locations.txt
│   │   └── Use for Part numbers NOT Locations.XLS
│   ├── dans_frehd_build_notes.txt
│   ├── gerber/
│   │   ├── BOM for wd1010_rel1.bom
│   │   ├── BOM for wd1010_rel1.txt
│   │   ├── Status Report.txt
│   │   ├── wd1010.reg
│   │   ├── wd1010_rel1.DRL
│   │   ├── wd1010_rel1.DRR
│   │   ├── wd1010_rel1.GBL
│   │   ├── wd1010_rel1.GBP
│   │   ├── wd1010_rel1.GBS
│   │   ├── wd1010_rel1.GKO
│   │   ├── wd1010_rel1.GPB
│   │   ├── wd1010_rel1.GPT
│   │   ├── wd1010_rel1.GTL
│   │   ├── wd1010_rel1.GTO
│   │   ├── wd1010_rel1.GTP
│   │   ├── wd1010_rel1.GTS
│   │   ├── wd1010_rel1.REP
│   │   ├── wd1010_rel1.TXT
│   │   ├── wd1010_rel1.apr
│   │   └── wd1010_rel1.drc
│   ├── import.py
│   ├── protel/
│   │   ├── wd1010_rel1.pcb
│   │   └── wd1010_rel1.sch
│   └── z80/
│       ├── frehd_rom/
│       │   ├── Makefile
│       │   ├── frehd.asm
│       │   ├── frehd.inc
│       │   ├── frehd_macro.inc
│       │   ├── ldos531.asm
│       │   ├── ldos621.asm
│       │   ├── ldos631.asm
│       │   ├── loader.asm
│       │   ├── m1ldos531.asm
│       │   ├── m1newdos25.asm
│       │   ├── make_eeprom.pl
│       │   ├── menu.asm
│       │   ├── menu_util.asm
│       │   ├── newdos25.asm
│       │   ├── rom-patches/
│       │   │   ├── Makefile
│       │   │   ├── model1.rom
│       │   │   ├── model1rom.asm
│       │   │   ├── model3.rom
│       │   │   ├── model3rom.asm
│       │   │   ├── model4.gen2.rom
│       │   │   ├── model4.rom
│       │   │   ├── model4french.rom
│       │   │   ├── model4frenchrom.asm
│       │   │   ├── model4german.rom
│       │   │   ├── model4germanrom.asm
│       │   │   ├── model4germanrom.lst
│       │   │   ├── model4germanrom.p
│       │   │   ├── model4p_rom.asm
│       │   │   ├── model4rom.asm
│       │   │   └── model4rom.gen2.asm
│       │   └── time.asm
│       └── utils/
│           ├── Makefile
│           ├── dsk.z80
│           ├── eupdate.z80
│           ├── export2.cmd
│           ├── export2.hex
│           ├── export2.lst
│           ├── export2.z80
│           ├── fatfserr.z80
│           ├── frehd.z80
│           ├── frehdtst.z80
│           ├── fupdate.z80
│           ├── getversion.z80
│           ├── import2.z80
│           ├── import3.z80
│           ├── param.z80
│           ├── trsident.z80
│           ├── utlcore.z80
│           ├── version.z80
│           ├── vhdutl_cpm.z80
│           ├── vhdutl_kpro_cpm.z80
│           ├── vhdutl_ldos.z80
│           └── vhdutl_trs_cpm.z80
├── gameshow/
│   ├── gameshow_arduino.c
│   └── self-contained-gameshow.ino
├── gameshow_ultimate/
│   └── note.txt
├── gotek/
│   └── resources.txt
├── hyperbowl/
│   ├── arduino-code/
│   │   └── pro_mini_buttons.ino
│   └── laser-files/
│       └── URL to tweak console.txt
├── incomplete-pcbs/
│   └── 40_pin_v2_led.ino
├── laser-shooting-gallery/
│   ├── Node-Red-Flow-Scoreboard.json
│   ├── esp32-TARGET.c
│   └── esp8266-laser.c
├── lazy_kicad/
│   ├── _old_versions/
│   │   └── v1.0/
│   │       └── index.php
│   ├── index.php
│   ├── kicad_cards/
│   │   └── netlabels_card.php
│   ├── kicad_functions/
│   │   └── core_functions.php
│   ├── kicad_logic/
│   │   └── netlabels_logic.php
│   └── process.php
├── mini-notebook/
│   └── 555-timer-circuits/
│       ├── Mims 555 BOM-ALSO SEE -README.csv
│       └── _readme_first.txt
├── mission_control/
│   ├── button_grid/
│   │   ├── arduino_code/
│   │   │   ├── 01_button_test.ino
│   │   │   ├── 02_grid_no_ethernet.ino
│   │   │   └── 03_grid_with_ethernet.ino
│   │   ├── laser_files/
│   │   │   ├── button grid.lbrn2
│   │   │   └── button_numbers.txt
│   │   └── server_files/
│   │       ├── index.php
│   │       └── sounds/
│   │           └── free_sound_fx_provided_by_zapsplat.txt
│   ├── do_not_touch/
│   │   └── arduino_code/
│   │       └── 01-WemosWithRelayShield.ino
│   └── pi_tablet/
│       └── laser_files/
│           ├── RasPad.lbrn
│           └── note_that_this_is_a_lightburn_file.txt
├── mp3/
│   ├── index.php
│   ├── sound.php
│   ├── sounds/
│   │   └── free_sound_fx_provided_by_zapsplat.txt
│   └── test.php
├── nec-pc-6001a/
│   └── readme.txt
├── node-red-christmas-tree/
│   ├── another_example.json
│   ├── basic_outputs.json
│   ├── notes
│   └── python/
│       ├── LICENSE
│       ├── Notes.txt
│       ├── README.md
│       ├── example/
│       │   ├── blink.py
│       │   ├── group.py
│       │   ├── oneStar.py
│       │   ├── oneStar_catch.py
│       │   └── sequence.py
│       ├── gpiod/
│       │   ├── readme.md
│       │   └── sequence.py
│       └── oled/
│           ├── oled.py
│           └── readme.md
├── node-red-youtube-notifier/
│   ├── notes.txt
│   └── notifier.json
├── olimex/
│   ├── Olimex ESP32-EVB/
│   │   ├── ethernet-mqtt.c
│   │   └── webserver-with-wifi-and-ethernet.ino
│   ├── Olimex ESP32-POE-ISO/
│   │   ├── board_holder-65mm.stl
│   │   ├── ethernet_and_poe_diag.ino
│   │   ├── ethernet_udp_example.ino
│   │   ├── holder.f3d
│   │   └── sample_code.ino
│   ├── Olimex Protoboard/
│   │   └── olimex-protoboard.ino
│   └── board_id/
│       ├── initial_setup_of_board_id.ino
│       └── read_back_id.ino
├── open-canary/
│   └── steps.txt
├── quack-attack/
│   ├── quack-attack-build-notes.txt
│   └── quack-attack-node-red.json
├── raspberry-pi-cooling/
│   └── test.sh
├── relay-test/
│   ├── every-single-pin.ino
│   └── relay-test.ino
├── rgb-to-hdmi-build-notes/
│   └── coming-soon.txt
├── rgbduino/
│   ├── README.md
│   └── examples/
│       ├── _RGB_LED_test.ino
│       ├── _buzzer_test.ino
│       ├── lesson1.ino
│       ├── lesson2.ino
│       ├── lesson3.ino
│       ├── lesson4.ino
│       ├── lesson5.ino
│       ├── lesson6.ino
│       ├── lesson7-anothermaker.ino
│       ├── lesson8-anothermaker.ino
│       └── lesson9-anothermaker.ino
├── rigged-o-fortune/
│   └── rigged.c
├── smart-doorbell/
│   ├── 03-node-red-flow-for-rev-02.json
│   ├── arduino-mega/
│   │   ├── 01-basic-current-sensor.ino
│   │   └── 02-with-ethernet-and-mqtt.ino
│   └── esp32/
│       ├── 01-basic-current-sensor.ino
│       └── 02-with-wifi-and-mqtt.ino
├── tandy-2000/
│   ├── Tandy 2000 Card Mount/
│   │   ├── Tandy 2000 Card Mount - Heat Set M3x4x4.2 - LEFT.stl
│   │   ├── Tandy 2000 Card Mount - Heat Set M3x4x4.2 - Right.stl
│   │   ├── Tandy 2000 Card Mount - Heat Set M4x6x6 - Left.stl
│   │   ├── Tandy 2000 Card Mount - Heat Set M4x6x6 - Right.stl
│   │   ├── Tandy 2000 Card Mount - Screws Only - LEFT.stl
│   │   ├── Tandy 2000 Card Mount - Screws Only - Right.stl
│   │   └── Tandy 2000 Card Mount Build Notes.txt
│   └── Tandy 2000 Replacement Slot Cover/
│       └── Tandy 2000 Slot cover.stl
├── tandy-3-in-1/
│   ├── 3-in-1-cache.lib
│   ├── 3-in-1-rescue.dcm
│   ├── 3-in-1-rescue.lib
│   ├── 3-in-1.kicad_pcb
│   ├── 3-in-1.pro
│   ├── 3-in-1.sch
│   ├── BIOS/
│   │   ├── 3in1BIOS-8088/
│   │   │   └── xtidecfg.com
│   │   └── 3in1BIOS-V20/
│   │       └── xtidecfg.com
│   ├── README.md
│   ├── dans_build_notes.txt
│   ├── fp-info-cache
│   └── sym-lib-table
├── tandy-terminator/
│   └── readme.txt
├── traffic-light/
│   └── traffic-light-sketch.ino
├── vintage_emulation/
│   ├── apple ii/
│   │   ├── User_Guide_apple2.txt
│   │   └── sources.txt
│   ├── atari 8 bit/
│   │   ├── User_Guide_Atari8bit.txt
│   │   └── sources.txt
│   ├── trs-80/
│   │   ├── User_Guide_TRS-80.txt
│   │   └── sources.txt
│   └── zx spectrum/
│       ├── User_Guide_ZX81.txt
│       └── sources.txt
├── water-quality/
│   ├── CCS811/
│   │   ├── CCS811.cpp
│   │   ├── CCS811.h
│   │   └── examples/
│   │       └── readData/
│   │           └── readData.ino
│   ├── notes.txt
│   ├── water-and-co2.ino
│   └── water.ino
├── will-it-blow-up/
│   ├── 10-ways-to-destroy-arduino/
│   │   └── 10-ways-to-destroy-arduino.ino
│   ├── led-test/
│   │   ├── screen-test.ino
│   │   ├── screen1.ino
│   │   ├── screen2.ino
│   │   ├── screen3.ino
│   │   └── screen4.ino
│   ├── relay-test/
│   │   ├── baseline-test.ino
│   │   ├── every-single-pin.ino
│   │   └── relay-test.ino
│   └── xeon/
│       ├── arduino/
│       │   ├── date-call.ino
│       │   └── key-call.ino
│       └── esp32/
│           └── esp32-key-call.ino
├── wind-speed-arduino/
│   └── wind-speed-arduino.ino
├── youtube-notifier/
│   ├── wemos-d1-code.ino
│   └── youtube-notifier-node-red.json
└── yt_sucks/
    ├── index.php
    └── steps/
        ├── 01_base.php
        └── v1.1.0.php
Download .txt
SYMBOL INDEX (599 symbols across 53 files)

FILE: IR-RF/master-receiver-ir-rf-video.c
  function setup (line 21) | void  setup ( )
  function ircode (line 39) | void  ircode (decode_results *results)
  function encoding (line 54) | void  encoding (decode_results *results)
  function dumpInfo (line 80) | void  dumpInfo (decode_results *results)
  function dumpRaw (line 104) | void  dumpRaw (decode_results *results)
  function dumpCode (line 134) | void  dumpCode (decode_results *results)
  function loop (line 181) | void  loop ( )

FILE: IR-RF/master-receiver-ir-rf.c
  function setup (line 16) | void  setup ( )
  function ircode (line 27) | void  ircode (decode_results *results)
  function encoding (line 42) | void  encoding (decode_results *results)
  function dumpInfo (line 68) | void  dumpInfo (decode_results *results)
  function dumpRaw (line 92) | void  dumpRaw (decode_results *results)
  function dumpCode (line 122) | void  dumpCode (decode_results *results)
  function loop (line 169) | void  loop ( )

FILE: Lilygo-7000g/Platformio_Arduino_Thingsboard/src/main.cpp
  function print_wakeup_reason (line 79) | void print_wakeup_reason()
  function modem_reset (line 108) | void modem_reset()
  function modem_on (line 121) | void modem_on()
  function modem_off (line 137) | void modem_off()
  function modem_sleep (line 148) | void modem_sleep() // will have an effect after reboot and will replace ...
  function modem_wake (line 159) | void modem_wake()
  function shutdown (line 169) | void shutdown()
  function wait_till_ready (line 184) | void wait_till_ready() // NOT WORKING - Attempt to minimize waiting time
  function setup (line 199) | void setup()
  function loop (line 372) | void loop()
  function read_adc_bat (line 376) | void read_adc_bat(uint16_t *voltage)
  function read_adc_solar (line 390) | void read_adc_solar(uint16_t *voltage)

FILE: api-calls/basic-api-call-8266.c
  function setup (line 15) | void setup()
  function loop (line 27) | void loop()
  function apiCall (line 32) | void apiCall(){

FILE: api-calls/basic-api-call-esp32.c
  function setup (line 15) | void setup()
  function loop (line 41) | void loop()
  function apiCall (line 46) | void apiCall(){

FILE: api-calls/basic_api_call_uno.c
  function setup (line 17) | void setup() {
  function loop (line 33) | void loop() {
  function apiCall (line 38) | void apiCall(){

FILE: arduino-lidar-tf-luna/printf.h
  function serial_putc (line 21) | int serial_putc( char c, FILE * )
  function printf_begin (line 28) | void printf_begin(void)
  function printf_begin (line 35) | void printf_begin(void){}
  function serial_putc (line 38) | int serial_putc( char c, FILE * )
  function printf_begin (line 45) | void printf_begin(void)

FILE: arduino-powered-cash-reader/cash-reader-with-lcd.c
  function setup (line 17) | void setup() {
  function loop (line 26) | void loop() {

FILE: blink-without-delay/1-Blink.c
  function setup (line 3) | void setup() {
  function loop (line 8) | void loop() {

FILE: blink-without-delay/2-blink-all.c
  function setup (line 5) | void setup() {
  function loop (line 12) | void loop() {

FILE: blink-without-delay/3-millis.c
  function setup (line 3) | void setup() {
  function loop (line 7) | void loop() {

FILE: blink-without-delay/4-Blink-1-no-delay.c
  function setup (line 6) | void setup() {
  function loop (line 11) | void loop() {

FILE: blink-without-delay/5-Blink-1-with-comments.c
  function setup (line 6) | void setup() {
  function loop (line 11) | void loop() {

FILE: blink-without-delay/6-Blink-3.c
  function setup (line 16) | void setup() {
  function checkRed (line 23) | void checkRed(){
  function checkGreen (line 40) | void checkGreen(){
  function checkBlue (line 57) | void checkBlue(){
  function loop (line 75) | void loop() {

FILE: blink-without-delay/7-Blink-Train.c
  function setup (line 17) | void setup() {
  function checkLeft (line 23) | void checkLeft(){
  function checkRight (line 41) | void checkRight(){
  function loop (line 59) | void loop() {

FILE: esp32-watch/infrared-tv-b-gone/WORLD_IR_CODES.h
  type IrCode (line 37) | struct IrCode
  type IrCode (line 66) | struct IrCode
  type IrCode (line 120) | struct IrCode
  type IrCode (line 151) | struct IrCode
  type IrCode (line 184) | struct IrCode
  type IrCode (line 209) | struct IrCode
  type IrCode (line 251) | struct IrCode
  type IrCode (line 280) | struct IrCode
  type IrCode (line 322) | struct IrCode
  type IrCode (line 354) | struct IrCode
  type IrCode (line 382) | struct IrCode
  type IrCode (line 415) | struct IrCode
  type IrCode (line 451) | struct IrCode
  type IrCode (line 486) | struct IrCode
  type IrCode (line 522) | struct IrCode
  type IrCode (line 558) | struct IrCode
  type IrCode (line 581) | struct IrCode
  type IrCode (line 613) | struct IrCode
  type IrCode (line 680) | struct IrCode
  type IrCode (line 734) | struct IrCode
  type IrCode (line 767) | struct IrCode
  type IrCode (line 798) | struct IrCode
  type IrCode (line 830) | struct IrCode
  type IrCode (line 856) | struct IrCode
  type IrCode (line 882) | struct IrCode
  type IrCode (line 918) | struct IrCode
  type IrCode (line 947) | struct IrCode
  type IrCode (line 978) | struct IrCode
  type IrCode (line 1002) | struct IrCode
  type IrCode (line 1027) | struct IrCode
  type IrCode (line 1062) | struct IrCode
  type IrCode (line 1087) | struct IrCode
  type IrCode (line 1122) | struct IrCode
  type IrCode (line 1176) | struct IrCode
  type IrCode (line 1212) | struct IrCode
  type IrCode (line 1233) | struct IrCode
  type IrCode (line 1251) | struct IrCode
  type IrCode (line 1268) | struct IrCode
  type IrCode (line 1303) | struct IrCode
  type IrCode (line 1317) | struct IrCode
  type IrCode (line 1333) | struct IrCode
  type IrCode (line 1355) | struct IrCode
  type IrCode (line 1387) | struct IrCode
  type IrCode (line 1408) | struct IrCode
  type IrCode (line 1440) | struct IrCode
  type IrCode (line 1472) | struct IrCode
  type IrCode (line 1499) | struct IrCode
  type IrCode (line 1534) | struct IrCode
  type IrCode (line 1569) | struct IrCode
  type IrCode (line 1585) | struct IrCode
  type IrCode (line 1612) | struct IrCode
  type IrCode (line 1647) | struct IrCode
  type IrCode (line 1682) | struct IrCode
  type IrCode (line 1705) | struct IrCode
  type IrCode (line 1730) | struct IrCode
  type IrCode (line 1752) | struct IrCode
  type IrCode (line 1769) | struct IrCode
  type IrCode (line 1788) | struct IrCode
  type IrCode (line 1811) | struct IrCode
  type IrCode (line 1846) | struct IrCode
  type IrCode (line 1881) | struct IrCode
  type IrCode (line 1916) | struct IrCode
  type IrCode (line 1951) | struct IrCode
  type IrCode (line 1986) | struct IrCode
  type IrCode (line 2017) | struct IrCode
  type IrCode (line 2063) | struct IrCode
  type IrCode (line 2087) | struct IrCode
  type IrCode (line 2122) | struct IrCode
  type IrCode (line 2143) | struct IrCode
  type IrCode (line 2178) | struct IrCode
  type IrCode (line 2202) | struct IrCode
  type IrCode (line 2217) | struct IrCode
  type IrCode (line 2252) | struct IrCode
  type IrCode (line 2287) | struct IrCode
  type IrCode (line 2322) | struct IrCode
  type IrCode (line 2358) | struct IrCode
  type IrCode (line 2393) | struct IrCode
  type IrCode (line 2421) | struct IrCode
  type IrCode (line 2444) | struct IrCode
  type IrCode (line 2479) | struct IrCode
  type IrCode (line 2504) | struct IrCode
  type IrCode (line 2529) | struct IrCode
  type IrCode (line 2555) | struct IrCode
  type IrCode (line 2583) | struct IrCode
  type IrCode (line 2638) | struct IrCode
  type IrCode (line 2671) | struct IrCode
  type IrCode (line 2725) | struct IrCode
  type IrCode (line 2757) | struct IrCode
  type IrCode (line 2792) | struct IrCode
  type IrCode (line 2828) | struct IrCode
  type IrCode (line 2853) | struct IrCode
  type IrCode (line 2881) | struct IrCode
  type IrCode (line 2913) | struct IrCode
  type IrCode (line 2955) | struct IrCode
  type IrCode (line 2983) | struct IrCode
  type IrCode (line 3014) | struct IrCode
  type IrCode (line 3049) | struct IrCode
  type IrCode (line 3084) | struct IrCode
  type IrCode (line 3120) | struct IrCode
  type IrCode (line 3155) | struct IrCode
  type IrCode (line 3179) | struct IrCode
  type IrCode (line 3215) | struct IrCode
  type IrCode (line 3251) | struct IrCode
  type IrCode (line 3286) | struct IrCode
  type IrCode (line 3321) | struct IrCode
  type IrCode (line 3356) | struct IrCode
  type IrCode (line 3391) | struct IrCode
  type IrCode (line 3426) | struct IrCode
  type IrCode (line 3461) | struct IrCode
  type IrCode (line 3493) | struct IrCode
  type IrCode (line 3529) | struct IrCode
  type IrCode (line 3564) | struct IrCode
  type IrCode (line 3600) | struct IrCode
  type IrCode (line 3642) | struct IrCode
  type IrCode (line 3674) | struct IrCode
  type IrCode (line 3712) | struct IrCode
  type IrCode (line 3747) | struct IrCode
  type IrCode (line 3779) | struct IrCode
  type IrCode (line 3814) | struct IrCode
  type IrCode (line 3846) | struct IrCode
  type IrCode (line 3882) | struct IrCode
  type IrCode (line 3917) | struct IrCode
  type IrCode (line 3951) | struct IrCode
  type IrCode (line 3986) | struct IrCode
  type IrCode (line 4018) | struct IrCode
  type IrCode (line 4053) | struct IrCode
  type IrCode (line 4089) | struct IrCode
  type IrCode (line 4106) | struct IrCode
  type IrCode (line 4145) | struct IrCode
  type IrCode (line 4180) | struct IrCode
  type IrCode (line 4216) | struct IrCode
  type IrCode (line 4251) | struct IrCode
  type IrCode (line 4274) | struct IrCode
  type IrCode (line 4299) | struct IrCode
  type IrCode (line 4344) | struct IrCode
  type IrCode (line 4393) | struct IrCode
  type IrCode (line 4443) | struct IrCode
  type IrCode (line 4480) | struct IrCode
  type IrCode (line 4510) | struct IrCode
  type IrCode (line 4532) | struct IrCode
  type IrCode (line 4618) | struct IrCode
  type IrCode (line 4659) | struct IrCode
  type IrCode (line 4702) | struct IrCode
  type IrCode (line 4730) | struct IrCode
  type IrCode (line 4767) | struct IrCode
  type IrCode (line 4872) | struct IrCode
  type IrCode (line 4893) | struct IrCode
  type IrCode (line 4930) | struct IrCode
  type IrCode (line 5034) | struct IrCode
  type IrCode (line 5059) | struct IrCode
  type IrCode (line 5080) | struct IrCode
  type IrCode (line 5116) | struct IrCode
  type IrCode (line 5147) | struct IrCode
  type IrCode (line 5171) | struct IrCode
  type IrCode (line 5206) | struct IrCode
  type IrCode (line 5242) | struct IrCode
  type IrCode (line 5316) | struct IrCode
  type IrCode (line 5343) | struct IrCode
  type IrCode (line 5363) | struct IrCode
  type IrCode (line 5399) | struct IrCode
  type IrCode (line 5429) | struct IrCode
  type IrCode (line 5466) | struct IrCode
  type IrCode (line 5502) | struct IrCode
  type IrCode (line 5531) | struct IrCode
  type IrCode (line 5553) | struct IrCode
  type IrCode (line 5572) | struct IrCode
  type IrCode (line 5609) | struct IrCode
  type IrCode (line 5675) | struct IrCode
  type IrCode (line 5695) | struct IrCode
  type IrCode (line 5712) | struct IrCode
  type IrCode (line 5733) | struct IrCode
  type IrCode (line 5769) | struct IrCode
  type IrCode (line 5796) | struct IrCode
  type IrCode (line 5831) | struct IrCode
  type IrCode (line 5845) | struct IrCode
  type IrCode (line 5881) | struct IrCode
  type IrCode (line 5899) | struct IrCode
  type IrCode (line 5918) | struct IrCode
  type IrCode (line 5937) | struct IrCode
  type IrCode (line 5972) | struct IrCode
  type IrCode (line 6004) | struct IrCode
  type IrCode (line 6038) | struct IrCode
  type IrCode (line 6074) | struct IrCode
  type IrCode (line 6096) | struct IrCode
  type IrCode (line 6119) | struct IrCode
  type IrCode (line 6142) | struct IrCode
  type IrCode (line 6177) | struct IrCode
  type IrCode (line 6192) | struct IrCode
  type IrCode (line 6264) | struct IrCode
  type IrCode (line 6279) | struct IrCode
  type IrCode (line 6304) | struct IrCode
  type IrCode (line 6332) | struct IrCode
  type IrCode (line 6359) | struct IrCode
  type IrCode (line 6394) | struct IrCode
  type IrCode (line 6424) | struct IrCode
  type IrCode (line 6454) | struct IrCode
  type IrCode (line 6489) | struct IrCode
  type IrCode (line 6506) | struct IrCode
  type IrCode (line 6536) | struct IrCode
  type IrCode (line 6556) | struct IrCode
  type IrCode (line 6579) | struct IrCode
  type IrCode (line 6599) | struct IrCode
  type IrCode (line 6619) | struct IrCode
  type IrCode (line 6641) | struct IrCode
  type IrCode (line 6670) | struct IrCode
  type IrCode (line 6690) | struct IrCode
  type IrCode (line 6711) | struct IrCode
  type IrCode (line 6744) | struct IrCode
  type IrCode (line 6762) | struct IrCode
  type IrCode (line 6804) | struct IrCode
  type IrCode (line 6846) | struct IrCode
  type IrCode (line 6882) | struct IrCode
  type IrCode (line 6924) | struct IrCode
  type IrCode (line 6949) | struct IrCode
  type IrCode (line 6970) | struct IrCode
  type IrCode (line 7001) | struct IrCode
  type IrCode (line 7026) | struct IrCode
  type IrCode (line 7046) | struct IrCode
  type IrCode (line 7066) | struct IrCode
  type IrCode (line 7100) | struct IrCode
  type IrCode (line 7127) | struct IrCode
  type IrCode (line 7150) | struct IrCode
  type IrCode (line 7171) | struct IrCode
  type IrCode (line 7188) | struct IrCode
  type IrCode (line 7215) | struct IrCode
  type IrCode (line 7237) | struct IrCode
  type IrCode (line 7267) | struct IrCode
  type IrCode (line 7289) | struct IrCode
  type IrCode (line 7311) | struct IrCode
  type IrCode (line 7347) | struct IrCode
  type IrCode (line 7373) | struct IrCode
  type IrCode (line 7396) | struct IrCode
  type IrCode (line 7419) | struct IrCode
  type IrCode (line 7440) | struct IrCode
  type IrCode (line 7460) | struct IrCode
  type IrCode (line 7495) | struct IrCode
  type IrCode (line 7537) | struct IrCode
  type IrCode (line 7562) | struct IrCode
  type IrCode (line 7582) | struct IrCode
  type IrCode (line 7603) | struct IrCode
  type IrCode (line 7647) | struct IrCode
  type IrCode (line 7673) | struct IrCode
  type IrCode (line 7705) | struct IrCode
  type IrCode (line 7732) | struct IrCode
  type IrCode (line 7765) | struct IrCode
  type IrCode (line 7812) | struct IrCode
  type IrCode (line 7835) | struct IrCode
  type IrCode (line 7857) | struct IrCode
  type IrCode (line 7878) | struct IrCode
  type IrCode (line 7899) | struct IrCode
  type IrCode (line 7948) | struct IrCode
  type IrCode (line 7987) | struct IrCode
  type IrCode (line 8037) | struct IrCode
  type IrCode (line 8058) | struct IrCode
  type IrCode (line 8089) | struct IrCode
  type IrCode (line 8132) | struct IrCode
  type IrCode (line 8168) | struct IrCode
  type IrCode (line 8191) | struct IrCode
  type IrCode (line 8210) | struct IrCode
  type IrCode (line 8246) | struct IrCode
  type IrCode (line 8285) | struct IrCode
  type IrCode (line 8305) | struct IrCode
  type IrCode (line 8328) | struct IrCode
  type IrCode (line 8351) | struct IrCode
  type IrCode (line 8372) | struct IrCode
  type IrCode (line 8392) | struct IrCode
  type IrCode (line 8428) | struct IrCode
  type IrCode (line 8454) | struct IrCode
  type IrCode (line 8471) | struct IrCode
  type IrCode (line 8501) | struct IrCode
  type IrCode (line 8536) | struct IrCode

FILE: esp32-watch/infrared-tv-b-gone/main.h
  type IrCode (line 43) | struct IrCode {

FILE: fb_sucks/index.php
  function validate_csrf_token (line 10) | function validate_csrf_token($token)

FILE: frehd/PIC Source Files/FatFS/diskio.c
  function BYTE (line 84) | static
  function BYTE (line 97) | static
  function release_spi (line 117) | static
  function power_on (line 132) | static
  function power_off (line 143) | static
  function BOOL (line 158) | static
  function BOOL (line 208) | static
  function BYTE (line 256) | static
  function DSTATUS (line 316) | DSTATUS disk_initialize (
  function DSTATUS (line 377) | DSTATUS disk_status (
  function DRESULT (line 388) | DRESULT disk_read (
  function DRESULT (line 429) | DRESULT disk_write (
  function DRESULT (line 471) | DRESULT disk_ioctl (
  function disk_timerproc (line 582) | void disk_timerproc (void)
  function BYTE (line 617) | BYTE card_present(void)

FILE: frehd/PIC Source Files/FatFS/diskio.h
  type BYTE (line 10) | typedef BYTE	DSTATUS;
  type DRESULT (line 13) | typedef enum {

FILE: frehd/PIC Source Files/FatFS/ff.c
  type FILESEM (line 145) | typedef struct {
  function mem_cpy (line 538) | static
  function mem_set (line 555) | static
  function mem_cmp (line 564) | static
  function chk_chr (line 574) | static
  function lock_fs (line 587) | static
  function unlock_fs (line 596) | static
  function FRESULT (line 619) | static
  function enq_lock (line 645) | static
  function UINT (line 655) | static
  function FRESULT (line 687) | static
  function clear_lock (line 710) | static
  function FRESULT (line 731) | static
  function FRESULT (line 757) | static
  function FRESULT (line 783) | static
  function DWORD (line 824) | DWORD clust2sect (	/* !=0: Sector number, 0: Failed - invalid cluster# */
  function DWORD (line 842) | DWORD get_fat (	/* 0xFFFFFFFF:Disk error, 1:Internal error, Else:Cluster...
  function FRESULT (line 885) | FRESULT put_fat (
  function FRESULT (line 947) | static
  function DWORD (line 1000) | static
  function DWORD (line 1060) | static
  function FRESULT (line 1087) | static
  function FRESULT (line 1135) | static
  function FRESULT (line 1204) | static
  function DWORD (line 1239) | static
  function st_clust (line 1256) | static
  function cmp_lfn (line 1277) | static
  function pick_lfn (line 1308) | static
  function fit_lfn (line 1341) | static
  function gen_numname (line 1378) | void gen_numname (
  function BYTE (line 1425) | static
  function FRESULT (line 1445) | static
  function FRESULT (line 1506) | static
  function FRESULT (line 1564) | static
  function FRESULT (line 1642) | static
  function FRESULT (line 1687) | static
  function get_fileinfo (line 1897) | static
  function FRESULT (line 1979) | static
  function BYTE (line 2041) | static
  function FRESULT (line 2067) | static
  function FRESULT (line 2235) | static
  function FRESULT (line 2269) | FRESULT f_mount (
  function FRESULT (line 2309) | FRESULT f_open (
  function FRESULT (line 2441) | FRESULT f_read (
  function FRESULT (line 2542) | FRESULT f_write (
  function FRESULT (line 2661) | FRESULT f_sync (
  function FRESULT (line 2709) | FRESULT f_close (
  function FRESULT (line 2755) | FRESULT f_chdrive (
  function FRESULT (line 2768) | FRESULT f_chdir (
  function FRESULT (line 2800) | FRESULT f_getcwd (
  function FRESULT (line 2878) | FRESULT f_lseek (
  function FRESULT (line 3036) | FRESULT f_opendir (
  function FRESULT (line 3083) | FRESULT f_readdir (
  function FRESULT (line 3126) | FRESULT f_stat (
  function FRESULT (line 3160) | FRESULT f_getfree (
  function FRESULT (line 3228) | FRESULT f_truncate (
  function FRESULT (line 3277) | FRESULT f_unlink (
  function FRESULT (line 3346) | FRESULT f_mkdir (
  function FRESULT (line 3419) | FRESULT f_chmod (
  function FRESULT (line 3462) | FRESULT f_utime (
  function FRESULT (line 3504) | FRESULT f_rename (
  function FRESULT (line 3585) | FRESULT f_getlabel (
  function FRESULT (line 3650) | FRESULT f_setlabel (
  function FRESULT (line 3745) | FRESULT f_forward (
  function FRESULT (line 3808) | FRESULT f_mkfs (
  function FRESULT (line 4044) | FRESULT f_fdisk (
  function TCHAR (line 4117) | TCHAR* f_gets (
  function f_putc (line 4172) | int f_putc (
  function f_puts (line 4216) | int f_puts (
  function f_printf (line 4237) | int f_printf (

FILE: frehd/PIC Source Files/FatFS/ff.h
  type PARTITION (line 36) | typedef struct {
  type WCHAR (line 59) | typedef WCHAR TCHAR;
  type TCHAR (line 66) | typedef char TCHAR;
  type FATFS (line 77) | typedef struct {
  type FIL (line 114) | typedef struct {
  type DIR (line 143) | typedef struct {
  type FILINFO (line 162) | typedef struct {
  type FRESULT (line 178) | typedef enum {

FILE: frehd/PIC Source Files/FatFS/integer.h
  type INT (line 16) | typedef int				INT;
  type UINT (line 17) | typedef unsigned int	UINT;
  type CHAR (line 20) | typedef char			CHAR;
  type UCHAR (line 21) | typedef unsigned char	UCHAR;
  type BYTE (line 22) | typedef unsigned char	BYTE;
  type SHORT (line 25) | typedef short			SHORT;
  type USHORT (line 26) | typedef unsigned short	USHORT;
  type WORD (line 27) | typedef unsigned short	WORD;
  type WCHAR (line 28) | typedef unsigned short	WCHAR;
  type LONG (line 31) | typedef long			LONG;
  type ULONG (line 32) | typedef unsigned long	ULONG;
  type DWORD (line 33) | typedef unsigned long	DWORD;
  type BOOL (line 35) | typedef char BOOL;

FILE: frehd/PIC Source Files/HardwareProfile.h
  type led_state_t (line 103) | typedef enum {

FILE: frehd/PIC Source Files/c018i.c
  function _startup (line 25) | void
  function far (line 53) | extern far rom struct
  function _do_cinit (line 67) | void

FILE: frehd/PIC Source Files/ds1307.c
  function unbcd (line 33) | char unbcd(unsigned char x)
  function bcd (line 52) | unsigned char bcd(char x)
  function ds1307_read (line 68) | static int ds1307_read(unsigned char address)
  function ds1307_write (line 90) | static char ds1307_write(unsigned char address, unsigned char data)
  function ds1307_read_time (line 108) | char ds1307_read_time(void)
  function ds1307_write_time (line 142) | char ds1307_write_time(BYTE *time_bin)
  function ds1307_init (line 170) | void ds1307_init(void)
  function ds1307_int (line 191) | void ds1307_int(void)
  function DWORD (line 221) | DWORD get_fattime(void)

FILE: frehd/PIC Source Files/dsk.c
  function im_type_t (line 81) | static im_type_t
  function open_dsk_image (line 125) | static void
  function process_image_cmd (line 192) | void process_image_cmd(void)
  function dmk_get_track_header (line 245) | static int
  function dmk_analyze (line 277) | static void
  function dmk_open (line 355) | static void
  function dmk_readsec (line 381) | static void
  function jv3_open (line 517) | static void
  function UCHAR (line 554) | static UCHAR
  function jv3_readsec (line 594) | static void
  function jv1_open (line 641) | static void
  function jv1_readsec (line 650) | static void

FILE: frehd/PIC Source Files/eeprom.c
  function ee_read8 (line 26) | uint8_t ee_read8(uint16_t address)
  function ee_write8 (line 41) | void ee_write8(uint16_t address, uint8_t value)

FILE: frehd/PIC Source Files/led.c
  function led_init (line 24) | void led_init(void)
  function led_update (line 35) | void led_update(led_t *led)

FILE: frehd/PIC Source Files/led.h
  type led_t (line 32) | typedef struct {

FILE: frehd/PIC Source Files/main.c
  function app_startup (line 124) | void app_startup(void)
  function interrupt_low (line 132) | void interrupt_low(void)
  function handle_interrupt_low (line 141) | void handle_interrupt_low(void)
  function pic_init (line 163) | void pic_init(void)
  function handle_card_insertion (line 227) | static void handle_card_insertion(void)
  function handle_card_removal (line 269) | static void handle_card_removal(void)
  function main (line 281) | void main(void)

FILE: frehd/PIC Source Files/reed.h
  type ReedHardHeader (line 10) | typedef struct {

FILE: frehd/PIC Source Files/serial.c
  function usart_init (line 36) | void usart_init(void)
  function serial_tx_int (line 71) | void serial_tx_int(void)
  function usart_ok_to_send (line 86) | uint8_t usart_ok_to_send(void)
  function usart_send (line 91) | void usart_send(uint8_t data)
  function usart_flush (line 104) | void usart_flush(void)
  function serial_rx_int (line 109) | void serial_rx_int(void)
  function usart_get (line 134) | uint8_t usart_get(uint8_t *data)
  function usart_puts (line 149) | void usart_puts(const rom char *str)
  function usart_puts2 (line 156) | void usart_puts2(const rom char *str)
  function usart_puts_r (line 164) | void usart_puts_r(const char *str)
  function usart_puts2_r (line 171) | void usart_puts2_r(const char *str)
  function usart_put_hex (line 178) | void usart_put_hex(char c)
  function usart_put_short (line 197) | void usart_put_short(short x)
  function usart_put_long (line 203) | void usart_put_long(long x)

FILE: frehd/PIC Source Files/stdint.h
  type int24_t (line 27) | typedef short long int24_t;
  type uint24_t (line 28) | typedef unsigned short long uint24_t;

FILE: frehd/PIC Source Files/sw_i2c.c
  function i2c_init (line 36) | void i2c_init(void)
  function i2c_start (line 43) | void i2c_start(void)
  function i2c_stop (line 51) | void i2c_stop(void)
  function i2c_restart (line 66) | void i2c_restart(void)
  function i2c_ack (line 80) | signed char i2c_ack(void)
  function i2c_clock_test (line 96) | signed char i2c_clock_test(void)
  function i2c_read (line 106) | unsigned int i2c_read(void)
  function i2c_getc (line 135) | unsigned int i2c_getc(void)
  function i2c_gets (line 149) | signed char i2c_gets(unsigned char *ptr, unsigned char length)
  function i2c_write (line 181) | signed char i2c_write(unsigned char data)
  function i2c_putc (line 220) | signed char i2c_putc(unsigned char data)
  function i2c_puts (line 231) | signed char i2c_puts(unsigned char *ptr, unsigned char length)

FILE: frehd/PIC Source Files/trs_extra.c
  function UCHAR (line 52) | UCHAR trs_extra_ignored(UCHAR step)
  function UCHAR (line 63) | UCHAR trs_extra_version(UCHAR step)
  function UCHAR (line 82) | UCHAR trs_extra_gettime(UCHAR step)
  function UCHAR (line 103) | UCHAR trs_extra_settime(UCHAR step)
  function UCHAR (line 133) | UCHAR trs_extra_openfile(UCHAR step)
  function UCHAR (line 167) | UCHAR trs_extra_readfile(UCHAR step)
  function UCHAR (line 198) | UCHAR trs_extra_writefile(UCHAR step)
  function UCHAR (line 238) | UCHAR trs_extra_seekfile(UCHAR step)
  function UCHAR (line 270) | UCHAR trs_extra_closefile(UCHAR step)
  function UCHAR (line 291) | UCHAR trs_extra_bootloader(UCHAR step)
  function UCHAR (line 317) | UCHAR trs_extra_opendir(UCHAR step)
  function UCHAR (line 344) | UCHAR trs_extra_readdir(UCHAR step)
  function UCHAR (line 378) | UCHAR trs_extra_mountdrive(UCHAR step)
  function UCHAR (line 413) | UCHAR trs_extra_infodrive(UCHAR step)
  function UCHAR (line 445) | UCHAR trs_extra_image(UCHAR step)
  function UCHAR (line 466) | UCHAR trs_extra_read_header(UCHAR step)

FILE: frehd/PIC Source Files/trs_extra.h
  type im_type_t (line 52) | typedef enum {
  type dmk_t (line 59) | typedef struct {
  type jv3_t (line 69) | typedef struct {
  type jv1_t (line 75) | typedef struct {
  type image_t (line 79) | typedef struct {

FILE: frehd/PIC Source Files/trs_hard.c
  function update_status (line 41) | void update_status(UCHAR new_status) {
  function update_present (line 51) | static void update_present(void)
  function FRESULT (line 65) | FRESULT write_header(FIL *file)
  function FRESULT (line 110) | FRESULT open_drive(UCHAR drive_num, UCHAR options)
  function FRESULT (line 223) | FRESULT open_drives(void)
  function close_drive (line 242) | void close_drive(UCHAR drive_num)
  function close_drives (line 256) | void close_drives(void)
  function FRESULT (line 266) | static FRESULT find_sector(void)
  function FRESULT (line 290) | static FRESULT read_sector(void)
  function FRESULT (line 307) | static FRESULT write_sector(void)
  function trs_sync (line 324) | void trs_sync(void)
  function trs_hard_init (line 356) | void trs_hard_init(void)
  function trs_action (line 370) | void trs_action(void)

FILE: frehd/PIC Source Files/trs_hard.h
  type sector_size_t (line 43) | typedef enum {
  type Drive (line 51) | typedef struct {

FILE: frehd/PIC Source Files/trs_uart.c
  function trs_uart_init (line 47) | void trs_uart_init(void)
  function trs_uart (line 60) | void trs_uart(void)
  function trs_write_uart (line 86) | void trs_write_uart(void)
  function trs_read_uart (line 101) | void trs_read_uart(void)
  function trs_read_uart_status (line 117) | void trs_read_uart_status(void)
  function trs_write_uart_ctrl (line 124) | void trs_write_uart_ctrl(void)

FILE: frehd/import.py
  function write_with_doubles (line 50) | def write_with_doubles(text):

FILE: gameshow/gameshow_arduino.c
  function setup (line 25) | void setup() {
  function loop (line 39) | void loop() {
  function blinkToGo (line 198) | void blinkToGo(){
  function soundSamples (line 212) | void soundSamples(){
  function resetLeds (line 277) | void resetLeds(){

FILE: laser-shooting-gallery/esp32-TARGET.c
  function activate (line 50) | void activate(unsigned long duration){
  function deactivate (line 76) | void deactivate(){
  function iveBeenHit (line 83) | void iveBeenHit(){
  function miss (line 89) | void miss(){
  function callback (line 93) | void callback(char* topic, byte* payload, unsigned int length) {
  function reconnect (line 124) | void reconnect() {
  function setup (line 147) | void setup()
  function loop (line 185) | void loop()

FILE: laser-shooting-gallery/esp8266-laser.c
  function reconnect (line 53) | void reconnect() {
  function setup (line 78) | void setup() {
  function loop (line 100) | void loop()

FILE: lazy_kicad/_old_versions/v1.0/index.php
  function generate_uuid (line 4) | function generate_uuid() {

FILE: lazy_kicad/kicad_functions/core_functions.php
  function generate_uuid (line 6) | function generate_uuid()
  function getAvailableCards (line 18) | function getAvailableCards()
  function loadCardLogic (line 44) | function loadCardLogic($cardType)
  function generate_net_label (line 55) | function generate_net_label($label, $x, $y, $style = 'global')
  function reorderCounterclockwise (line 88) | function reorderCounterclockwise(array $leftPins, array $rightPins) : array
  function dump (line 115) | function dump($var)
  function dnd (line 122) | function dnd($var)

FILE: lazy_kicad/kicad_logic/netlabels_logic.php
  function generate_netlabels_logic (line 2) | function generate_netlabels_logic($card) {

FILE: node-red-christmas-tree/python/oled/oled.py
  class ssd1306_oled (line 12) | class ssd1306_oled(object):
    method __init__ (line 13) | def __init__(self):
    method setup (line 16) | def setup(self, i2c_address=0x3C):

FILE: olimex/Olimex ESP32-EVB/ethernet-mqtt.c
  function WiFiEvent (line 30) | void WiFiEvent(WiFiEvent_t event)
  function callback (line 67) | void callback(char* topic, byte* payload, unsigned int length) {
  function reconnect (line 107) | void reconnect() {
  function setup (line 129) | void setup()
  function loop (line 151) | void loop()

FILE: rigged-o-fortune/rigged.c
  function setup (line 19) | void setup() {
  function checkForButton (line 35) | void checkForButton(){ //look for a button press to get this party started
  function initialSpin (line 42) | void initialSpin(){ //do at least one full rotation and use this time to...
  function finalTurnRigged (line 48) | void finalTurnRigged(){
  function finalTurnRando (line 64) | void finalTurnRando(){
  function resetWheel (line 84) | void resetWheel(){
  function spin (line 96) | void spin(){
  function loop (line 140) | void loop() {

FILE: water-quality/CCS811/CCS811.h
  function class (line 47) | class CCS811

FILE: yt_sucks/index.php
  function is_youtube_url (line 37) | function is_youtube_url($url)
  function curl_get_contents (line 56) | function curl_get_contents($url) {
  function validate_csrf_token (line 125) | function validate_csrf_token($token)

FILE: yt_sucks/steps/v1.1.0.php
  function dump (line 12) | function dump($var)
  function dnd (line 25) | function dnd($var)
  function validate_csrf_token (line 35) | function validate_csrf_token($token)
Condensed preview — 404 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (8,292K chars).
[
  {
    "path": "37-sensors-one-arduino/37-sensors-1-arduino.ino",
    "chars": 12554,
    "preview": "#include <math.h>\r\n#include <Wire.h>\r\n#include <dht11.h>\r\n#include <Adafruit_Sensor.h>\r\n#include <Adafruit_ADXL345_U.h>\r"
  },
  {
    "path": "4_dollar_xt_ide/_readme.txt",
    "chars": 538,
    "preview": "These are just quick and dirty bios exports to get you up and running in the vast majority of situations.  You can confi"
  },
  {
    "path": "5-Practical-Uses-For-Node-Red-On-Android/flow3.json",
    "chars": 5411,
    "preview": "[{\"id\":\"525fadc.ed09b54\",\"type\":\"inject\",\"z\":\"41ca64f3.1d227c\",\"name\":\"\",\"topic\":\"\",\"payload\":\"Start!\",\"payloadType\":\"st"
  },
  {
    "path": "5-Practical-Uses-For-Node-Red-On-Android/flow4.json",
    "chars": 432,
    "preview": "[{\"id\":\"7348226e.5a7fcc\",\"type\":\"change\",\"z\":\"41ca64f3.1d227c\",\"name\":\"\",\"rules\":[{\"t\":\"set\",\"p\":\"payload\",\"pt\":\"msg\",\"t"
  },
  {
    "path": "5-Practical-Uses-For-Node-Red-On-Android/flow5.json",
    "chars": 6278,
    "preview": "[{\"id\":\"7a24a90f.8d5f28\",\"type\":\"change\",\"z\":\"41ca64f3.1d227c\",\"name\":\"\",\"rules\":[{\"t\":\"set\",\"p\":\"payload\",\"pt\":\"msg\",\"t"
  },
  {
    "path": "9 Pin Cable Tester/no_screen.ino",
    "chars": 880,
    "preview": "//if you are not familiar with programming the arduino, \r\n//you can find the software and instructions here:\r\n// https:/"
  },
  {
    "path": "9 Pin Cable Tester/readme.txt",
    "chars": 525,
    "preview": "This project requires\r\nArduino Nano - https://amzn.to/3ysygOz\r\n18 @ 5mm LEDs - https://amzn.to/3WQ7TvY\r\n9 @ 330 ohm resi"
  },
  {
    "path": "9 Pin Cable Tester/with_screen.ino",
    "chars": 1627,
    "preview": "//if you are not familiar with programming the arduino, \r\n//you can find the software and instructions here:\r\n// https:/"
  },
  {
    "path": "9 Pin Cable Tester/with_screen_and_button.ino",
    "chars": 3969,
    "preview": "// A button gets soldered between Pins A6 and GND on the Arduino Nano\r\n// Holding the button down on boot will switch to"
  },
  {
    "path": "Apple II Gotek/readme.txt",
    "chars": 1249,
    "preview": "This is the home of my Apple ][ Gotek Adapter\r\n\r\nI will eventually release the gerbers, but as a thank you, I am offerin"
  },
  {
    "path": "Atari 4x16/desktop.ini",
    "chars": 154,
    "preview": "[LocalizedFileNames]\r\n16kBottomLabel.stl=@16kBottomLabel.stl,0\r\nATARI_CARY_REV_2_holder.stl=@ATARI_CARY_REV_2_holder.stl"
  },
  {
    "path": "Atari Super Salt Diagnostic/roms can be found here.txt",
    "chars": 66,
    "preview": "https://archive.org/download/super-salt-roms/SUPER_SALT_ROMS.zip\r\n"
  },
  {
    "path": "Component Organization/live_version.txt",
    "chars": 264,
    "preview": "I will try to keep exporting, but I will share my live link with you with the latest values. These are great for storing"
  },
  {
    "path": "ESP32-Cheap-Yellow-Display/split-screen-buttons/split-screen-buttons.ino",
    "chars": 4865,
    "preview": "// Adapted from \r\n// https://github.com/witnessmenow/ESP32-Cheap-Yellow-Display/tree/main/Examples/Basics/2-TouchTest\r\n\r"
  },
  {
    "path": "Global-Variables-On-Node-Red/part1.json",
    "chars": 2709,
    "preview": "[{\"id\":\"c8614d89.c2194\",\"type\":\"tab\",\"label\":\"Flow 3\",\"disabled\":false,\"info\":\"\"},{\"id\":\"9f2ba77e.586b38\",\"type\":\"inject"
  },
  {
    "path": "Global-Variables-On-Node-Red/part2-with-text-to-speech.json",
    "chars": 3728,
    "preview": "[{\"id\":\"3f62355a.ef21aa\",\"type\":\"inject\",\"z\":\"7a36420f.45489c\",\"name\":\"\",\"topic\":\"\",\"payload\":\"\",\"payloadType\":\"date\",\"r"
  },
  {
    "path": "Global-Variables-On-Node-Red/part2.json",
    "chars": 2736,
    "preview": "[{\"id\":\"de21b0f1.09d24\",\"type\":\"inject\",\"z\":\"c8614d89.c2194\",\"name\":\"\",\"topic\":\"\",\"payload\":\"\",\"payloadType\":\"date\",\"rep"
  },
  {
    "path": "IR-RF/master-receiver-ir-rf-video.c",
    "chars": 7197,
    "preview": "//------------------------------------------------------------------------------\r\n// Include the IRremote library header"
  },
  {
    "path": "IR-RF/master-receiver-ir-rf.c",
    "chars": 6258,
    "preview": "//------------------------------------------------------------------------------\r\n// Include the IRremote library header"
  },
  {
    "path": "IR-RF/soundbar-fixer.ino",
    "chars": 1621,
    "preview": "//youtube.com/AnotherMaker\r\n//You may want to consider using my universal receiver to get the codes for your remote.\r\n//"
  },
  {
    "path": "Kicad 8/Kicad 8/Kicad 8.kicad_pcb",
    "chars": 485074,
    "preview": "(kicad_pcb\r\n\t(version 20240108)\r\n\t(generator \"pcbnew\")\r\n\t(generator_version \"8.0\")\r\n\t(general\r\n\t\t(thickness 1.6)\r\n\t\t(leg"
  },
  {
    "path": "Kicad 8/Kicad 8/Kicad 8.kicad_prl",
    "chars": 1275,
    "preview": "{\n  \"board\": {\n    \"active_layer\": 37,\n    \"active_layer_preset\": \"\",\n    \"auto_track_width\": true,\n    \"hidden_netclass"
  },
  {
    "path": "Kicad 8/Kicad 8/Kicad 8.kicad_pro",
    "chars": 13986,
    "preview": "{\n  \"board\": {\n    \"3dviewports\": [],\n    \"design_settings\": {\n      \"defaults\": {\n        \"apply_defaults_to_fp_fields\""
  },
  {
    "path": "Kicad 8/Kicad 8/Kicad 8.kicad_sch",
    "chars": 103905,
    "preview": "(kicad_sch\r\n\t(version 20231120)\r\n\t(generator \"eeschema\")\r\n\t(generator_version \"8.0\")\r\n\t(uuid \"f013cab0-cf41-4f46-b8e3-39"
  },
  {
    "path": "Kicad 8/Kicad 8/fp-info-cache",
    "chars": 3,
    "preview": "0\r\n"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-B_Cu.gbr",
    "chars": 132866,
    "preview": "%TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*%\r\n%TF.CreationDate,2024-06-10T16:35:51-04:00*%\r\n%TF.ProjectId,Kicad 8,4b69636"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-B_Mask.gbr",
    "chars": 4281,
    "preview": "%TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*%\r\n%TF.CreationDate,2024-06-10T16:35:51-04:00*%\r\n%TF.ProjectId,Kicad 8,4b69636"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-B_Paste.gbr",
    "chars": 465,
    "preview": "%TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*%\r\n%TF.CreationDate,2024-06-10T16:35:51-04:00*%\r\n%TF.ProjectId,Kicad 8,4b69636"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-B_Silkscreen.gbr",
    "chars": 25670,
    "preview": "%TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*%\r\n%TF.CreationDate,2024-06-10T16:35:51-04:00*%\r\n%TF.ProjectId,Kicad 8,4b69636"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-Edge_Cuts.gbr",
    "chars": 627,
    "preview": "%TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*%\r\n%TF.CreationDate,2024-06-10T16:35:51-04:00*%\r\n%TF.ProjectId,Kicad 8,4b69636"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-F_Cu.gbr",
    "chars": 136489,
    "preview": "%TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*%\r\n%TF.CreationDate,2024-06-10T16:35:51-04:00*%\r\n%TF.ProjectId,Kicad 8,4b69636"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-F_Mask.gbr",
    "chars": 4281,
    "preview": "%TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*%\r\n%TF.CreationDate,2024-06-10T16:35:51-04:00*%\r\n%TF.ProjectId,Kicad 8,4b69636"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-F_Paste.gbr",
    "chars": 465,
    "preview": "%TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*%\r\n%TF.CreationDate,2024-06-10T16:35:51-04:00*%\r\n%TF.ProjectId,Kicad 8,4b69636"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-F_Silkscreen.gbr",
    "chars": 107054,
    "preview": "%TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*%\r\n%TF.CreationDate,2024-06-10T16:35:51-04:00*%\r\n%TF.ProjectId,Kicad 8,4b69636"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-NPTH.drl",
    "chars": 277,
    "preview": "M48\r\n; DRILL file {KiCad 8.0.3} date 2024-06-10T16:35:46-0400\r\n; FORMAT={-:-/ absolute / inch / decimal}\r\n; #@! TF.Creat"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-PTH.drl",
    "chars": 2656,
    "preview": "M48\r\n; DRILL file {KiCad 8.0.3} date 2024-06-10T16:35:46-0400\r\n; FORMAT={-:-/ absolute / inch / decimal}\r\n; #@! TF.Creat"
  },
  {
    "path": "Kicad 8/Kicad 8/kicad 8 video gerbers/Kicad 8-job.gbrjob",
    "chars": 2804,
    "preview": "{\r\n  \"Header\": {\r\n    \"GenerationSoftware\": {\r\n      \"Vendor\": \"KiCad\",\r\n      \"Application\": \"Pcbnew\",\r\n      \"Version\""
  },
  {
    "path": "Lilygo-7000g/Arduino_Cayenne/Anothermaker-Stripped-LilyGO-SIM7000-Cayenne.ino",
    "chars": 3363,
    "preview": "#define TINY_GSM_DEBUG Serial\r\n#define CAYENNE_PRINT Serial\r\n#define TINY_GSM_MODEM_SIM7000\r\n\r\n\r\n#define USE_GSM  //! Un"
  },
  {
    "path": "Lilygo-7000g/Arduino_Cayenne/LilyGO-SIM7000-Cayenne.ino",
    "chars": 4937,
    "preview": "#define TINY_GSM_DEBUG Serial\r\n#define CAYENNE_PRINT Serial\r\n#define TINY_GSM_MODEM_SIM7000\r\n\r\n\r\n#define USE_GSM  //! Un"
  },
  {
    "path": "Lilygo-7000g/Arduino_Cayenne/README.MD",
    "chars": 1578,
    "preview": "<h1 align = \"center\">LilyGO T-SIM7000 Cayenne</h1>\r\n\r\n💦 ☀💨🌹 The sample code is based on the **[LilyGO T-SIM7000](https:/"
  },
  {
    "path": "Lilygo-7000g/Arduino_GPSTest/Arduino_GPSTest.ino",
    "chars": 4282,
    "preview": "// Set serial for debug console (to the Serial Monitor, default speed 115200)\r\n#define SerialMon Serial\r\n\r\n// Set serial"
  },
  {
    "path": "Lilygo-7000g/Arduino_LoraShield/LoRaReceiver/LoRaReceiver.ino",
    "chars": 1875,
    "preview": "/*\n* Depend  https://github.com/sandeepmistry/arduino-LoRa\n* */\n\n#include <SPI.h>\n#include <SD.h>\n#include <LoRa.h>\n\n#de"
  },
  {
    "path": "Lilygo-7000g/Arduino_LoraShield/LoRaSender/LoRaSender.ino",
    "chars": 1716,
    "preview": "/*\n* Depend  https://github.com/sandeepmistry/arduino-LoRa\n* */\n\n#include <SPI.h>\n#include <SD.h>\n#include <LoRa.h>\n\n#de"
  },
  {
    "path": "Lilygo-7000g/Arduino_LoraShield/README.MD",
    "chars": 179,
    "preview": "\r\n## Install the following dependency library files:\r\n[arduino-LoRa](https://github.com/sandeepmistry/arduino-LoRa)\r\n\r\n\r"
  },
  {
    "path": "Lilygo-7000g/Arduino_NetworkTest/Arduino_NetworkTest.ino",
    "chars": 6636,
    "preview": "// Set serial for debug console (to the Serial Monitor, default speed 115200)\r\n#define SerialMon Serial\r\n\r\n// Set serial"
  },
  {
    "path": "Lilygo-7000g/Arduino_Simple_API/rough_api_test.ino",
    "chars": 7623,
    "preview": "/*\r\n  Very rough example of how to send your lat/lon to a webhook/api via get request.\r\n  See my other videos at https:/"
  },
  {
    "path": "Lilygo-7000g/Arduino_TinyGSM/ATdebug/ATdebug.ino",
    "chars": 2291,
    "preview": "/*\n  FILE: ATdebug.ino\n  AUTHOR: Koby Hale\n  PURPOSE: test AT commands\n  List of SIM7000 AT commands can be found here\n "
  },
  {
    "path": "Lilygo-7000g/Arduino_TinyGSM/AllFunctions/AllFunctions.ino",
    "chars": 6878,
    "preview": "/*\n  FILE: AllFunctions.ino\n  AUTHOR: Koby Hale\n  PURPOSE: Test functionality\n*/\n\n#define TINY_GSM_MODEM_SIM7000\n#define"
  },
  {
    "path": "Lilygo-7000g/Arduino_TinyGSM/README.MD",
    "chars": 456,
    "preview": "\r\n## Install the following dependency library files:\r\n[TinyGSM](https://github.com/vshymanskyy/TinyGSM)\r\n\r\n\r\n### Reset M"
  },
  {
    "path": "Lilygo-7000g/Arduino_TinyGSM/ResetModem/ResetModem.ino",
    "chars": 2153,
    "preview": "/*\n  FILE: ResetModem.ino\n  AUTHOR: Koby Hale\n  PURPOSE: reset the SIM7000\n*/\n\n#define TINY_GSM_MODEM_SIM800 // sim800 a"
  },
  {
    "path": "Lilygo-7000g/MicroPython_LoBo/README.MD",
    "chars": 918,
    "preview": "\r\n## Flash Micropython to ESP32\r\n\r\nThe recommended version of Micropython for this board is\r\n[`MicroPython_LoBo_esp32_ps"
  },
  {
    "path": "Lilygo-7000g/MicroPython_LoBo/gps.py",
    "chars": 1863,
    "preview": "'''\r\n\r\n- Make sure the GPS antenna is firmly connected\r\n- For more documentation on the GPS module, please check the man"
  },
  {
    "path": "Lilygo-7000g/MicroPython_LoBo/gsm.py",
    "chars": 1299,
    "preview": "import socket\r\nimport machine\r\nimport time\r\nimport sys\r\nimport gsm\r\n\r\n# APN credentials (replace with yours)\r\n\r\nGSM_APN "
  },
  {
    "path": "Lilygo-7000g/MicroPython_LoBo/sd.py",
    "chars": 282,
    "preview": "import os\r\nimport uos\r\nimport machine\r\n\r\n# The SD SPI pin of the firmware compiled by lobo is not the pin used by T-SIM7"
  },
  {
    "path": "Lilygo-7000g/Platformio_Arduino_Thingsboard/.travis.yml",
    "chars": 1557,
    "preview": "# Continuous Integration (CI) is the practice, in software\n# engineering, of merging all developer working copies with a"
  },
  {
    "path": "Lilygo-7000g/Platformio_Arduino_Thingsboard/include/README",
    "chars": 1386,
    "preview": "\nThis directory is intended for project header files.\n\nA header file is a file containing C declarations and macro defin"
  },
  {
    "path": "Lilygo-7000g/Platformio_Arduino_Thingsboard/lib/README",
    "chars": 1037,
    "preview": "\nThis directory is intended for project specific (private) libraries.\nPlatformIO will compile them to static libraries a"
  },
  {
    "path": "Lilygo-7000g/Platformio_Arduino_Thingsboard/platformio.ini",
    "chars": 657,
    "preview": ";PlatformIO Project Configuration File\n;\n;   Build options: build flags, source filter\n;   Upload options: custom upload"
  },
  {
    "path": "Lilygo-7000g/Platformio_Arduino_Thingsboard/readme.md",
    "chars": 214,
    "preview": "# Example project for Platformio\n\n- T-SIM7000 NBIoT or GSM mode (modified TinyGSM lib)\n- Connecting to Thingsboard and s"
  },
  {
    "path": "Lilygo-7000g/Platformio_Arduino_Thingsboard/src/main.cpp",
    "chars": 9699,
    "preview": "/*\nBattery test T-SIM7000 & Thingsboard\n */\n\n#define TINY_GSM_MODEM_SIM7000\n\n#define TINY_GSM_RX_BUFFER 1024 // Set RX b"
  },
  {
    "path": "Lilygo-7000g/Platformio_Arduino_Thingsboard/test/README",
    "chars": 490,
    "preview": "\nThis directory is intended for PIO Unit Testing and project tests.\n\nUnit Testing is a software testing method by which "
  },
  {
    "path": "README.md",
    "chars": 82,
    "preview": "# AnotherMaker\r\nThis is where I will store code snippets for AnotherMaker Videos\r\n"
  },
  {
    "path": "StreamArray/fancy_version/StreamArray.ino",
    "chars": 12200,
    "preview": "//This sketch is obviously a ridiculously lazy fork of my \"Interactive Mode\" for the coding array.\r\n// The point is that"
  },
  {
    "path": "StreamArray/fancy_version/build-notes.txt",
    "chars": 696,
    "preview": "On the node red side, you will need to install 2 additional nodes in the pallet manager.\r\n\r\nnode-red-node-serialport wil"
  },
  {
    "path": "StreamArray/fancy_version/node-red-flow.json",
    "chars": 5252,
    "preview": "[{\"id\":\"7ae30b2d.16f864\",\"type\":\"tab\",\"label\":\"StreamArray\",\"disabled\":false,\"info\":\"\"},{\"id\":\"77b04dc8.f9d494\",\"type\":\""
  },
  {
    "path": "StreamArray/scripts/dangerous.vbs",
    "chars": 141,
    "preview": "Dim message, sapi\r\nmessage=InputBox(\"What do you want me to say?\",\"Speak to Me\")\r\nSet sapi=CreateObject(\"sapi.spvoice\")\r"
  },
  {
    "path": "StreamArray/scripts/fidget.cmd",
    "chars": 40,
    "preview": "start chrome \"https://amzn.to/2DbwW5L\"\r\n"
  },
  {
    "path": "StreamArray/scripts/open_close_cd.vbs",
    "chars": 279,
    "preview": "Set oWMP = CreateObject(\"WMPlayer.OCX.7\")\r\nSet colCDROMs = oWMP.cdromCollection\r\ndo\r\nif colCDROMs.Count >= 1 then\r\nFor i"
  },
  {
    "path": "StreamArray/scripts/reddit.cmd",
    "chars": 50,
    "preview": "start chrome \"https://www.reddit.com/r/politics\"\r\n"
  },
  {
    "path": "StreamArray/scripts/subscribe.cmd",
    "chars": 73,
    "preview": "start chrome \"https://www.youtube.com/AnotherMaker?sub_confirmation=1.\"\r\n"
  },
  {
    "path": "StreamArray/simple_version/node-red.json",
    "chars": 2467,
    "preview": "[{\"id\":\"c6a69a12.f92768\",\"type\":\"tab\",\"label\":\"Flow 6\",\"disabled\":false,\"info\":\"\"},{\"id\":\"c09073ba.a5022\",\"type\":\"serial"
  },
  {
    "path": "StreamArray/simple_version/streaming_deck_arduino.ino",
    "chars": 711,
    "preview": "// https://youtube.com/AnotherMaker\r\n// Stream(ing) Deck simplified demo\r\n\r\n//buttons are wired with one side of the but"
  },
  {
    "path": "api-calls/apirelay.php",
    "chars": 678,
    "preview": "<?php\r\nheader('Content-Type: application/json');\r\n$ch = curl_init();\r\n$curlConfig = array(\r\n    CURLOPT_URL            ="
  },
  {
    "path": "api-calls/basic-api-call-8266.c",
    "chars": 1841,
    "preview": "//https://electrosome.com/calling-api-esp8266/\r\n#include <ESP8266WiFi.h>\r\n#include <ESP8266HTTPClient.h>\r\n#include <Ardu"
  },
  {
    "path": "api-calls/basic-api-call-esp32.c",
    "chars": 2164,
    "preview": "#include <WiFi.h>\r\n#include <WiFiMulti.h>\r\n#include <HTTPClient.h> // https://github.com/espressif/arduino-esp32/tree/ma"
  },
  {
    "path": "api-calls/basic_api_call_uno.c",
    "chars": 2527,
    "preview": "#include <Ethernet.h>\r\n#include <SPI.h>\r\n#include <ArduinoJson.h> //v6.11.5 from Library Manager\r\n\r\n// //Node-Red API Re"
  },
  {
    "path": "api-calls/nr-relay.json",
    "chars": 1956,
    "preview": "[{\"id\":\"6c691f7e.493ed\",\"type\":\"http request\",\"z\":\"a07a4fc2.1d4ae\",\"name\":\"\",\"method\":\"POST\",\"ret\":\"obj\",\"url\":\"https://"
  },
  {
    "path": "arduino-dmx",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "arduino-eeprom-torture/test_read.ino",
    "chars": 584,
    "preview": "//This just reads the rom one time to see if you got what appears to be valid data.\r\n//if you cut the power mid cycle on"
  },
  {
    "path": "arduino-eeprom-torture/torture-fast.ino",
    "chars": 1074,
    "preview": "#include <EEPROM.h>\r\n//for loop\r\nint a = 1;\r\nint b = 1;\r\n\r\nint read = 0; // a place to store our read\r\nint step = 0; // "
  },
  {
    "path": "arduino-eeprom-torture/torture.ino",
    "chars": 1048,
    "preview": "#include <EEPROM.h>\r\n//for loop\r\nint a = 1;\r\nint b = 1;\r\n\r\nint read = 0; // a place to store our read\r\nint step = 0; // "
  },
  {
    "path": "arduino-lidar-tf-luna/arduino-lidar-tf-mini.ino",
    "chars": 5162,
    "preview": "\r\n/*\r\nArduino TF Luna LIDAR sensor\r\nUses the LiquidCrystal library and the TFMPlus library by Bud Ryerson\r\nBoth availabl"
  },
  {
    "path": "arduino-lidar-tf-luna/arduino-ultrasonic.ino",
    "chars": 2049,
    "preview": "// ---------------------------------------------------------------- //\r\n// Arduino Ultrasoninc Sensor HC-SR04\r\n// Re-wri"
  },
  {
    "path": "arduino-lidar-tf-luna/printf.h",
    "chars": 1238,
    "preview": "/*\r\n Copyright (C) 2011 J. Coliz <maniacbug@ymail.com>\r\n This program is free software; you can redistribute it and/or\r\n"
  },
  {
    "path": "arduino-powered-cash-reader/cash-reader-with-lcd.c",
    "chars": 1127,
    "preview": "#include <LiquidCrystal.h>\r\n\r\nconst int pin_RS = 8;\r\nconst int pin_EN = 9;\r\nconst int pin_d4 = 4;\r\nconst int pin_d5 = 5;"
  },
  {
    "path": "arduino-receipt-printer/notes.txt",
    "chars": 2231,
    "preview": "Commands:\r\n\r\n27 64               - init\r\n27 105              - cut\r\n27 97 xxx           - justification\r\n27 77 xxx      "
  },
  {
    "path": "arduno-barcode/01-Initial-hackery.ino",
    "chars": 1691,
    "preview": "#include <hidboot.h>\r\n#include <usbhub.h>\r\n\r\n// Satisfy the IDE, which needs to see the include statment in the ino too."
  },
  {
    "path": "arduno-barcode/02-splitting-barcodes.ino",
    "chars": 1755,
    "preview": "#include <hidboot.h>\r\n#include <usbhub.h>\r\n\r\n// Satisfy the IDE, which needs to see the include statment in the ino too."
  },
  {
    "path": "big-game/big-game-new-tv-arduino-nano.ino",
    "chars": 1080,
    "preview": "//Another Maker\r\n//AnotherMaker.com\r\n//Youtube.com/AnotherMaker\r\n\r\n//The loop is just an example. Do whatever you think\r"
  },
  {
    "path": "big-game/big-game-new-tv-wemos-d1.ino",
    "chars": 1385,
    "preview": "//Another Maker\r\n//AnotherMaker.com\r\n//Youtube.com/AnotherMaker\r\n\r\n//The loop is just an example. Do whatever you think\r"
  },
  {
    "path": "big-game/ir_remote_codes.txt",
    "chars": 121,
    "preview": "upvol 20DF40BF\r\ndownvol 20DFC03F\r\npower 20DF10EF\r\nchup 0x20DF00FF\r\nchdown 0xFFFFFFFF\r\nmute 0x20DF906F\r\ninput 0x20DFF40B\r"
  },
  {
    "path": "blink-without-delay/1-Blink.c",
    "chars": 406,
    "preview": "int red = 2;\r\n\r\nvoid setup() {\r\n  pinMode(red, OUTPUT);\r\n}\r\n\r\n// the loop function runs over and over again forever\r\nvoi"
  },
  {
    "path": "blink-without-delay/2-blink-all.c",
    "chars": 369,
    "preview": "int red = 2;\r\nint blue = 3;\r\nint green = 4;\r\n\r\nvoid setup() {\r\n  pinMode(red, OUTPUT);\r\n  pinMode(blue, OUTPUT);\r\n  pinM"
  },
  {
    "path": "blink-without-delay/3-millis.c",
    "chars": 214,
    "preview": "unsigned long currentMillis = 0;\r\n\r\nvoid setup() {\r\n  Serial.begin(9600);\r\n}\r\n\r\nvoid loop() {\r\n  currentMillis = millis("
  },
  {
    "path": "blink-without-delay/4-Blink-1-no-delay.c",
    "chars": 554,
    "preview": "int red = 2;\r\nint intervalRed = 1000; //how long to delay in millis\r\nunsigned long previousRed = 0;\r\nint redState = LOW;"
  },
  {
    "path": "blink-without-delay/5-Blink-1-with-comments.c",
    "chars": 897,
    "preview": "int red = 2;\r\nint intervalRed = 1000; //how long to delay in millis\r\nunsigned long previousRed = 0;\r\nint redState = LOW;"
  },
  {
    "path": "blink-without-delay/6-Blink-3.c",
    "chars": 1697,
    "preview": "int red = 2;\r\nint intervalRed = 1000; //how long to delay in millis\r\nunsigned long previousRed = 0;\r\nint redState = LOW;"
  },
  {
    "path": "blink-without-delay/7-Blink-Train.c",
    "chars": 1550,
    "preview": "//This is in response of how to make these lights have a 1 second interval but 500 ms apart.\r\n//There are a lot of ways "
  },
  {
    "path": "circuit-specialists-variac-data/1000w toaster oven.csv",
    "chars": 18204,
    "preview": "NO.,Time,Value\r\n1,00:00.0,120.3V\r\n2,00:00.5,120.3V\r\n3,00:00.9,120.3V\r\n4,00:01.3,120.3V\r\n5,00:01.8,120.3V\r\n6,00:02.2,120."
  },
  {
    "path": "circuit-specialists-variac-data/25 watt 30 minute test.csv",
    "chars": 106775,
    "preview": "NO.,Time,Value\r\n1,00:00:00.000,0.336V\r\n2,00:00:00.438,0.336V\r\n3,00:00:00.891,0.336V\r\n4,00:00:01.375,0.335V\r\n5,00:00:01.8"
  },
  {
    "path": "circuit-specialists-variac-data/300w heat gun.csv",
    "chars": 7468,
    "preview": "NO.,Time,Value\r\n1,00:00:00.000,120.3V\r\n2,00:00:00.453,120.3V\r\n3,00:00:00.890,120.3V\r\n4,00:00:01.344,120.3V\r\n5,00:00:01.7"
  },
  {
    "path": "circuit-specialists-variac-data/This is my raw meter data from my variac stability tests.txt",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "diabolocal-it-prank/it-prank-v1.ino",
    "chars": 12584,
    "preview": "/* AnotherMaker IT Prank\r\n   Requires FabGL Library in the Arduino IDE\r\n   While this can be done on any ESP32 board, th"
  },
  {
    "path": "ds18b20/address-finder.ino",
    "chars": 3041,
    "preview": "#include <OneWire.h>\r\n#include <DallasTemperature.h>\r\n\r\n// Data wire is plugged into pin 2 on the Arduino\r\n#define ONE_W"
  },
  {
    "path": "ecom-pi-camera/node-red-sketch.json",
    "chars": 1973,
    "preview": "[{\"id\":\"c7e2ab94.ee2a88\",\"type\":\"inject\",\"z\":\"403b0725.323af8\",\"name\":\"\",\"topic\":\"\",\"payload\":\"\",\"payloadType\":\"date\",\"r"
  },
  {
    "path": "ecom-pi-camera/snippets.txt",
    "chars": 1214,
    "preview": "These are snippets and bash scripts to fire off different functions from the command line\r\n\r\ngst-launch-1.0 v4l2src devi"
  },
  {
    "path": "engergyduino/data_logger.ino",
    "chars": 2287,
    "preview": "//This is an example of sending DHT11 temp/humidity data over a simple api for data logging\r\n//The real purpose of the d"
  },
  {
    "path": "engergyduino/energyduino.php",
    "chars": 1080,
    "preview": "<?php\r\n//This file expects to be in the root of a userspice install.\r\n//Otherwise, you will have to modify the paths and"
  },
  {
    "path": "eprom-booster/readme.txt",
    "chars": 1367,
    "preview": "Video - https://youtu.be/cmfbbyea2WM\r\n\r\nGet the boards here: https://www.pcbway.com/project/shareproject/EPROM_Booster_P"
  },
  {
    "path": "escape-room/arduino_simon.ino",
    "chars": 7666,
    "preview": "////////////////////////////\r\n//Network Stuff is commented out because you really don't need that unless you're doing a "
  },
  {
    "path": "escape-room/button_maze.ino",
    "chars": 821,
    "preview": "const int numBtns = 30;\r\nint buttons[]  = {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"
  },
  {
    "path": "escape-room/true_false.ino",
    "chars": 1245,
    "preview": "int switch1 = 22;\r\nint switch2 = 23;\r\nint switch3 = 24;\r\nint switch4 = 25;\r\nint switch5 = 26;\r\nint switch6 = 27;\r\n// int"
  },
  {
    "path": "esp32-joke-phone/esp32-joke-phone-build-notes.txt",
    "chars": 2034,
    "preview": "The weird parts:\r\nI'm not using a library to connect between the 2 boards, so I'm sending weird octal and hex codes. Bec"
  },
  {
    "path": "esp32-joke-phone/esp32-joke-phone.ino",
    "chars": 6170,
    "preview": "#include \"Arduino.h\"\r\n#include <Keypad.h>\r\n\r\nconst byte ROWS = 4; //four rows\r\nconst byte COLS = 4; //three columns\r\ncha"
  },
  {
    "path": "esp32-s3/Arduino IDE/pdpie-esp32-comm-test.ino",
    "chars": 569,
    "preview": "//the laziest automated chat test \n\nvoid setup() {\n  Serial.begin(9600);\n}\n\nvoid loop() {\n  String message = \"Hello from"
  },
  {
    "path": "esp32-s3/Arduino IDE/pdpie-esp32-io-test v1.ino",
    "chars": 4159,
    "preview": "//\n// ESP32-S3 Demo for Arduino IDE\n//\n// Requires Adafruit Neopixel Library\n// This sketch demonstrates:\n// - Reading t"
  },
  {
    "path": "esp32-s3/esp32-s3 notes",
    "chars": 107,
    "preview": "Most of these scripts are for the upcoming PD-PIE project and are simply for letting people test their S3s."
  },
  {
    "path": "esp32-watch/infrared-tv-b-gone/01-send-simple-ir.ino",
    "chars": 570,
    "preview": "#include <Arduino.h>\r\n#include <IRremoteESP8266.h>\r\n#include <IRsend.h>\r\n#include <PubSubClient.h>\r\n\r\n#define DEVICE \"0x"
  },
  {
    "path": "esp32-watch/infrared-tv-b-gone/02-send-all-ir.ino",
    "chars": 8478,
    "preview": "#define LILYGO_WATCH_2020_V1\r\n#include <LilyGoWatch.h>\r\n#include <Arduino.h>\r\n#include \"WORLD_IR_CODES.h\"\r\n#include <IRr"
  },
  {
    "path": "esp32-watch/infrared-tv-b-gone/ESP8266-TV-B-Gone.ino",
    "chars": 14600,
    "preview": "/*\nLast Updated: 30 Mar. 2018\nBy Anton Grimpelhuber (anton.grimpelhuber@gmail.com)\n                                     "
  },
  {
    "path": "esp32-watch/infrared-tv-b-gone/WORLD_IR_CODES.h",
    "chars": 123436,
    "preview": "/*\nLast Updated: 30 Mar. 2018\nBy Anton Grimpelhuber (anton.grimpelhuber@gmail.com)\nAdded discrete Samsung / NECv2 power "
  },
  {
    "path": "esp32-watch/infrared-tv-b-gone/main.h",
    "chars": 1844,
    "preview": "/*\nLast Updated: 30 Mar. 2018\nBy Anton Grimpelhuber (anton.grimpelhuber@gmail.com)\n*/\n\n// The TV-B-Gone for Arduino can "
  },
  {
    "path": "esp32-watch/morse.ino",
    "chars": 10478,
    "preview": "/*********\r\n  TTGO SmartWatch-2020 Morse Code Vibrator\r\n\r\n  Even if they don't want it, much credit goes to\r\n  https://c"
  },
  {
    "path": "fb_sucks/index.php",
    "chars": 6422,
    "preview": "<?php\r\nsession_start();\r\n\r\n// Generate CSRF token and store it in session\r\nif (!isset($_SESSION['csrf_token'])) {\r\n    $"
  },
  {
    "path": "fb_sucks/steps/01_template.html",
    "chars": 685,
    "preview": "<!doctype html>\r\n<html lang=\"en\">\r\n  <head>\r\n    <meta charset=\"utf-8\">\r\n    <meta name=\"viewport\" content=\"width=device"
  },
  {
    "path": "fb_sucks/steps/02_base_search.html",
    "chars": 1574,
    "preview": "<!doctype html>\r\n<html lang=\"en\">\r\n  <head>\r\n    <meta charset=\"utf-8\">\r\n    <meta name=\"viewport\" content=\"width=device"
  },
  {
    "path": "franklin-ace-1000/monochrome-mod.txt",
    "chars": 4076,
    "preview": "The Franklin ACE 1000 didn’t originally support color, due to an Apple patent on the skeevy color-burst generation circu"
  },
  {
    "path": "frehd/GAL Chip - Latest/FreHD-ATF16V8B.JED",
    "chars": 782,
    "preview": "\u0002\r\r\nDevice    :    ATF16V8B \r\r\nCreated By:    http://www.xgecu.com\r\r\nDate      :    2022-09-15 16:47\r\r\n*QP20\r\r\n*QF2194\r\r"
  },
  {
    "path": "frehd/GAL Chip - Old Versions/gal16v8.jed",
    "chars": 999,
    "preview": "\u0002\r\nADVANCED PLD    4.0\r\nDevice          g16v8s  Library DLIB-h-36-9\r\nCreated         Fri Mar 30 17:29:31 2012\r\n         "
  },
  {
    "path": "frehd/GAL Chip - Old Versions/gal16v8.lst",
    "chars": 1772,
    "preview": "LISTING FOR LOGIC DESCRIPTION FILE: gal16v8.pld                      Page 1\r\n\r\nADVANCED PLD: Universal Compiler for Prog"
  },
  {
    "path": "frehd/GAL Chip - Old Versions/gal16v8.pld",
    "chars": 1262,
    "preview": "Name        PLDDesign            ;\r\nPartno                           ;\r\nRevision    1                    ;\r\nDate        "
  },
  {
    "path": "frehd/PIC Hex Files/FreHD_213.hex",
    "chars": 160664,
    "preview": ":020000040000FA\r\n:0400000053EF00F0CA\r\n:020006000102F5\r\n:0400080006EF04F00B\r\n:080018007F6603EF04F0F0A085\r\n:100020002DD0F0"
  },
  {
    "path": "frehd/PIC Hex Files/FreHD_214.hex",
    "chars": 161462,
    "preview": ":020000040000FA\r\n:0400000053EF00F0CA\r\n:020006000102F5\r\n:0400080006EF04F00B\r\n:080018007F6603EF04F0F0A085\r\n:100020002DD0F0"
  },
  {
    "path": "frehd/PIC Source Files/18f4620_g.lkr",
    "chars": 2603,
    "preview": "// File: 18f4620_g.lkr\r\n// Generic linker script for the PIC18F4620 processor\r\n\r\n#DEFINE _CODEEND _DEBUGCODESTART - 1\r\n#"
  },
  {
    "path": "frehd/PIC Source Files/FatFS/diskio.c",
    "chars": 17369,
    "preview": "/*-----------------------------------------------------------------------*/\r\n/* MMC/SDSC/SDHC (in SPI mode) control modu"
  },
  {
    "path": "frehd/PIC Source Files/FatFS/diskio.h",
    "chars": 2103,
    "preview": "/*-----------------------------------------------------------------------\r\n/  Low level disk interface modlue include fi"
  },
  {
    "path": "frehd/PIC Source Files/FatFS/diskio2.asm",
    "chars": 1582,
    "preview": ";;;\r\n;;; Copyright (C) 2013 Frederic Vecoven\r\n;;;\r\n;;; This file is part of trs_hard\r\n;;;\r\n;;; trs_hard is free software"
  },
  {
    "path": "frehd/PIC Source Files/FatFS/ff.c",
    "chars": 148552,
    "preview": "/*----------------------------------------------------------------------------/\r\n/  FatFs - FAT file system module  R0.0"
  },
  {
    "path": "frehd/PIC Source Files/FatFS/ff.h",
    "chars": 13102,
    "preview": "/*---------------------------------------------------------------------------/\r\n/  FatFs - FAT file system module includ"
  },
  {
    "path": "frehd/PIC Source Files/FatFS/ffconf.h",
    "chars": 7945,
    "preview": "/*---------------------------------------------------------------------------/\r\n/  FatFs - FAT file system module config"
  },
  {
    "path": "frehd/PIC Source Files/FatFS/integer.h",
    "chars": 911,
    "preview": "/*-------------------------------------------*/\r\n/* Integer type definitions for FatFs module */\r\n/*--------------------"
  },
  {
    "path": "frehd/PIC Source Files/FatFS.hex",
    "chars": 161462,
    "preview": ":020000040000FA\r\n:0400000053EF00F0CA\r\n:020006000102F5\r\n:0400080006EF04F00B\r\n:080018007F6603EF04F0F0A085\r\n:100020002DD0F0"
  },
  {
    "path": "frehd/PIC Source Files/FatFS.mcp",
    "chars": 3439,
    "preview": "[HEADER]\r\nmagic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}\r\nfile_version=1.0\r\ndevice=PIC18F4620\r\n[PATH_INFO]\r\nBuildDi"
  },
  {
    "path": "frehd/PIC Source Files/FatFS.mcs",
    "chars": 23421,
    "preview": "[Header]\r\nMagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7}\r\nVersion=1.0\r\n[File000]\r\nLocation=C:\\Documents and Settings"
  },
  {
    "path": "frehd/PIC Source Files/HardwareProfile.h",
    "chars": 3906,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/LICENSE",
    "chars": 35821,
    "preview": "                    GNU GENERAL PUBLIC LICENSE\r\n                       Version 3, 29 June 2007\r\n\r\n Copyright (C) 2007 Fr"
  },
  {
    "path": "frehd/PIC Source Files/Makefile",
    "chars": 449,
    "preview": "\r\nC_FILES = $(wildcard *.c)\r\nH_FILES = $(wildcard *.h)\r\nINC_FILES = $(wildcard *.inc)\r\nASM_FILES = $(wildcard *.asm)\r\nZ8"
  },
  {
    "path": "frehd/PIC Source Files/PIC.hex",
    "chars": 135043,
    "preview": ":020000040000FA\r\n:0400000053EF00F0CA\r\n:020006000102F5\r\n:0400080006EF04F00B\r\n:080018007F6603EF04F0F0A085\r\n:100020002DD0F0"
  },
  {
    "path": "frehd/PIC Source Files/PLDDesign.jed",
    "chars": 1553,
    "preview": "\u0002\r\nADVANCED PLD    4.0  Serial# MW-67999999\r\nDevice          p22v10  Library DLIB-h-36-17\r\nCreated         Thu Jan 19 09"
  },
  {
    "path": "frehd/PIC Source Files/action.h",
    "chars": 1212,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/bootloader.asm",
    "chars": 16986,
    "preview": ";;;\r\n;;; Copyright (C) 2013 Frederic Vecoven\r\n;;;\r\n;;; This file is part of trs_hard\r\n;;;\r\n;;; trs_hard is free software"
  },
  {
    "path": "frehd/PIC Source Files/bootloader.inc",
    "chars": 378,
    "preview": "\r\n#define PROTEUS_SIMULATOR\t0\r\n\r\n#if PROTEUS_SIMULATOR == 1\r\n#define EEPROM_CRC_ADDR\t\t0xFE\r\n#else\r\n#define EEPROM_CRC_AD"
  },
  {
    "path": "frehd/PIC Source Files/c018i.c",
    "chars": 4212,
    "preview": "\r\n/* Copyright (c)1999 Microchip Technology */\r\n\r\n/* MODDED by F. Vecoven to accommodate bootloader */\r\n\r\n/* MPLAB-C18 s"
  },
  {
    "path": "frehd/PIC Source Files/crc.inc",
    "chars": 19,
    "preview": "THECRC\tequ\t0x5c75\r\n"
  },
  {
    "path": "frehd/PIC Source Files/ds1307.c",
    "chars": 4418,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/ds1307.h",
    "chars": 1392,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/dsk.c",
    "chars": 16102,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/eeprom.c",
    "chars": 1559,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/eeprom.h",
    "chars": 921,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/generate_crc.pl",
    "chars": 4117,
    "preview": "#!/usr/bin/perl\r\n\r\n#\r\n# Copyright (C) 2013 Frederic Vecoven\r\n#\r\n# This file is part of trs_hard\r\n#\r\n# trs_hard is free s"
  },
  {
    "path": "frehd/PIC Source Files/interrupt.asm",
    "chars": 13308,
    "preview": ";;;\r\n;;; Copyright (C) 2013 Frederic Vecoven\r\n;;;\r\n;;; This file is part of trs_hard\r\n;;;\r\n;;; trs_hard is free software"
  },
  {
    "path": "frehd/PIC Source Files/led.c",
    "chars": 1519,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/led.h",
    "chars": 1194,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/loader_eeprom.asm",
    "chars": 2093,
    "preview": "loader_code CODE_PACK 0xF00000\r\n        db      0xfe, 0xfe, 0xff, 0x18, 0x02, 0x18, 0x19, 0x3a\r\n        db      0x40, 0x"
  },
  {
    "path": "frehd/PIC Source Files/main.c",
    "chars": 7028,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/reed.h",
    "chars": 2489,
    "preview": "/* Matthew Reed's hard drive format.  Thanks to Matthew for providing\r\n   documentation.  The comments below are copied "
  },
  {
    "path": "frehd/PIC Source Files/serial.c",
    "chars": 4014,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/serial.h",
    "chars": 1335,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/stdint.h",
    "chars": 1020,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/sw_i2c.c",
    "chars": 3904,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/sw_i2c.h",
    "chars": 1214,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/trs_extra.c",
    "chars": 12669,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/trs_extra.h",
    "chars": 2954,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/trs_hard.c",
    "chars": 9339,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/trs_hard.h",
    "chars": 8143,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/trs_hard_defs.h",
    "chars": 1322,
    "preview": "\r\n\r\n#ifndef _TRS_HARD_DEFS_H\r\n#define _TRS_HARD_DEFS_H\r\n\r\n#define\tTRS_HARD_BBDERR   \t\t0x80\r\n#define TRS_HARD_DATAERR  \t\t"
  },
  {
    "path": "frehd/PIC Source Files/trs_uart.c",
    "chars": 2712,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/trs_uart.h",
    "chars": 1181,
    "preview": "/*\r\n * Copyright (C) 2013 Frederic Vecoven\r\n *\r\n * This file is part of trs_hard\r\n *\r\n * trs_hard is free software; you "
  },
  {
    "path": "frehd/PIC Source Files/version.h",
    "chars": 105,
    "preview": "\r\n#ifndef _VERSION_H\r\n#define _VERSION_H\r\n\r\n#define VERSION_MAJOR\t2\r\n#define VERSION_MINOR\t14\r\n\r\n#endif\r\n"
  },
  {
    "path": "frehd/bom/REAL Part locations.txt",
    "chars": 1602,
    "preview": "Bill Of Material For wd1010_rel1.pcb\r\nOn 20-Apr-2013 at 10:46:42\r\n\r\n Comment             Pattern     Quantity  Component"
  },
  {
    "path": "frehd/dans_frehd_build_notes.txt",
    "chars": 2840,
    "preview": "Update Feb 2, 2025\r\nI made a little tool that makes adding your own files to the frehd in bulk much easier.  Check out i"
  },
  {
    "path": "frehd/gerber/BOM for wd1010_rel1.txt",
    "chars": 1583,
    "preview": "Bill Of Material For wd1010_rel1.pcb\r\nOn 20-Apr-2013 at 10:46:42\r\n\r\n Comment             Pattern     Quantity  Component"
  },
  {
    "path": "frehd/gerber/Status Report.txt",
    "chars": 722,
    "preview": "CAM Outputs Generation Report\r\nfor 'CAM Outputs for wd1010_rel1.cam'\r\nat 10:46:37 on 20-Apr-2013\r\n\r\n\r\n'NC Drill Output 1"
  },
  {
    "path": "frehd/gerber/wd1010.reg",
    "chars": 1180,
    "preview": "[Directory]\r\nStatus Report.txt=Text\r\nwd1010_rel1.DRR=Text\r\nwd1010_rel1.TXT=Text\r\nwd1010_rel1.DRL=Unknown\r\nwd1010_rel1.dr"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.DRL",
    "chars": 2453,
    "preview": "T\u0007\u0001T\u0004\b#\u0001v  2  s k\u0015\u0016#\u0002v  2  s k\u0007 #\u0013v  2  s k\u0019 #\u0004v  2  s\u0001k  #\u0015v  2  s\u0001k\u0001 #\u0016v  2  s\u0013k\u0013 #\u0007v  2  s\u0001k\u0013 \u000b# \u00017  \u0015\u0007\u0001\u00158  \u0002\u0007\u0001\b7  \u0015\b"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.DRR",
    "chars": 1193,
    "preview": "---------------------------------------------------------------------------\r\nNCDrill File Report For: wd1010_rel1.pcb   "
  },
  {
    "path": "frehd/gerber/wd1010_rel1.GBL",
    "chars": 23423,
    "preview": "%FSLAX42Y42*%\r\n%MOMM*%\r\nG71*\r\nG01*\r\nG75*\r\n%ADD10C,0.20*%\r\n%ADD11R,2.00X2.00*%\r\n%ADD12R,2.00X1.00*%\r\n%ADD13R,1.00X2.00*%\r"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.GBP",
    "chars": 629,
    "preview": "%FSLAX42Y42*%\r\n%MOMM*%\r\nG71*\r\nG01*\r\nG75*\r\n%ADD10C,0.20*%\r\n%ADD11R,2.00X2.00*%\r\n%ADD12R,2.00X1.00*%\r\n%ADD13R,1.00X2.00*%\r"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.GBS",
    "chars": 6837,
    "preview": "%FSLAX42Y42*%\r\n%MOMM*%\r\nG71*\r\nG01*\r\nG75*\r\n%ADD10C,0.20*%\r\n%ADD11R,2.00X2.00*%\r\n%ADD12R,2.00X1.00*%\r\n%ADD13R,1.00X2.00*%\r"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.GKO",
    "chars": 1179,
    "preview": "%FSLAX42Y42*%\r\n%MOMM*%\r\nG71*\r\nG01*\r\nG75*\r\n%ADD10C,0.20*%\r\n%ADD11R,2.00X2.00*%\r\n%ADD12R,2.00X1.00*%\r\n%ADD13R,1.00X2.00*%\r"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.GPB",
    "chars": 6459,
    "preview": "%FSLAX42Y42*%\r\n%MOMM*%\r\nG71*\r\nG01*\r\nG75*\r\n%ADD10C,0.20*%\r\n%ADD11R,2.00X2.00*%\r\n%ADD12R,2.00X1.00*%\r\n%ADD13R,1.00X2.00*%\r"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.GPT",
    "chars": 6807,
    "preview": "%FSLAX42Y42*%\r\n%MOMM*%\r\nG71*\r\nG01*\r\nG75*\r\n%ADD10C,0.20*%\r\n%ADD11R,2.00X2.00*%\r\n%ADD12R,2.00X1.00*%\r\n%ADD13R,1.00X2.00*%\r"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.GTL",
    "chars": 21065,
    "preview": "%FSLAX42Y42*%\r\n%MOMM*%\r\nG71*\r\nG01*\r\nG75*\r\n%ADD10C,0.20*%\r\n%ADD11R,2.00X2.00*%\r\n%ADD12R,2.00X1.00*%\r\n%ADD13R,1.00X2.00*%\r"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.GTO",
    "chars": 37343,
    "preview": "%FSLAX42Y42*%\r\n%MOMM*%\r\nG71*\r\nG01*\r\nG75*\r\n%ADD10C,0.20*%\r\n%ADD11R,2.00X2.00*%\r\n%ADD12R,2.00X1.00*%\r\n%ADD13R,1.00X2.00*%\r"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.GTP",
    "chars": 977,
    "preview": "%FSLAX42Y42*%\r\n%MOMM*%\r\nG71*\r\nG01*\r\nG75*\r\n%ADD10C,0.20*%\r\n%ADD11R,2.00X2.00*%\r\n%ADD12R,2.00X1.00*%\r\n%ADD13R,1.00X2.00*%\r"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.GTS",
    "chars": 7185,
    "preview": "%FSLAX42Y42*%\r\n%MOMM*%\r\nG71*\r\nG01*\r\nG75*\r\n%ADD10C,0.20*%\r\n%ADD11R,2.00X2.00*%\r\n%ADD12R,2.00X1.00*%\r\n%ADD13R,1.00X2.00*%\r"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.REP",
    "chars": 4328,
    "preview": "*************************************************************\r\nFileName = wd1010_rel1.GBR\r\nAutoAperture = True\r\n********"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.TXT",
    "chars": 3055,
    "preview": "M71\r\nM48\r\nT1F00S00C0.56\r\nT2F00S00C0.70\r\nT3F00S00C0.90\r\nT4F00S00C1.00\r\nT5F00S00C1.10\r\nT6F00S00C3.30\r\nT7F00S00C1.30\r\n%\r\nT0"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.apr",
    "chars": 3397,
    "preview": "D10   ROUNDED             8.000       8.000       0.000 LINE\r\nD11   RECTANGULAR        78.740      78.740       0.000 FL"
  },
  {
    "path": "frehd/gerber/wd1010_rel1.drc",
    "chars": 4290,
    "preview": "Protel Design System Design Rule Check\r\nPCB File : wd1010_rel1.pcb\r\nDate     : 20-Apr-2013\r\nTime     : 10:46:39\r\n\r\nProce"
  }
]

// ... and 204 more files (download for full content)

About this extraction

This page contains the full source code of the mudmin/AnotherMaker GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 404 files (7.4 MB), approximately 1.9M tokens, and a symbol index with 599 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!