diff --git a/README.md b/README.md
index df8c4413a1040fe032a922fa8f33cf0fb20c1495..16aa08fd5de33be2848f63459a75c32e96b973ff 100644
--- a/README.md
+++ b/README.md
@@ -334,4 +334,16 @@
 - Export
 - ![](journal_media/attempt5_2d.png)
 - ![](journal_media/attempt5_3d.png)
-- ![](journal_media/attempt5_router.png)
\ No newline at end of file
+- ![](journal_media/attempt5_router.png)
+  
+- Consider success when export for auto-routing manually. Huge challenge expected when doing it from script.
+
+- Work on script doing schematic design
+  - *Assume symbol and footprint downloaded*
+  - Package Using: [skidl](https://xesscorp.github.io/skidl/docs/_site/)
+  - Record of Tips:
+      - Add custom library path that contains all symbols of electrical devices needed (`NodeMCU`)
+      - Use attribute `footprint` to add footprint for such symbol
+      - footprint syntax: 'footprint= libname.pretty: foot_print_name
+      - footprint directory should be under the same directory where `.lib` file is.
+      - 
\ No newline at end of file
diff --git a/__init__.erc b/__init__.erc
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/__init__.log b/__init__.log
new file mode 100644
index 0000000000000000000000000000000000000000..c3ee096544ba04e0e5712de4079a344f148734ad
--- /dev/null
+++ b/__init__.log
@@ -0,0 +1,20 @@
+WARNING: Could not open directory ''
+WARNING: Could not open directory ''
+WARNING: Could not open directory ''
+ERROR: Unable to find part NodeMCU_1.0 in library ESP8266.
+ERROR: Can't open file: linear.
+
+WARNING: Could not load KiCad schematic library "linear", falling back to backup library.
+ERROR: Unable to find part NodeMCU_1.0 in library ESP8266.lib.
+ERROR: Can't open file: /home/jingyan/kicad/libraries/kicad-ESP8266.
+
+WARNING: Could not load KiCad schematic library "/home/jingyan/kicad/libraries/kicad-ESP8266", falling back to backup library.
+WARNING: Could not open directory ''
+ERROR: Unable to find part NodeMCU_1.0_(ESP-12E) in library ESP8266.
+WARNING: Could not open directory ''
+WARNING: Could not open directory ''
+ERROR: Unable to find part NodeMCU_1.0_ in library ESP8266.
+WARNING: Could not open directory ''
+WARNING: Could not open directory ''
+WARNING: Could not open directory ''
+WARNING: Could not open directory ''
diff --git a/journal_media/dotnetfile.png b/journal_media/dotnetfile.png
new file mode 100644
index 0000000000000000000000000000000000000000..7cce9bbc21fd536a60d136c8ac24f77c241a9431
Binary files /dev/null and b/journal_media/dotnetfile.png differ
diff --git a/journal_media/sample_routed.png b/journal_media/sample_routed.png
new file mode 100644
index 0000000000000000000000000000000000000000..75a7ecf0e6731b760c6ebe0c5fd14b51cc33e8f5
Binary files /dev/null and b/journal_media/sample_routed.png differ
diff --git a/journal_media/schematic_script.png b/journal_media/schematic_script.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e8d40a65886a519d8743509f1999fc281281354
Binary files /dev/null and b/journal_media/schematic_script.png differ
diff --git a/kicad_python.erc b/kicad_python.erc
new file mode 100644
index 0000000000000000000000000000000000000000..89b00913dbdca663896ead719d10e8dac10ee639
--- /dev/null
+++ b/kicad_python.erc
@@ -0,0 +1,35 @@
+ERC ERROR: Pin conflict on net 3v3: POWER-OUT pin 25/3.3V of NodeMCU_1.0_/U1 <==> POWER-OUT pin 11/3.3V of NodeMCU_1.0_/U1
+ERC ERROR: Pin conflict on net 3v3: POWER-OUT pin 25/3.3V of NodeMCU_1.0_/U1 <==> POWER-OUT pin 16/3.3V of NodeMCU_1.0_/U1
+ERC ERROR: Pin conflict on net 3v3: POWER-OUT pin 11/3.3V of NodeMCU_1.0_/U1 <==> POWER-OUT pin 16/3.3V of NodeMCU_1.0_/U1
+ERC WARNING: Only one pin (POWER-IN pin 15/VIN of NodeMCU_1.0_/U1) attached to net VIN.
+ERC WARNING: No drivers for net VIN
+ERC WARNING: Insufficient drive current on net VIN for pin POWER-IN pin 15/VIN of NodeMCU_1.0_/U1
+ERC WARNING: Insufficient drive current on net GND for pin POWER-IN pin 17/GND of NodeMCU_1.0_/U1
+ERC WARNING: Insufficient drive current on net GND for pin POWER-IN pin 14/GND of NodeMCU_1.0_/U1
+ERC WARNING: Insufficient drive current on net GND for pin POWER-IN pin 24/GND of NodeMCU_1.0_/U1
+ERC WARNING: Unconnected pin: INPUT pin 1/A0(ADC0) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: INPUT pin 12/EN of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: INPUT pin 13/RST of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 18/TX(GPIO1) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 19/RX(DPIO3) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: INPUT pin 2/RSV of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 20/D8(GPIO15) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 21/D7(GPIO13) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 26/D4(GPIO2) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 27/D3(GPIO0) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 28/D2(GPIO4) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 29/D1(GPIO5) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: INPUT pin 3/RSV of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 30/D0(GPIO16) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 4/SD3(GPIO10) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 5/SD2(GPIO9) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 6/SD1(MOSI) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 7/CMD(CS) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 8/SDO(MISO) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: BIDIRECTIONAL pin 9/CLK(SCLK) of NodeMCU_1.0_/U1.
+ERC WARNING: Unconnected pin: PASSIVE pin 10/FSYNC of MPU-9250/J1.
+ERC WARNING: Unconnected pin: PASSIVE pin 5/EDA of MPU-9250/J1.
+ERC WARNING: Unconnected pin: PASSIVE pin 6/ECL of MPU-9250/J1.
+ERC WARNING: Unconnected pin: PASSIVE pin 7/ADO of MPU-9250/J1.
+ERC WARNING: Unconnected pin: PASSIVE pin 8/INT of MPU-9250/J1.
+ERC WARNING: Unconnected pin: PASSIVE pin 9/NCS of MPU-9250/J1.
diff --git a/kicad_python.log b/kicad_python.log
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/kicad_python.net b/kicad_python.net
new file mode 100644
index 0000000000000000000000000000000000000000..b3e6821a6bc3bda0dd1dfbf1a926804453facb3b
--- /dev/null
+++ b/kicad_python.net
@@ -0,0 +1,59 @@
+(export (version D)
+  (design
+    (source "/home/jingyan/Documents/summer_intern_lemur/roco_electrical/kicad_python.py")
+    (date "07/16/2019 04:59 PM")
+    (tool "SKiDL (0.0.26)"))
+  (components
+    (comp (ref J1)
+      (value MPU-9250)
+      (footprint node_mcu:mpu-9250)
+      (fields
+        (field (name keywords) connector))
+      (libsource (lib ESP8266) (part MPU-9250))
+      (sheetpath (names /top/9860840872559336476) (tstamps /top/9860840872559336476)))
+    (comp (ref R1)
+      (value 1K)
+      (footprint Resistor_SMD:R_0402_1005Metric)
+      (fields
+        (field (name keywords) "R res resistor")
+        (field (name description) Resistor))
+      (libsource (lib ESP8266) (part 1000))
+      (sheetpath (names /top/5624726637527145165) (tstamps /top/5624726637527145165)))
+    (comp (ref R2)
+      (value 1K)
+      (footprint Resistor_SMD:R_0402_1005Metric)
+      (fields
+        (field (name keywords) "R res resistor")
+        (field (name description) Resistor))
+      (libsource (lib ESP8266) (part 1000))
+      (sheetpath (names /top/17050391654246193540) (tstamps /top/17050391654246193540)))
+    (comp (ref U1)
+      (value NodeMCU_1.0_)
+      (footprint node_mcu:ESP12F-Devkit-V3)
+      (libsource (lib ESP8266) (part NodeMCU_1.0_))
+      (sheetpath (names /top/8700831890441039016) (tstamps /top/8700831890441039016))))
+  (nets
+    (net (code 0) (name 3v3)
+      (node (ref J1) (pin 1))
+      (node (ref R1) (pin 1))
+      (node (ref R2) (pin 1))
+      (node (ref U1) (pin 11))
+      (node (ref U1) (pin 16))
+      (node (ref U1) (pin 25)))
+    (net (code 1) (name GND)
+      (node (ref J1) (pin 2))
+      (node (ref U1) (pin 10))
+      (node (ref U1) (pin 14))
+      (node (ref U1) (pin 17))
+      (node (ref U1) (pin 24)))
+    (net (code 2) (name N$1)
+      (node (ref J1) (pin 4))
+      (node (ref R1) (pin 2))
+      (node (ref U1) (pin 23)))
+    (net (code 3) (name N$2)
+      (node (ref J1) (pin 3))
+      (node (ref R2) (pin 2))
+      (node (ref U1) (pin 22)))
+    (net (code 4) (name VIN)
+      (node (ref U1) (pin 15))))
+)
diff --git a/kicad_python.py b/kicad_python.py
new file mode 100644
index 0000000000000000000000000000000000000000..082f13cf4a9e65ebf26a97179b56e43bfde16be4
--- /dev/null
+++ b/kicad_python.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python3
+
+"""
+python 3.6.8
+"""
+import pcbnew
+import skidl
+import csv
+
+class schematic():
+    def __init__(self,lib_path):
+        skidl.lib_search_paths['kicad'].append(lib_path)
+        ## load symbol of all parts
+        self.esp8826=skidl.Part('ESP8266','NodeMCU_1.0_',footprint='ESP8266.pretty:ESP12F-Devkit-V3')
+        self.mpu9250=skidl.Part('ESP8266','MPU-9250',footprint='ESP8266.pretty:mpu-9250')
+        self.resistor1=skidl.Part('ESP8266','1000',value='1K',footprint='Resistor_SMD.pretty:R_0402_1005Metric',ref='R1')
+        self.resistor2=skidl.Part('ESP8266','1000',value='1K',footprint='Resistor_SMD.pretty:R_0402_1005Metric',ref='R2')
+    
+        self.connect_pins()
+
+        skidl.generate_netlist()
+    def connect_pins(self):
+        
+        v33=skidl.Net('3v3')
+        v5=skidl.Net('VIN')
+        gnd=skidl.Net('GND')
+
+        self.resistor1[1]+=v33
+        self.resistor2[1]+=v33
+        
+        v5+=self.esp8826['VIN']
+        v33+=self.esp8826['3.3v']
+        gnd+=self.esp8826['GND']
+        self.esp8826['D5']+=self.resistor1[2]
+        self.esp8826['D6']+=self.resistor2[2]
+
+        self.mpu9250['SDA']+=self.resistor1[2]
+        self.mpu9250['SCL']+=self.resistor2[2]
+        self.mpu9250['GND']+=gnd
+        self.mpu9250['VCC']+=v33
+
+        skidl.ERC()
+
+
+
+lib_path='/home/jingyan/kicad/libraries/kicad-ESP8266'
+net_generator=schematic(lib_path)
diff --git a/kicad_python_lib_sklib.py b/kicad_python_lib_sklib.py
new file mode 100644
index 0000000000000000000000000000000000000000..0a44b77d2fffc4878cc20997c34f70c652b0d15c
--- /dev/null
+++ b/kicad_python_lib_sklib.py
@@ -0,0 +1,50 @@
+from skidl import Pin, Part, SchLib, SKIDL, TEMPLATE
+
+SKIDL_lib_version = '0.0.1'
+
+kicad_python_lib = SchLib(tool=SKIDL).add_parts(*[
+        Part(name='NodeMCU_1.0_',dest=TEMPLATE,tool=SKIDL,ref_prefix='U',num_units=1,do_erc=True,footprint='node_mcu:ESP12F-Devkit-V3',pins=[
+            Pin(num='1',name='A0(ADC0)',do_erc=True),
+            Pin(num='10',name='GND',do_erc=True),
+            Pin(num='11',name='3.3V',func=Pin.PWROUT,do_erc=True),
+            Pin(num='12',name='EN',do_erc=True),
+            Pin(num='13',name='RST',do_erc=True),
+            Pin(num='14',name='GND',func=Pin.PWRIN,do_erc=True),
+            Pin(num='15',name='VIN',func=Pin.PWRIN,do_erc=True),
+            Pin(num='16',name='3.3V',func=Pin.PWROUT,do_erc=True),
+            Pin(num='17',name='GND',func=Pin.PWRIN,do_erc=True),
+            Pin(num='18',name='TX(GPIO1)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='19',name='RX(DPIO3)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='2',name='RSV',do_erc=True),
+            Pin(num='20',name='D8(GPIO15)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='21',name='D7(GPIO13)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='22',name='D6(GPIO12)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='23',name='D5(GPIO14)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='24',name='GND',func=Pin.PWRIN,do_erc=True),
+            Pin(num='25',name='3.3V',func=Pin.PWROUT,do_erc=True),
+            Pin(num='26',name='D4(GPIO2)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='27',name='D3(GPIO0)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='28',name='D2(GPIO4)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='29',name='D1(GPIO5)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='3',name='RSV',do_erc=True),
+            Pin(num='30',name='D0(GPIO16)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='4',name='SD3(GPIO10)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='5',name='SD2(GPIO9)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='6',name='SD1(MOSI)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='7',name='CMD(CS)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='8',name='SDO(MISO)',func=Pin.BIDIR,do_erc=True),
+            Pin(num='9',name='CLK(SCLK)',func=Pin.BIDIR,do_erc=True)]),
+        Part(name='MPU-9250',dest=TEMPLATE,tool=SKIDL,keywords='connector',ref_prefix='J',num_units=1,fplist=['Connector*:*_1x??_*'],do_erc=True,footprint='node_mcu:mpu-9250',pins=[
+            Pin(num='1',name='VCC',func=Pin.PWRIN,do_erc=True),
+            Pin(num='10',name='FSYNC',func=Pin.PASSIVE,do_erc=True),
+            Pin(num='2',name='GND',func=Pin.PASSIVE,do_erc=True),
+            Pin(num='3',name='SCL',func=Pin.PASSIVE,do_erc=True),
+            Pin(num='4',name='SDA',func=Pin.PASSIVE,do_erc=True),
+            Pin(num='5',name='EDA',func=Pin.PASSIVE,do_erc=True),
+            Pin(num='6',name='ECL',func=Pin.PASSIVE,do_erc=True),
+            Pin(num='7',name='ADO',func=Pin.PASSIVE,do_erc=True),
+            Pin(num='8',name='INT',func=Pin.PASSIVE,do_erc=True),
+            Pin(num='9',name='NCS',func=Pin.PASSIVE,do_erc=True)]),
+        Part(name='1000',dest=TEMPLATE,tool=SKIDL,keywords='R res resistor',description='Resistor',ref_prefix='R',num_units=1,fplist=['R_*'],do_erc=True,footprint='Resistor_SMD:R_0402_1005Metric',pins=[
+            Pin(num='1',name='~',func=Pin.PASSIVE,do_erc=True),
+            Pin(num='2',name='~',func=Pin.PASSIVE,do_erc=True)])])
\ No newline at end of file