Compare commits
74 commits
firmware-0
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
461b816115 | ||
1c0beb58aa | |||
bcfd9d74ee | |||
58dc9f4ff0 | |||
42432a3de3 | |||
368ec7a8b3 | |||
a690758476 | |||
d2e264db56 | |||
56d9756744 | |||
562d46a2e2 | |||
14f752413f | |||
df69103dff | |||
c78dc3368f | |||
b74d0c88ca | |||
c59f790c15 | |||
1a1fd39ffa | |||
9687cfe00d | |||
3a5c0cbfa8 | |||
7a5baf009b | |||
6554c0ae0a | |||
f32e16d28b | |||
76c1bf08d6 | |||
8ac87db926 | |||
78632d1d65 | |||
01887c16de | |||
2b67376b57 | |||
619ad570f4 | |||
6688cc788a | |||
d53cd91215 | |||
d046348ba9 | |||
3bc4ca4ce0 | |||
b260895de0 | |||
4036c5742c | |||
d6989ebe6d | |||
b245359a42 | |||
5e567e9256 | |||
c5e51ae070 | |||
56ec6cf87f | |||
3c441946fb | |||
24b7449580 | |||
1d249fce0f | |||
8640c29000 | |||
391d5816ae | |||
eb98ba4abb | |||
de6dde5f9a | |||
7e5bd28746 | |||
e5e13bbae3 | |||
20c4dcc397 | |||
d0a377dcca | |||
25d95b742f | |||
8876bbd4e8 | |||
3e29487286 | |||
362ebc7077 | |||
55d4cfb4b5 | |||
54c7e84de7 | |||
806aa2d057 | |||
0354a7cfbf | |||
f8523e1577 | |||
37e0b33cf3 | |||
a51cd81651 | |||
54fec62a3e | |||
e1fcb09ae7 | |||
1b1c0ce391 | |||
d6bd0f7638 | |||
a0f3db9a77 | |||
064db734d5 | |||
f5dc0b161a | |||
25bf84ee1e | |||
bacb48a918 | |||
1d667bd665 | |||
4fc9f62a26 | |||
f4556f75d4 | |||
52abf8e483 | |||
cbc20586c4 |
|
@ -71,16 +71,16 @@ void setup() {
|
|||
|
||||
|
||||
// set all OUTPUT to low
|
||||
digitalWrite(PinFAN, LOW);
|
||||
digitalWrite(PinFAN, HIGH);
|
||||
digitalWrite(PINwaterlevel, LOW);
|
||||
digitalWrite(PinLED, LOW);
|
||||
digitalWrite(PinPUMP, LOW);
|
||||
digitalWrite(PinLED, HIGH);
|
||||
digitalWrite(PinPUMP, HIGH);
|
||||
// except PINsoilmoisture
|
||||
// PINsoilmoisture is always HIGH and gets LOW in moment of waterlevel measurement
|
||||
digitalWrite(PINsoilmoisture, LOW);
|
||||
|
||||
// set PWM frequency to 2.2KHz
|
||||
analogWriteFreq(2200);
|
||||
// set PWM frequency to 13.37KHz
|
||||
analogWriteFreq(13370);
|
||||
|
||||
// Start EEPROM
|
||||
EEPROM.begin(512);
|
||||
|
@ -100,7 +100,7 @@ void setup() {
|
|||
Serial.println(":: initialise I2C ::");
|
||||
// initialise Wire for I2C
|
||||
Wire.begin();
|
||||
|
||||
Wire.setClockStretchLimit(2500);
|
||||
Serial.println(":: initialise display ::");
|
||||
// initialise I2C display
|
||||
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Address 0x3C for 128x64
|
||||
|
@ -239,7 +239,7 @@ void loop() {
|
|||
controlLED();
|
||||
}
|
||||
|
||||
|
||||
controlPUMP();
|
||||
|
||||
displayScreens();
|
||||
|
||||
|
@ -265,7 +265,7 @@ void loop() {
|
|||
* - re-organize EEPROM saved values.
|
||||
* - prevent GrowStart to be in the future
|
||||
* - maybe let the user configure some screens to display.
|
||||
*
|
||||
* - put EEPROM adresses into DEFINEs
|
||||
*/
|
||||
|
||||
|
||||
|
@ -273,6 +273,14 @@ void loop() {
|
|||
|
||||
|
||||
|
||||
/*
|
||||
* Fan control
|
||||
*
|
||||
* Vars:
|
||||
* - FanVent (byte) Fan1 or Fan2
|
||||
* - FanExhaust (byte) Fan1 or Fan2
|
||||
* -
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -74,6 +74,9 @@ a:active {
|
|||
width: 42px;
|
||||
}
|
||||
|
||||
.helpbox {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
.nav {
|
||||
background: #333;
|
||||
width: 100%;
|
||||
|
@ -210,8 +213,8 @@ const char HTMLhelp[] PROGMEM = R"EOF(
|
|||
<h2>❓ Help</h2>
|
||||
Here you will get some helpful help.
|
||||
<h3>API</h3>
|
||||
Sensor data: <code>GET /api/sensors</code>
|
||||
Debug all data: <code>GET /api/debug</code>
|
||||
<a href='/api/sensors' target='_blank'>Sensor data</a>: <code>GET /api/sensors</code><br>
|
||||
<a href='/api/debug' target='_blank'>Debug all data:</a> <code>GET /api/debug</code>
|
||||
)EOF";
|
||||
|
||||
|
||||
|
@ -505,10 +508,10 @@ const char HTMLgauge[] PROGMEM = R"EOF(
|
|||
|
||||
const char HTMLupdate[] PROGMEM = R"EOF(
|
||||
<p>You find the latest CanGrow firmware version on the <a href='https://git.la10cy.net/DeltaLima/CanGrow/releases' target='_blank'>release page</a> of the git repository.</p>
|
||||
<form method='POST' action='/system/applyUpdate' enctype='multipart/form-data'>
|
||||
<form method='POST' action='/system/applyUpdate' enctype='multipart/form-data' onsubmit="document.getElementById('divUploading').style.display = '';">
|
||||
<b>Select .bin file:</b><br>
|
||||
<input type='file' accept='.bin,.bin.gz' name='firmware'>
|
||||
<input type='submit' value='Update Firmware' onclick="document.getElementById('divUploading').style.display = '';">
|
||||
<input type='file' accept='.bin,.bin.gz' name='firmware' required>
|
||||
<input type='submit' value='Update Firmware'>
|
||||
</form>
|
||||
<div id='divUploading' style='display: none;' class='warnmsg'>🛜 Uploading, please wait...<div>
|
||||
)EOF";
|
||||
|
|
|
@ -19,7 +19,7 @@ const bool APhidden = false;
|
|||
*/
|
||||
|
||||
// valSoilmoisture - contains the value of getSoilmoisture()
|
||||
byte valSoilmoisture;
|
||||
unsigned short valSoilmoisture;
|
||||
// valTemperature - contains the value of getTemperature()
|
||||
float valTemperature;
|
||||
// valTemperature - contains the value of getHumidity()
|
||||
|
@ -38,6 +38,18 @@ byte ScreenIterationPassed = 0;
|
|||
bool MaintenanceMode = false;
|
||||
unsigned long MaintenanceStarted = 0;
|
||||
|
||||
// helper variable to remember how many seconds the pump was
|
||||
// already on within the actual watering cycle
|
||||
byte PumpOnTimePassed = 0;
|
||||
bool PumpOnManual = false;
|
||||
|
||||
// helper variable for pump control with soilmoisture
|
||||
// average of last readings
|
||||
unsigned short valSoilmoistureAvg = 0;
|
||||
unsigned short valSoilmoistureAvg_tmp = 0;
|
||||
byte valSoilmoistureAvg_count = 0;
|
||||
//unsigned short
|
||||
|
||||
/*
|
||||
* millis timer
|
||||
*
|
||||
|
@ -79,12 +91,14 @@ short NtpOffset;
|
|||
// 2: I2C chirp sensor from catnip electronics
|
||||
byte MoistureSensor_Type;
|
||||
// SoilmoistureLow - contains the value , when soil moisture is assumed to be low,
|
||||
byte SoilmoistureLow = 20;
|
||||
byte SoilmoistureLow = 80;
|
||||
// UsePump - is the pump used? bool
|
||||
bool UsePump;
|
||||
// PumpMode (short) 1: Pump on every n days, 2: Pump on when Soilmoisture <= SoilmoistureLow, 3: Both
|
||||
byte UsePump;
|
||||
// UseFan - is the fan used? bool
|
||||
// PumpOnTime in seconds
|
||||
byte PumpOnTime = 3;
|
||||
bool UseFan;
|
||||
byte UseFan;
|
||||
// In case the user uses no 12V LED on the LED output and an relais instead
|
||||
// we have to disable PWM. So we ask here for what kind of light user is going
|
||||
bool UseLEDrelais;
|
||||
|
@ -93,6 +107,10 @@ bool UseFANrelais;
|
|||
byte TemperatureSensor_Type;
|
||||
unsigned short MaintenanceDuration = 300;
|
||||
char Esp32CamIP[16];
|
||||
// PumpLastOn (long) timestamp
|
||||
unsigned long PumpLastOn;
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Grow Stuff
|
||||
|
@ -127,6 +145,10 @@ byte PinFANPWM = 255;
|
|||
bool SunFade;
|
||||
byte SunFadeDuration = 30;
|
||||
|
||||
// PumpIntervalVeg (int) in days
|
||||
byte PumpIntervalVeg = 5;
|
||||
byte PumpIntervalBloom = 3;
|
||||
|
||||
/*
|
||||
*
|
||||
* NTP
|
||||
|
|
|
@ -187,7 +187,13 @@ int getSoilmoisture(byte moistureSensor, bool returnRAW = false) {
|
|||
if(returnRAW == true) {
|
||||
return soilmoisture;
|
||||
} else {
|
||||
return map(soilmoisture, wet, dry, 100, 0);
|
||||
short soilmoistureP = map(soilmoisture, wet, dry, 100, 0);
|
||||
// dont return negative percentage values
|
||||
if(soilmoistureP < 0) {
|
||||
return 0;
|
||||
} else {
|
||||
return soilmoistureP;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,10 @@ bool loadEEPROM() {
|
|||
* 218 SunFadeDuration
|
||||
* 219 MaintenanceDuration (2 byte)
|
||||
* 221 Esp32CamIP (16 byte)
|
||||
* 237 ...
|
||||
* 237 PumpLastOn (4 byte)
|
||||
* 241 PumpIntervalVeg (1 byte)
|
||||
* 242 PumpIntervalBloom (1 byte)
|
||||
* 243 ...
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -168,6 +171,9 @@ bool loadEEPROM() {
|
|||
EEPROM.get(219, MaintenanceDuration);
|
||||
// size is 16 byte
|
||||
EEPROM.get(221, Esp32CamIP);
|
||||
// size is 4 byte
|
||||
EEPROM.get(237, PumpLastOn);
|
||||
|
||||
}
|
||||
// TODO auth does not work atm
|
||||
// EEPROM.get(160, WebUiUsername);
|
||||
|
@ -202,6 +208,10 @@ bool loadEEPROM() {
|
|||
EEPROM.get(216, PinFANPWM);
|
||||
EEPROM.get(217, SunFade);
|
||||
EEPROM.get(218, SunFadeDuration);
|
||||
// size is 1 byte
|
||||
EEPROM.get(241, PumpIntervalVeg);
|
||||
// size is 1 byte
|
||||
EEPROM.get(242, PumpIntervalBloom);
|
||||
|
||||
}
|
||||
|
||||
|
@ -360,6 +370,30 @@ void wifiAp() {
|
|||
//Serial.println("The login credentials for the WebUI are 'cangrow' for username and password");
|
||||
}
|
||||
|
||||
unsigned short growState() {
|
||||
/*
|
||||
* growState()
|
||||
*
|
||||
* returns growState as short
|
||||
*
|
||||
* 1 - vegetation
|
||||
* 2 - bloom
|
||||
* 3 - harvest
|
||||
*
|
||||
*/
|
||||
unsigned short state;
|
||||
|
||||
if(DayOfGrow > (DaysVeg + DaysBloom ) ) {
|
||||
state = 3;
|
||||
} else if(DayOfGrow > DaysVeg ) {
|
||||
state = 2;
|
||||
} else {
|
||||
state = 1;
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
void setOutput(byte Output, byte OutputState) {
|
||||
/*
|
||||
* Pin assignments
|
||||
|
@ -405,9 +439,9 @@ void setOutput(byte Output, byte OutputState) {
|
|||
//~ Serial.println(UseRelais);
|
||||
|
||||
if( (UseRelais == true) || (OutputPin == PinPUMP) ) {
|
||||
digitalWrite(OutputPin, OutputState);
|
||||
digitalWrite(OutputPin, 1 - OutputState);
|
||||
} else {
|
||||
analogWrite(OutputPin, OutputState);
|
||||
analogWrite(OutputPin, 255 - OutputState);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -418,15 +452,22 @@ void controlLED() {
|
|||
unsigned int secondsSunrise = (SunriseHour * 60 * 60) + (SunriseMinute * 60);
|
||||
unsigned int secondsToday = (timeClient.getHours() * 60 * 60) + (timeClient.getMinutes() * 60) + timeClient.getSeconds();
|
||||
|
||||
if(DayOfGrow > DaysVeg ) {
|
||||
lightHours = LighthoursBloom;
|
||||
} else {
|
||||
lightHours = LighthoursVeg;
|
||||
switch(growState()) {
|
||||
case 1:
|
||||
lightHours = LighthoursVeg;
|
||||
break;
|
||||
|
||||
case 2:
|
||||
lightHours = LighthoursBloom;
|
||||
break;
|
||||
default:
|
||||
lightHours = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
// check if secondsToday is larger then secondsSunrise time AND if
|
||||
// secondsToday is smaller then the sum of secondsSunrise + seconds of lightHours
|
||||
if( ((secondsToday >= secondsSunrise) && (secondsToday <= ( secondsSunrise + (lightHours * 60 * 60))) ) ){
|
||||
if( ((secondsToday >= secondsSunrise) && (secondsToday <= ( secondsSunrise + (lightHours * 60 * 60))) ) && (growState() < 3) ){
|
||||
//Serial.println("light on time");
|
||||
|
||||
// when SunFade is true, fade LED light. Otherwise just turn on or off
|
||||
|
@ -460,10 +501,25 @@ void controlLED() {
|
|||
}
|
||||
|
||||
void refreshSensors() {
|
||||
byte soilmoistureAvgSampleCount = 5;
|
||||
|
||||
valSoilmoisture = getSoilmoisture(MoistureSensor_Type);
|
||||
valHumidity = getHumidity();
|
||||
valTemperature = getTemperature(TemperatureSensor_Type);
|
||||
valWaterlevel = getWaterlevel();
|
||||
|
||||
// get average of 5 readings for valSoilmoisture
|
||||
valSoilmoistureAvg_tmp = valSoilmoistureAvg_tmp + valSoilmoisture;
|
||||
if(valSoilmoistureAvg_count < soilmoistureAvgSampleCount - 1) {
|
||||
valSoilmoistureAvg_count++;
|
||||
} else {
|
||||
// build average
|
||||
valSoilmoistureAvg = valSoilmoistureAvg_tmp / soilmoistureAvgSampleCount;
|
||||
// reset everything
|
||||
valSoilmoistureAvg_tmp = 0;
|
||||
valSoilmoistureAvg_count = 0;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void displayScreens() {
|
||||
|
@ -499,7 +555,8 @@ void displayScreens() {
|
|||
display.println("s");
|
||||
} else {
|
||||
// in this switch case the single screens gets defined
|
||||
switch(ScreenToDisplay) {
|
||||
//switch(ScreenToDisplay) {
|
||||
switch(0) {
|
||||
case 0:
|
||||
display.print("Humidity: ");
|
||||
display.print(valHumidity);
|
||||
|
@ -511,9 +568,10 @@ void displayScreens() {
|
|||
display.println("");
|
||||
display.print("Moisture: ");
|
||||
display.print(valSoilmoisture);
|
||||
display.println(" %");
|
||||
display.print(" % ");
|
||||
display.println(valSoilmoistureAvg);
|
||||
display.println("");
|
||||
if(UsePump == true) {
|
||||
if(UsePump > 0) {
|
||||
display.print("Pump Waterlvl: ");
|
||||
switch(valWaterlevel) {
|
||||
case 0:
|
||||
|
@ -567,26 +625,128 @@ void displayScreens() {
|
|||
}
|
||||
|
||||
|
||||
unsigned short growState() {
|
||||
/*
|
||||
* growState()
|
||||
* Pump control
|
||||
*
|
||||
* returns growState as short
|
||||
* Vars:
|
||||
* - UsePump (byte)
|
||||
* - PumpOnTime (byte) in sec
|
||||
* - SoilmoistureLow (byte) in %
|
||||
* - PumpLastOn (long) timestamp
|
||||
* - PumpMode (byte) 1: Pump on every n days, 2: Pump on when Soilmoisture <= SoilmoistureLow, 3: Both
|
||||
*
|
||||
* 1 - vegetation
|
||||
* 2 - bloom
|
||||
* 3 - harvest
|
||||
* - PumpIntervalVeg (byte) in days
|
||||
* - PumpIntervalBloom (byte) in days
|
||||
*
|
||||
*/
|
||||
unsigned short state;
|
||||
|
||||
if(DayOfGrow > (DaysVeg + DaysBloom ) ) {
|
||||
state = 3;
|
||||
} else if(DayOfGrow > DaysVeg ) {
|
||||
state = 2;
|
||||
void controlPUMP() {
|
||||
byte PumpInterval;
|
||||
|
||||
// UsePump true and not in harvest state?
|
||||
// dont water within the first 15 sec after startup
|
||||
if ( (UsePump > 0) && (growState() < 3) && (millis() > 15000) ) {
|
||||
switch(growState()) {
|
||||
case 1:
|
||||
PumpInterval = PumpIntervalVeg;
|
||||
break;
|
||||
case 2:
|
||||
PumpInterval = PumpIntervalBloom;
|
||||
break;
|
||||
default:
|
||||
PumpInterval = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
// when PumpOnManuel is true, turn pump on for PumpOnTime seconds
|
||||
if(PumpOnManual == true) {
|
||||
if(PumpOnTimePassed < PumpOnTime) {
|
||||
setOutput(3, 1);
|
||||
//digitalWrite(PinPUMP, HIGH);
|
||||
PumpOnTimePassed++;
|
||||
} else {
|
||||
PumpOnManual = false;
|
||||
setOutput(3, 0);
|
||||
//digitalWrite(PinPUMP, LOW);
|
||||
EEPROM.put(237, PumpLastOn);
|
||||
PumpOnTimePassed = 0;
|
||||
}
|
||||
// otherwise check which PumpMode to use
|
||||
} else {
|
||||
switch(UsePump) {
|
||||
case 1:
|
||||
// when diff of time now and time pumpLastOn is greater then PumpInterval, do some watering (Or manual watering)
|
||||
if( (timeClient.getEpochTime() - PumpLastOn) >= (PumpInterval) ) { // TODO: * 24 * 60 * 60 PumpInterval
|
||||
// only water as long PumpOnTime
|
||||
if(PumpOnTimePassed < PumpOnTime) {
|
||||
setOutput(3, 1);
|
||||
//digitalWrite(PinPUMP, HIGH);
|
||||
PumpOnTimePassed++;
|
||||
} else {
|
||||
setOutput(3, 0);
|
||||
//digitalWrite(PinPUMP, LOW);
|
||||
PumpLastOn = timeClient.getEpochTime();
|
||||
// write the value to EEPROM for the case ESP gets restarted
|
||||
EEPROM.put(237, PumpLastOn);
|
||||
PumpOnTimePassed = 0;
|
||||
}
|
||||
} else {
|
||||
setOutput(3, 0);
|
||||
//digitalWrite(PinPUMP, LOW);
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
// when valSoilmoistureAvg is lower then SoilMoisture low do some watering
|
||||
if( (valSoilmoistureAvg < SoilmoistureLow) || ( (valSoilmoistureAvg >= SoilmoistureLow) && ( (PumpOnTimePassed > 0) && (PumpOnTimePassed <= PumpOnTime) ) ) ) {
|
||||
// check if we alerady exceeded max PumpOnTime
|
||||
if(PumpOnTimePassed < PumpOnTime) {
|
||||
setOutput(3, 1);
|
||||
//digitalWrite(PinPUMP, HIGH);
|
||||
PumpOnTimePassed++;
|
||||
} else {
|
||||
setOutput(3, 0);
|
||||
//digitalWrite(PinPUMP, LOW);
|
||||
PumpLastOn = timeClient.getEpochTime();
|
||||
PumpOnTimePassed = 0;
|
||||
}
|
||||
// when valSoilmoistureAvg is greater then the Low value,
|
||||
} else {
|
||||
setOutput(3, 0);
|
||||
//digitalWrite(PinPUMP, LOW);
|
||||
}
|
||||
break;
|
||||
|
||||
//
|
||||
case 3:
|
||||
if( ( (timeClient.getEpochTime() - PumpLastOn) >= (PumpInterval) ) && //TODO calculate PumpInterval into days as well here
|
||||
( (valSoilmoistureAvg < SoilmoistureLow) ||
|
||||
( (valSoilmoistureAvg >= SoilmoistureLow) && ( (PumpOnTimePassed > 0) && (PumpOnTimePassed <= PumpOnTime) ) )
|
||||
) ) {
|
||||
// check if we alerady exceeded max PumpOnTime
|
||||
if(PumpOnTimePassed < PumpOnTime) {
|
||||
setOutput(3, 1);
|
||||
//digitalWrite(PinPUMP, HIGH);
|
||||
PumpOnTimePassed++;
|
||||
} else {
|
||||
setOutput(3, 0);
|
||||
//digitalWrite(PinPUMP, LOW);
|
||||
PumpLastOn = timeClient.getEpochTime();
|
||||
EEPROM.put(237, PumpLastOn);
|
||||
PumpOnTimePassed = 0;
|
||||
}
|
||||
// when valSoilmoistureAvg is greater then the Low value,
|
||||
} else {
|
||||
setOutput(3, 0);
|
||||
//digitalWrite(PinPUMP, LOW);
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
state = 1;
|
||||
// ensure pump is off when it should be off
|
||||
setOutput(3, 0);
|
||||
//digitalWrite(PinPUMP, LOW);
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* CanGrow_Version.h gets generated from cangrow.sh */
|
||||
|
||||
const char* CanGrowVer = "0.1-dev";
|
||||
const char* CanGrowBuild = "72bb58c";
|
||||
const char* CanGrowBuild = "d2e264d-20240919022041";
|
||||
|
||||
|
|
|
@ -180,23 +180,17 @@ void SysRestart() {
|
|||
|
||||
void SysWipe() {
|
||||
String body = returnHTMLheader();
|
||||
// TODO only debug and development solution, remove this later
|
||||
if(webserver.hasArg("confirmed")) {
|
||||
body += "<div class='warnmsg'><h2>!! Wiping CanGrow's EEPROM !!</h2><br>Device will restart in a few seconds.<br>After restart a new WiFi 'CanGrow-unconfigured' will be created. To access the WebUI visit <a href='http://192.168.4.20'>http://192.168.4.20</a></div>";
|
||||
body += FPSTR(HTMLfooter);
|
||||
webserver.send(200, "text/html", body);
|
||||
wipeEEPROM();
|
||||
} else {
|
||||
body += "<h1>❗❗ Wiping EEPROM</h1>";
|
||||
body += "<div class='warnmsg'>All settings will be removed!!<br>";
|
||||
body += "<br>Please confirm wiping the EEPROM";
|
||||
body += "<form action='/system/wipe'><input type='hidden' name='confirmed' value='true' /><input type='submit' value='Confirm wiping' /></form>";
|
||||
body += "</div>";
|
||||
body += FPSTR(HTMLfooter);
|
||||
webserver.send(200, "text/html", body);
|
||||
}
|
||||
body += "<h1>❗❗ Wiping EEPROM</h1>";
|
||||
body += "<div class='warnmsg'>All settings will be removed!!<br>";
|
||||
body += "<br>Please confirm wiping the EEPROM";
|
||||
body += "<form action='/system/wipeConfirm' method='post'><br>Please confirm: <input type='checkbox' id='confirm' name='confirm' required /><br><input type='submit' value='Confirm wiping' /></form>";
|
||||
body += "</div>";
|
||||
body += FPSTR(HTMLfooter);
|
||||
webserver.send(200, "text/html", body);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void Sys404() {
|
||||
String body = returnHTMLheader();
|
||||
body += "<div class='warnmsg'><h1>❗ ️ 404 - not found</h1></div>";
|
||||
|
@ -363,16 +357,16 @@ void WEBroot() {
|
|||
switch(growState()) {
|
||||
case 1:
|
||||
body += "🌱 vegetation<br>\n";
|
||||
break;
|
||||
break;
|
||||
case 2:
|
||||
body += "🌼 bloom<br>\n";
|
||||
break;
|
||||
break;
|
||||
case 3:
|
||||
body += "🍂 harvest<br>\n";
|
||||
break;
|
||||
body += "🍂 harvest\n";
|
||||
break;
|
||||
}
|
||||
|
||||
if(UsePump == true) {
|
||||
if(UsePump > 0) {
|
||||
body += "<b>Pump water level:</b> ";
|
||||
switch(getWaterlevel()) {
|
||||
case 0:
|
||||
|
@ -472,19 +466,19 @@ void WEBgrowSettings() {
|
|||
|
||||
body += "Vegetation duration: <input class='inputShort' type='number' name='DaysVeg' min='0' max='255' value='";
|
||||
body += DaysVeg;
|
||||
body+= "' required>Days<br>\n";
|
||||
body+= "' required>days<br>\n";
|
||||
|
||||
body += "Bloom duration: <input class='inputShort' type='number' name='DaysBloom' min='0' max='255' value='";
|
||||
body += DaysBloom;
|
||||
body+= "' required> Days<br>\n";
|
||||
body+= "' required> days<br>\n";
|
||||
|
||||
body += "Time LED ON vegetation: <input class='inputShort' type='number' name='LighthoursVeg' min='0' max='255' value='";
|
||||
body += LighthoursVeg;
|
||||
body+= "' required> Hours<br>\n";
|
||||
body+= "' required> hours<br>\n";
|
||||
|
||||
body += "Time LED ON bloom: <input class='inputShort' type='number' name='LighthoursBloom' min='0' max='255' value='";
|
||||
body += LighthoursBloom;
|
||||
body+= "' required> Hours<br>\n";
|
||||
body+= "' required> hours<br>\n";
|
||||
|
||||
body += "Sunrise: <input class='inputShort' type='number' name='SunriseHour' min='0' max='23' value='";
|
||||
body += SunriseHour;
|
||||
|
@ -515,6 +509,20 @@ void WEBgrowSettings() {
|
|||
body += "'/> %<br>\n";
|
||||
}
|
||||
|
||||
|
||||
body += "Pump interval vegetation: every <input class='inputShort' type='number' name='PumpIntervalVeg' min='0' max='255' value='";
|
||||
body += PumpIntervalVeg;
|
||||
body += "' required ";
|
||||
if( (UsePump != 1) && UsePump != 3) { body += "readonly"; }
|
||||
body += "> days<br>\n";
|
||||
|
||||
body += "Pump interval bloom: every <input class='inputShort' type='number' name='PumpIntervalBloom' min='0' max='255' value='";
|
||||
body += PumpIntervalBloom;
|
||||
body += "' required ";
|
||||
if((UsePump != 1) && (UsePump != 3)) { body += "readonly"; }
|
||||
body += "> days<br>\n";
|
||||
|
||||
|
||||
body += "<input type='submit' value='💾 Save settings'>\n";
|
||||
body += "</form>\n";
|
||||
body += FPSTR(JSconvertDateToEpoch);
|
||||
|
@ -551,18 +559,31 @@ void WEBsystemSettings() {
|
|||
body += "<form method='post' action='/systemSettings/save'>\n";
|
||||
|
||||
// UseFan bool
|
||||
body += "Use FAN: <select id='UseFan' name='UseFan' required>\n";
|
||||
body += "Fan mode: <select id='UseFan' name='UseFan' required>\n";
|
||||
if(configured == false){body += "<option disabled value='' selected hidden>---</option>\n";}
|
||||
body += "<option value='1'" + returnStrSelected(UseFan, 1) + ">Yes</option>\n";
|
||||
body += "<option value='0'" + returnStrSelected(UseFan, 0) + ">No</option>\n";
|
||||
body += "<option value='1'" + returnStrSelected(UseFan, 0) + ">Off</option>\n";
|
||||
body += "<option value='1'" + returnStrSelected(UseFan, 1) + ">Use</option>\n";
|
||||
body += "<option value='0'" + returnStrSelected(UseFan, 2) + ">Do not use</option>\n";
|
||||
body += "</select><br>\n";
|
||||
|
||||
/*
|
||||
// UsePump bool
|
||||
body += "Use PUMP: <select id='UsePump' name='UsePump' required>\n";
|
||||
if(configured == false){body += "<option disabled value='' selected hidden>---</option>\n";}
|
||||
body += "<option value='1'" + returnStrSelected(UsePump, 1) + ">Yes</option>\n";
|
||||
body += "<option value='0'" + returnStrSelected(UsePump, 0) + ">No</option>\n";
|
||||
body += "</select><br>\n";
|
||||
*/
|
||||
// PumpMode byte
|
||||
body += "Pump mode: <select id='UsePump' name='UsePump' required>\n";
|
||||
if(configured == false){body += "<option disabled value='' selected hidden>---</option>\n";}
|
||||
body += "<option value='0'" + returnStrSelected(UsePump, 0) + ">Off</option>\n";
|
||||
body += "<option value='1'" + returnStrSelected(UsePump, 1) + ">1</option>\n";
|
||||
body += "<option value='2'" + returnStrSelected(UsePump, 2) + ">2</option>\n";
|
||||
body += "<option value='3'" + returnStrSelected(UsePump, 3) + ">3</option>\n";
|
||||
body += "</select><br><p class='helpbox'><b>1:</b> Water every few days.<br> \
|
||||
<b>2:</b> Water if the soil moisture falls below <i>Soilmoisture low</i> value<br> \
|
||||
<b>3:</b> Water every few days if the soil moisture falls below <i>Soilmoisture low</i> value.</p>\n";
|
||||
|
||||
// UseLEDrelais bool
|
||||
body += "Use relais for LED: <select id='UseLEDrelais' name='UseLEDrelais' required>\n";
|
||||
|
@ -580,10 +601,11 @@ void WEBsystemSettings() {
|
|||
|
||||
// TODO ugly. can this done be better?
|
||||
// PumpOnTime int
|
||||
body += "PUMP ON time: <input class='inputShort' type='number' name='PumpOnTime' min='0' max='255' value='";
|
||||
body += "Pump ON time: <input class='inputShort' type='number' name='PumpOnTime' min='0' max='255' value='";
|
||||
body += PumpOnTime;
|
||||
body += "' required> Seconds<br>\n";
|
||||
|
||||
|
||||
// MoistureSensor_Type byte
|
||||
body += "Soilmoisture sensor: <select id='MoistureSensor_Type' name='MoistureSensor_Type' required>\n";
|
||||
if(configured == false) {
|
||||
|
@ -741,6 +763,8 @@ void POSTgrowSettings() {
|
|||
SunriseMinute = webserver.arg("SunriseMinute").toInt();
|
||||
SunFade = webserver.arg("SunFade").toInt();
|
||||
SunFadeDuration = webserver.arg("SunFadeDuration").toInt();
|
||||
PumpIntervalVeg = webserver.arg("PumpIntervalVeg").toInt();
|
||||
PumpIntervalBloom = webserver.arg("PumpIntervalBloom").toInt();
|
||||
|
||||
// size is 32 byte
|
||||
EEPROM.put(170, GrowName);
|
||||
|
@ -764,6 +788,10 @@ void POSTgrowSettings() {
|
|||
EEPROM.put(216, PinFANPWM);
|
||||
EEPROM.put(217, SunFade);
|
||||
EEPROM.put(218, SunFadeDuration);
|
||||
// size is 1 byte
|
||||
EEPROM.put(241, PumpIntervalVeg);
|
||||
// size is 1 byte
|
||||
EEPROM.put(242, PumpIntervalBloom);
|
||||
|
||||
EEPROM.commit();
|
||||
|
||||
|
@ -992,6 +1020,27 @@ void POSTsetOutput() {
|
|||
}
|
||||
|
||||
|
||||
void POSTsetPumpManual() {
|
||||
PumpOnManual = webserver.arg("PumpOnManual").toInt();
|
||||
webserver.sendHeader("Location", String("/?success"), true);
|
||||
webserver.send(302, "text/plain", "switch: success!\n");
|
||||
}
|
||||
|
||||
void POSTwipeConfirm() {
|
||||
String body = returnHTMLheader();
|
||||
// TODO only debug and development solution, remove this later
|
||||
String confirm = webserver.arg("confirm");
|
||||
if(confirm == "on") {
|
||||
body += "<div class='warnmsg'><h2>!! Wiping CanGrow's EEPROM !!</h2><br>Device will restart in a few seconds.<br>After restart a new WiFi 'CanGrow-unconfigured' will be created. To access the WebUI visit <a href='http://192.168.4.20'>http://192.168.4.20</a></div>";
|
||||
body += FPSTR(HTMLfooter);
|
||||
webserver.send(200, "text/html", body);
|
||||
wipeEEPROM();
|
||||
} else {
|
||||
webserver.send(400, "text/html", String("Error, 'confirm' missing nor wrong"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* API section
|
||||
|
@ -1004,6 +1053,7 @@ void APIgetSensors() {
|
|||
JsonDocument jsonSensors;
|
||||
|
||||
jsonSensors["soilmoisture"] = valSoilmoisture;
|
||||
jsonSensors["soilmoistureAvg"] = valSoilmoistureAvg;
|
||||
jsonSensors["temperature"] = valTemperature;
|
||||
jsonSensors["humidity"] = valHumidity;
|
||||
jsonSensors["waterlevel"] = valWaterlevel;
|
||||
|
@ -1018,6 +1068,13 @@ void APIgetDebug() {
|
|||
|
||||
JsonDocument jsonDebug;
|
||||
|
||||
// Runtime vars
|
||||
JsonObject objRuntime = jsonDebug["runtime"].add<JsonObject>();
|
||||
objRuntime["PumpOnTimePassed"] = PumpOnTimePassed;
|
||||
objRuntime["PumpOnManual"] = PumpOnManual;
|
||||
objRuntime["valSoilmoistureAvg"] = valSoilmoistureAvg;
|
||||
objRuntime["valSoilmoistureAvg_tmp"] = valSoilmoistureAvg_tmp;
|
||||
objRuntime["valSoilmoistureAvg_count"] = valSoilmoistureAvg_count;
|
||||
|
||||
// WiFi
|
||||
JsonObject objWiFi = jsonDebug["wifi"].add<JsonObject>();
|
||||
|
@ -1040,6 +1097,8 @@ void APIgetDebug() {
|
|||
objSystem["TemperatureSensor_Type"] = TemperatureSensor_Type;
|
||||
objSystem["NtpOffset"] = NtpOffset;
|
||||
objSystem["MaintenanceDuration"] = MaintenanceDuration;
|
||||
objSystem["PumpOnTime"] = PumpOnTime;
|
||||
objSystem["PumpLastOn"] = PumpLastOn;
|
||||
|
||||
// Grow
|
||||
JsonObject objGrow = jsonDebug["grow"].add<JsonObject>();
|
||||
|
@ -1057,7 +1116,8 @@ void APIgetDebug() {
|
|||
objGrow["PinLEDPWM"] = PinLEDPWM;
|
||||
objGrow["PinFANPWM"] = PinFANPWM;
|
||||
objGrow["DayOfGrow"] = DayOfGrow;
|
||||
|
||||
objGrow["PumpIntervalVeg"] = PumpIntervalVeg;
|
||||
objGrow["PumpIntervalBloom"] = PumpIntervalBloom;
|
||||
|
||||
|
||||
// Sensors
|
||||
|
@ -1126,6 +1186,8 @@ void WebHandler() {
|
|||
webserver.on("/system/restart", HTTP_GET, SysRestart);
|
||||
// wipe eeprom triggered from WebGui
|
||||
webserver.on("/system/wipe", HTTP_GET, SysWipe);
|
||||
// confirm wiping the device
|
||||
webserver.on("/system/wipeConfirm", HTTP_POST, POSTwipeConfirm);
|
||||
// Maintenance mode
|
||||
webserver.on("/system/maintenance", HTTP_GET, SysMaintenance);
|
||||
// system update with binary
|
||||
|
@ -1144,6 +1206,7 @@ void WebHandler() {
|
|||
|
||||
// switching MOSFETs
|
||||
webserver.on("/switch", HTTP_POST, POSTsetOutput);
|
||||
webserver.on("/pumpManual", HTTP_POST, POSTsetPumpManual);
|
||||
|
||||
// api stuff
|
||||
webserver.on("/api/sensors", HTTP_GET, APIgetSensors);
|
||||
|
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 291 KiB |
|
@ -37,9 +37,9 @@
|
|||
"other_text_thickness": 0.15,
|
||||
"other_text_upright": false,
|
||||
"pads": {
|
||||
"drill": 1.1,
|
||||
"height": 2.1,
|
||||
"width": 2.1
|
||||
"drill": 0.8,
|
||||
"height": 1.6,
|
||||
"width": 1.6
|
||||
},
|
||||
"silk_line_width": 0.1,
|
||||
"silk_text_italic": false,
|
||||
|
@ -79,6 +79,7 @@
|
|||
"footprint_type_mismatch": "ignore",
|
||||
"hole_clearance": "error",
|
||||
"hole_near_hole": "error",
|
||||
"holes_co_located": "warning",
|
||||
"invalid_outline": "error",
|
||||
"isolated_copper": "warning",
|
||||
"item_on_disabled_layer": "error",
|
||||
|
@ -491,6 +492,7 @@
|
|||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 0,
|
||||
"bom_export_filename": "",
|
||||
"bom_fmt_presets": [],
|
||||
"bom_fmt_settings": {
|
||||
"field_delimiter": ",",
|
||||
|
@ -590,7 +592,7 @@
|
|||
"sheets": [
|
||||
[
|
||||
"42428fce-ab8c-4a80-af19-dee4f0070d36",
|
||||
"Stammblatt"
|
||||
"Root"
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
|
|
Before Width: | Height: | Size: 129 KiB After Width: | Height: | Size: 134 KiB |
Before Width: | Height: | Size: 186 KiB After Width: | Height: | Size: 196 KiB |
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 102 KiB |
|
@ -0,0 +1,152 @@
|
|||
(footprint "CanGrow-SolderWire-0.1sqmm_1x01_D0.4mm_OD1mm_0.8mm"
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(layer "F.Cu")
|
||||
(descr "Soldered wire connection, for a single 0.1 mm² wire, basic insulation, conductor diameter 0.4mm, outer diameter 1mm, size source Multi-Contact FLEXI-E 0.1 (https://ec.staubli.com/AcroFiles/Catalogues/TM_Cab-Main-11014119_(en)_hi.pdf), bend radius 3 times outer diameter, generated with kicad-footprint-generator")
|
||||
(tags "connector wire 0.1sqmm")
|
||||
(property "Reference" "VCC3.3"
|
||||
(at 0 -2 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "3ed91354-25bd-4e84-bfb7-188fd65fc8e9")
|
||||
(effects
|
||||
(font
|
||||
(size 0.8 0.8)
|
||||
(thickness 0.1)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "SolderWire"
|
||||
(at 0 2 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "706134de-5a43-4b0f-a24a-fc10492bb447")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" "Connector_Wire:SolderWire-0.1sqmm_1x01_D0.4mm_OD1mm"
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "3ad71b9a-27a6-4a0e-bdb9-5be60a26b692")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "dddc3c2c-a4fc-463d-90ad-f465505d4a51")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "ec7bec08-cf6f-41d0-9924-f484b7198917")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr exclude_from_pos_files exclude_from_bom)
|
||||
(fp_line
|
||||
(start -1.3 -1.3)
|
||||
(end -1.3 1.3)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "e690fe82-f99d-4c33-9eaa-df5fd9925bf4")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.3 1.3)
|
||||
(end 1.3 1.3)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "de44eeda-4e8f-4e38-ab31-bc2514ca1c52")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.3 -1.3)
|
||||
(end -1.3 -1.3)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "a58f350b-223a-4a2b-b385-7221f51f4b68")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.3 1.3)
|
||||
(end 1.3 -1.3)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "3fa8882e-d3e5-49d9-8ba4-cec9106635a2")
|
||||
)
|
||||
(fp_circle
|
||||
(center 0 0)
|
||||
(end 0.5 0)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.Fab")
|
||||
(uuid "fc8bd121-be08-4d5a-8538-8d1003ba0cd8")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "dbe65801-e081-4887-bdbd-f547de25cfc2")
|
||||
(effects
|
||||
(font
|
||||
(size 0.25 0.25)
|
||||
(thickness 0.04)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" thru_hole roundrect
|
||||
(at 0 0)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(roundrect_rratio 0.15625)
|
||||
(uuid "84abadc5-3aca-4364-bb7c-4e5aca89770a")
|
||||
)
|
||||
(model "${KICAD8_3DMODEL_DIR}/Connector_Wire.3dshapes/SolderWire-0.1sqmm_1x01_D0.4mm_OD1mm.wrl"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
|
@ -7,6 +7,7 @@
|
|||
(property "Reference" "U3"
|
||||
(at 0 7.3152 180)
|
||||
(layer "F.SilkS")
|
||||
(hide yes)
|
||||
(uuid "5401f2b9-08c4-433b-a536-95365a9d5b27")
|
||||
(effects
|
||||
(font
|
||||
|
@ -18,6 +19,7 @@
|
|||
(property "Value" "SRT_Power_3A"
|
||||
(at -0.3556 5.1816 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "3aca6114-af0d-478b-80ab-52d5719c58c0")
|
||||
(effects
|
||||
(font
|
||||
|
@ -35,6 +37,7 @@
|
|||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -47,6 +50,7 @@
|
|||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -59,287 +63,288 @@
|
|||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr through_hole)
|
||||
(fp_line
|
||||
(start -11.176 -7.493)
|
||||
(end -11.176 8.636)
|
||||
(start -10.2122 -6.0076)
|
||||
(end -10.2122 10.1214)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "c04c845e-4b76-4dc5-b3a1-2129724a526d")
|
||||
(uuid "6292f9f0-b20e-4f1e-990a-0b11f0bae5e2")
|
||||
)
|
||||
(fp_line
|
||||
(start -11.176 8.636)
|
||||
(end 10.16 8.636)
|
||||
(start -10.2122 10.1214)
|
||||
(end 11.1238 10.1214)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "b279bc16-0fa3-40ad-9a71-246db78cd5db")
|
||||
(uuid "7b8db049-a75b-4c09-b1c9-de8a147005c4")
|
||||
)
|
||||
(fp_line
|
||||
(start -7.4168 -1.8796)
|
||||
(end -1.3208 -1.8796)
|
||||
(start -6.453 -0.3942)
|
||||
(end -0.357 -0.3942)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "1cc5b0bc-c494-4f7d-bca7-4c61a9317e88")
|
||||
(uuid "c4ed20b9-5f3d-4741-9180-be3de36b2638")
|
||||
)
|
||||
(fp_line
|
||||
(start -7.4168 2.5908)
|
||||
(end -7.4168 -1.8796)
|
||||
(start -6.453 4.0762)
|
||||
(end -6.453 -0.3942)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "cb93a75e-f00e-4ada-977c-4ebffb53a1ef")
|
||||
(uuid "d7e1ea82-a28a-4e4c-8051-86a68fea340c")
|
||||
)
|
||||
(fp_line
|
||||
(start -6.2992 -5.7658)
|
||||
(end -2.8702 -5.7658)
|
||||
(start -5.3354 -4.2804)
|
||||
(end -1.9064 -4.2804)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "58d4cb4b-5a3f-4493-aa99-0deaf5683749")
|
||||
(uuid "06328989-1b0f-46d7-883b-033109387c94")
|
||||
)
|
||||
(fp_line
|
||||
(start -6.2992 -4.4958)
|
||||
(end -6.2992 -5.7658)
|
||||
(start -5.3354 -3.0104)
|
||||
(end -5.3354 -4.2804)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "23c244a5-fbbf-43b9-8e18-3f2c2f80daac")
|
||||
(uuid "8d77e0eb-1044-47c3-83fb-eeb0a96fae5d")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.8702 -5.7658)
|
||||
(end -2.8702 -4.4958)
|
||||
(start -1.9064 -4.2804)
|
||||
(end -1.9064 -3.0104)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "dc18e288-f18f-43b9-8bf9-a20134e8fe6b")
|
||||
(uuid "aacf448e-591d-467e-9b05-308beed279bf")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.8702 -4.4958)
|
||||
(end -6.2992 -4.4958)
|
||||
(start -1.9064 -3.0104)
|
||||
(end -5.3354 -3.0104)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "0db4cf0f-ac7a-4c9b-ae10-55a36ddbd4e4")
|
||||
(uuid "1a4d146d-43a7-4082-9120-8896a6302895")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.3208 2.5908)
|
||||
(end -7.4168 2.5908)
|
||||
(start -0.357 4.0762)
|
||||
(end -6.453 4.0762)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "bb094c9b-9d8c-4f38-83ed-01fc7944b9a1")
|
||||
(uuid "28f1cc66-eb55-47b0-8a8f-d7e1518711f4")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.3208 2.5908)
|
||||
(end -1.3208 -1.8796)
|
||||
(start -0.357 4.0762)
|
||||
(end -0.357 -0.3942)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "15406a1c-aa60-4574-94bc-bc7b1c93f995")
|
||||
(uuid "6820cfba-dad3-4b8f-888f-85dbe2540377")
|
||||
)
|
||||
(fp_line
|
||||
(start 0.3556 -3.4544)
|
||||
(end 0.3556 3.2004)
|
||||
(start 1.3194 -1.969)
|
||||
(end 1.3194 4.6858)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "7f056460-3325-494e-89b7-e00faf35b853")
|
||||
(uuid "6a862895-3bf4-4887-9dab-db5334a221bc")
|
||||
)
|
||||
(fp_line
|
||||
(start 0.3556 -3.4544)
|
||||
(end 7.0104 -3.4544)
|
||||
(start 1.3194 -1.969)
|
||||
(end 7.9742 -1.969)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "fb81112c-7565-47b2-8682-db2abbd3ddf0")
|
||||
(uuid "79debc5c-9a35-496c-8f29-014030f144a4")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.9304 -0.5969)
|
||||
(end 4.5593 -0.5969)
|
||||
(start 2.8942 0.8885)
|
||||
(end 5.5231 0.8885)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "48533810-e56f-47c8-8bce-ce1c68dc9c75")
|
||||
(uuid "84cd7a4d-d683-4fbc-825f-665c5b0f0758")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.9304 0.0381)
|
||||
(end 1.9304 -0.5969)
|
||||
(start 2.8942 1.5235)
|
||||
(end 2.8942 0.8885)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "03a589e3-a74e-4336-8cad-43118c287e8a")
|
||||
(uuid "4e52b40e-83c8-4d07-95ff-b90fa1783618")
|
||||
)
|
||||
(fp_line
|
||||
(start 1.9304 0.0381)
|
||||
(end 4.5593 0.0381)
|
||||
(start 2.8942 1.5235)
|
||||
(end 5.5231 1.5235)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "ce0e1e31-1518-4423-8678-79c96482e137")
|
||||
(uuid "a399ee1e-f3f5-4636-9f46-aa9b47e0db94")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.5593 -1.2954)
|
||||
(end 5.8293 -0.2794)
|
||||
(start 5.5231 0.19)
|
||||
(end 6.7931 1.206)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "60031373-aa96-4773-880b-c8200b9c8446")
|
||||
(uuid "974ab6af-0377-40af-977c-a13764cf3b42")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.5593 -0.5969)
|
||||
(end 4.5593 -1.2954)
|
||||
(start 5.5231 0.8885)
|
||||
(end 5.5231 0.19)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e8ee4f92-28ab-4a33-a9f9-a6abaf63c07f")
|
||||
(uuid "a43ae26f-5b7d-4a6a-a076-714c678ef718")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.5593 0.8001)
|
||||
(end 4.5593 0.0381)
|
||||
(start 5.5231 2.2855)
|
||||
(end 5.5231 1.5235)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "08acbb33-d7a2-40ec-b9c7-e1637e3c6b50")
|
||||
(uuid "cc8ed141-1479-47bc-b57c-ac3d7de64f29")
|
||||
)
|
||||
(fp_line
|
||||
(start 5.8293 -0.2794)
|
||||
(end 4.5593 0.8001)
|
||||
(start 6.7931 1.206)
|
||||
(end 5.5231 2.2855)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "93934ce2-e724-43a7-936d-d5b13ecab734")
|
||||
(uuid "59d9abe5-a32f-469b-9fd6-08593b95afde")
|
||||
)
|
||||
(fp_line
|
||||
(start 7.0104 -3.4544)
|
||||
(end 7.0104 3.2004)
|
||||
(start 7.9742 -1.969)
|
||||
(end 7.9742 4.6858)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "67302b70-b929-4d08-9b20-00ad993d7c48")
|
||||
(uuid "73f5a41f-61af-42a7-bacf-c58d7968f53a")
|
||||
)
|
||||
(fp_line
|
||||
(start 7.0104 3.2004)
|
||||
(end 0.3556 3.2004)
|
||||
(start 7.9742 4.6858)
|
||||
(end 1.3194 4.6858)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "0718d059-35cf-4406-ab64-7d7e6d83cf21")
|
||||
(uuid "9ec91a9f-ceda-4f7c-b422-f6a162037a63")
|
||||
)
|
||||
(fp_line
|
||||
(start 10.16 -7.493)
|
||||
(end -11.176 -7.493)
|
||||
(start 11.1238 -6.0076)
|
||||
(end -10.2122 -6.0076)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "3f15543c-c79e-44be-a583-62309e7f62ac")
|
||||
(uuid "ed6fa262-c61a-4bb7-90b5-f3b3ee971658")
|
||||
)
|
||||
(fp_line
|
||||
(start 10.16 8.636)
|
||||
(end 10.16 -7.493)
|
||||
(start 11.1238 10.1214)
|
||||
(end 11.1238 -6.0076)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "53974b4e-f4fd-4a51-b72c-09e66d707da7")
|
||||
(uuid "0251e69d-8ab4-482d-b741-3238b0fef811")
|
||||
)
|
||||
(fp_circle
|
||||
(center -8.1534 -4.8641)
|
||||
(end -7.5819 -4.3561)
|
||||
(center -7.1896 -3.3787)
|
||||
(end -6.6181 -2.8707)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.SilkS")
|
||||
(uuid "c9f36fdc-7af5-40c1-b400-6db31e87c78d")
|
||||
(uuid "55702fe3-b28e-4e80-86d3-f64c403681d1")
|
||||
)
|
||||
(fp_circle
|
||||
(center -8.1026 5.8166)
|
||||
(end -7.5311 6.3246)
|
||||
(center -7.1388 7.302)
|
||||
(end -6.5673 7.81)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.SilkS")
|
||||
(uuid "4e0da6f8-ad5e-4cc1-95ba-014ff87aee07")
|
||||
(uuid "0ffe4b1a-c314-4a3c-8456-b73925f03b28")
|
||||
)
|
||||
(fp_circle
|
||||
(center 6.4262 -4.8641)
|
||||
(end 6.9977 -4.3561)
|
||||
(center 7.39 -3.3787)
|
||||
(end 7.9615 -2.8707)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.SilkS")
|
||||
(uuid "1cb73701-38be-459b-a7c5-86d645c4cc0e")
|
||||
(uuid "82347fd5-ab01-478d-bf06-2837edd3b9c5")
|
||||
)
|
||||
(fp_circle
|
||||
(center 6.5278 5.7912)
|
||||
(end 7.0993 6.2992)
|
||||
(center 7.4916 7.2766)
|
||||
(end 8.0631 7.7846)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.SilkS")
|
||||
(uuid "079e6cb8-ca9e-47a7-9f22-9f08bcf4c5ee")
|
||||
(uuid "f74d6220-edbd-4a39-a810-7cf19016933f")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -6.7056 -2.54) (xy -6.2992 -2.54) (xy -6.2992 -1.9304) (xy -6.7056 -1.9304)
|
||||
(xy -5.7418 -1.0546) (xy -5.3354 -1.0546) (xy -5.3354 -0.445) (xy -5.7418 -0.445)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
|
@ -347,11 +352,11 @@
|
|||
)
|
||||
(fill solid)
|
||||
(layer "F.SilkS")
|
||||
(uuid "9f932498-4dae-4e35-9fff-b4bb98c73816")
|
||||
(uuid "80ff133a-8874-4f0a-8c9e-250633a8855a")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -6.7056 2.6416) (xy -6.2992 2.6416) (xy -6.2992 3.2512) (xy -6.7056 3.2512)
|
||||
(xy -5.7418 4.127) (xy -5.3354 4.127) (xy -5.3354 4.7366) (xy -5.7418 4.7366)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
|
@ -359,11 +364,11 @@
|
|||
)
|
||||
(fill solid)
|
||||
(layer "F.SilkS")
|
||||
(uuid "372c02f5-61f4-4301-aca3-d818a674272e")
|
||||
(uuid "6e08c3a4-3092-400f-9a55-4e8081226741")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -5.2324 -2.54) (xy -4.826 -2.54) (xy -4.826 -1.9304) (xy -5.2324 -1.9304)
|
||||
(xy -4.2686 -1.0546) (xy -3.8622 -1.0546) (xy -3.8622 -0.445) (xy -4.2686 -0.445)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
|
@ -371,11 +376,11 @@
|
|||
)
|
||||
(fill solid)
|
||||
(layer "F.SilkS")
|
||||
(uuid "8b8d18d4-2701-4c72-966d-f580819a5bea")
|
||||
(uuid "6a96c3fa-8827-498f-9c6c-ffb212b62a93")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -5.2324 2.6416) (xy -4.826 2.6416) (xy -4.826 3.2512) (xy -5.2324 3.2512)
|
||||
(xy -4.2686 4.127) (xy -3.8622 4.127) (xy -3.8622 4.7366) (xy -4.2686 4.7366)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
|
@ -383,11 +388,11 @@
|
|||
)
|
||||
(fill solid)
|
||||
(layer "F.SilkS")
|
||||
(uuid "d6255dee-580f-4b85-9e3c-df858fc7bc8d")
|
||||
(uuid "0886a33b-f340-44bf-9de5-f44938efcb54")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -3.7592 -2.54) (xy -3.3528 -2.54) (xy -3.3528 -1.9304) (xy -3.7592 -1.9304)
|
||||
(xy -2.7954 -1.0546) (xy -2.389 -1.0546) (xy -2.389 -0.445) (xy -2.7954 -0.445)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
|
@ -395,11 +400,11 @@
|
|||
)
|
||||
(fill solid)
|
||||
(layer "F.SilkS")
|
||||
(uuid "ebef6c64-7266-47b4-9a64-d9d611adc26d")
|
||||
(uuid "51e3d89a-8455-4f58-ad05-c15d024e9c54")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -3.7592 2.6416) (xy -3.3528 2.6416) (xy -3.3528 3.2512) (xy -3.7592 3.2512)
|
||||
(xy -2.7954 4.127) (xy -2.389 4.127) (xy -2.389 4.7366) (xy -2.7954 4.7366)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
|
@ -407,11 +412,11 @@
|
|||
)
|
||||
(fill solid)
|
||||
(layer "F.SilkS")
|
||||
(uuid "59be5a8f-ac87-4541-97df-321cb1234c4f")
|
||||
(uuid "5514ba93-c636-4e40-855a-d8123eaad1aa")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -2.2352 -2.54) (xy -1.8288 -2.54) (xy -1.8288 -1.9304) (xy -2.2352 -1.9304)
|
||||
(xy -1.2714 -1.0546) (xy -0.865 -1.0546) (xy -0.865 -0.445) (xy -1.2714 -0.445)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
|
@ -419,11 +424,11 @@
|
|||
)
|
||||
(fill solid)
|
||||
(layer "F.SilkS")
|
||||
(uuid "b1663dd5-c63f-4034-b29b-537f9a6abd47")
|
||||
(uuid "d6b9bc27-cda7-4d8b-ad26-7b36a48ecfbd")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -2.2352 2.6416) (xy -1.8288 2.6416) (xy -1.8288 3.2512) (xy -2.2352 3.2512)
|
||||
(xy -1.2714 4.127) (xy -0.865 4.127) (xy -0.865 4.7366) (xy -1.2714 4.7366)
|
||||
)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
|
@ -431,52 +436,52 @@
|
|||
)
|
||||
(fill solid)
|
||||
(layer "F.SilkS")
|
||||
(uuid "6e5990fc-9a52-480e-b640-cabfc2a6cd18")
|
||||
(uuid "3fef23e2-4bcd-4924-97f4-7575ce7994b1")
|
||||
)
|
||||
(fp_line
|
||||
(start -11.3538 -7.6454)
|
||||
(end -11.3538 8.8138)
|
||||
(start -10.39 -6.16)
|
||||
(end -10.39 10.2992)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "e21c3eb0-fdf3-4a2d-9d84-f366a7426b90")
|
||||
(uuid "bc1192d1-b770-4e65-bd6d-2beed31fb275")
|
||||
)
|
||||
(fp_line
|
||||
(start -11.3538 -7.6454)
|
||||
(end 10.3378 -7.6708)
|
||||
(start -10.39 -6.16)
|
||||
(end 11.3016 -6.1854)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "f2231139-582f-43f7-a92f-646e424ad044")
|
||||
(uuid "ac2ec45c-be62-4db0-88df-ef12d1f24714")
|
||||
)
|
||||
(fp_line
|
||||
(start -11.3538 8.8138)
|
||||
(end 10.3378 8.8138)
|
||||
(start -10.39 10.2992)
|
||||
(end 11.3016 10.2992)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "ff2d64a2-f244-4e27-a61c-b0184f18f038")
|
||||
(uuid "90a38e33-4119-4758-ac3b-323f8c73139c")
|
||||
)
|
||||
(fp_line
|
||||
(start 10.3378 -7.6708)
|
||||
(end 10.3378 8.8138)
|
||||
(start 11.3016 -6.1854)
|
||||
(end 11.3016 10.2992)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "e571d0ae-d587-45ad-9b62-7a686b2f0c60")
|
||||
(uuid "22193204-ae0b-4462-95d6-f226e27ae968")
|
||||
)
|
||||
(fp_text user "-"
|
||||
(at 6.4262 -4.9276 0)
|
||||
(at 7.39 -3.4422 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "4f88e670-b848-4271-a5f8-bd548b64cadd")
|
||||
(uuid "0bec24d9-5468-4c4b-96d3-ef96e25202cf")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
|
@ -485,9 +490,9 @@
|
|||
)
|
||||
)
|
||||
(fp_text user "-"
|
||||
(at -8.1534 -4.9276 0)
|
||||
(at -7.1896 -3.4422 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "86dab817-ad16-4cdc-b19d-607ba0d990ab")
|
||||
(uuid "0c9a77a8-8422-401b-a5a1-b40da4e203c0")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
|
@ -496,9 +501,9 @@
|
|||
)
|
||||
)
|
||||
(fp_text user "VOUT"
|
||||
(at 8.8138 0.0508 -90)
|
||||
(at 9.7776 1.5362 -90)
|
||||
(layer "F.SilkS")
|
||||
(uuid "876b8e16-62cc-4ae3-9c78-14a6cc337309")
|
||||
(uuid "3c0d7914-45a5-4bbb-8f5b-40ede46c7d70")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
|
@ -507,9 +512,9 @@
|
|||
)
|
||||
)
|
||||
(fp_text user "+"
|
||||
(at 6.5278 5.7277 0)
|
||||
(at -7.1388 7.2385 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "935ff27f-9949-446d-a438-f14c3624acfc")
|
||||
(uuid "4145e214-17c8-4e57-9147-ea318329ca66")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
|
@ -518,9 +523,9 @@
|
|||
)
|
||||
)
|
||||
(fp_text user "4.5-28V"
|
||||
(at -9.7536 0.3048 -90)
|
||||
(at -8.7898 1.7902 -90)
|
||||
(layer "F.SilkS")
|
||||
(uuid "d89e1384-2d5d-4d2d-bcf8-24657a3939a7")
|
||||
(uuid "9e9858d1-9320-4297-aaee-1e9bd601ead9")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
|
@ -529,9 +534,9 @@
|
|||
)
|
||||
)
|
||||
(fp_text user "+"
|
||||
(at -8.1026 5.7531 0)
|
||||
(at 7.4916 7.2131 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e3820af4-2c8f-4e79-b4d3-6c49dcea8bb5")
|
||||
(uuid "c1d9d6ad-e0e9-47c6-989c-71feb1923647")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
|
@ -540,68 +545,68 @@
|
|||
)
|
||||
)
|
||||
(pad "1" thru_hole rect
|
||||
(at -10.16 4.572 90)
|
||||
(at -9.1962 6.1704 90)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "6550b245-c3c7-4898-8573-6476b3094631")
|
||||
(uuid "7be89935-c19e-4baa-904a-69452ec23d23")
|
||||
)
|
||||
(pad "1" thru_hole rect
|
||||
(at -10.16 7.112 90)
|
||||
(at -9.1962 8.7104 90)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "2c55b3c8-f1e1-407a-8b02-310137232038")
|
||||
(uuid "8f4284a4-3768-4b1e-9962-d551ccf57e63")
|
||||
)
|
||||
(pad "2" thru_hole oval
|
||||
(at -10.1854 -3.683 90)
|
||||
(at -9.2216 -2.1976 90)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "6f8804ba-99ab-459b-84ff-3c356b03222a")
|
||||
(uuid "1f87148a-c7c2-483f-b799-2ff5e01ff488")
|
||||
)
|
||||
(pad "2" thru_hole oval
|
||||
(at -10.16 -6.223 90)
|
||||
(at -9.1962 -4.7376 90)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "b8ed6aef-b96f-4eb3-a1a2-2deefde02bbb")
|
||||
(uuid "bf2458a2-a107-48c3-bb88-9e881f49434c")
|
||||
)
|
||||
(pad "3" thru_hole rect
|
||||
(at 8.636 4.699 90)
|
||||
(at 9.5998 6.1844 90)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "5892046d-9427-451a-9d67-551089438a5d")
|
||||
(uuid "69cb71b1-224d-4fe7-8b14-ee9b1da593fb")
|
||||
)
|
||||
(pad "3" thru_hole rect
|
||||
(at 8.636 7.239 90)
|
||||
(at 9.5998 8.7244 90)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "519792c2-361a-4982-84bb-b0360a514c29")
|
||||
(uuid "39b44515-755a-4a18-9e94-5d0b3431f548")
|
||||
)
|
||||
(pad "4" thru_hole oval
|
||||
(at 8.7376 -3.683 90)
|
||||
(at 9.7014 -2.1976 90)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "efe9e9b1-891f-4b33-a064-306161845044")
|
||||
(uuid "6af0a541-44c2-41dc-9c4e-37db310350d6")
|
||||
)
|
||||
(pad "4" thru_hole oval
|
||||
(at 8.763 -6.223 90)
|
||||
(at 9.7268 -4.7376 90)
|
||||
(size 1.6 1.6)
|
||||
(drill 0.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "16f7d0b3-7073-4c65-a466-c8a09376cdd7")
|
||||
(uuid "204e6602-d630-4983-8e4d-fb59a5c65572")
|
||||
)
|
||||
(model "${KISYS3DMOD}/Module.3dshapes/Arduino_UNO_R2.wrl"
|
||||
(offset
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*
|
||||
G04 #@! TF.CreationDate,2024-06-05T14:32:50+02:00*
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
|
||||
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
|
||||
G04 #@! TF.ProjectId,CanGrow,43616e47-726f-4772-9e6b-696361645f70,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Soldermask,Bot*
|
||||
G04 #@! TF.FilePolarity,Negative*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.3) date 2024-06-05 14:32:50*
|
||||
G04 Created by KiCad (PCBNEW 8.0.5) date 2024-09-25 02:09:32*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
|
@ -31,321 +31,358 @@ G04 Aperture macros list*
|
|||
G04 Aperture macros list end*
|
||||
%ADD10R,1.600000X1.600000*%
|
||||
%ADD11C,1.600000*%
|
||||
%ADD12O,1.600000X1.600000*%
|
||||
%ADD13R,2.000000X1.905000*%
|
||||
%ADD14O,2.000000X1.905000*%
|
||||
%ADD15RoundRect,0.250001X-0.799999X-0.799999X0.799999X-0.799999X0.799999X0.799999X-0.799999X0.799999X0*%
|
||||
%ADD16R,1.800000X1.800000*%
|
||||
%ADD17C,1.800000*%
|
||||
%ADD18RoundRect,1.500000X1.500000X1.500000X-1.500000X1.500000X-1.500000X-1.500000X1.500000X-1.500000X0*%
|
||||
%ADD19C,6.000000*%
|
||||
%ADD20C,5.600000*%
|
||||
%ADD21O,1.800000X1.800000*%
|
||||
%ADD22O,3.800000X8.000000*%
|
||||
%ADD23R,1.700000X1.700000*%
|
||||
%ADD24O,1.700000X1.700000*%
|
||||
%ADD25R,2.000000X2.000000*%
|
||||
%ADD26O,2.000000X1.600000*%
|
||||
%ADD27C,1.100000*%
|
||||
%ADD28R,1.730000X2.030000*%
|
||||
%ADD29O,1.730000X2.030000*%
|
||||
%ADD30RoundRect,0.250001X0.799999X0.799999X-0.799999X0.799999X-0.799999X-0.799999X0.799999X-0.799999X0*%
|
||||
%ADD12R,1.800000X1.100000*%
|
||||
%ADD13RoundRect,0.275000X-0.625000X0.275000X-0.625000X-0.275000X0.625000X-0.275000X0.625000X0.275000X0*%
|
||||
%ADD14O,1.600000X1.600000*%
|
||||
%ADD15R,2.000000X1.905000*%
|
||||
%ADD16O,2.000000X1.905000*%
|
||||
%ADD17R,1.800000X1.800000*%
|
||||
%ADD18C,1.800000*%
|
||||
%ADD19RoundRect,1.500000X1.500000X1.500000X-1.500000X1.500000X-1.500000X-1.500000X1.500000X-1.500000X0*%
|
||||
%ADD20C,6.000000*%
|
||||
%ADD21C,5.600000*%
|
||||
%ADD22O,1.800000X1.800000*%
|
||||
%ADD23O,3.800000X8.000000*%
|
||||
%ADD24R,1.700000X1.700000*%
|
||||
%ADD25O,1.700000X1.700000*%
|
||||
%ADD26R,2.000000X2.000000*%
|
||||
%ADD27O,2.000000X1.600000*%
|
||||
%ADD28RoundRect,0.250000X-0.550000X-0.550000X0.550000X-0.550000X0.550000X0.550000X-0.550000X0.550000X0*%
|
||||
%ADD29RoundRect,0.275000X0.625000X-0.275000X0.625000X0.275000X-0.625000X0.275000X-0.625000X-0.275000X0*%
|
||||
%ADD30C,1.100000*%
|
||||
%ADD31R,1.730000X2.030000*%
|
||||
%ADD32O,1.730000X2.030000*%
|
||||
%ADD33RoundRect,0.250000X0.550000X0.550000X-0.550000X0.550000X-0.550000X-0.550000X0.550000X-0.550000X0*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X101500000Y-90100000D03*
|
||||
X156600000Y-108750000D03*
|
||||
D11*
|
||||
X104000000Y-90100000D03*
|
||||
X103955112Y-94200000D03*
|
||||
X101455112Y-94200000D03*
|
||||
D10*
|
||||
X153500000Y-111250000D03*
|
||||
D11*
|
||||
X153500000Y-108750000D03*
|
||||
X123520000Y-88850000D03*
|
||||
X156600000Y-111250000D03*
|
||||
D12*
|
||||
X133680000Y-88850000D03*
|
||||
X127400000Y-42690000D03*
|
||||
D13*
|
||||
X129470000Y-43960000D03*
|
||||
X127400000Y-45230000D03*
|
||||
D11*
|
||||
X117000000Y-42420000D03*
|
||||
D12*
|
||||
X106840000Y-42420000D03*
|
||||
D13*
|
||||
X138430000Y-83750000D03*
|
||||
D14*
|
||||
X106840000Y-42420000D03*
|
||||
D15*
|
||||
X138430000Y-83750000D03*
|
||||
D16*
|
||||
X138430000Y-81210000D03*
|
||||
X138430000Y-78670000D03*
|
||||
D13*
|
||||
D15*
|
||||
X129800000Y-35150000D03*
|
||||
D14*
|
||||
D16*
|
||||
X129800000Y-32610000D03*
|
||||
X129800000Y-30070000D03*
|
||||
D11*
|
||||
X139900000Y-53320000D03*
|
||||
D14*
|
||||
X139900000Y-63480000D03*
|
||||
D10*
|
||||
X130748000Y-108846000D03*
|
||||
X130748000Y-111386000D03*
|
||||
D14*
|
||||
X130722600Y-100478000D03*
|
||||
X130748000Y-97938000D03*
|
||||
D10*
|
||||
X149544000Y-108860000D03*
|
||||
X149544000Y-111400000D03*
|
||||
D14*
|
||||
X149645600Y-100478000D03*
|
||||
X149671000Y-97938000D03*
|
||||
D11*
|
||||
X177750000Y-92250000D03*
|
||||
D12*
|
||||
D14*
|
||||
X187910000Y-92250000D03*
|
||||
D15*
|
||||
X153750000Y-68000000D03*
|
||||
D11*
|
||||
X106750000Y-72750000D03*
|
||||
D12*
|
||||
X116910000Y-72750000D03*
|
||||
D11*
|
||||
X142680000Y-60340000D03*
|
||||
D12*
|
||||
X142680000Y-70500000D03*
|
||||
D16*
|
||||
D17*
|
||||
X122231000Y-81220000D03*
|
||||
D17*
|
||||
X122231000Y-83760000D03*
|
||||
D18*
|
||||
X113930000Y-59700000D03*
|
||||
X122231000Y-83760000D03*
|
||||
D19*
|
||||
X113930000Y-59700000D03*
|
||||
D20*
|
||||
X106730000Y-59700000D03*
|
||||
D16*
|
||||
X122250000Y-102750000D03*
|
||||
D17*
|
||||
X122250000Y-102750000D03*
|
||||
D18*
|
||||
X122250000Y-105290000D03*
|
||||
D11*
|
||||
X195500000Y-29200000D03*
|
||||
D12*
|
||||
D14*
|
||||
X185340000Y-29200000D03*
|
||||
D20*
|
||||
X87000000Y-26500000D03*
|
||||
D11*
|
||||
X116910000Y-69500000D03*
|
||||
D12*
|
||||
X106750000Y-69500000D03*
|
||||
D16*
|
||||
X106770000Y-87720000D03*
|
||||
X127430000Y-91400000D03*
|
||||
D13*
|
||||
X129500000Y-92670000D03*
|
||||
X127430000Y-93940000D03*
|
||||
D21*
|
||||
X87000000Y-22750000D03*
|
||||
D11*
|
||||
X116855000Y-69500000D03*
|
||||
D14*
|
||||
X106695000Y-69500000D03*
|
||||
D17*
|
||||
X106770000Y-87720000D03*
|
||||
D22*
|
||||
X116930000Y-87720000D03*
|
||||
D11*
|
||||
X133000000Y-94000000D03*
|
||||
D14*
|
||||
X133000000Y-83840000D03*
|
||||
D11*
|
||||
X195500000Y-52900000D03*
|
||||
D12*
|
||||
D14*
|
||||
X185340000Y-52900000D03*
|
||||
D11*
|
||||
X198180000Y-71050000D03*
|
||||
D12*
|
||||
D14*
|
||||
X188020000Y-71050000D03*
|
||||
D20*
|
||||
X203000000Y-26500000D03*
|
||||
D21*
|
||||
X203000000Y-22750000D03*
|
||||
D11*
|
||||
X139920000Y-66500000D03*
|
||||
D14*
|
||||
X150080000Y-66500000D03*
|
||||
D11*
|
||||
X116910000Y-100250000D03*
|
||||
D12*
|
||||
D14*
|
||||
X106750000Y-100250000D03*
|
||||
D22*
|
||||
D11*
|
||||
X153100000Y-78010000D03*
|
||||
D14*
|
||||
X153100000Y-67850000D03*
|
||||
D12*
|
||||
X121500000Y-69860000D03*
|
||||
D13*
|
||||
X123570000Y-71130000D03*
|
||||
X121500000Y-72400000D03*
|
||||
D12*
|
||||
X127400000Y-69860000D03*
|
||||
D13*
|
||||
X129470000Y-71130000D03*
|
||||
X127400000Y-72400000D03*
|
||||
D23*
|
||||
X96500000Y-97650000D03*
|
||||
X96500000Y-106950000D03*
|
||||
D23*
|
||||
D24*
|
||||
X195485000Y-60100000D03*
|
||||
D24*
|
||||
X192945000Y-60100000D03*
|
||||
D18*
|
||||
X113930000Y-81220000D03*
|
||||
D19*
|
||||
X106730000Y-81220000D03*
|
||||
D25*
|
||||
X150100000Y-31750000D03*
|
||||
X192945000Y-60100000D03*
|
||||
D19*
|
||||
X113930000Y-81220000D03*
|
||||
D20*
|
||||
X106730000Y-81220000D03*
|
||||
D26*
|
||||
X150100000Y-34290000D03*
|
||||
X150100000Y-36830000D03*
|
||||
X150100000Y-39370000D03*
|
||||
X150100000Y-41910000D03*
|
||||
X150100000Y-44450000D03*
|
||||
X150100000Y-46990000D03*
|
||||
X150100000Y-49530000D03*
|
||||
X172960000Y-49530000D03*
|
||||
X172960000Y-46990000D03*
|
||||
X172960000Y-44450000D03*
|
||||
X172960000Y-41910000D03*
|
||||
X172960000Y-39370000D03*
|
||||
X172960000Y-36830000D03*
|
||||
X172960000Y-34290000D03*
|
||||
X172960000Y-31750000D03*
|
||||
D23*
|
||||
X195955000Y-77050000D03*
|
||||
X150100000Y-27460000D03*
|
||||
D27*
|
||||
X150100000Y-30000000D03*
|
||||
X150100000Y-32540000D03*
|
||||
X150100000Y-35080000D03*
|
||||
X150100000Y-37620000D03*
|
||||
X150100000Y-40160000D03*
|
||||
X150100000Y-42700000D03*
|
||||
X150100000Y-45240000D03*
|
||||
X172960000Y-45240000D03*
|
||||
X172960000Y-42700000D03*
|
||||
X172960000Y-40160000D03*
|
||||
X172960000Y-37620000D03*
|
||||
X172960000Y-35080000D03*
|
||||
X172960000Y-32540000D03*
|
||||
X172960000Y-30000000D03*
|
||||
X172960000Y-27460000D03*
|
||||
D24*
|
||||
X195400000Y-77000000D03*
|
||||
D25*
|
||||
X192860000Y-77000000D03*
|
||||
X190320000Y-77000000D03*
|
||||
D24*
|
||||
X193415000Y-77050000D03*
|
||||
X190875000Y-77050000D03*
|
||||
D23*
|
||||
X195485000Y-38630000D03*
|
||||
D24*
|
||||
D25*
|
||||
X192945000Y-38630000D03*
|
||||
X190405000Y-38630000D03*
|
||||
X187865000Y-38630000D03*
|
||||
D15*
|
||||
X136750000Y-52500000D03*
|
||||
D16*
|
||||
X174830000Y-82250000D03*
|
||||
D21*
|
||||
X174830000Y-92410000D03*
|
||||
D16*
|
||||
X122300000Y-32620000D03*
|
||||
D28*
|
||||
X131800000Y-50800000D03*
|
||||
D17*
|
||||
X174830000Y-82250000D03*
|
||||
D22*
|
||||
X174830000Y-92410000D03*
|
||||
D17*
|
||||
X122300000Y-32620000D03*
|
||||
D18*
|
||||
X122300000Y-35160000D03*
|
||||
D23*
|
||||
X172420000Y-99250000D03*
|
||||
D24*
|
||||
X174960000Y-99250000D03*
|
||||
X177500000Y-99250000D03*
|
||||
D10*
|
||||
X138730000Y-70025000D03*
|
||||
D12*
|
||||
X138730000Y-67485000D03*
|
||||
X131110000Y-67485000D03*
|
||||
X131110000Y-70025000D03*
|
||||
D23*
|
||||
X195600000Y-99250000D03*
|
||||
D25*
|
||||
X193060000Y-99250000D03*
|
||||
X190520000Y-99250000D03*
|
||||
D11*
|
||||
X101455112Y-94200000D03*
|
||||
X103955112Y-94200000D03*
|
||||
D24*
|
||||
X195490000Y-47890000D03*
|
||||
D24*
|
||||
D25*
|
||||
X192950000Y-47890000D03*
|
||||
X190410000Y-47890000D03*
|
||||
X187870000Y-47890000D03*
|
||||
D23*
|
||||
X195485000Y-33980000D03*
|
||||
D11*
|
||||
X133000000Y-45310000D03*
|
||||
D14*
|
||||
X133000000Y-35150000D03*
|
||||
D12*
|
||||
X138400000Y-45170000D03*
|
||||
D29*
|
||||
X136330000Y-43900000D03*
|
||||
X138400000Y-42630000D03*
|
||||
D24*
|
||||
X195485000Y-33980000D03*
|
||||
D25*
|
||||
X192945000Y-33980000D03*
|
||||
X190405000Y-33980000D03*
|
||||
X187865000Y-33980000D03*
|
||||
D11*
|
||||
X142750000Y-33000000D03*
|
||||
D12*
|
||||
X142750000Y-43160000D03*
|
||||
D15*
|
||||
X157500000Y-68000000D03*
|
||||
D10*
|
||||
X138800000Y-42685000D03*
|
||||
D12*
|
||||
X138800000Y-40145000D03*
|
||||
X131180000Y-40145000D03*
|
||||
X131180000Y-42685000D03*
|
||||
D22*
|
||||
D28*
|
||||
X156500000Y-67860000D03*
|
||||
D23*
|
||||
X96500000Y-42450000D03*
|
||||
X96500000Y-33150000D03*
|
||||
X96500000Y-64000000D03*
|
||||
X96500000Y-54700000D03*
|
||||
D13*
|
||||
D15*
|
||||
X129680000Y-62250000D03*
|
||||
D14*
|
||||
D16*
|
||||
X129680000Y-59710000D03*
|
||||
X129680000Y-57170000D03*
|
||||
D10*
|
||||
X143630000Y-91470000D03*
|
||||
D12*
|
||||
X143630000Y-88930000D03*
|
||||
X136010000Y-88930000D03*
|
||||
X136010000Y-91470000D03*
|
||||
D15*
|
||||
X193000000Y-65000000D03*
|
||||
D28*
|
||||
X188000000Y-67900000D03*
|
||||
D11*
|
||||
X187670000Y-88250000D03*
|
||||
D12*
|
||||
X197830000Y-88250000D03*
|
||||
D10*
|
||||
X119794888Y-54750000D03*
|
||||
D11*
|
||||
X122294888Y-54750000D03*
|
||||
D13*
|
||||
X129680000Y-83750000D03*
|
||||
D14*
|
||||
X197830000Y-88250000D03*
|
||||
D11*
|
||||
X102500000Y-66200000D03*
|
||||
X102500000Y-68700000D03*
|
||||
X116900000Y-95000000D03*
|
||||
D14*
|
||||
X106740000Y-95000000D03*
|
||||
D10*
|
||||
X101500000Y-90100000D03*
|
||||
D11*
|
||||
X104000000Y-90100000D03*
|
||||
X133000000Y-72460000D03*
|
||||
D14*
|
||||
X133000000Y-62300000D03*
|
||||
D15*
|
||||
X129680000Y-83750000D03*
|
||||
D16*
|
||||
X129680000Y-81210000D03*
|
||||
X129680000Y-78670000D03*
|
||||
D10*
|
||||
X128204000Y-108710000D03*
|
||||
X128204000Y-111250000D03*
|
||||
D12*
|
||||
X128178600Y-100455000D03*
|
||||
X128204000Y-97915000D03*
|
||||
D10*
|
||||
X147000000Y-108837000D03*
|
||||
X147000000Y-111377000D03*
|
||||
D12*
|
||||
X147101600Y-100455000D03*
|
||||
X147127000Y-97915000D03*
|
||||
D16*
|
||||
X106760000Y-66240000D03*
|
||||
D21*
|
||||
X116920000Y-66240000D03*
|
||||
D20*
|
||||
X87000000Y-113500000D03*
|
||||
D27*
|
||||
X108910000Y-48540000D03*
|
||||
D28*
|
||||
X103830000Y-50700000D03*
|
||||
X138370000Y-72370000D03*
|
||||
D29*
|
||||
X106370000Y-50700000D03*
|
||||
X108910000Y-50700000D03*
|
||||
X111450000Y-50700000D03*
|
||||
X136300000Y-71100000D03*
|
||||
X138370000Y-69830000D03*
|
||||
D17*
|
||||
X106760000Y-66240000D03*
|
||||
D22*
|
||||
X116920000Y-66240000D03*
|
||||
D21*
|
||||
X87000000Y-117250000D03*
|
||||
D11*
|
||||
X146480000Y-32600000D03*
|
||||
D14*
|
||||
X136320000Y-32600000D03*
|
||||
D30*
|
||||
X108900000Y-48620000D03*
|
||||
D31*
|
||||
X103820000Y-50780000D03*
|
||||
D32*
|
||||
X106360000Y-50780000D03*
|
||||
X108900000Y-50780000D03*
|
||||
X111440000Y-50780000D03*
|
||||
D11*
|
||||
X181830000Y-85750000D03*
|
||||
X181830000Y-88250000D03*
|
||||
D10*
|
||||
X122250000Y-111250000D03*
|
||||
X123600000Y-108750000D03*
|
||||
D11*
|
||||
X122250000Y-108750000D03*
|
||||
D16*
|
||||
X123600000Y-111250000D03*
|
||||
D17*
|
||||
X106870000Y-39160000D03*
|
||||
D21*
|
||||
D22*
|
||||
X117030000Y-39160000D03*
|
||||
D23*
|
||||
X195485000Y-43250000D03*
|
||||
D11*
|
||||
X136325000Y-39600000D03*
|
||||
D14*
|
||||
X146485000Y-39600000D03*
|
||||
D11*
|
||||
X117000000Y-46000000D03*
|
||||
D14*
|
||||
X106840000Y-46000000D03*
|
||||
D24*
|
||||
X195485000Y-43250000D03*
|
||||
D25*
|
||||
X192945000Y-43250000D03*
|
||||
X190405000Y-43250000D03*
|
||||
X187865000Y-43250000D03*
|
||||
D18*
|
||||
X113990000Y-108095000D03*
|
||||
D11*
|
||||
X116860000Y-73500000D03*
|
||||
D14*
|
||||
X106700000Y-73500000D03*
|
||||
D19*
|
||||
X113990000Y-108095000D03*
|
||||
D20*
|
||||
X106790000Y-108095000D03*
|
||||
D11*
|
||||
X116930000Y-90980000D03*
|
||||
D12*
|
||||
D14*
|
||||
X106770000Y-90980000D03*
|
||||
D16*
|
||||
D17*
|
||||
X170830000Y-82250000D03*
|
||||
D21*
|
||||
X170830000Y-92410000D03*
|
||||
D22*
|
||||
X170830000Y-92410000D03*
|
||||
D23*
|
||||
X96500000Y-85450000D03*
|
||||
X96500000Y-76150000D03*
|
||||
D11*
|
||||
X123000000Y-48570000D03*
|
||||
D12*
|
||||
X123000000Y-38410000D03*
|
||||
D18*
|
||||
X114000000Y-32610000D03*
|
||||
X121500000Y-42690000D03*
|
||||
D13*
|
||||
X123570000Y-43960000D03*
|
||||
X121500000Y-45230000D03*
|
||||
D12*
|
||||
X138400000Y-93900000D03*
|
||||
D29*
|
||||
X136330000Y-92630000D03*
|
||||
X138400000Y-91360000D03*
|
||||
D12*
|
||||
X121490000Y-91400000D03*
|
||||
D13*
|
||||
X123560000Y-92670000D03*
|
||||
X121490000Y-93940000D03*
|
||||
D19*
|
||||
X106800000Y-32610000D03*
|
||||
D11*
|
||||
X106840000Y-45670000D03*
|
||||
D12*
|
||||
X117000000Y-45670000D03*
|
||||
D11*
|
||||
X106770000Y-94230000D03*
|
||||
D12*
|
||||
X116930000Y-94230000D03*
|
||||
X114000000Y-32610000D03*
|
||||
D20*
|
||||
X203000000Y-113500000D03*
|
||||
D23*
|
||||
X177250000Y-47250000D03*
|
||||
X106800000Y-32610000D03*
|
||||
D21*
|
||||
X203000000Y-117250000D03*
|
||||
D24*
|
||||
X177250000Y-44710000D03*
|
||||
X177250000Y-42790000D03*
|
||||
D25*
|
||||
X177250000Y-40250000D03*
|
||||
D11*
|
||||
X122930000Y-75660000D03*
|
||||
D12*
|
||||
X122930000Y-65500000D03*
|
||||
D11*
|
||||
X147430000Y-81890000D03*
|
||||
D12*
|
||||
X147430000Y-92050000D03*
|
||||
D15*
|
||||
X158500000Y-111250000D03*
|
||||
D16*
|
||||
X122230000Y-59710000D03*
|
||||
X144200000Y-74300000D03*
|
||||
D14*
|
||||
X144200000Y-84460000D03*
|
||||
D17*
|
||||
X122230000Y-59710000D03*
|
||||
D18*
|
||||
X122230000Y-62250000D03*
|
||||
D11*
|
||||
X197830000Y-84250000D03*
|
||||
D12*
|
||||
D14*
|
||||
X187670000Y-84250000D03*
|
||||
D30*
|
||||
X169750000Y-52500000D03*
|
||||
D33*
|
||||
X169750000Y-50800000D03*
|
||||
M02*
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*
|
||||
G04 #@! TF.CreationDate,2024-06-05T14:32:50+02:00*
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
|
||||
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
|
||||
G04 #@! TF.ProjectId,CanGrow,43616e47-726f-4772-9e6b-696361645f70,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Paste,Bot*
|
||||
G04 #@! TF.FilePolarity,Positive*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.3) date 2024-06-05 14:32:50*
|
||||
G04 Created by KiCad (PCBNEW 8.0.5) date 2024-09-25 02:09:32*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*
|
||||
G04 #@! TF.CreationDate,2024-06-05T14:32:50+02:00*
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
|
||||
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
|
||||
G04 #@! TF.ProjectId,CanGrow,43616e47-726f-4772-9e6b-696361645f70,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Legend,Bot*
|
||||
G04 #@! TF.FilePolarity,Positive*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.3) date 2024-06-05 14:32:50*
|
||||
G04 Created by KiCad (PCBNEW 8.0.5) date 2024-09-25 02:09:32*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
|
@ -33,403 +33,440 @@ G04 Aperture macros list end*
|
|||
%ADD11C,0.300000*%
|
||||
%ADD12R,1.600000X1.600000*%
|
||||
%ADD13C,1.600000*%
|
||||
%ADD14O,1.600000X1.600000*%
|
||||
%ADD15R,2.000000X1.905000*%
|
||||
%ADD16O,2.000000X1.905000*%
|
||||
%ADD17RoundRect,0.250001X-0.799999X-0.799999X0.799999X-0.799999X0.799999X0.799999X-0.799999X0.799999X0*%
|
||||
%ADD18R,1.800000X1.800000*%
|
||||
%ADD19C,1.800000*%
|
||||
%ADD20RoundRect,1.500000X1.500000X1.500000X-1.500000X1.500000X-1.500000X-1.500000X1.500000X-1.500000X0*%
|
||||
%ADD21C,6.000000*%
|
||||
%ADD22C,5.600000*%
|
||||
%ADD23O,1.800000X1.800000*%
|
||||
%ADD24O,3.800000X8.000000*%
|
||||
%ADD25R,1.700000X1.700000*%
|
||||
%ADD26O,1.700000X1.700000*%
|
||||
%ADD27R,2.000000X2.000000*%
|
||||
%ADD28O,2.000000X1.600000*%
|
||||
%ADD29C,1.100000*%
|
||||
%ADD30R,1.730000X2.030000*%
|
||||
%ADD31O,1.730000X2.030000*%
|
||||
%ADD32RoundRect,0.250001X0.799999X0.799999X-0.799999X0.799999X-0.799999X-0.799999X0.799999X-0.799999X0*%
|
||||
%ADD14R,1.800000X1.100000*%
|
||||
%ADD15RoundRect,0.275000X-0.625000X0.275000X-0.625000X-0.275000X0.625000X-0.275000X0.625000X0.275000X0*%
|
||||
%ADD16O,1.600000X1.600000*%
|
||||
%ADD17R,2.000000X1.905000*%
|
||||
%ADD18O,2.000000X1.905000*%
|
||||
%ADD19R,1.800000X1.800000*%
|
||||
%ADD20C,1.800000*%
|
||||
%ADD21RoundRect,1.500000X1.500000X1.500000X-1.500000X1.500000X-1.500000X-1.500000X1.500000X-1.500000X0*%
|
||||
%ADD22C,6.000000*%
|
||||
%ADD23C,5.600000*%
|
||||
%ADD24O,1.800000X1.800000*%
|
||||
%ADD25O,3.800000X8.000000*%
|
||||
%ADD26R,1.700000X1.700000*%
|
||||
%ADD27O,1.700000X1.700000*%
|
||||
%ADD28R,2.000000X2.000000*%
|
||||
%ADD29O,2.000000X1.600000*%
|
||||
%ADD30RoundRect,0.250000X-0.550000X-0.550000X0.550000X-0.550000X0.550000X0.550000X-0.550000X0.550000X0*%
|
||||
%ADD31RoundRect,0.275000X0.625000X-0.275000X0.625000X0.275000X-0.625000X0.275000X-0.625000X-0.275000X0*%
|
||||
%ADD32C,1.100000*%
|
||||
%ADD33R,1.730000X2.030000*%
|
||||
%ADD34O,1.730000X2.030000*%
|
||||
%ADD35RoundRect,0.250000X0.550000X0.550000X-0.550000X0.550000X-0.550000X-0.550000X0.550000X-0.550000X0*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X161600000Y-68950000D02*
|
||||
X162000000Y-69750000D01*
|
||||
X152750000Y-65000000D02*
|
||||
X153750000Y-66000000D01*
|
||||
X148250000Y-62500000D01*
|
||||
X152750000Y-65000000D01*
|
||||
X161150000Y-68950000D02*
|
||||
X161550000Y-69750000D01*
|
||||
X152300000Y-65000000D02*
|
||||
X153300000Y-66000000D01*
|
||||
X147800000Y-62500000D01*
|
||||
X152300000Y-65000000D01*
|
||||
G36*
|
||||
X152750000Y-65000000D02*
|
||||
X152300000Y-65000000D02*
|
||||
G01*
|
||||
X153750000Y-66000000D01*
|
||||
X148250000Y-62500000D01*
|
||||
X152750000Y-65000000D01*
|
||||
X153300000Y-66000000D01*
|
||||
X147800000Y-62500000D01*
|
||||
X152300000Y-65000000D01*
|
||||
G37*
|
||||
X162090000Y-68925000D02*
|
||||
X162290000Y-69325000D01*
|
||||
X156250000Y-64500000D02*
|
||||
X155250000Y-66000000D01*
|
||||
X157250000Y-60500000D01*
|
||||
X156250000Y-64500000D01*
|
||||
X161640000Y-68925000D02*
|
||||
X161840000Y-69325000D01*
|
||||
X155800000Y-64500000D02*
|
||||
X154800000Y-66000000D01*
|
||||
X156800000Y-60500000D01*
|
||||
X155800000Y-64500000D01*
|
||||
G36*
|
||||
X156250000Y-64500000D02*
|
||||
X155800000Y-64500000D02*
|
||||
G01*
|
||||
X155250000Y-66000000D01*
|
||||
X157250000Y-60500000D01*
|
||||
X156250000Y-64500000D01*
|
||||
X154800000Y-66000000D01*
|
||||
X156800000Y-60500000D01*
|
||||
X155800000Y-64500000D01*
|
||||
G37*
|
||||
X157250000Y-65000000D02*
|
||||
X156250000Y-66000000D01*
|
||||
X158250000Y-62000000D01*
|
||||
X157250000Y-65000000D01*
|
||||
X156800000Y-65000000D02*
|
||||
X155800000Y-66000000D01*
|
||||
X157800000Y-62000000D01*
|
||||
X156800000Y-65000000D01*
|
||||
G36*
|
||||
X157250000Y-65000000D02*
|
||||
X156800000Y-65000000D02*
|
||||
G01*
|
||||
X156250000Y-66000000D01*
|
||||
X158250000Y-62000000D01*
|
||||
X157250000Y-65000000D01*
|
||||
X155800000Y-66000000D01*
|
||||
X157800000Y-62000000D01*
|
||||
X156800000Y-65000000D01*
|
||||
G37*
|
||||
X161800000Y-68850000D02*
|
||||
X162200000Y-69650000D01*
|
||||
X161750000Y-70000000D02*
|
||||
X156250000Y-71500000D01*
|
||||
X161250000Y-69000000D01*
|
||||
X161750000Y-70000000D01*
|
||||
X161350000Y-68850000D02*
|
||||
X161750000Y-69650000D01*
|
||||
X161300000Y-70000000D02*
|
||||
X155800000Y-71500000D01*
|
||||
X160800000Y-69000000D01*
|
||||
X161300000Y-70000000D01*
|
||||
G36*
|
||||
X161750000Y-70000000D02*
|
||||
X161300000Y-70000000D02*
|
||||
G01*
|
||||
X156250000Y-71500000D01*
|
||||
X161250000Y-69000000D01*
|
||||
X161750000Y-70000000D01*
|
||||
X155800000Y-71500000D01*
|
||||
X160800000Y-69000000D01*
|
||||
X161300000Y-70000000D01*
|
||||
G37*
|
||||
X154750000Y-63500000D02*
|
||||
X154750000Y-66000000D01*
|
||||
X153250000Y-59000000D01*
|
||||
X154750000Y-63500000D01*
|
||||
X154300000Y-63500000D02*
|
||||
X154300000Y-66000000D01*
|
||||
X152800000Y-59000000D01*
|
||||
X154300000Y-63500000D01*
|
||||
G36*
|
||||
X154750000Y-63500000D02*
|
||||
X154300000Y-63500000D02*
|
||||
G01*
|
||||
X154750000Y-66000000D01*
|
||||
X153250000Y-59000000D01*
|
||||
X154750000Y-63500000D01*
|
||||
X154300000Y-66000000D01*
|
||||
X152800000Y-59000000D01*
|
||||
X154300000Y-63500000D01*
|
||||
G37*
|
||||
X152750000Y-63500000D02*
|
||||
X154250000Y-66000000D01*
|
||||
X149250000Y-60500000D01*
|
||||
X152750000Y-63500000D01*
|
||||
X152300000Y-63500000D02*
|
||||
X153800000Y-66000000D01*
|
||||
X148800000Y-60500000D01*
|
||||
X152300000Y-63500000D01*
|
||||
G36*
|
||||
X152750000Y-63500000D02*
|
||||
X152300000Y-63500000D02*
|
||||
G01*
|
||||
X154250000Y-66000000D01*
|
||||
X149250000Y-60500000D01*
|
||||
X152750000Y-63500000D01*
|
||||
X153800000Y-66000000D01*
|
||||
X148800000Y-60500000D01*
|
||||
X152300000Y-63500000D01*
|
||||
G37*
|
||||
D11*
|
||||
X156750000Y-72000000D02*
|
||||
X155250000Y-73000000D01*
|
||||
X153250000Y-72000000D01*
|
||||
X152750000Y-70000000D01*
|
||||
X157250000Y-70000000D01*
|
||||
X156750000Y-72000000D01*
|
||||
X156300000Y-72000000D02*
|
||||
X154800000Y-73000000D01*
|
||||
X152800000Y-72000000D01*
|
||||
X152300000Y-70000000D01*
|
||||
X156800000Y-70000000D01*
|
||||
X156300000Y-72000000D01*
|
||||
%LPC*%
|
||||
D12*
|
||||
X101500000Y-90100000D03*
|
||||
X156600000Y-108750000D03*
|
||||
D13*
|
||||
X104000000Y-90100000D03*
|
||||
X103955112Y-94200000D03*
|
||||
X101455112Y-94200000D03*
|
||||
D12*
|
||||
X153500000Y-111250000D03*
|
||||
D13*
|
||||
X153500000Y-108750000D03*
|
||||
X123520000Y-88850000D03*
|
||||
X156600000Y-111250000D03*
|
||||
D14*
|
||||
X133680000Y-88850000D03*
|
||||
X127400000Y-42690000D03*
|
||||
D15*
|
||||
X129470000Y-43960000D03*
|
||||
X127400000Y-45230000D03*
|
||||
D13*
|
||||
X117000000Y-42420000D03*
|
||||
D14*
|
||||
X106840000Y-42420000D03*
|
||||
D15*
|
||||
X138430000Y-83750000D03*
|
||||
D16*
|
||||
X106840000Y-42420000D03*
|
||||
D17*
|
||||
X138430000Y-83750000D03*
|
||||
D18*
|
||||
X138430000Y-81210000D03*
|
||||
X138430000Y-78670000D03*
|
||||
D15*
|
||||
D17*
|
||||
X129800000Y-35150000D03*
|
||||
D16*
|
||||
D18*
|
||||
X129800000Y-32610000D03*
|
||||
X129800000Y-30070000D03*
|
||||
D13*
|
||||
X139900000Y-53320000D03*
|
||||
D16*
|
||||
X139900000Y-63480000D03*
|
||||
D12*
|
||||
X130748000Y-108846000D03*
|
||||
X130748000Y-111386000D03*
|
||||
D16*
|
||||
X130722600Y-100478000D03*
|
||||
X130748000Y-97938000D03*
|
||||
D12*
|
||||
X149544000Y-108860000D03*
|
||||
X149544000Y-111400000D03*
|
||||
D16*
|
||||
X149645600Y-100478000D03*
|
||||
X149671000Y-97938000D03*
|
||||
D13*
|
||||
X177750000Y-92250000D03*
|
||||
D14*
|
||||
D16*
|
||||
X187910000Y-92250000D03*
|
||||
D17*
|
||||
X153750000Y-68000000D03*
|
||||
D13*
|
||||
X106750000Y-72750000D03*
|
||||
D14*
|
||||
X116910000Y-72750000D03*
|
||||
D13*
|
||||
X142680000Y-60340000D03*
|
||||
D14*
|
||||
X142680000Y-70500000D03*
|
||||
D18*
|
||||
D19*
|
||||
X122231000Y-81220000D03*
|
||||
D19*
|
||||
X122231000Y-83760000D03*
|
||||
D20*
|
||||
X113930000Y-59700000D03*
|
||||
X122231000Y-83760000D03*
|
||||
D21*
|
||||
X113930000Y-59700000D03*
|
||||
D22*
|
||||
X106730000Y-59700000D03*
|
||||
D18*
|
||||
X122250000Y-102750000D03*
|
||||
D19*
|
||||
X122250000Y-102750000D03*
|
||||
D20*
|
||||
X122250000Y-105290000D03*
|
||||
D13*
|
||||
X195500000Y-29200000D03*
|
||||
D14*
|
||||
D16*
|
||||
X185340000Y-29200000D03*
|
||||
D22*
|
||||
X87000000Y-26500000D03*
|
||||
D13*
|
||||
X116910000Y-69500000D03*
|
||||
D14*
|
||||
X106750000Y-69500000D03*
|
||||
D18*
|
||||
X106770000Y-87720000D03*
|
||||
X127430000Y-91400000D03*
|
||||
D15*
|
||||
X129500000Y-92670000D03*
|
||||
X127430000Y-93940000D03*
|
||||
D23*
|
||||
X87000000Y-22750000D03*
|
||||
D13*
|
||||
X116855000Y-69500000D03*
|
||||
D16*
|
||||
X106695000Y-69500000D03*
|
||||
D19*
|
||||
X106770000Y-87720000D03*
|
||||
D24*
|
||||
X116930000Y-87720000D03*
|
||||
D13*
|
||||
X133000000Y-94000000D03*
|
||||
D16*
|
||||
X133000000Y-83840000D03*
|
||||
D13*
|
||||
X195500000Y-52900000D03*
|
||||
D14*
|
||||
D16*
|
||||
X185340000Y-52900000D03*
|
||||
D13*
|
||||
X198180000Y-71050000D03*
|
||||
D14*
|
||||
D16*
|
||||
X188020000Y-71050000D03*
|
||||
D22*
|
||||
X203000000Y-26500000D03*
|
||||
D23*
|
||||
X203000000Y-22750000D03*
|
||||
D13*
|
||||
X139920000Y-66500000D03*
|
||||
D16*
|
||||
X150080000Y-66500000D03*
|
||||
D13*
|
||||
X116910000Y-100250000D03*
|
||||
D14*
|
||||
D16*
|
||||
X106750000Y-100250000D03*
|
||||
D24*
|
||||
D13*
|
||||
X153100000Y-78010000D03*
|
||||
D16*
|
||||
X153100000Y-67850000D03*
|
||||
D14*
|
||||
X121500000Y-69860000D03*
|
||||
D15*
|
||||
X123570000Y-71130000D03*
|
||||
X121500000Y-72400000D03*
|
||||
D14*
|
||||
X127400000Y-69860000D03*
|
||||
D15*
|
||||
X129470000Y-71130000D03*
|
||||
X127400000Y-72400000D03*
|
||||
D25*
|
||||
X96500000Y-97650000D03*
|
||||
X96500000Y-106950000D03*
|
||||
D25*
|
||||
D26*
|
||||
X195485000Y-60100000D03*
|
||||
D26*
|
||||
X192945000Y-60100000D03*
|
||||
D20*
|
||||
X113930000Y-81220000D03*
|
||||
D21*
|
||||
X106730000Y-81220000D03*
|
||||
D27*
|
||||
X150100000Y-31750000D03*
|
||||
X192945000Y-60100000D03*
|
||||
D21*
|
||||
X113930000Y-81220000D03*
|
||||
D22*
|
||||
X106730000Y-81220000D03*
|
||||
D28*
|
||||
X150100000Y-34290000D03*
|
||||
X150100000Y-36830000D03*
|
||||
X150100000Y-39370000D03*
|
||||
X150100000Y-41910000D03*
|
||||
X150100000Y-44450000D03*
|
||||
X150100000Y-46990000D03*
|
||||
X150100000Y-49530000D03*
|
||||
X172960000Y-49530000D03*
|
||||
X172960000Y-46990000D03*
|
||||
X172960000Y-44450000D03*
|
||||
X172960000Y-41910000D03*
|
||||
X172960000Y-39370000D03*
|
||||
X172960000Y-36830000D03*
|
||||
X172960000Y-34290000D03*
|
||||
X172960000Y-31750000D03*
|
||||
D25*
|
||||
X195955000Y-77050000D03*
|
||||
X150100000Y-27460000D03*
|
||||
D29*
|
||||
X150100000Y-30000000D03*
|
||||
X150100000Y-32540000D03*
|
||||
X150100000Y-35080000D03*
|
||||
X150100000Y-37620000D03*
|
||||
X150100000Y-40160000D03*
|
||||
X150100000Y-42700000D03*
|
||||
X150100000Y-45240000D03*
|
||||
X172960000Y-45240000D03*
|
||||
X172960000Y-42700000D03*
|
||||
X172960000Y-40160000D03*
|
||||
X172960000Y-37620000D03*
|
||||
X172960000Y-35080000D03*
|
||||
X172960000Y-32540000D03*
|
||||
X172960000Y-30000000D03*
|
||||
X172960000Y-27460000D03*
|
||||
D26*
|
||||
X195400000Y-77000000D03*
|
||||
D27*
|
||||
X192860000Y-77000000D03*
|
||||
X190320000Y-77000000D03*
|
||||
D26*
|
||||
X193415000Y-77050000D03*
|
||||
X190875000Y-77050000D03*
|
||||
D25*
|
||||
X195485000Y-38630000D03*
|
||||
D26*
|
||||
D27*
|
||||
X192945000Y-38630000D03*
|
||||
X190405000Y-38630000D03*
|
||||
X187865000Y-38630000D03*
|
||||
D17*
|
||||
X136750000Y-52500000D03*
|
||||
D18*
|
||||
X174830000Y-82250000D03*
|
||||
D23*
|
||||
X174830000Y-92410000D03*
|
||||
D18*
|
||||
X122300000Y-32620000D03*
|
||||
D30*
|
||||
X131800000Y-50800000D03*
|
||||
D19*
|
||||
X174830000Y-82250000D03*
|
||||
D24*
|
||||
X174830000Y-92410000D03*
|
||||
D19*
|
||||
X122300000Y-32620000D03*
|
||||
D20*
|
||||
X122300000Y-35160000D03*
|
||||
D25*
|
||||
X172420000Y-99250000D03*
|
||||
D26*
|
||||
X174960000Y-99250000D03*
|
||||
X177500000Y-99250000D03*
|
||||
D12*
|
||||
X138730000Y-70025000D03*
|
||||
D14*
|
||||
X138730000Y-67485000D03*
|
||||
X131110000Y-67485000D03*
|
||||
X131110000Y-70025000D03*
|
||||
D25*
|
||||
X195600000Y-99250000D03*
|
||||
D27*
|
||||
X193060000Y-99250000D03*
|
||||
X190520000Y-99250000D03*
|
||||
D13*
|
||||
X101455112Y-94200000D03*
|
||||
X103955112Y-94200000D03*
|
||||
D26*
|
||||
X195490000Y-47890000D03*
|
||||
D26*
|
||||
D27*
|
||||
X192950000Y-47890000D03*
|
||||
X190410000Y-47890000D03*
|
||||
X187870000Y-47890000D03*
|
||||
D25*
|
||||
X195485000Y-33980000D03*
|
||||
D13*
|
||||
X133000000Y-45310000D03*
|
||||
D16*
|
||||
X133000000Y-35150000D03*
|
||||
D14*
|
||||
X138400000Y-45170000D03*
|
||||
D31*
|
||||
X136330000Y-43900000D03*
|
||||
X138400000Y-42630000D03*
|
||||
D26*
|
||||
X195485000Y-33980000D03*
|
||||
D27*
|
||||
X192945000Y-33980000D03*
|
||||
X190405000Y-33980000D03*
|
||||
X187865000Y-33980000D03*
|
||||
D13*
|
||||
X142750000Y-33000000D03*
|
||||
D14*
|
||||
X142750000Y-43160000D03*
|
||||
D17*
|
||||
X157500000Y-68000000D03*
|
||||
D12*
|
||||
X138800000Y-42685000D03*
|
||||
D14*
|
||||
X138800000Y-40145000D03*
|
||||
X131180000Y-40145000D03*
|
||||
X131180000Y-42685000D03*
|
||||
D24*
|
||||
D30*
|
||||
X156500000Y-67860000D03*
|
||||
D25*
|
||||
X96500000Y-42450000D03*
|
||||
X96500000Y-33150000D03*
|
||||
X96500000Y-64000000D03*
|
||||
X96500000Y-54700000D03*
|
||||
D15*
|
||||
D17*
|
||||
X129680000Y-62250000D03*
|
||||
D16*
|
||||
D18*
|
||||
X129680000Y-59710000D03*
|
||||
X129680000Y-57170000D03*
|
||||
D12*
|
||||
X143630000Y-91470000D03*
|
||||
D14*
|
||||
X143630000Y-88930000D03*
|
||||
X136010000Y-88930000D03*
|
||||
X136010000Y-91470000D03*
|
||||
D17*
|
||||
X193000000Y-65000000D03*
|
||||
D30*
|
||||
X188000000Y-67900000D03*
|
||||
D13*
|
||||
X187670000Y-88250000D03*
|
||||
D14*
|
||||
X197830000Y-88250000D03*
|
||||
D12*
|
||||
X119794888Y-54750000D03*
|
||||
D13*
|
||||
X122294888Y-54750000D03*
|
||||
D15*
|
||||
X129680000Y-83750000D03*
|
||||
D16*
|
||||
X197830000Y-88250000D03*
|
||||
D13*
|
||||
X102500000Y-66200000D03*
|
||||
X102500000Y-68700000D03*
|
||||
X116900000Y-95000000D03*
|
||||
D16*
|
||||
X106740000Y-95000000D03*
|
||||
D12*
|
||||
X101500000Y-90100000D03*
|
||||
D13*
|
||||
X104000000Y-90100000D03*
|
||||
X133000000Y-72460000D03*
|
||||
D16*
|
||||
X133000000Y-62300000D03*
|
||||
D17*
|
||||
X129680000Y-83750000D03*
|
||||
D18*
|
||||
X129680000Y-81210000D03*
|
||||
X129680000Y-78670000D03*
|
||||
D12*
|
||||
X128204000Y-108710000D03*
|
||||
X128204000Y-111250000D03*
|
||||
D14*
|
||||
X128178600Y-100455000D03*
|
||||
X128204000Y-97915000D03*
|
||||
D12*
|
||||
X147000000Y-108837000D03*
|
||||
X147000000Y-111377000D03*
|
||||
D14*
|
||||
X147101600Y-100455000D03*
|
||||
X147127000Y-97915000D03*
|
||||
D18*
|
||||
X106760000Y-66240000D03*
|
||||
D23*
|
||||
X116920000Y-66240000D03*
|
||||
D22*
|
||||
X87000000Y-113500000D03*
|
||||
D29*
|
||||
X108910000Y-48540000D03*
|
||||
D30*
|
||||
X103830000Y-50700000D03*
|
||||
X138370000Y-72370000D03*
|
||||
D31*
|
||||
X106370000Y-50700000D03*
|
||||
X108910000Y-50700000D03*
|
||||
X111450000Y-50700000D03*
|
||||
X136300000Y-71100000D03*
|
||||
X138370000Y-69830000D03*
|
||||
D19*
|
||||
X106760000Y-66240000D03*
|
||||
D24*
|
||||
X116920000Y-66240000D03*
|
||||
D23*
|
||||
X87000000Y-117250000D03*
|
||||
D13*
|
||||
X146480000Y-32600000D03*
|
||||
D16*
|
||||
X136320000Y-32600000D03*
|
||||
D32*
|
||||
X108900000Y-48620000D03*
|
||||
D33*
|
||||
X103820000Y-50780000D03*
|
||||
D34*
|
||||
X106360000Y-50780000D03*
|
||||
X108900000Y-50780000D03*
|
||||
X111440000Y-50780000D03*
|
||||
D13*
|
||||
X181830000Y-85750000D03*
|
||||
X181830000Y-88250000D03*
|
||||
D12*
|
||||
X122250000Y-111250000D03*
|
||||
X123600000Y-108750000D03*
|
||||
D13*
|
||||
X122250000Y-108750000D03*
|
||||
D18*
|
||||
X123600000Y-111250000D03*
|
||||
D19*
|
||||
X106870000Y-39160000D03*
|
||||
D23*
|
||||
D24*
|
||||
X117030000Y-39160000D03*
|
||||
D25*
|
||||
X195485000Y-43250000D03*
|
||||
D13*
|
||||
X136325000Y-39600000D03*
|
||||
D16*
|
||||
X146485000Y-39600000D03*
|
||||
D13*
|
||||
X117000000Y-46000000D03*
|
||||
D16*
|
||||
X106840000Y-46000000D03*
|
||||
D26*
|
||||
X195485000Y-43250000D03*
|
||||
D27*
|
||||
X192945000Y-43250000D03*
|
||||
X190405000Y-43250000D03*
|
||||
X187865000Y-43250000D03*
|
||||
D20*
|
||||
X113990000Y-108095000D03*
|
||||
D13*
|
||||
X116860000Y-73500000D03*
|
||||
D16*
|
||||
X106700000Y-73500000D03*
|
||||
D21*
|
||||
X113990000Y-108095000D03*
|
||||
D22*
|
||||
X106790000Y-108095000D03*
|
||||
D13*
|
||||
X116930000Y-90980000D03*
|
||||
D14*
|
||||
D16*
|
||||
X106770000Y-90980000D03*
|
||||
D18*
|
||||
D19*
|
||||
X170830000Y-82250000D03*
|
||||
D23*
|
||||
X170830000Y-92410000D03*
|
||||
D24*
|
||||
X170830000Y-92410000D03*
|
||||
D25*
|
||||
X96500000Y-85450000D03*
|
||||
X96500000Y-76150000D03*
|
||||
D13*
|
||||
X123000000Y-48570000D03*
|
||||
D14*
|
||||
X123000000Y-38410000D03*
|
||||
D20*
|
||||
X114000000Y-32610000D03*
|
||||
X121500000Y-42690000D03*
|
||||
D15*
|
||||
X123570000Y-43960000D03*
|
||||
X121500000Y-45230000D03*
|
||||
D14*
|
||||
X138400000Y-93900000D03*
|
||||
D31*
|
||||
X136330000Y-92630000D03*
|
||||
X138400000Y-91360000D03*
|
||||
D14*
|
||||
X121490000Y-91400000D03*
|
||||
D15*
|
||||
X123560000Y-92670000D03*
|
||||
X121490000Y-93940000D03*
|
||||
D21*
|
||||
X106800000Y-32610000D03*
|
||||
D13*
|
||||
X106840000Y-45670000D03*
|
||||
D14*
|
||||
X117000000Y-45670000D03*
|
||||
D13*
|
||||
X106770000Y-94230000D03*
|
||||
D14*
|
||||
X116930000Y-94230000D03*
|
||||
X114000000Y-32610000D03*
|
||||
D22*
|
||||
X203000000Y-113500000D03*
|
||||
D25*
|
||||
X177250000Y-47250000D03*
|
||||
X106800000Y-32610000D03*
|
||||
D23*
|
||||
X203000000Y-117250000D03*
|
||||
D26*
|
||||
X177250000Y-44710000D03*
|
||||
X177250000Y-42790000D03*
|
||||
D27*
|
||||
X177250000Y-40250000D03*
|
||||
D13*
|
||||
X122930000Y-75660000D03*
|
||||
D14*
|
||||
X122930000Y-65500000D03*
|
||||
D13*
|
||||
X147430000Y-81890000D03*
|
||||
D14*
|
||||
X147430000Y-92050000D03*
|
||||
D17*
|
||||
X158500000Y-111250000D03*
|
||||
D18*
|
||||
X122230000Y-59710000D03*
|
||||
X144200000Y-74300000D03*
|
||||
D16*
|
||||
X144200000Y-84460000D03*
|
||||
D19*
|
||||
X122230000Y-59710000D03*
|
||||
D20*
|
||||
X122230000Y-62250000D03*
|
||||
D13*
|
||||
X197830000Y-84250000D03*
|
||||
D14*
|
||||
D16*
|
||||
X187670000Y-84250000D03*
|
||||
D32*
|
||||
X169750000Y-52500000D03*
|
||||
D35*
|
||||
X169750000Y-50800000D03*
|
||||
%LPD*%
|
||||
M02*
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*
|
||||
G04 #@! TF.CreationDate,2024-06-05T14:32:50+02:00*
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
|
||||
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
|
||||
G04 #@! TF.ProjectId,CanGrow,43616e47-726f-4772-9e6b-696361645f70,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Profile,NP*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.3) date 2024-06-05 14:32:50*
|
||||
G04 Created by KiCad (PCBNEW 8.0.5) date 2024-09-25 02:09:32*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
|
@ -15,9 +15,9 @@ G04 #@! TA.AperFunction,Profile*
|
|||
G04 #@! TD*
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X83000000Y-22500000D02*
|
||||
X207000000Y-22500000D01*
|
||||
X207000000Y-117500000D01*
|
||||
X83000000Y-117500000D01*
|
||||
X83000000Y-22500000D01*
|
||||
X83000000Y-18750000D02*
|
||||
X207000000Y-18750000D01*
|
||||
X207000000Y-121250000D01*
|
||||
X83000000Y-121250000D01*
|
||||
X83000000Y-18750000D01*
|
||||
M02*
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*
|
||||
G04 #@! TF.CreationDate,2024-06-05T14:32:50+02:00*
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
|
||||
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
|
||||
G04 #@! TF.ProjectId,CanGrow,43616e47-726f-4772-9e6b-696361645f70,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Soldermask,Top*
|
||||
G04 #@! TF.FilePolarity,Negative*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.3) date 2024-06-05 14:32:50*
|
||||
G04 Created by KiCad (PCBNEW 8.0.5) date 2024-09-25 02:09:32*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
|
@ -31,321 +31,358 @@ G04 Aperture macros list*
|
|||
G04 Aperture macros list end*
|
||||
%ADD10R,1.600000X1.600000*%
|
||||
%ADD11C,1.600000*%
|
||||
%ADD12O,1.600000X1.600000*%
|
||||
%ADD13R,2.000000X1.905000*%
|
||||
%ADD14O,2.000000X1.905000*%
|
||||
%ADD15RoundRect,0.250001X-0.799999X-0.799999X0.799999X-0.799999X0.799999X0.799999X-0.799999X0.799999X0*%
|
||||
%ADD16R,1.800000X1.800000*%
|
||||
%ADD17C,1.800000*%
|
||||
%ADD18RoundRect,1.500000X1.500000X1.500000X-1.500000X1.500000X-1.500000X-1.500000X1.500000X-1.500000X0*%
|
||||
%ADD19C,6.000000*%
|
||||
%ADD20C,5.600000*%
|
||||
%ADD21O,1.800000X1.800000*%
|
||||
%ADD22O,3.800000X8.000000*%
|
||||
%ADD23R,1.700000X1.700000*%
|
||||
%ADD24O,1.700000X1.700000*%
|
||||
%ADD25R,2.000000X2.000000*%
|
||||
%ADD26O,2.000000X1.600000*%
|
||||
%ADD27C,1.100000*%
|
||||
%ADD28R,1.730000X2.030000*%
|
||||
%ADD29O,1.730000X2.030000*%
|
||||
%ADD30RoundRect,0.250001X0.799999X0.799999X-0.799999X0.799999X-0.799999X-0.799999X0.799999X-0.799999X0*%
|
||||
%ADD12R,1.800000X1.100000*%
|
||||
%ADD13RoundRect,0.275000X-0.625000X0.275000X-0.625000X-0.275000X0.625000X-0.275000X0.625000X0.275000X0*%
|
||||
%ADD14O,1.600000X1.600000*%
|
||||
%ADD15R,2.000000X1.905000*%
|
||||
%ADD16O,2.000000X1.905000*%
|
||||
%ADD17R,1.800000X1.800000*%
|
||||
%ADD18C,1.800000*%
|
||||
%ADD19RoundRect,1.500000X1.500000X1.500000X-1.500000X1.500000X-1.500000X-1.500000X1.500000X-1.500000X0*%
|
||||
%ADD20C,6.000000*%
|
||||
%ADD21C,5.600000*%
|
||||
%ADD22O,1.800000X1.800000*%
|
||||
%ADD23O,3.800000X8.000000*%
|
||||
%ADD24R,1.700000X1.700000*%
|
||||
%ADD25O,1.700000X1.700000*%
|
||||
%ADD26R,2.000000X2.000000*%
|
||||
%ADD27O,2.000000X1.600000*%
|
||||
%ADD28RoundRect,0.250000X-0.550000X-0.550000X0.550000X-0.550000X0.550000X0.550000X-0.550000X0.550000X0*%
|
||||
%ADD29RoundRect,0.275000X0.625000X-0.275000X0.625000X0.275000X-0.625000X0.275000X-0.625000X-0.275000X0*%
|
||||
%ADD30C,1.100000*%
|
||||
%ADD31R,1.730000X2.030000*%
|
||||
%ADD32O,1.730000X2.030000*%
|
||||
%ADD33RoundRect,0.250000X0.550000X0.550000X-0.550000X0.550000X-0.550000X-0.550000X0.550000X-0.550000X0*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X101500000Y-90100000D03*
|
||||
X156600000Y-108750000D03*
|
||||
D11*
|
||||
X104000000Y-90100000D03*
|
||||
X103955112Y-94200000D03*
|
||||
X101455112Y-94200000D03*
|
||||
D10*
|
||||
X153500000Y-111250000D03*
|
||||
D11*
|
||||
X153500000Y-108750000D03*
|
||||
X123520000Y-88850000D03*
|
||||
X156600000Y-111250000D03*
|
||||
D12*
|
||||
X133680000Y-88850000D03*
|
||||
X127400000Y-42690000D03*
|
||||
D13*
|
||||
X129470000Y-43960000D03*
|
||||
X127400000Y-45230000D03*
|
||||
D11*
|
||||
X117000000Y-42420000D03*
|
||||
D12*
|
||||
X106840000Y-42420000D03*
|
||||
D13*
|
||||
X138430000Y-83750000D03*
|
||||
D14*
|
||||
X106840000Y-42420000D03*
|
||||
D15*
|
||||
X138430000Y-83750000D03*
|
||||
D16*
|
||||
X138430000Y-81210000D03*
|
||||
X138430000Y-78670000D03*
|
||||
D13*
|
||||
D15*
|
||||
X129800000Y-35150000D03*
|
||||
D14*
|
||||
D16*
|
||||
X129800000Y-32610000D03*
|
||||
X129800000Y-30070000D03*
|
||||
D11*
|
||||
X139900000Y-53320000D03*
|
||||
D14*
|
||||
X139900000Y-63480000D03*
|
||||
D10*
|
||||
X130748000Y-108846000D03*
|
||||
X130748000Y-111386000D03*
|
||||
D14*
|
||||
X130722600Y-100478000D03*
|
||||
X130748000Y-97938000D03*
|
||||
D10*
|
||||
X149544000Y-108860000D03*
|
||||
X149544000Y-111400000D03*
|
||||
D14*
|
||||
X149645600Y-100478000D03*
|
||||
X149671000Y-97938000D03*
|
||||
D11*
|
||||
X177750000Y-92250000D03*
|
||||
D12*
|
||||
D14*
|
||||
X187910000Y-92250000D03*
|
||||
D15*
|
||||
X153750000Y-68000000D03*
|
||||
D11*
|
||||
X106750000Y-72750000D03*
|
||||
D12*
|
||||
X116910000Y-72750000D03*
|
||||
D11*
|
||||
X142680000Y-60340000D03*
|
||||
D12*
|
||||
X142680000Y-70500000D03*
|
||||
D16*
|
||||
D17*
|
||||
X122231000Y-81220000D03*
|
||||
D17*
|
||||
X122231000Y-83760000D03*
|
||||
D18*
|
||||
X113930000Y-59700000D03*
|
||||
X122231000Y-83760000D03*
|
||||
D19*
|
||||
X113930000Y-59700000D03*
|
||||
D20*
|
||||
X106730000Y-59700000D03*
|
||||
D16*
|
||||
X122250000Y-102750000D03*
|
||||
D17*
|
||||
X122250000Y-102750000D03*
|
||||
D18*
|
||||
X122250000Y-105290000D03*
|
||||
D11*
|
||||
X195500000Y-29200000D03*
|
||||
D12*
|
||||
D14*
|
||||
X185340000Y-29200000D03*
|
||||
D20*
|
||||
X87000000Y-26500000D03*
|
||||
D11*
|
||||
X116910000Y-69500000D03*
|
||||
D12*
|
||||
X106750000Y-69500000D03*
|
||||
D16*
|
||||
X106770000Y-87720000D03*
|
||||
X127430000Y-91400000D03*
|
||||
D13*
|
||||
X129500000Y-92670000D03*
|
||||
X127430000Y-93940000D03*
|
||||
D21*
|
||||
X87000000Y-22750000D03*
|
||||
D11*
|
||||
X116855000Y-69500000D03*
|
||||
D14*
|
||||
X106695000Y-69500000D03*
|
||||
D17*
|
||||
X106770000Y-87720000D03*
|
||||
D22*
|
||||
X116930000Y-87720000D03*
|
||||
D11*
|
||||
X133000000Y-94000000D03*
|
||||
D14*
|
||||
X133000000Y-83840000D03*
|
||||
D11*
|
||||
X195500000Y-52900000D03*
|
||||
D12*
|
||||
D14*
|
||||
X185340000Y-52900000D03*
|
||||
D11*
|
||||
X198180000Y-71050000D03*
|
||||
D12*
|
||||
D14*
|
||||
X188020000Y-71050000D03*
|
||||
D20*
|
||||
X203000000Y-26500000D03*
|
||||
D21*
|
||||
X203000000Y-22750000D03*
|
||||
D11*
|
||||
X139920000Y-66500000D03*
|
||||
D14*
|
||||
X150080000Y-66500000D03*
|
||||
D11*
|
||||
X116910000Y-100250000D03*
|
||||
D12*
|
||||
D14*
|
||||
X106750000Y-100250000D03*
|
||||
D22*
|
||||
D11*
|
||||
X153100000Y-78010000D03*
|
||||
D14*
|
||||
X153100000Y-67850000D03*
|
||||
D12*
|
||||
X121500000Y-69860000D03*
|
||||
D13*
|
||||
X123570000Y-71130000D03*
|
||||
X121500000Y-72400000D03*
|
||||
D12*
|
||||
X127400000Y-69860000D03*
|
||||
D13*
|
||||
X129470000Y-71130000D03*
|
||||
X127400000Y-72400000D03*
|
||||
D23*
|
||||
X96500000Y-97650000D03*
|
||||
X96500000Y-106950000D03*
|
||||
D23*
|
||||
D24*
|
||||
X195485000Y-60100000D03*
|
||||
D24*
|
||||
X192945000Y-60100000D03*
|
||||
D18*
|
||||
X113930000Y-81220000D03*
|
||||
D19*
|
||||
X106730000Y-81220000D03*
|
||||
D25*
|
||||
X150100000Y-31750000D03*
|
||||
X192945000Y-60100000D03*
|
||||
D19*
|
||||
X113930000Y-81220000D03*
|
||||
D20*
|
||||
X106730000Y-81220000D03*
|
||||
D26*
|
||||
X150100000Y-34290000D03*
|
||||
X150100000Y-36830000D03*
|
||||
X150100000Y-39370000D03*
|
||||
X150100000Y-41910000D03*
|
||||
X150100000Y-44450000D03*
|
||||
X150100000Y-46990000D03*
|
||||
X150100000Y-49530000D03*
|
||||
X172960000Y-49530000D03*
|
||||
X172960000Y-46990000D03*
|
||||
X172960000Y-44450000D03*
|
||||
X172960000Y-41910000D03*
|
||||
X172960000Y-39370000D03*
|
||||
X172960000Y-36830000D03*
|
||||
X172960000Y-34290000D03*
|
||||
X172960000Y-31750000D03*
|
||||
D23*
|
||||
X195955000Y-77050000D03*
|
||||
X150100000Y-27460000D03*
|
||||
D27*
|
||||
X150100000Y-30000000D03*
|
||||
X150100000Y-32540000D03*
|
||||
X150100000Y-35080000D03*
|
||||
X150100000Y-37620000D03*
|
||||
X150100000Y-40160000D03*
|
||||
X150100000Y-42700000D03*
|
||||
X150100000Y-45240000D03*
|
||||
X172960000Y-45240000D03*
|
||||
X172960000Y-42700000D03*
|
||||
X172960000Y-40160000D03*
|
||||
X172960000Y-37620000D03*
|
||||
X172960000Y-35080000D03*
|
||||
X172960000Y-32540000D03*
|
||||
X172960000Y-30000000D03*
|
||||
X172960000Y-27460000D03*
|
||||
D24*
|
||||
X195400000Y-77000000D03*
|
||||
D25*
|
||||
X192860000Y-77000000D03*
|
||||
X190320000Y-77000000D03*
|
||||
D24*
|
||||
X193415000Y-77050000D03*
|
||||
X190875000Y-77050000D03*
|
||||
D23*
|
||||
X195485000Y-38630000D03*
|
||||
D24*
|
||||
D25*
|
||||
X192945000Y-38630000D03*
|
||||
X190405000Y-38630000D03*
|
||||
X187865000Y-38630000D03*
|
||||
D15*
|
||||
X136750000Y-52500000D03*
|
||||
D16*
|
||||
X174830000Y-82250000D03*
|
||||
D21*
|
||||
X174830000Y-92410000D03*
|
||||
D16*
|
||||
X122300000Y-32620000D03*
|
||||
D28*
|
||||
X131800000Y-50800000D03*
|
||||
D17*
|
||||
X174830000Y-82250000D03*
|
||||
D22*
|
||||
X174830000Y-92410000D03*
|
||||
D17*
|
||||
X122300000Y-32620000D03*
|
||||
D18*
|
||||
X122300000Y-35160000D03*
|
||||
D23*
|
||||
X172420000Y-99250000D03*
|
||||
D24*
|
||||
X174960000Y-99250000D03*
|
||||
X177500000Y-99250000D03*
|
||||
D10*
|
||||
X138730000Y-70025000D03*
|
||||
D12*
|
||||
X138730000Y-67485000D03*
|
||||
X131110000Y-67485000D03*
|
||||
X131110000Y-70025000D03*
|
||||
D23*
|
||||
X195600000Y-99250000D03*
|
||||
D25*
|
||||
X193060000Y-99250000D03*
|
||||
X190520000Y-99250000D03*
|
||||
D11*
|
||||
X101455112Y-94200000D03*
|
||||
X103955112Y-94200000D03*
|
||||
D24*
|
||||
X195490000Y-47890000D03*
|
||||
D24*
|
||||
D25*
|
||||
X192950000Y-47890000D03*
|
||||
X190410000Y-47890000D03*
|
||||
X187870000Y-47890000D03*
|
||||
D23*
|
||||
X195485000Y-33980000D03*
|
||||
D11*
|
||||
X133000000Y-45310000D03*
|
||||
D14*
|
||||
X133000000Y-35150000D03*
|
||||
D12*
|
||||
X138400000Y-45170000D03*
|
||||
D29*
|
||||
X136330000Y-43900000D03*
|
||||
X138400000Y-42630000D03*
|
||||
D24*
|
||||
X195485000Y-33980000D03*
|
||||
D25*
|
||||
X192945000Y-33980000D03*
|
||||
X190405000Y-33980000D03*
|
||||
X187865000Y-33980000D03*
|
||||
D11*
|
||||
X142750000Y-33000000D03*
|
||||
D12*
|
||||
X142750000Y-43160000D03*
|
||||
D15*
|
||||
X157500000Y-68000000D03*
|
||||
D10*
|
||||
X138800000Y-42685000D03*
|
||||
D12*
|
||||
X138800000Y-40145000D03*
|
||||
X131180000Y-40145000D03*
|
||||
X131180000Y-42685000D03*
|
||||
D22*
|
||||
D28*
|
||||
X156500000Y-67860000D03*
|
||||
D23*
|
||||
X96500000Y-42450000D03*
|
||||
X96500000Y-33150000D03*
|
||||
X96500000Y-64000000D03*
|
||||
X96500000Y-54700000D03*
|
||||
D13*
|
||||
D15*
|
||||
X129680000Y-62250000D03*
|
||||
D14*
|
||||
D16*
|
||||
X129680000Y-59710000D03*
|
||||
X129680000Y-57170000D03*
|
||||
D10*
|
||||
X143630000Y-91470000D03*
|
||||
D12*
|
||||
X143630000Y-88930000D03*
|
||||
X136010000Y-88930000D03*
|
||||
X136010000Y-91470000D03*
|
||||
D15*
|
||||
X193000000Y-65000000D03*
|
||||
D28*
|
||||
X188000000Y-67900000D03*
|
||||
D11*
|
||||
X187670000Y-88250000D03*
|
||||
D12*
|
||||
X197830000Y-88250000D03*
|
||||
D10*
|
||||
X119794888Y-54750000D03*
|
||||
D11*
|
||||
X122294888Y-54750000D03*
|
||||
D13*
|
||||
X129680000Y-83750000D03*
|
||||
D14*
|
||||
X197830000Y-88250000D03*
|
||||
D11*
|
||||
X102500000Y-66200000D03*
|
||||
X102500000Y-68700000D03*
|
||||
X116900000Y-95000000D03*
|
||||
D14*
|
||||
X106740000Y-95000000D03*
|
||||
D10*
|
||||
X101500000Y-90100000D03*
|
||||
D11*
|
||||
X104000000Y-90100000D03*
|
||||
X133000000Y-72460000D03*
|
||||
D14*
|
||||
X133000000Y-62300000D03*
|
||||
D15*
|
||||
X129680000Y-83750000D03*
|
||||
D16*
|
||||
X129680000Y-81210000D03*
|
||||
X129680000Y-78670000D03*
|
||||
D10*
|
||||
X128204000Y-108710000D03*
|
||||
X128204000Y-111250000D03*
|
||||
D12*
|
||||
X128178600Y-100455000D03*
|
||||
X128204000Y-97915000D03*
|
||||
D10*
|
||||
X147000000Y-108837000D03*
|
||||
X147000000Y-111377000D03*
|
||||
D12*
|
||||
X147101600Y-100455000D03*
|
||||
X147127000Y-97915000D03*
|
||||
D16*
|
||||
X106760000Y-66240000D03*
|
||||
D21*
|
||||
X116920000Y-66240000D03*
|
||||
D20*
|
||||
X87000000Y-113500000D03*
|
||||
D27*
|
||||
X108910000Y-48540000D03*
|
||||
D28*
|
||||
X103830000Y-50700000D03*
|
||||
X138370000Y-72370000D03*
|
||||
D29*
|
||||
X106370000Y-50700000D03*
|
||||
X108910000Y-50700000D03*
|
||||
X111450000Y-50700000D03*
|
||||
X136300000Y-71100000D03*
|
||||
X138370000Y-69830000D03*
|
||||
D17*
|
||||
X106760000Y-66240000D03*
|
||||
D22*
|
||||
X116920000Y-66240000D03*
|
||||
D21*
|
||||
X87000000Y-117250000D03*
|
||||
D11*
|
||||
X146480000Y-32600000D03*
|
||||
D14*
|
||||
X136320000Y-32600000D03*
|
||||
D30*
|
||||
X108900000Y-48620000D03*
|
||||
D31*
|
||||
X103820000Y-50780000D03*
|
||||
D32*
|
||||
X106360000Y-50780000D03*
|
||||
X108900000Y-50780000D03*
|
||||
X111440000Y-50780000D03*
|
||||
D11*
|
||||
X181830000Y-85750000D03*
|
||||
X181830000Y-88250000D03*
|
||||
D10*
|
||||
X122250000Y-111250000D03*
|
||||
X123600000Y-108750000D03*
|
||||
D11*
|
||||
X122250000Y-108750000D03*
|
||||
D16*
|
||||
X123600000Y-111250000D03*
|
||||
D17*
|
||||
X106870000Y-39160000D03*
|
||||
D21*
|
||||
D22*
|
||||
X117030000Y-39160000D03*
|
||||
D23*
|
||||
X195485000Y-43250000D03*
|
||||
D11*
|
||||
X136325000Y-39600000D03*
|
||||
D14*
|
||||
X146485000Y-39600000D03*
|
||||
D11*
|
||||
X117000000Y-46000000D03*
|
||||
D14*
|
||||
X106840000Y-46000000D03*
|
||||
D24*
|
||||
X195485000Y-43250000D03*
|
||||
D25*
|
||||
X192945000Y-43250000D03*
|
||||
X190405000Y-43250000D03*
|
||||
X187865000Y-43250000D03*
|
||||
D18*
|
||||
X113990000Y-108095000D03*
|
||||
D11*
|
||||
X116860000Y-73500000D03*
|
||||
D14*
|
||||
X106700000Y-73500000D03*
|
||||
D19*
|
||||
X113990000Y-108095000D03*
|
||||
D20*
|
||||
X106790000Y-108095000D03*
|
||||
D11*
|
||||
X116930000Y-90980000D03*
|
||||
D12*
|
||||
D14*
|
||||
X106770000Y-90980000D03*
|
||||
D16*
|
||||
D17*
|
||||
X170830000Y-82250000D03*
|
||||
D21*
|
||||
X170830000Y-92410000D03*
|
||||
D22*
|
||||
X170830000Y-92410000D03*
|
||||
D23*
|
||||
X96500000Y-85450000D03*
|
||||
X96500000Y-76150000D03*
|
||||
D11*
|
||||
X123000000Y-48570000D03*
|
||||
D12*
|
||||
X123000000Y-38410000D03*
|
||||
D18*
|
||||
X114000000Y-32610000D03*
|
||||
X121500000Y-42690000D03*
|
||||
D13*
|
||||
X123570000Y-43960000D03*
|
||||
X121500000Y-45230000D03*
|
||||
D12*
|
||||
X138400000Y-93900000D03*
|
||||
D29*
|
||||
X136330000Y-92630000D03*
|
||||
X138400000Y-91360000D03*
|
||||
D12*
|
||||
X121490000Y-91400000D03*
|
||||
D13*
|
||||
X123560000Y-92670000D03*
|
||||
X121490000Y-93940000D03*
|
||||
D19*
|
||||
X106800000Y-32610000D03*
|
||||
D11*
|
||||
X106840000Y-45670000D03*
|
||||
D12*
|
||||
X117000000Y-45670000D03*
|
||||
D11*
|
||||
X106770000Y-94230000D03*
|
||||
D12*
|
||||
X116930000Y-94230000D03*
|
||||
X114000000Y-32610000D03*
|
||||
D20*
|
||||
X203000000Y-113500000D03*
|
||||
D23*
|
||||
X177250000Y-47250000D03*
|
||||
X106800000Y-32610000D03*
|
||||
D21*
|
||||
X203000000Y-117250000D03*
|
||||
D24*
|
||||
X177250000Y-44710000D03*
|
||||
X177250000Y-42790000D03*
|
||||
D25*
|
||||
X177250000Y-40250000D03*
|
||||
D11*
|
||||
X122930000Y-75660000D03*
|
||||
D12*
|
||||
X122930000Y-65500000D03*
|
||||
D11*
|
||||
X147430000Y-81890000D03*
|
||||
D12*
|
||||
X147430000Y-92050000D03*
|
||||
D15*
|
||||
X158500000Y-111250000D03*
|
||||
D16*
|
||||
X122230000Y-59710000D03*
|
||||
X144200000Y-74300000D03*
|
||||
D14*
|
||||
X144200000Y-84460000D03*
|
||||
D17*
|
||||
X122230000Y-59710000D03*
|
||||
D18*
|
||||
X122230000Y-62250000D03*
|
||||
D11*
|
||||
X197830000Y-84250000D03*
|
||||
D12*
|
||||
D14*
|
||||
X187670000Y-84250000D03*
|
||||
D30*
|
||||
X169750000Y-52500000D03*
|
||||
D33*
|
||||
X169750000Y-50800000D03*
|
||||
M02*
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.3*
|
||||
G04 #@! TF.CreationDate,2024-06-05T14:32:50+02:00*
|
||||
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
|
||||
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
|
||||
G04 #@! TF.ProjectId,CanGrow,43616e47-726f-4772-9e6b-696361645f70,rev?*
|
||||
G04 #@! TF.SameCoordinates,Original*
|
||||
G04 #@! TF.FileFunction,Paste,Top*
|
||||
G04 #@! TF.FilePolarity,Positive*
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.3) date 2024-06-05 14:32:50*
|
||||
G04 Created by KiCad (PCBNEW 8.0.5) date 2024-09-25 02:09:32*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
M48
|
||||
; DRILL file {KiCad 8.0.3} date 2024-06-05T14:32:52+0200
|
||||
; DRILL file {KiCad 8.0.5} date 2024-09-25T02:09:34+0200
|
||||
; FORMAT={-:-/ absolute / metric / decimal}
|
||||
; #@! TF.CreationDate,2024-06-05T14:32:52+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.3
|
||||
; #@! TF.CreationDate,2024-09-25T02:09:34+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.5
|
||||
; #@! TF.FileFunction,NonPlated,1,2,NPTH
|
||||
FMAT,2
|
||||
METRIC
|
||||
|
@ -12,5 +12,5 @@ T1C1.100
|
|||
G90
|
||||
G05
|
||||
T1
|
||||
X108.91Y-48.54
|
||||
X108.9Y-48.62
|
||||
M30
|
||||
|
|
|
@ -1,87 +1,114 @@
|
|||
M48
|
||||
; DRILL file {KiCad 8.0.3} date 2024-06-05T14:32:52+0200
|
||||
; DRILL file {KiCad 8.0.5} date 2024-09-25T02:09:34+0200
|
||||
; FORMAT={-:-/ absolute / metric / decimal}
|
||||
; #@! TF.CreationDate,2024-06-05T14:32:52+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.3
|
||||
; #@! TF.CreationDate,2024-09-25T02:09:34+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.5
|
||||
; #@! TF.FileFunction,Plated,1,2,PTH
|
||||
FMAT,2
|
||||
METRIC
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T1C0.800
|
||||
T1C0.750
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T2C0.900
|
||||
T2C0.800
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T3C1.000
|
||||
T3C0.900
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T4C1.020
|
||||
T4C1.000
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T5C1.100
|
||||
T5C1.020
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T6C2.000
|
||||
T6C1.100
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T7C3.200
|
||||
T7C2.000
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T8C4.500
|
||||
T8C3.200
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T9C4.500
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T1
|
||||
X121.89Y-91.4
|
||||
X121.89Y-93.94
|
||||
X121.9Y-42.69
|
||||
X121.9Y-45.23
|
||||
X121.9Y-69.86
|
||||
X121.9Y-72.4
|
||||
X123.16Y-92.67
|
||||
X123.17Y-43.96
|
||||
X123.17Y-71.13
|
||||
X127.8Y-42.69
|
||||
X127.8Y-45.23
|
||||
X127.8Y-69.86
|
||||
X127.8Y-72.4
|
||||
X127.83Y-91.4
|
||||
X127.83Y-93.94
|
||||
X129.07Y-43.96
|
||||
X129.07Y-71.13
|
||||
X129.1Y-92.67
|
||||
X136.7Y-71.1
|
||||
X136.73Y-43.9
|
||||
X136.73Y-92.63
|
||||
X137.97Y-69.83
|
||||
X137.97Y-72.37
|
||||
X138.0Y-42.63
|
||||
X138.0Y-45.17
|
||||
X138.0Y-91.36
|
||||
X138.0Y-93.9
|
||||
T2
|
||||
X101.455Y-94.2
|
||||
X101.5Y-90.1
|
||||
X102.5Y-66.2
|
||||
X102.5Y-68.7
|
||||
X103.955Y-94.2
|
||||
X104.0Y-90.1
|
||||
X106.75Y-69.5
|
||||
X106.75Y-72.75
|
||||
X106.695Y-69.5
|
||||
X106.7Y-73.5
|
||||
X106.74Y-95.0
|
||||
X106.75Y-100.25
|
||||
X106.77Y-90.98
|
||||
X106.77Y-94.23
|
||||
X106.84Y-42.42
|
||||
X106.84Y-45.67
|
||||
X116.91Y-69.5
|
||||
X116.91Y-72.75
|
||||
X106.84Y-46.0
|
||||
X116.855Y-69.5
|
||||
X116.86Y-73.5
|
||||
X116.9Y-95.0
|
||||
X116.91Y-100.25
|
||||
X116.93Y-90.98
|
||||
X116.93Y-94.23
|
||||
X117.0Y-42.42
|
||||
X117.0Y-45.67
|
||||
X119.795Y-54.75
|
||||
X122.25Y-108.75
|
||||
X122.25Y-111.25
|
||||
X122.295Y-54.75
|
||||
X122.93Y-65.5
|
||||
X122.93Y-75.66
|
||||
X123.0Y-38.41
|
||||
X123.0Y-48.57
|
||||
X123.52Y-88.85
|
||||
X128.179Y-100.455
|
||||
X128.204Y-97.915
|
||||
X128.204Y-108.71
|
||||
X128.204Y-111.25
|
||||
X131.11Y-67.485
|
||||
X131.11Y-70.025
|
||||
X131.18Y-40.145
|
||||
X131.18Y-42.685
|
||||
X133.68Y-88.85
|
||||
X136.01Y-88.93
|
||||
X136.01Y-91.47
|
||||
X138.73Y-67.485
|
||||
X138.73Y-70.025
|
||||
X138.8Y-40.145
|
||||
X138.8Y-42.685
|
||||
X142.68Y-60.34
|
||||
X142.68Y-70.5
|
||||
X142.75Y-33.0
|
||||
X142.75Y-43.16
|
||||
X143.63Y-88.93
|
||||
X143.63Y-91.47
|
||||
X147.0Y-108.837
|
||||
X147.0Y-111.377
|
||||
X147.102Y-100.455
|
||||
X147.127Y-97.915
|
||||
X147.43Y-81.89
|
||||
X147.43Y-92.05
|
||||
X153.5Y-108.75
|
||||
X153.5Y-111.25
|
||||
X117.0Y-46.0
|
||||
X123.6Y-108.75
|
||||
X123.6Y-111.25
|
||||
X130.723Y-100.478
|
||||
X130.748Y-97.938
|
||||
X130.748Y-108.846
|
||||
X130.748Y-111.386
|
||||
X131.8Y-50.8
|
||||
X133.0Y-35.15
|
||||
X133.0Y-45.31
|
||||
X133.0Y-62.3
|
||||
X133.0Y-72.46
|
||||
X133.0Y-83.84
|
||||
X133.0Y-94.0
|
||||
X136.32Y-32.6
|
||||
X136.325Y-39.6
|
||||
X139.9Y-53.32
|
||||
X139.9Y-63.48
|
||||
X139.92Y-66.5
|
||||
X144.2Y-74.3
|
||||
X144.2Y-84.46
|
||||
X146.48Y-32.6
|
||||
X146.485Y-39.6
|
||||
X149.544Y-108.86
|
||||
X149.544Y-111.4
|
||||
X149.646Y-100.478
|
||||
X149.671Y-97.938
|
||||
X150.08Y-66.5
|
||||
X153.1Y-67.85
|
||||
X153.1Y-78.01
|
||||
X156.5Y-67.86
|
||||
X156.6Y-108.75
|
||||
X156.6Y-111.25
|
||||
X169.75Y-50.8
|
||||
X177.75Y-92.25
|
||||
X181.83Y-85.75
|
||||
X181.83Y-88.25
|
||||
|
@ -90,13 +117,14 @@ X185.34Y-52.9
|
|||
X187.67Y-84.25
|
||||
X187.67Y-88.25
|
||||
X187.91Y-92.25
|
||||
X188.0Y-67.9
|
||||
X188.02Y-71.05
|
||||
X195.5Y-29.2
|
||||
X195.5Y-52.9
|
||||
X197.83Y-84.25
|
||||
X197.83Y-88.25
|
||||
X198.18Y-71.05
|
||||
T2
|
||||
T3
|
||||
X106.76Y-66.24
|
||||
X106.77Y-87.72
|
||||
X106.87Y-39.16
|
||||
|
@ -115,55 +143,55 @@ X170.83Y-82.25
|
|||
X170.83Y-92.41
|
||||
X174.83Y-82.25
|
||||
X174.83Y-92.41
|
||||
T3
|
||||
X150.1Y-31.75
|
||||
X150.1Y-34.29
|
||||
X150.1Y-36.83
|
||||
X150.1Y-39.37
|
||||
X150.1Y-41.91
|
||||
X150.1Y-44.45
|
||||
X150.1Y-46.99
|
||||
X150.1Y-49.53
|
||||
X172.42Y-99.25
|
||||
X172.96Y-31.75
|
||||
X172.96Y-34.29
|
||||
X172.96Y-36.83
|
||||
X172.96Y-39.37
|
||||
X172.96Y-41.91
|
||||
X172.96Y-44.45
|
||||
X172.96Y-46.99
|
||||
X172.96Y-49.53
|
||||
X174.96Y-99.25
|
||||
X177.25Y-44.71
|
||||
X177.25Y-47.25
|
||||
X177.5Y-99.25
|
||||
T4
|
||||
X150.1Y-27.46
|
||||
X150.1Y-30.0
|
||||
X150.1Y-32.54
|
||||
X150.1Y-35.08
|
||||
X150.1Y-37.62
|
||||
X150.1Y-40.16
|
||||
X150.1Y-42.7
|
||||
X150.1Y-45.24
|
||||
X172.96Y-27.46
|
||||
X172.96Y-30.0
|
||||
X172.96Y-32.54
|
||||
X172.96Y-35.08
|
||||
X172.96Y-37.62
|
||||
X172.96Y-40.16
|
||||
X172.96Y-42.7
|
||||
X172.96Y-45.24
|
||||
X177.25Y-40.25
|
||||
X177.25Y-42.79
|
||||
X187.865Y-33.98
|
||||
X187.865Y-38.63
|
||||
X187.865Y-43.25
|
||||
X187.87Y-47.89
|
||||
X190.32Y-77.0
|
||||
X190.405Y-33.98
|
||||
X190.405Y-38.63
|
||||
X190.405Y-43.25
|
||||
X190.41Y-47.89
|
||||
X190.875Y-77.05
|
||||
X190.52Y-99.25
|
||||
X192.86Y-77.0
|
||||
X192.945Y-33.98
|
||||
X192.945Y-38.63
|
||||
X192.945Y-43.25
|
||||
X192.945Y-60.1
|
||||
X192.95Y-47.89
|
||||
X193.415Y-77.05
|
||||
X193.06Y-99.25
|
||||
X195.4Y-77.0
|
||||
X195.485Y-33.98
|
||||
X195.485Y-38.63
|
||||
X195.485Y-43.25
|
||||
X195.485Y-60.1
|
||||
X195.49Y-47.89
|
||||
X195.955Y-77.05
|
||||
T4
|
||||
X103.83Y-50.7
|
||||
X106.37Y-50.7
|
||||
X108.91Y-50.7
|
||||
X111.45Y-50.7
|
||||
X195.6Y-99.25
|
||||
T5
|
||||
X103.82Y-50.78
|
||||
X106.36Y-50.78
|
||||
X108.9Y-50.78
|
||||
X111.44Y-50.78
|
||||
T6
|
||||
X129.68Y-57.17
|
||||
X129.68Y-59.71
|
||||
X129.68Y-62.25
|
||||
|
@ -173,21 +201,15 @@ X129.68Y-83.75
|
|||
X129.8Y-30.07
|
||||
X129.8Y-32.61
|
||||
X129.8Y-35.15
|
||||
X136.75Y-52.5
|
||||
X138.43Y-78.67
|
||||
X138.43Y-81.21
|
||||
X138.43Y-83.75
|
||||
X153.75Y-68.0
|
||||
X157.5Y-68.0
|
||||
X158.5Y-111.25
|
||||
X169.75Y-52.5
|
||||
X193.0Y-65.0
|
||||
T7
|
||||
X87.0Y-26.5
|
||||
X87.0Y-113.5
|
||||
X203.0Y-26.5
|
||||
X203.0Y-113.5
|
||||
T8
|
||||
X87.0Y-22.75
|
||||
X87.0Y-117.25
|
||||
X203.0Y-22.75
|
||||
X203.0Y-117.25
|
||||
T9
|
||||
X106.73Y-59.7
|
||||
X106.73Y-81.22
|
||||
X106.79Y-108.095
|
||||
|
@ -196,7 +218,7 @@ X113.93Y-59.7
|
|||
X113.93Y-81.22
|
||||
X113.99Y-108.095
|
||||
X114.0Y-32.61
|
||||
T6
|
||||
T7
|
||||
X96.5Y-35.15G85X96.5Y-31.15
|
||||
G05
|
||||
X96.5Y-44.45G85X96.5Y-40.45
|
||||
|
|
BIN
Logo/CanGrow_favico_large.png
Normal file
After Width: | Height: | Size: 814 B |
BIN
Logo/CanGrow_favico_large.xcf
Normal file
67
README.md
|
@ -4,25 +4,63 @@
|
|||
![CanGrowLogo](Logo/CanGrow_Logo.png)
|
||||
|
||||
|
||||
A simple DIY plant growing system (for cannabis).
|
||||
An easy to use DIY grow controller firmware (for cannabis).
|
||||
|
||||
![CanGrow_PCB_Front.png](KiCad/CanGrow/CanGrow_PCB_Front_small.png)
|
||||
![Screenshot_WebUI_root.png](Arduino/CanGrow/Screenshot_WebUI_root.png)
|
||||
![CanGrow_PCB_Front.png](KiCad/CanGrow/CanGrow_PCB_Front_small.png)
|
||||
|
||||
# WORK IN PROGRESS
|
||||
|
||||
## Motivation
|
||||
I havn't found an already existing grow controller project within the ESP / Arduino Core eco system which
|
||||
met my personal requirements.
|
||||
Those are an easy DIY, using low cost parts, Arduino Core sourcecode to hack own things together, having a WebUI, grab some Metrics for monitoring, standalone and my very special need that the Hardware should run completely with 12V.
|
||||
|
||||
I want to build a simple grow system, which I can power by my off-grid
|
||||
12V solar system. So this project is limited to a small 40x40x120 tent
|
||||
for one plant with a 50W 12V grow LED light.
|
||||
### Update 14.09.2024 - Code Rewrite v0.2
|
||||
|
||||
As I did it for my solar system, the measurements of this project will be shown
|
||||
on my website. For that a REST API is planned.
|
||||
I took some "summer break" from the project, and had the opportunity to talk to different people about it.
|
||||
My conclusion at this point is, that the focus of this project is not the Hardware, it came out that it should be the software.
|
||||
So I decided to completely rewrite the code from 0 - with recycling some parts of it.
|
||||
Goal of the Rewrite is that the Firmware becomes more independent of the hardware used. It has to support both ESP8266 and ESP32
|
||||
and let the user decide at which pin which output, sensor or whatever will be connected to. Like done in the [Tasmota](https://github.com/arendst/Tasmota) Firmware, I also want to support "Hardware Templates" which come with presets for PCBs like the one I created.
|
||||
|
||||
I want to automate as much as possible which makes sense and is easy to build.
|
||||
**Checklist for v0.2 Firmware**
|
||||
- Support ESP8266 and ESP32
|
||||
- AsyncWebserver instead ESP8266Webserver
|
||||
- LittleFS instead of EEPROM()
|
||||
- deliver static HTML, dynamic Stuff with Javascript
|
||||
- (or is there a better way? please tell me!)
|
||||
- Free configurable outputs
|
||||
- Main outputs for Light, Air, Water
|
||||
- Support for Tasmota Wifi Plugs (and others?)
|
||||
- No Limitation for Amount of outputs
|
||||
- Light
|
||||
- support for I2C 0-10V Dimm control
|
||||
- PWM dimm control
|
||||
- Air
|
||||
- support for I2C 0-10V Dimm control
|
||||
- PWM dimm control
|
||||
- Support for humidifier, heater (, CO2?)
|
||||
- Read Fan RPM
|
||||
- Water
|
||||
- Usual watering
|
||||
- Pump for fertilizer
|
||||
- Free configurable Inputs
|
||||
- Support for various I2C devices
|
||||
- All kind of sensors for Temp, Humidity, Moisture, and so on
|
||||
- Support for ADCs to connect multiple analoge sensors
|
||||
- Support for Analog inputs
|
||||
- onboard ones or I2C (ADC)
|
||||
- Analog Multiplexer support (like CD4051)
|
||||
- Calibrate sensors
|
||||
- define 0% and 100% values
|
||||
- Offsets
|
||||
- MQTT support
|
||||
- API
|
||||
|
||||
## Features / ToDo List
|
||||
|
||||
|
||||
## Old v0.1 Features / ToDo List
|
||||
|
||||
- Measure values :white_check_mark:
|
||||
- Humidity :white_check_mark:
|
||||
|
@ -54,14 +92,3 @@ I want to automate as much as possible which makes sense and is easy to build.
|
|||
- low cost as possible! :white_check_mark:
|
||||
|
||||
:white_check_mark: Done - :large_blue_circle: In Progress - :red_circle: ToDo
|
||||
|
||||
## Parts used
|
||||
|
||||
- ESP8266 D1 mini
|
||||
- BME280 humidity and temp sensor
|
||||
- I2C soil moisture sensor: https://github.com/Miceuz/i2c-moisture-sensor / https://eu.robotshop.com/de/products/i2c-soil-moisture-sensor
|
||||
- cheap capacitive soilmoisture sensor: https://www.az-delivery.de/products/bodenfeuchte-sensor-modul-v1-2
|
||||
|
||||
- 50W LED 12V full spectrum grow light: https://www.ebay.de/itm/354322466159
|
||||
- MOSFETS (some i have fyling around, IRFZ44, IRF3205, IRF3710, BUZZ11...)
|
||||
- 12V 4W water pump set https://www.ebay.de/itm/394413649692
|
||||
|
|
3
arduino-cli.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
board_manager:
|
||||
additional_urls:
|
||||
- http://arduino.esp8266.com/stable/package_esp8266com_index.json
|
79
cangrow.sh
|
@ -4,39 +4,98 @@
|
|||
test -z $TTY && TTY="/dev/ttyUSB0"
|
||||
test -z $IP && IP="192.168.30.212"
|
||||
test -z $VER && VER="0.1-dev"
|
||||
BUILD="$(git rev-parse --short HEAD)"
|
||||
BUILD="$(git rev-parse --short HEAD)-$(date '+%Y%m%d%H%M%S')"
|
||||
|
||||
ACLI="$HOME/.local/bin/arduino-cli"
|
||||
ACLI_CMD="$ACLI --config-file arduino-cli.yml"
|
||||
BOARD="esp8266:esp8266:d1_mini_clone"
|
||||
|
||||
function help() {
|
||||
echo "$0 [build|upload|webupload|monitor]"
|
||||
echo "$0 [setup|build|upload|webupload|monitor]"
|
||||
echo "setup: setup build environment, download arduino-cli, install all dependencies for arduino ide"
|
||||
echo "build: build firmware binary. will be saved into build/"
|
||||
echo "upload: upload firmware by serial connection $TTY"
|
||||
echo "webupload: upload firmware with webupload to $IP"
|
||||
echo "monitor: serial monitor $TTY"
|
||||
exit 1
|
||||
}
|
||||
|
||||
function check_acli() {
|
||||
if [ ! -x $ACLI ]
|
||||
then
|
||||
echo "$ACLI does not exist nor is executable. Please run '$0 setup' first"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
test -z $1 && help
|
||||
|
||||
case $1 in
|
||||
s|setup)
|
||||
ACLI_DIR="$(dirname $ACLI)"
|
||||
declare -a LIBS=( "Adafruit SSD1306" "Adafruit BME280 Library" "ArduinoJson" "NTPClient" "Time" )
|
||||
echo ":: Setting up build environment for CanGrow Firmware."
|
||||
echo " This will download the binary for arduino-cli and install"
|
||||
echo " the packages for the arduino ide from the debian repository."
|
||||
echo " !! This script is meant to be executed on a Debian stable (bookworm) system !!"
|
||||
echo ""
|
||||
echo ":: Press Enter to continue"
|
||||
read
|
||||
echo ""
|
||||
echo ":: Installing Arduino IDE packages with apt, please enter sudo password:"
|
||||
sudo apt update
|
||||
sudo apt install arduino python3 wget curl xxd
|
||||
echo ":: Ensure directory ${ACLI_DIR} is present"
|
||||
test -d ${ACLI_DIR} || mkdir -p ${ACLI_DIR}
|
||||
echo ":: Please ensure ${ACLI_DIR} is in your \$PATH, I wont do it."
|
||||
echo ""
|
||||
echo ":: Downloading arduino-cli 1.0.0 into ${ACLI_DIR}/"
|
||||
wget -O - "https://github.com/arduino/arduino-cli/releases/download/v1.0.0/arduino-cli_1.0.0_Linux_64bit.tar.gz" | tar -C ${ACLI_DIR} -zxvf - arduino-cli
|
||||
chmod +x ${ACLI}
|
||||
echo ""
|
||||
echo ":: Installing ESP8266 core for Arduino"
|
||||
${ACLI_CMD} core install esp8266:esp8266
|
||||
echo ":: Installing Arduino libraries"
|
||||
for lib in ${!LIBS[@]}
|
||||
do
|
||||
echo " - ${LIBS[$lib]}"
|
||||
done
|
||||
|
||||
for lib in ${!LIBS[@]}
|
||||
do
|
||||
${ACLI_CMD} lib install "${LIBS[$lib]}"
|
||||
done
|
||||
echo ""
|
||||
echo ":: Setup build environment done! You can now build the firmware"
|
||||
echo " with: $0 build"
|
||||
|
||||
;;
|
||||
b|build)
|
||||
echo "building firmware $VER $BUILD, target dir: $(pwd)/build/"
|
||||
check_acli
|
||||
echo ":: Building firmware $VER $BUILD, target dir: $(pwd)/build/"
|
||||
test -d build || mkdir build
|
||||
echo "/* CanGrow_Version.h gets generated from cangrow.sh */
|
||||
|
||||
const char* CanGrowVer = \"${VER}\";
|
||||
const char* CanGrowBuild = \"${BUILD}\";
|
||||
" > Arduino/CanGrow/CanGrow_Version.h
|
||||
~/.local/bin/arduino-cli --no-color compile -b esp8266:esp8266:d1_mini_clone "Arduino/CanGrow/CanGrow.ino" --output-dir build/ || exit 1
|
||||
${ACLI_CMD} --no-color compile -b ${BOARD} "Arduino/CanGrow/CanGrow.ino" --output-dir build/ || exit 1
|
||||
cp build/CanGrow.ino.bin build/CanGrow_v${VER}_${BUILD}.bin
|
||||
;;
|
||||
u|upload)
|
||||
echo "uploading to $TTY"
|
||||
~/.local/bin/arduino-cli --no-color compile -v -b esp8266:esp8266:d1_mini_clone -u -p $TTY "Arduino/CanGrow/CanGrow.ino"
|
||||
check_acli
|
||||
echo ":: Uploading to $TTY"
|
||||
${ACLI_CMD} --no-color compile -v -b ${BOARD} -u -p $TTY "Arduino/CanGrow/CanGrow.ino"
|
||||
;;
|
||||
w|webupload)
|
||||
echo "uploading to $IP"
|
||||
curl -v http://$IP/system/applyUpdate -X POST -H 'Content-Type: multipart/form-data' -F "image=@$(pwd)/build/CanGrow.ino.bin"
|
||||
echo ":: Uploading to $IP"
|
||||
curl -v http://$IP/system/applyUpdate -X POST -H 'Content-Type: multipart/form-data' -F "firmware=@$(pwd)/build/CanGrow.ino.bin"
|
||||
echo
|
||||
;;
|
||||
m|mon|monitor)
|
||||
echo "open monitor $TTY"
|
||||
~/.local/bin/arduino-cli monitor -c baudrate=115200 -p $TTY
|
||||
check_acli
|
||||
echo ":: Open serial monitor $TTY"
|
||||
${ACLI_CMD} monitor -c baudrate=115200 -b ${BOARD} -p $TTY
|
||||
;;
|
||||
*)
|
||||
help
|
||||
|
|