diff --git a/mouse_pro-cache.lib b/mouse_pro-cache.lib
new file mode 100644
index 0000000000000000000000000000000000000000..0776246a24cebd6cd39b3094943810bedb402c04
--- /dev/null
+++ b/mouse_pro-cache.lib
@@ -0,0 +1,463 @@
+EESchema-LIBRARY Version 2.4
+#encoding utf-8
+#
+# Connector_Conn_01x06_Male
+#
+DEF Connector_Conn_01x06_Male J 0 40 Y N 1 F N
+F0 "J" 0 300 50 H V C CNN
+F1 "Connector_Conn_01x06_Male" 0 -400 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+$FPLIST
+ Connector*:*_1x??_*
+$ENDFPLIST
+DRAW
+S 34 -295 0 -305 1 1 6 F
+S 34 -195 0 -205 1 1 6 F
+S 34 -95 0 -105 1 1 6 F
+S 34 5 0 -5 1 1 6 F
+S 34 105 0 95 1 1 6 F
+S 34 205 0 195 1 1 6 F
+P 2 1 1 6 50 -300 34 -300 N
+P 2 1 1 6 50 -200 34 -200 N
+P 2 1 1 6 50 -100 34 -100 N
+P 2 1 1 6 50 0 34 0 N
+P 2 1 1 6 50 100 34 100 N
+P 2 1 1 6 50 200 34 200 N
+X Pin_1 1 200 200 150 L 50 50 1 1 P
+X Pin_2 2 200 100 150 L 50 50 1 1 P
+X Pin_3 3 200 0 150 L 50 50 1 1 P
+X Pin_4 4 200 -100 150 L 50 50 1 1 P
+X Pin_5 5 200 -200 150 L 50 50 1 1 P
+X Pin_6 6 200 -300 150 L 50 50 1 1 P
+ENDDRAW
+ENDDEF
+#
+# Connector_TestPoint
+#
+DEF Connector_TestPoint TP 0 30 N N 1 F N
+F0 "TP" 0 270 50 H V C CNN
+F1 "Connector_TestPoint" 0 200 50 H V C CNN
+F2 "" 200 0 50 H I C CNN
+F3 "" 200 0 50 H I C CNN
+$FPLIST
+ Pin*
+ Test*
+$ENDFPLIST
+DRAW
+C 0 130 30 0 1 0 N
+X 1 1 0 0 100 U 50 50 1 1 P
+ENDDRAW
+ENDDEF
+#
+# Connector_USB_OTG
+#
+DEF Connector_USB_OTG J 0 40 Y Y 1 F N
+F0 "J" -200 450 50 H V L CNN
+F1 "Connector_USB_OTG" -200 350 50 H V L CNN
+F2 "" 150 -50 50 H I C CNN
+F3 "" 150 -50 50 H I C CNN
+$FPLIST
+ USB*
+$ENDFPLIST
+DRAW
+C -150 85 25 0 1 10 F
+C -25 135 15 0 1 10 F
+S -200 -300 200 300 0 1 10 f
+S -5 -300 5 -270 0 1 0 N
+S 10 50 -20 20 0 1 10 F
+S 200 -205 170 -195 0 1 0 N
+S 200 -105 170 -95 0 1 0 N
+S 200 -5 170 5 0 1 0 N
+S 200 195 170 205 0 1 0 N
+P 2 0 1 10 -75 85 25 85 N
+P 4 0 1 10 -125 85 -100 85 -50 135 -25 135 N
+P 4 0 1 10 -100 85 -75 85 -50 35 0 35 N
+P 4 0 1 10 25 110 25 60 75 85 25 110 F
+P 5 0 1 0 -170 220 -70 220 -80 190 -160 190 -170 220 F
+P 9 0 1 0 -185 230 -185 220 -175 190 -175 180 -65 180 -65 190 -55 220 -55 230 -185 230 N
+X VBUS 1 300 200 100 L 50 50 1 1 P
+X D- 2 300 -100 100 L 50 50 1 1 B
+X D+ 3 300 0 100 L 50 50 1 1 B
+X ID 4 300 -200 100 L 50 50 1 1 P
+X GND 5 0 -400 100 U 50 50 1 1 P
+X Shield 6 -100 -400 100 U 50 50 1 1 P
+ENDDRAW
+ENDDEF
+#
+# Device_C
+#
+DEF Device_C C 0 10 N Y 1 F N
+F0 "C" 25 100 50 H V L CNN
+F1 "Device_C" 25 -100 50 H V L CNN
+F2 "" 38 -150 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+$FPLIST
+ C_*
+$ENDFPLIST
+DRAW
+P 2 0 1 20 -80 -30 80 -30 N
+P 2 0 1 20 -80 30 80 30 N
+X ~ 1 0 150 110 D 50 50 1 1 P
+X ~ 2 0 -150 110 U 50 50 1 1 P
+ENDDRAW
+ENDDEF
+#
+# Device_C_Small
+#
+DEF Device_C_Small C 0 10 N N 1 F N
+F0 "C" 10 70 50 H V L CNN
+F1 "Device_C_Small" 10 -80 50 H V L CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+$FPLIST
+ C_*
+$ENDFPLIST
+DRAW
+P 2 0 1 13 -60 -20 60 -20 N
+P 2 0 1 12 -60 20 60 20 N
+X ~ 1 0 100 80 D 50 50 1 1 P
+X ~ 2 0 -100 80 U 50 50 1 1 P
+ENDDRAW
+ENDDEF
+#
+# Device_Crystal
+#
+DEF Device_Crystal Y 0 40 N N 1 F N
+F0 "Y" 0 150 50 H V C CNN
+F1 "Device_Crystal" 0 -150 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+$FPLIST
+ Crystal*
+$ENDFPLIST
+DRAW
+S -45 100 45 -100 0 1 12 N
+P 2 0 1 0 -100 0 -75 0 N
+P 2 0 1 20 -75 -50 -75 50 N
+P 2 0 1 20 75 -50 75 50 N
+P 2 0 1 0 100 0 75 0 N
+X 1 1 -150 0 50 R 50 50 1 1 P
+X 2 2 150 0 50 L 50 50 1 1 P
+ENDDRAW
+ENDDEF
+#
+# Device_LED
+#
+DEF Device_LED D 0 40 N N 1 F N
+F0 "D" 0 100 50 H V C CNN
+F1 "Device_LED" 0 -100 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+$FPLIST
+ LED*
+ LED_SMD:*
+ LED_THT:*
+$ENDFPLIST
+DRAW
+P 2 0 1 10 -50 -50 -50 50 N
+P 2 0 1 0 -50 0 50 0 N
+P 4 0 1 10 50 -50 50 50 -50 0 50 -50 N
+P 5 0 1 0 -120 -30 -180 -90 -150 -90 -180 -90 -180 -60 N
+P 5 0 1 0 -70 -30 -130 -90 -100 -90 -130 -90 -130 -60 N
+X K 1 -150 0 100 R 50 50 1 1 P
+X A 2 150 0 100 L 50 50 1 1 P
+ENDDRAW
+ENDDEF
+#
+# Device_R
+#
+DEF Device_R R 0 0 N Y 1 F N
+F0 "R" 80 0 50 V V C CNN
+F1 "Device_R" 0 0 50 V V C CNN
+F2 "" -70 0 50 V I C CNN
+F3 "" 0 0 50 H I C CNN
+$FPLIST
+ R_*
+$ENDFPLIST
+DRAW
+S -40 -100 40 100 0 1 10 N
+X ~ 1 0 150 50 D 50 50 1 1 P
+X ~ 2 0 -150 50 U 50 50 1 1 P
+ENDDRAW
+ENDDEF
+#
+# Jumper_Jumper_3_Bridged12
+#
+DEF Jumper_Jumper_3_Bridged12 JP 0 0 Y N 1 F N
+F0 "JP" -100 -100 50 H V C CNN
+F1 "Jumper_Jumper_3_Bridged12" 0 110 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+$FPLIST
+ Jumper*
+ TestPoint*3Pads*
+ TestPoint*Bridge*
+$ENDFPLIST
+DRAW
+A -65 -50 89 1282 518 0 1 0 N -120 20 -10 20
+C -130 0 20 0 0 0 N
+C 0 0 20 0 0 0 N
+C 130 0 20 0 0 0 N
+P 2 0 1 0 0 -50 0 -20 N
+X A 1 -250 0 100 R 50 50 1 1 P
+X C 2 0 -150 100 U 50 50 1 1 I
+X B 3 250 0 100 L 50 50 1 1 P
+ENDDRAW
+ENDDEF
+#
+# MCU_ST_STM32F4_STM32F411RETx
+#
+DEF MCU_ST_STM32F4_STM32F411RETx U 0 20 Y Y 1 F N
+F0 "U" -600 1650 50 H V L CNN
+F1 "MCU_ST_STM32F4_STM32F411RETx" 400 1650 50 H V L CNN
+F2 "Package_QFP:LQFP-64_10x10mm_P0.5mm" -600 -1700 50 H I R CNN
+F3 "" 0 0 50 H I C CNN
+ALIAS STM32F411RETx
+$FPLIST
+ LQFP*10x10mm*P0.5mm*
+$ENDFPLIST
+DRAW
+S -600 -1700 600 1600 0 1 10 f
+X VBAT 1 -200 1700 100 D 50 50 1 1 W
+X PC2 10 -700 -300 100 R 50 50 1 1 B
+X PC3 11 -700 -400 100 R 50 50 1 1 B
+X VSSA 12 200 -1800 100 U 50 50 1 1 W
+X VDDA 13 300 1700 100 D 50 50 1 1 W
+X PA0 14 700 1500 100 L 50 50 1 1 B
+X PA1 15 700 1400 100 L 50 50 1 1 B
+X PA2 16 700 1300 100 L 50 50 1 1 B
+X PA3 17 700 1200 100 L 50 50 1 1 B
+X VSS 18 -200 -1800 100 U 50 50 1 1 W
+X VDD 19 -100 1700 100 D 50 50 1 1 W
+X PC13 2 -700 -1400 100 R 50 50 1 1 B
+X PA4 20 700 1100 100 L 50 50 1 1 B
+X PA5 21 700 1000 100 L 50 50 1 1 B
+X PA6 22 700 900 100 L 50 50 1 1 B
+X PA7 23 700 800 100 L 50 50 1 1 B
+X PC4 24 -700 -500 100 R 50 50 1 1 B
+X PC5 25 -700 -600 100 R 50 50 1 1 B
+X PB0 26 700 -200 100 L 50 50 1 1 B
+X PB1 27 700 -300 100 L 50 50 1 1 B
+X PB2 28 700 -400 100 L 50 50 1 1 B
+X PB10 29 700 -1200 100 L 50 50 1 1 B
+X PC14 3 -700 -1500 100 R 50 50 1 1 B
+X VCAP1 30 -700 1100 100 R 50 50 1 1 W
+X VSS 31 -100 -1800 100 U 50 50 1 1 W
+X VDD 32 0 1700 100 D 50 50 1 1 W
+X PB12 33 700 -1300 100 L 50 50 1 1 B
+X PB13 34 700 -1400 100 L 50 50 1 1 B
+X PB14 35 700 -1500 100 L 50 50 1 1 B
+X PB15 36 700 -1600 100 L 50 50 1 1 B
+X PC6 37 -700 -700 100 R 50 50 1 1 B
+X PC7 38 -700 -800 100 R 50 50 1 1 B
+X PC8 39 -700 -900 100 R 50 50 1 1 B
+X PC15 4 -700 -1600 100 R 50 50 1 1 B
+X PC9 40 -700 -1000 100 R 50 50 1 1 B
+X PA8 41 700 700 100 L 50 50 1 1 B
+X PA9 42 700 600 100 L 50 50 1 1 B
+X PA10 43 700 500 100 L 50 50 1 1 B
+X PA11 44 700 400 100 L 50 50 1 1 B
+X PA12 45 700 300 100 L 50 50 1 1 B
+X PA13 46 700 200 100 L 50 50 1 1 B
+X VSS 47 0 -1800 100 U 50 50 1 1 W
+X VDD 48 100 1700 100 D 50 50 1 1 W
+X PA14 49 700 100 100 L 50 50 1 1 B
+X PH0 5 -700 400 100 R 50 50 1 1 I
+X PA15 50 700 0 100 L 50 50 1 1 B
+X PC10 51 -700 -1100 100 R 50 50 1 1 B
+X PC11 52 -700 -1200 100 R 50 50 1 1 B
+X PC12 53 -700 -1300 100 R 50 50 1 1 B
+X PD2 54 -700 100 100 R 50 50 1 1 B
+X PB3 55 700 -500 100 L 50 50 1 1 B
+X PB4 56 700 -600 100 L 50 50 1 1 B
+X PB5 57 700 -700 100 L 50 50 1 1 B
+X PB6 58 700 -800 100 L 50 50 1 1 B
+X PB7 59 700 -900 100 L 50 50 1 1 B
+X PH1 6 -700 300 100 R 50 50 1 1 I
+X BOOT0 60 -700 1300 100 R 50 50 1 1 I
+X PB8 61 700 -1000 100 L 50 50 1 1 B
+X PB9 62 700 -1100 100 L 50 50 1 1 B
+X VSS 63 100 -1800 100 U 50 50 1 1 W
+X VDD 64 200 1700 100 D 50 50 1 1 W
+X NRST 7 -700 1500 100 R 50 50 1 1 I
+X PC0 8 -700 -100 100 R 50 50 1 1 B
+X PC1 9 -700 -200 100 R 50 50 1 1 B
+ENDDRAW
+ENDDEF
+#
+# MyMouse_PWM3389
+#
+DEF MyMouse_PWM3389 U 0 40 Y Y 1 F N
+F0 "U" -300 500 50 H V C CNN
+F1 "MyMouse_PWM3389" 150 -400 50 H V C CNN
+F2 "" 150 -400 50 H I C CNN
+F3 "" 150 -400 50 H I C CNN
+DRAW
+S -350 450 300 -350 0 1 0 f
+X NC 1 -450 400 100 R 50 50 1 1 N
+X SCLK 10 400 -200 100 L 50 50 1 1 I
+X MOSI 11 400 -100 100 L 50 50 1 1 I
+X MISO 12 400 0 100 L 50 50 1 1 O
+X NCS 13 400 100 100 L 50 50 1 1 I
+X NC 14 400 200 100 L 50 50 1 1 N
+X LED_P 15 400 300 100 L 50 50 1 1 I
+X NC 16 400 400 100 L 50 50 1 1 N
+X NC 2 -450 300 100 R 50 50 1 1 N
+X VDCPIX 3 -450 200 100 R 50 50 1 1 w
+X VDD 4 -450 100 100 R 50 50 1 1 W
+X VDDIO 5 -450 0 100 R 50 50 1 1 W
+X NCGPO 6 -450 -100 100 R 50 50 1 1 O
+X NRESET 7 -450 -200 100 R 50 50 1 1 I
+X GND 8 -450 -300 100 R 50 50 1 1 w
+X MOTION 9 400 -300 100 L 50 50 1 1 O
+ENDDRAW
+ENDDEF
+#
+# Regulator_Linear_IFX27001TFV33
+#
+DEF Regulator_Linear_IFX27001TFV33 U 0 20 Y Y 1 F N
+F0 "U" 0 250 50 H V C CNN
+F1 "Regulator_Linear_IFX27001TFV33" 0 150 50 H V C CNN
+F2 "Package_TO_SOT_SMD:TO-252-3_TabPin2" 0 -50 50 H I C CNN
+F3 "" 0 -50 50 H I C CNN
+ALIAS IFX27001TFV18 IFX27001TFV26 IFX27001TFV33 IFX27001TFV50
+$FPLIST
+ TO?252*
+$ENDFPLIST
+DRAW
+S -200 100 200 -200 1 1 10 f
+X GND 1 0 -300 100 U 50 50 1 1 W
+X Q 2 300 0 100 L 50 50 1 1 w
+X I 3 -300 0 100 R 50 50 1 1 W
+ENDDRAW
+ENDDEF
+#
+# Regulator_Linear_MIC5205-5.0YM5
+#
+DEF Regulator_Linear_MIC5205-5.0YM5 U 0 10 Y Y 1 F N
+F0 "U" -150 225 50 H V C CNN
+F1 "Regulator_Linear_MIC5205-5.0YM5" 0 225 50 H V L CNN
+F2 "Package_TO_SOT_SMD:SOT-23-5" 0 325 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+ALIAS AP131-18 AP131-20 AP131-25 AP131-28 AP131-29 AP131-30 AP131-33 AP131-35 MIC5205-2.5YM5 MIC5205-2.7YM5 MIC5205-2.8YM5 MIC5205-2.85YM5 MIC5205-2.9YM5 MIC5205-3.0YM5 MIC5205-3.1YM5 MIC5205-3.2YM5 MIC5205-3.3YM5 MIC5205-3.6YM5 MIC5205-3.8YM5 MIC5205-4.0YM5 MIC5205-5.0YM5 MIC5219-2.5YM5 MIC5219-2.6YM5 MIC5219-2.7YM5 MIC5219-2.8YM5 MIC5219-2.85YM5 MIC5219-2.9YM5 MIC5219-3.0YM5 MIC5219-3.1YM5 MIC5219-3.3YM5 MIC5219-3.6YM5 MIC5219-5.0YM5 SPX3819M5-L-1-2 SPX3819M5-L-1-5 SPX3819M5-L-1-8 SPX3819M5-L-2-5 SPX3819M5-L-3-0 SPX3819M5-L-3-3 SPX3819M5-L-5-0
+$FPLIST
+ SOT?23*
+$ENDFPLIST
+DRAW
+S -200 175 200 -200 0 1 10 f
+X IN 1 -300 100 100 R 50 50 1 1 W
+X GND 2 0 -300 100 U 50 50 1 1 W
+X EN 3 -300 0 100 R 50 50 1 1 I
+X BP 4 300 0 100 L 50 50 1 1 I
+X OUT 5 300 100 100 L 50 50 1 1 w
+ENDDRAW
+ENDDEF
+#
+# Switch_SW_Push
+#
+DEF Switch_SW_Push SW 0 40 N N 1 F N
+F0 "SW" 50 100 50 H V L CNN
+F1 "Switch_SW_Push" 0 -60 50 H V C CNN
+F2 "" 0 200 50 H I C CNN
+F3 "" 0 200 50 H I C CNN
+DRAW
+C -80 0 20 0 1 0 N
+C 80 0 20 0 1 0 N
+P 2 0 1 0 0 50 0 120 N
+P 2 0 1 0 100 50 -100 50 N
+X 1 1 -200 0 100 R 50 50 0 1 P
+X 2 2 200 0 100 L 50 50 0 1 P
+ENDDRAW
+ENDDEF
+#
+# power_+3.3V
+#
+DEF power_+3.3V #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 -150 50 H I C CNN
+F1 "power_+3.3V" 0 140 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+DRAW
+P 2 0 1 0 -30 50 0 100 N
+P 2 0 1 0 0 0 0 100 N
+P 2 0 1 0 0 100 30 50 N
+X +3V3 1 0 0 0 U 50 50 1 1 W N
+ENDDRAW
+ENDDEF
+#
+# power_+3V3
+#
+DEF power_+3V3 #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 -150 50 H I C CNN
+F1 "power_+3V3" 0 140 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+ALIAS +3.3V
+DRAW
+P 2 0 1 0 -30 50 0 100 N
+P 2 0 1 0 0 0 0 100 N
+P 2 0 1 0 0 100 30 50 N
+X +3V3 1 0 0 0 U 50 50 1 1 W N
+ENDDRAW
+ENDDEF
+#
+# power_+5V
+#
+DEF power_+5V #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 -150 50 H I C CNN
+F1 "power_+5V" 0 140 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+DRAW
+P 2 0 1 0 -30 50 0 100 N
+P 2 0 1 0 0 0 0 100 N
+P 2 0 1 0 0 100 30 50 N
+X +5V 1 0 0 0 U 50 50 1 1 W N
+ENDDRAW
+ENDDEF
+#
+# power_GND
+#
+DEF power_GND #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 -250 50 H I C CNN
+F1 "power_GND" 0 -150 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+DRAW
+P 6 0 1 0 0 0 0 -50 50 -50 0 -100 -50 -50 0 -50 N
+X GND 1 0 0 0 D 50 50 1 1 W N
+ENDDRAW
+ENDDEF
+#
+# power_VCC
+#
+DEF power_VCC #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 -150 50 H I C CNN
+F1 "power_VCC" 0 150 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+DRAW
+P 2 0 1 0 -30 50 0 100 N
+P 2 0 1 0 0 0 0 100 N
+P 2 0 1 0 0 100 30 50 N
+X VCC 1 0 0 0 U 50 50 1 1 W N
+ENDDRAW
+ENDDEF
+#
+# power_VDD
+#
+DEF power_VDD #PWR 0 0 Y Y 1 F P
+F0 "#PWR" 0 -150 50 H I C CNN
+F1 "power_VDD" 0 150 50 H V C CNN
+F2 "" 0 0 50 H I C CNN
+F3 "" 0 0 50 H I C CNN
+DRAW
+P 2 0 1 0 -30 50 0 100 N
+P 2 0 1 0 0 0 0 100 N
+P 2 0 1 0 0 100 30 50 N
+X VDD 1 0 0 0 U 50 50 1 1 W N
+ENDDRAW
+ENDDEF
+#
+#End Library