Compare commits

..

No commits in common. "main" and "pcb_v0.6" have entirely different histories.

30 changed files with 9467 additions and 9731 deletions

View file

@ -71,16 +71,16 @@ void setup() {
// set all OUTPUT to low
digitalWrite(PinFAN, HIGH);
digitalWrite(PinFAN, LOW);
digitalWrite(PINwaterlevel, LOW);
digitalWrite(PinLED, HIGH);
digitalWrite(PinPUMP, HIGH);
digitalWrite(PinLED, LOW);
digitalWrite(PinPUMP, LOW);
// except PINsoilmoisture
// PINsoilmoisture is always HIGH and gets LOW in moment of waterlevel measurement
digitalWrite(PINsoilmoisture, LOW);
// set PWM frequency to 13.37KHz
analogWriteFreq(13370);
// set PWM frequency to 2.2KHz
analogWriteFreq(2200);
// 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

View file

@ -439,9 +439,9 @@ void setOutput(byte Output, byte OutputState) {
//~ Serial.println(UseRelais);
if( (UseRelais == true) || (OutputPin == PinPUMP) ) {
digitalWrite(OutputPin, 1 - OutputState);
digitalWrite(OutputPin, OutputState);
} else {
analogWrite(OutputPin, 255 - OutputState);
analogWrite(OutputPin, OutputState);
}
}
@ -661,13 +661,11 @@ void controlPUMP() {
// when PumpOnManuel is true, turn pump on for PumpOnTime seconds
if(PumpOnManual == true) {
if(PumpOnTimePassed < PumpOnTime) {
setOutput(3, 1);
//digitalWrite(PinPUMP, HIGH);
digitalWrite(PinPUMP, HIGH);
PumpOnTimePassed++;
} else {
PumpOnManual = false;
setOutput(3, 0);
//digitalWrite(PinPUMP, LOW);
digitalWrite(PinPUMP, LOW);
EEPROM.put(237, PumpLastOn);
PumpOnTimePassed = 0;
}
@ -679,20 +677,17 @@ void controlPUMP() {
if( (timeClient.getEpochTime() - PumpLastOn) >= (PumpInterval) ) { // TODO: * 24 * 60 * 60 PumpInterval
// only water as long PumpOnTime
if(PumpOnTimePassed < PumpOnTime) {
setOutput(3, 1);
//digitalWrite(PinPUMP, HIGH);
digitalWrite(PinPUMP, HIGH);
PumpOnTimePassed++;
} else {
setOutput(3, 0);
//digitalWrite(PinPUMP, LOW);
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);
digitalWrite(PinPUMP, LOW);
}
break;
@ -701,19 +696,16 @@ void controlPUMP() {
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);
digitalWrite(PinPUMP, HIGH);
PumpOnTimePassed++;
} else {
setOutput(3, 0);
//digitalWrite(PinPUMP, LOW);
digitalWrite(PinPUMP, LOW);
PumpLastOn = timeClient.getEpochTime();
PumpOnTimePassed = 0;
}
// when valSoilmoistureAvg is greater then the Low value,
} else {
setOutput(3, 0);
//digitalWrite(PinPUMP, LOW);
digitalWrite(PinPUMP, LOW);
}
break;
@ -725,20 +717,17 @@ void controlPUMP() {
) ) {
// check if we alerady exceeded max PumpOnTime
if(PumpOnTimePassed < PumpOnTime) {
setOutput(3, 1);
//digitalWrite(PinPUMP, HIGH);
digitalWrite(PinPUMP, HIGH);
PumpOnTimePassed++;
} else {
setOutput(3, 0);
//digitalWrite(PinPUMP, LOW);
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);
digitalWrite(PinPUMP, LOW);
}
break;
@ -746,7 +735,6 @@ void controlPUMP() {
}
} else {
// ensure pump is off when it should be off
setOutput(3, 0);
//digitalWrite(PinPUMP, LOW);
digitalWrite(PinPUMP, LOW);
}
}

View file

@ -1,5 +1,5 @@
/* CanGrow_Version.h gets generated from cangrow.sh */
const char* CanGrowVer = "0.1-dev";
const char* CanGrowBuild = "d2e264d-20240919022041";
const char* CanGrowBuild = "806aa2d-20240617022728";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 291 KiB

After

Width:  |  Height:  |  Size: 60 KiB

File diff suppressed because it is too large Load diff

View file

@ -492,7 +492,6 @@
},
"schematic": {
"annotate_start_num": 0,
"bom_export_filename": "",
"bom_fmt_presets": [],
"bom_fmt_settings": {
"field_delimiter": ",",
@ -592,7 +591,7 @@
"sheets": [
[
"42428fce-ab8c-4a80-af19-dee4f0070d36",
"Root"
"Stammblatt"
]
],
"text_variables": {}

View file

@ -7,7 +7,7 @@
(title_block
(title "CanGrow")
(date "2024-04-12")
(rev "0.6.1")
(rev "0.6")
(company "DeltaLima")
)
(lib_symbols
@ -6497,7 +6497,7 @@
(justify left)
)
)
(property "Value" "47µF"
(property "Value" "100µF"
(at 251.206 141.986 0)
(effects
(font
@ -7103,7 +7103,7 @@
)
)
)
(property "Value" "100k"
(property "Value" "10k"
(at 162.56 145.034 90)
(effects
(font
@ -8857,7 +8857,7 @@
)
)
)
(property "Footprint" "MP1584EN_CanGrow:MP1584EN_Module"
(property "Footprint" "MP1584EN:MP1584EN_Module"
(at 54.864 43.688 0)
(effects
(font
@ -9734,7 +9734,7 @@
(justify left)
)
)
(property "Value" "100µF"
(property "Value" "10µF"
(at 20.32 30.48 0)
(effects
(font
@ -9743,7 +9743,7 @@
(justify left)
)
)
(property "Footprint" "Capacitor_THT:CP_Radial_D6.3mm_P2.50mm"
(property "Footprint" "Capacitor_THT:CP_Radial_D5.0mm_P2.50mm"
(at 28.9052 34.29 0)
(effects
(font
@ -10518,7 +10518,7 @@
)
)
)
(property "Value" "100k"
(property "Value" "10k"
(at 165.1 112.014 90)
(effects
(font
@ -11148,7 +11148,7 @@
)
)
)
(property "Value" "100k"
(property "Value" "10k"
(at 167.64 78.994 90)
(effects
(font

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

View file

@ -7,7 +7,6 @@
(property "Reference" "U3"
(at 0 7.3152 180)
(layer "F.SilkS")
(hide yes)
(uuid "5401f2b9-08c4-433b-a536-95365a9d5b27")
(effects
(font
@ -19,7 +18,6 @@
(property "Value" "SRT_Power_3A"
(at -0.3556 5.1816 0)
(layer "F.Fab")
(hide yes)
(uuid "3aca6114-af0d-478b-80ab-52d5719c58c0")
(effects
(font
@ -37,7 +35,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@ -50,7 +47,6 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
@ -63,288 +59,287 @@
(effects
(font
(size 1.27 1.27)
(thickness 0.15)
)
)
)
(attr through_hole)
(fp_line
(start -10.2122 -6.0076)
(end -10.2122 10.1214)
(start -11.176 -7.493)
(end -11.176 8.636)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "6292f9f0-b20e-4f1e-990a-0b11f0bae5e2")
(uuid "c04c845e-4b76-4dc5-b3a1-2129724a526d")
)
(fp_line
(start -10.2122 10.1214)
(end 11.1238 10.1214)
(start -11.176 8.636)
(end 10.16 8.636)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "7b8db049-a75b-4c09-b1c9-de8a147005c4")
(uuid "b279bc16-0fa3-40ad-9a71-246db78cd5db")
)
(fp_line
(start -6.453 -0.3942)
(end -0.357 -0.3942)
(start -7.4168 -1.8796)
(end -1.3208 -1.8796)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "c4ed20b9-5f3d-4741-9180-be3de36b2638")
(uuid "1cc5b0bc-c494-4f7d-bca7-4c61a9317e88")
)
(fp_line
(start -6.453 4.0762)
(end -6.453 -0.3942)
(start -7.4168 2.5908)
(end -7.4168 -1.8796)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "d7e1ea82-a28a-4e4c-8051-86a68fea340c")
(uuid "cb93a75e-f00e-4ada-977c-4ebffb53a1ef")
)
(fp_line
(start -5.3354 -4.2804)
(end -1.9064 -4.2804)
(start -6.2992 -5.7658)
(end -2.8702 -5.7658)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "06328989-1b0f-46d7-883b-033109387c94")
(uuid "58d4cb4b-5a3f-4493-aa99-0deaf5683749")
)
(fp_line
(start -5.3354 -3.0104)
(end -5.3354 -4.2804)
(start -6.2992 -4.4958)
(end -6.2992 -5.7658)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "8d77e0eb-1044-47c3-83fb-eeb0a96fae5d")
(uuid "23c244a5-fbbf-43b9-8e18-3f2c2f80daac")
)
(fp_line
(start -1.9064 -4.2804)
(end -1.9064 -3.0104)
(start -2.8702 -5.7658)
(end -2.8702 -4.4958)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "aacf448e-591d-467e-9b05-308beed279bf")
(uuid "dc18e288-f18f-43b9-8bf9-a20134e8fe6b")
)
(fp_line
(start -1.9064 -3.0104)
(end -5.3354 -3.0104)
(start -2.8702 -4.4958)
(end -6.2992 -4.4958)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "1a4d146d-43a7-4082-9120-8896a6302895")
(uuid "0db4cf0f-ac7a-4c9b-ae10-55a36ddbd4e4")
)
(fp_line
(start -0.357 4.0762)
(end -6.453 4.0762)
(start -1.3208 2.5908)
(end -7.4168 2.5908)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "28f1cc66-eb55-47b0-8a8f-d7e1518711f4")
(uuid "bb094c9b-9d8c-4f38-83ed-01fc7944b9a1")
)
(fp_line
(start -0.357 4.0762)
(end -0.357 -0.3942)
(start -1.3208 2.5908)
(end -1.3208 -1.8796)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "6820cfba-dad3-4b8f-888f-85dbe2540377")
(uuid "15406a1c-aa60-4574-94bc-bc7b1c93f995")
)
(fp_line
(start 1.3194 -1.969)
(end 1.3194 4.6858)
(start 0.3556 -3.4544)
(end 0.3556 3.2004)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "6a862895-3bf4-4887-9dab-db5334a221bc")
(uuid "7f056460-3325-494e-89b7-e00faf35b853")
)
(fp_line
(start 1.3194 -1.969)
(end 7.9742 -1.969)
(start 0.3556 -3.4544)
(end 7.0104 -3.4544)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "79debc5c-9a35-496c-8f29-014030f144a4")
(uuid "fb81112c-7565-47b2-8682-db2abbd3ddf0")
)
(fp_line
(start 2.8942 0.8885)
(end 5.5231 0.8885)
(start 1.9304 -0.5969)
(end 4.5593 -0.5969)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "84cd7a4d-d683-4fbc-825f-665c5b0f0758")
(uuid "48533810-e56f-47c8-8bce-ce1c68dc9c75")
)
(fp_line
(start 2.8942 1.5235)
(end 2.8942 0.8885)
(start 1.9304 0.0381)
(end 1.9304 -0.5969)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "4e52b40e-83c8-4d07-95ff-b90fa1783618")
(uuid "03a589e3-a74e-4336-8cad-43118c287e8a")
)
(fp_line
(start 2.8942 1.5235)
(end 5.5231 1.5235)
(start 1.9304 0.0381)
(end 4.5593 0.0381)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "a399ee1e-f3f5-4636-9f46-aa9b47e0db94")
(uuid "ce0e1e31-1518-4423-8678-79c96482e137")
)
(fp_line
(start 5.5231 0.19)
(end 6.7931 1.206)
(start 4.5593 -1.2954)
(end 5.8293 -0.2794)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "974ab6af-0377-40af-977c-a13764cf3b42")
(uuid "60031373-aa96-4773-880b-c8200b9c8446")
)
(fp_line
(start 5.5231 0.8885)
(end 5.5231 0.19)
(start 4.5593 -0.5969)
(end 4.5593 -1.2954)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "a43ae26f-5b7d-4a6a-a076-714c678ef718")
(uuid "e8ee4f92-28ab-4a33-a9f9-a6abaf63c07f")
)
(fp_line
(start 5.5231 2.2855)
(end 5.5231 1.5235)
(start 4.5593 0.8001)
(end 4.5593 0.0381)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "cc8ed141-1479-47bc-b57c-ac3d7de64f29")
(uuid "08acbb33-d7a2-40ec-b9c7-e1637e3c6b50")
)
(fp_line
(start 6.7931 1.206)
(end 5.5231 2.2855)
(start 5.8293 -0.2794)
(end 4.5593 0.8001)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "59d9abe5-a32f-469b-9fd6-08593b95afde")
(uuid "93934ce2-e724-43a7-936d-d5b13ecab734")
)
(fp_line
(start 7.9742 -1.969)
(end 7.9742 4.6858)
(start 7.0104 -3.4544)
(end 7.0104 3.2004)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "73f5a41f-61af-42a7-bacf-c58d7968f53a")
(uuid "67302b70-b929-4d08-9b20-00ad993d7c48")
)
(fp_line
(start 7.9742 4.6858)
(end 1.3194 4.6858)
(start 7.0104 3.2004)
(end 0.3556 3.2004)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "9ec91a9f-ceda-4f7c-b422-f6a162037a63")
(uuid "0718d059-35cf-4406-ab64-7d7e6d83cf21")
)
(fp_line
(start 11.1238 -6.0076)
(end -10.2122 -6.0076)
(start 10.16 -7.493)
(end -11.176 -7.493)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "ed6fa262-c61a-4bb7-90b5-f3b3ee971658")
(uuid "3f15543c-c79e-44be-a583-62309e7f62ac")
)
(fp_line
(start 11.1238 10.1214)
(end 11.1238 -6.0076)
(start 10.16 8.636)
(end 10.16 -7.493)
(stroke
(width 0.12)
(type solid)
)
(layer "F.SilkS")
(uuid "0251e69d-8ab4-482d-b741-3238b0fef811")
(uuid "53974b4e-f4fd-4a51-b72c-09e66d707da7")
)
(fp_circle
(center -7.1896 -3.3787)
(end -6.6181 -2.8707)
(center -8.1534 -4.8641)
(end -7.5819 -4.3561)
(stroke
(width 0.12)
(type solid)
)
(fill none)
(layer "F.SilkS")
(uuid "55702fe3-b28e-4e80-86d3-f64c403681d1")
(uuid "c9f36fdc-7af5-40c1-b400-6db31e87c78d")
)
(fp_circle
(center -7.1388 7.302)
(end -6.5673 7.81)
(center -8.1026 5.8166)
(end -7.5311 6.3246)
(stroke
(width 0.12)
(type solid)
)
(fill none)
(layer "F.SilkS")
(uuid "0ffe4b1a-c314-4a3c-8456-b73925f03b28")
(uuid "4e0da6f8-ad5e-4cc1-95ba-014ff87aee07")
)
(fp_circle
(center 7.39 -3.3787)
(end 7.9615 -2.8707)
(center 6.4262 -4.8641)
(end 6.9977 -4.3561)
(stroke
(width 0.12)
(type solid)
)
(fill none)
(layer "F.SilkS")
(uuid "82347fd5-ab01-478d-bf06-2837edd3b9c5")
(uuid "1cb73701-38be-459b-a7c5-86d645c4cc0e")
)
(fp_circle
(center 7.4916 7.2766)
(end 8.0631 7.7846)
(center 6.5278 5.7912)
(end 7.0993 6.2992)
(stroke
(width 0.12)
(type solid)
)
(fill none)
(layer "F.SilkS")
(uuid "f74d6220-edbd-4a39-a810-7cf19016933f")
(uuid "079e6cb8-ca9e-47a7-9f22-9f08bcf4c5ee")
)
(fp_poly
(pts
(xy -5.7418 -1.0546) (xy -5.3354 -1.0546) (xy -5.3354 -0.445) (xy -5.7418 -0.445)
(xy -6.7056 -2.54) (xy -6.2992 -2.54) (xy -6.2992 -1.9304) (xy -6.7056 -1.9304)
)
(stroke
(width 0.1)
@ -352,11 +347,11 @@
)
(fill solid)
(layer "F.SilkS")
(uuid "80ff133a-8874-4f0a-8c9e-250633a8855a")
(uuid "9f932498-4dae-4e35-9fff-b4bb98c73816")
)
(fp_poly
(pts
(xy -5.7418 4.127) (xy -5.3354 4.127) (xy -5.3354 4.7366) (xy -5.7418 4.7366)
(xy -6.7056 2.6416) (xy -6.2992 2.6416) (xy -6.2992 3.2512) (xy -6.7056 3.2512)
)
(stroke
(width 0.1)
@ -364,11 +359,11 @@
)
(fill solid)
(layer "F.SilkS")
(uuid "6e08c3a4-3092-400f-9a55-4e8081226741")
(uuid "372c02f5-61f4-4301-aca3-d818a674272e")
)
(fp_poly
(pts
(xy -4.2686 -1.0546) (xy -3.8622 -1.0546) (xy -3.8622 -0.445) (xy -4.2686 -0.445)
(xy -5.2324 -2.54) (xy -4.826 -2.54) (xy -4.826 -1.9304) (xy -5.2324 -1.9304)
)
(stroke
(width 0.1)
@ -376,11 +371,11 @@
)
(fill solid)
(layer "F.SilkS")
(uuid "6a96c3fa-8827-498f-9c6c-ffb212b62a93")
(uuid "8b8d18d4-2701-4c72-966d-f580819a5bea")
)
(fp_poly
(pts
(xy -4.2686 4.127) (xy -3.8622 4.127) (xy -3.8622 4.7366) (xy -4.2686 4.7366)
(xy -5.2324 2.6416) (xy -4.826 2.6416) (xy -4.826 3.2512) (xy -5.2324 3.2512)
)
(stroke
(width 0.1)
@ -388,11 +383,11 @@
)
(fill solid)
(layer "F.SilkS")
(uuid "0886a33b-f340-44bf-9de5-f44938efcb54")
(uuid "d6255dee-580f-4b85-9e3c-df858fc7bc8d")
)
(fp_poly
(pts
(xy -2.7954 -1.0546) (xy -2.389 -1.0546) (xy -2.389 -0.445) (xy -2.7954 -0.445)
(xy -3.7592 -2.54) (xy -3.3528 -2.54) (xy -3.3528 -1.9304) (xy -3.7592 -1.9304)
)
(stroke
(width 0.1)
@ -400,11 +395,11 @@
)
(fill solid)
(layer "F.SilkS")
(uuid "51e3d89a-8455-4f58-ad05-c15d024e9c54")
(uuid "ebef6c64-7266-47b4-9a64-d9d611adc26d")
)
(fp_poly
(pts
(xy -2.7954 4.127) (xy -2.389 4.127) (xy -2.389 4.7366) (xy -2.7954 4.7366)
(xy -3.7592 2.6416) (xy -3.3528 2.6416) (xy -3.3528 3.2512) (xy -3.7592 3.2512)
)
(stroke
(width 0.1)
@ -412,11 +407,11 @@
)
(fill solid)
(layer "F.SilkS")
(uuid "5514ba93-c636-4e40-855a-d8123eaad1aa")
(uuid "59be5a8f-ac87-4541-97df-321cb1234c4f")
)
(fp_poly
(pts
(xy -1.2714 -1.0546) (xy -0.865 -1.0546) (xy -0.865 -0.445) (xy -1.2714 -0.445)
(xy -2.2352 -2.54) (xy -1.8288 -2.54) (xy -1.8288 -1.9304) (xy -2.2352 -1.9304)
)
(stroke
(width 0.1)
@ -424,11 +419,11 @@
)
(fill solid)
(layer "F.SilkS")
(uuid "d6b9bc27-cda7-4d8b-ad26-7b36a48ecfbd")
(uuid "b1663dd5-c63f-4034-b29b-537f9a6abd47")
)
(fp_poly
(pts
(xy -1.2714 4.127) (xy -0.865 4.127) (xy -0.865 4.7366) (xy -1.2714 4.7366)
(xy -2.2352 2.6416) (xy -1.8288 2.6416) (xy -1.8288 3.2512) (xy -2.2352 3.2512)
)
(stroke
(width 0.1)
@ -436,52 +431,52 @@
)
(fill solid)
(layer "F.SilkS")
(uuid "3fef23e2-4bcd-4924-97f4-7575ce7994b1")
(uuid "6e5990fc-9a52-480e-b640-cabfc2a6cd18")
)
(fp_line
(start -10.39 -6.16)
(end -10.39 10.2992)
(start -11.3538 -7.6454)
(end -11.3538 8.8138)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "bc1192d1-b770-4e65-bd6d-2beed31fb275")
(uuid "e21c3eb0-fdf3-4a2d-9d84-f366a7426b90")
)
(fp_line
(start -10.39 -6.16)
(end 11.3016 -6.1854)
(start -11.3538 -7.6454)
(end 10.3378 -7.6708)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "ac2ec45c-be62-4db0-88df-ef12d1f24714")
(uuid "f2231139-582f-43f7-a92f-646e424ad044")
)
(fp_line
(start -10.39 10.2992)
(end 11.3016 10.2992)
(start -11.3538 8.8138)
(end 10.3378 8.8138)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "90a38e33-4119-4758-ac3b-323f8c73139c")
(uuid "ff2d64a2-f244-4e27-a61c-b0184f18f038")
)
(fp_line
(start 11.3016 -6.1854)
(end 11.3016 10.2992)
(start 10.3378 -7.6708)
(end 10.3378 8.8138)
(stroke
(width 0.12)
(type solid)
)
(layer "F.Fab")
(uuid "22193204-ae0b-4462-95d6-f226e27ae968")
(uuid "e571d0ae-d587-45ad-9b62-7a686b2f0c60")
)
(fp_text user "-"
(at 7.39 -3.4422 0)
(at 6.4262 -4.9276 0)
(layer "F.SilkS")
(uuid "0bec24d9-5468-4c4b-96d3-ef96e25202cf")
(uuid "4f88e670-b848-4271-a5f8-bd548b64cadd")
(effects
(font
(size 1 1)
@ -490,9 +485,9 @@
)
)
(fp_text user "-"
(at -7.1896 -3.4422 0)
(at -8.1534 -4.9276 0)
(layer "F.SilkS")
(uuid "0c9a77a8-8422-401b-a5a1-b40da4e203c0")
(uuid "86dab817-ad16-4cdc-b19d-607ba0d990ab")
(effects
(font
(size 1 1)
@ -501,9 +496,9 @@
)
)
(fp_text user "VOUT"
(at 9.7776 1.5362 -90)
(at 8.8138 0.0508 -90)
(layer "F.SilkS")
(uuid "3c0d7914-45a5-4bbb-8f5b-40ede46c7d70")
(uuid "876b8e16-62cc-4ae3-9c78-14a6cc337309")
(effects
(font
(size 1 1)
@ -512,9 +507,9 @@
)
)
(fp_text user "+"
(at -7.1388 7.2385 0)
(at 6.5278 5.7277 0)
(layer "F.SilkS")
(uuid "4145e214-17c8-4e57-9147-ea318329ca66")
(uuid "935ff27f-9949-446d-a438-f14c3624acfc")
(effects
(font
(size 1 1)
@ -523,9 +518,9 @@
)
)
(fp_text user "4.5-28V"
(at -8.7898 1.7902 -90)
(at -9.7536 0.3048 -90)
(layer "F.SilkS")
(uuid "9e9858d1-9320-4297-aaee-1e9bd601ead9")
(uuid "d89e1384-2d5d-4d2d-bcf8-24657a3939a7")
(effects
(font
(size 1 1)
@ -534,9 +529,9 @@
)
)
(fp_text user "+"
(at 7.4916 7.2131 0)
(at -8.1026 5.7531 0)
(layer "F.SilkS")
(uuid "c1d9d6ad-e0e9-47c6-989c-71feb1923647")
(uuid "e3820af4-2c8f-4e79-b4d3-6c49dcea8bb5")
(effects
(font
(size 1 1)
@ -545,68 +540,68 @@
)
)
(pad "1" thru_hole rect
(at -9.1962 6.1704 90)
(at -10.16 4.572 90)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "7be89935-c19e-4baa-904a-69452ec23d23")
(uuid "6550b245-c3c7-4898-8573-6476b3094631")
)
(pad "1" thru_hole rect
(at -9.1962 8.7104 90)
(at -10.16 7.112 90)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "8f4284a4-3768-4b1e-9962-d551ccf57e63")
(uuid "2c55b3c8-f1e1-407a-8b02-310137232038")
)
(pad "2" thru_hole oval
(at -9.2216 -2.1976 90)
(at -10.1854 -3.683 90)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "1f87148a-c7c2-483f-b799-2ff5e01ff488")
(uuid "6f8804ba-99ab-459b-84ff-3c356b03222a")
)
(pad "2" thru_hole oval
(at -9.1962 -4.7376 90)
(at -10.16 -6.223 90)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "bf2458a2-a107-48c3-bb88-9e881f49434c")
(uuid "b8ed6aef-b96f-4eb3-a1a2-2deefde02bbb")
)
(pad "3" thru_hole rect
(at 9.5998 6.1844 90)
(at 8.636 4.699 90)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "69cb71b1-224d-4fe7-8b14-ee9b1da593fb")
(uuid "5892046d-9427-451a-9d67-551089438a5d")
)
(pad "3" thru_hole rect
(at 9.5998 8.7244 90)
(at 8.636 7.239 90)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "39b44515-755a-4a18-9e94-5d0b3431f548")
(uuid "519792c2-361a-4982-84bb-b0360a514c29")
)
(pad "4" thru_hole oval
(at 9.7014 -2.1976 90)
(at 8.7376 -3.683 90)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "6af0a541-44c2-41dc-9c4e-37db310350d6")
(uuid "efe9e9b1-891f-4b33-a064-306161845044")
)
(pad "4" thru_hole oval
(at 9.7268 -4.7376 90)
(at 8.763 -6.223 90)
(size 1.6 1.6)
(drill 0.8)
(layers "*.Cu" "*.Mask")
(remove_unused_layers no)
(uuid "204e6602-d630-4983-8e4d-fb59a5c65572")
(uuid "16f7d0b3-7073-4c65-a466-c8a09376cdd7")
)
(model "${KISYS3DMOD}/Module.3dshapes/Arduino_UNO_R2.wrl"
(offset
@ -619,4 +614,4 @@
(xyz 0 0 0)
)
)
)
)

File diff suppressed because it is too large Load diff

View file

@ -1,12 +1,12 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.4*
G04 #@! TF.CreationDate,2024-07-25T21:16:30+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.5) date 2024-09-25 02:09:32*
G04 Created by KiCad (PCBNEW 8.0.4) date 2024-07-25 21:16:30*
%MOMM*%
%LPD*%
G01*
@ -55,9 +55,9 @@ G04 Aperture macros list end*
%ADD33RoundRect,0.250000X0.550000X0.550000X-0.550000X0.550000X-0.550000X-0.550000X0.550000X-0.550000X0*%
G04 APERTURE END LIST*
D10*
X156600000Y-108750000D03*
X153500000Y-108750000D03*
D11*
X156600000Y-111250000D03*
X153500000Y-111250000D03*
D12*
X127400000Y-42690000D03*
D13*
@ -81,18 +81,6 @@ 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*
D14*
@ -284,6 +272,18 @@ X138370000Y-72370000D03*
D29*
X136300000Y-71100000D03*
X138370000Y-69830000D03*
D10*
X128204000Y-108823000D03*
X128204000Y-111363000D03*
D14*
X128178600Y-100455000D03*
X128204000Y-97915000D03*
D10*
X147000000Y-108837000D03*
X147000000Y-111377000D03*
D14*
X147101600Y-100455000D03*
X147127000Y-97915000D03*
D17*
X106760000Y-66240000D03*
D22*
@ -306,9 +306,9 @@ D11*
X181830000Y-85750000D03*
X181830000Y-88250000D03*
D10*
X123600000Y-108750000D03*
X122250000Y-108750000D03*
D11*
X123600000Y-111250000D03*
X122250000Y-111250000D03*
D17*
X106870000Y-39160000D03*
D22*

View file

@ -1,12 +1,12 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.4*
G04 #@! TF.CreationDate,2024-07-25T21:16:30+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.5) date 2024-09-25 02:09:32*
G04 Created by KiCad (PCBNEW 8.0.4) date 2024-07-25 21:16:30*
%MOMM*%
%LPD*%
G01*

View file

@ -1,12 +1,12 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.4*
G04 #@! TF.CreationDate,2024-07-25T21:16:30+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.5) date 2024-09-25 02:09:32*
G04 Created by KiCad (PCBNEW 8.0.4) date 2024-07-25 21:16:30*
%MOMM*%
%LPD*%
G01*
@ -138,9 +138,9 @@ X156800000Y-70000000D01*
X156300000Y-72000000D01*
%LPC*%
D12*
X156600000Y-108750000D03*
X153500000Y-108750000D03*
D13*
X156600000Y-111250000D03*
X153500000Y-111250000D03*
D14*
X127400000Y-42690000D03*
D15*
@ -164,18 +164,6 @@ 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*
D16*
@ -367,6 +355,18 @@ X138370000Y-72370000D03*
D31*
X136300000Y-71100000D03*
X138370000Y-69830000D03*
D12*
X128204000Y-108823000D03*
X128204000Y-111363000D03*
D16*
X128178600Y-100455000D03*
X128204000Y-97915000D03*
D12*
X147000000Y-108837000D03*
X147000000Y-111377000D03*
D16*
X147101600Y-100455000D03*
X147127000Y-97915000D03*
D19*
X106760000Y-66240000D03*
D24*
@ -389,9 +389,9 @@ D13*
X181830000Y-85750000D03*
X181830000Y-88250000D03*
D12*
X123600000Y-108750000D03*
X122250000Y-108750000D03*
D13*
X123600000Y-111250000D03*
X122250000Y-111250000D03*
D19*
X106870000Y-39160000D03*
D24*

View file

@ -1,11 +1,11 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.4*
G04 #@! TF.CreationDate,2024-07-25T21:16:30+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.5) date 2024-09-25 02:09:32*
G04 Created by KiCad (PCBNEW 8.0.4) date 2024-07-25 21:16:30*
%MOMM*%
%LPD*%
G01*

File diff suppressed because it is too large Load diff

View file

@ -1,12 +1,12 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.4*
G04 #@! TF.CreationDate,2024-07-25T21:16:30+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.5) date 2024-09-25 02:09:32*
G04 Created by KiCad (PCBNEW 8.0.4) date 2024-07-25 21:16:30*
%MOMM*%
%LPD*%
G01*
@ -55,9 +55,9 @@ G04 Aperture macros list end*
%ADD33RoundRect,0.250000X0.550000X0.550000X-0.550000X0.550000X-0.550000X-0.550000X0.550000X-0.550000X0*%
G04 APERTURE END LIST*
D10*
X156600000Y-108750000D03*
X153500000Y-108750000D03*
D11*
X156600000Y-111250000D03*
X153500000Y-111250000D03*
D12*
X127400000Y-42690000D03*
D13*
@ -81,18 +81,6 @@ 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*
D14*
@ -284,6 +272,18 @@ X138370000Y-72370000D03*
D29*
X136300000Y-71100000D03*
X138370000Y-69830000D03*
D10*
X128204000Y-108823000D03*
X128204000Y-111363000D03*
D14*
X128178600Y-100455000D03*
X128204000Y-97915000D03*
D10*
X147000000Y-108837000D03*
X147000000Y-111377000D03*
D14*
X147101600Y-100455000D03*
X147127000Y-97915000D03*
D17*
X106760000Y-66240000D03*
D22*
@ -306,9 +306,9 @@ D11*
X181830000Y-85750000D03*
X181830000Y-88250000D03*
D10*
X123600000Y-108750000D03*
X122250000Y-108750000D03*
D11*
X123600000Y-111250000D03*
X122250000Y-111250000D03*
D17*
X106870000Y-39160000D03*
D22*

View file

@ -1,12 +1,12 @@
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*
G04 #@! TF.CreationDate,2024-09-25T02:09:32+02:00*
G04 #@! TF.GenerationSoftware,KiCad,Pcbnew,8.0.4*
G04 #@! TF.CreationDate,2024-07-25T21:16:30+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.5) date 2024-09-25 02:09:32*
G04 Created by KiCad (PCBNEW 8.0.4) date 2024-07-25 21:16:30*
%MOMM*%
%LPD*%
G01*

File diff suppressed because it is too large Load diff

View file

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*%
%TF.CreationDate,2024-09-25T02:09:35+02:00*%
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.4*%
%TF.CreationDate,2024-07-25T21:16:32+02:00*%
%TF.ProjectId,CanGrow,43616e47-726f-4772-9e6b-696361645f70,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Drillmap*%
%TF.FilePolarity,Positive*%
%FSLAX45Y45*%
G04 Gerber Fmt 4.5, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.5) date 2024-09-25 02:09:35*
G04 Created by KiCad (PCBNEW 8.0.4) date 2024-07-25 21:16:32*
%MOMM*%
%LPD*%
G01*

View file

@ -1,8 +1,8 @@
M48
; DRILL file {KiCad 8.0.5} date 2024-09-25T02:09:34+0200
; DRILL file {KiCad 8.0.4} date 2024-07-25T21:16:31+0200
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2024-09-25T02:09:34+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.5
; #@! TF.CreationDate,2024-07-25T21:16:31+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.4
; #@! TF.FileFunction,NonPlated,1,2,NPTH
FMAT,2
METRIC

View file

@ -1,12 +1,12 @@
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*%
%TF.CreationDate,2024-09-25T02:09:35+02:00*%
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.4*%
%TF.CreationDate,2024-07-25T21:16:32+02:00*%
%TF.ProjectId,CanGrow,43616e47-726f-4772-9e6b-696361645f70,rev?*%
%TF.SameCoordinates,Original*%
%TF.FileFunction,Drillmap*%
%TF.FilePolarity,Positive*%
%FSLAX45Y45*%
G04 Gerber Fmt 4.5, Leading zero omitted, Abs format (unit mm)*
G04 Created by KiCad (PCBNEW 8.0.5) date 2024-09-25 02:09:35*
G04 Created by KiCad (PCBNEW 8.0.4) date 2024-07-25 21:16:32*
%MOMM*%
%LPD*%
G01*
@ -335,65 +335,65 @@ G75*
G02*
X11740000Y-4600000I40000J0D01*
G01*
X12400000Y-10875000D02*
X12265000Y-10875000D02*
G75*
G02*
X12320000Y-10875000I-40000J0D01*
X12185000Y-10875000I-40000J0D01*
G01*
X12320000Y-10875000D02*
X12185000Y-10875000D02*
G75*
G02*
X12400000Y-10875000I40000J0D01*
X12265000Y-10875000I40000J0D01*
G01*
X12400000Y-11125000D02*
X12265000Y-11125000D02*
G75*
G02*
X12320000Y-11125000I-40000J0D01*
X12185000Y-11125000I-40000J0D01*
G01*
X12320000Y-11125000D02*
X12185000Y-11125000D02*
G75*
G02*
X12400000Y-11125000I40000J0D01*
X12265000Y-11125000I40000J0D01*
G01*
X13112260Y-10047800D02*
X12857860Y-10045500D02*
G75*
G02*
X13032260Y-10047800I-40000J0D01*
X12777860Y-10045500I-40000J0D01*
G01*
X13032260Y-10047800D02*
X12777860Y-10045500D02*
G75*
G02*
X13112260Y-10047800I40000J0D01*
X12857860Y-10045500I40000J0D01*
G01*
X13114800Y-9793800D02*
X12860400Y-9791500D02*
G75*
G02*
X13034800Y-9793800I-40000J0D01*
X12780400Y-9791500I-40000J0D01*
G01*
X13034800Y-9793800D02*
X12780400Y-9791500D02*
G75*
G02*
X13114800Y-9793800I40000J0D01*
X12860400Y-9791500I40000J0D01*
G01*
X13114800Y-10884600D02*
X12860400Y-10882300D02*
G75*
G02*
X13034800Y-10884600I-40000J0D01*
X12780400Y-10882300I-40000J0D01*
G01*
X13034800Y-10884600D02*
X12780400Y-10882300D02*
G75*
G02*
X13114800Y-10884600I40000J0D01*
X12860400Y-10882300I40000J0D01*
G01*
X13114800Y-11138600D02*
X12860400Y-11136300D02*
G75*
G02*
X13034800Y-11138600I-40000J0D01*
X12780400Y-11136300I-40000J0D01*
G01*
X13034800Y-11138600D02*
X12780400Y-11136300D02*
G75*
G02*
X13114800Y-11138600I40000J0D01*
X12860400Y-11136300I40000J0D01*
G01*
X13220000Y-5080000D02*
G75*
@ -555,45 +555,45 @@ G75*
G02*
X14688500Y-3960000I40000J0D01*
G01*
X14994400Y-10886000D02*
X14740000Y-10883700D02*
G75*
G02*
X14914400Y-10886000I-40000J0D01*
X14660000Y-10883700I-40000J0D01*
G01*
X14914400Y-10886000D02*
X14660000Y-10883700D02*
G75*
G02*
X14994400Y-10886000I40000J0D01*
X14740000Y-10883700I40000J0D01*
G01*
X14994400Y-11140000D02*
X14740000Y-11137700D02*
G75*
G02*
X14914400Y-11140000I-40000J0D01*
X14660000Y-11137700I-40000J0D01*
G01*
X14914400Y-11140000D02*
X14660000Y-11137700D02*
G75*
G02*
X14994400Y-11140000I40000J0D01*
X14740000Y-11137700I40000J0D01*
G01*
X15004560Y-10047800D02*
X14750160Y-10045500D02*
G75*
G02*
X14924560Y-10047800I-40000J0D01*
X14670160Y-10045500I-40000J0D01*
G01*
X14924560Y-10047800D02*
X14670160Y-10045500D02*
G75*
G02*
X15004560Y-10047800I40000J0D01*
X14750160Y-10045500I40000J0D01*
G01*
X15007100Y-9793800D02*
X14752700Y-9791500D02*
G75*
G02*
X14927100Y-9793800I-40000J0D01*
X14672700Y-9791500I-40000J0D01*
G01*
X14927100Y-9793800D02*
X14672700Y-9791500D02*
G75*
G02*
X15007100Y-9793800I40000J0D01*
X14752700Y-9791500I40000J0D01*
G01*
X15048000Y-6650000D02*
G75*
@ -625,6 +625,26 @@ G75*
G02*
X15350000Y-7801000I40000J0D01*
G01*
X15390000Y-10875000D02*
G75*
G02*
X15310000Y-10875000I-40000J0D01*
G01*
X15310000Y-10875000D02*
G75*
G02*
X15390000Y-10875000I40000J0D01*
G01*
X15390000Y-11125000D02*
G75*
G02*
X15310000Y-11125000I-40000J0D01*
G01*
X15310000Y-11125000D02*
G75*
G02*
X15390000Y-11125000I40000J0D01*
G01*
X15690000Y-6786000D02*
G75*
G02*
@ -635,26 +655,6 @@ G75*
G02*
X15690000Y-6786000I40000J0D01*
G01*
X15700000Y-10875000D02*
G75*
G02*
X15620000Y-10875000I-40000J0D01*
G01*
X15620000Y-10875000D02*
G75*
G02*
X15700000Y-10875000I40000J0D01*
G01*
X15700000Y-11125000D02*
G75*
G02*
X15620000Y-11125000I-40000J0D01*
G01*
X15620000Y-11125000D02*
G75*
G02*
X15700000Y-11125000I40000J0D01*
G01*
X17015000Y-5080000D02*
G75*
G02*

View file

@ -1,8 +1,8 @@
M48
; DRILL file {KiCad 8.0.5} date 2024-09-25T02:09:34+0200
; DRILL file {KiCad 8.0.4} date 2024-07-25T21:16:31+0200
; FORMAT={-:-/ absolute / metric / decimal}
; #@! TF.CreationDate,2024-09-25T02:09:34+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.5
; #@! TF.CreationDate,2024-07-25T21:16:31+02:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.4
; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2
METRIC
@ -76,12 +76,12 @@ X116.91Y-100.25
X116.93Y-90.98
X117.0Y-42.42
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
X122.25Y-108.75
X122.25Y-111.25
X128.179Y-100.455
X128.204Y-97.915
X128.204Y-108.823
X128.204Y-111.363
X131.8Y-50.8
X133.0Y-35.15
X133.0Y-45.31
@ -98,16 +98,16 @@ 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
X147.0Y-108.837
X147.0Y-111.377
X147.102Y-100.455
X147.127Y-97.915
X150.08Y-66.5
X153.1Y-67.85
X153.1Y-78.01
X153.5Y-108.75
X153.5Y-111.25
X156.5Y-67.86
X156.6Y-108.75
X156.6Y-111.25
X169.75Y-50.8
X177.75Y-92.25
X181.83Y-85.75

Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

View file

@ -4,63 +4,25 @@
![CanGrowLogo](Logo/CanGrow_Logo.png)
An easy to use DIY grow controller firmware (for cannabis).
A simple DIY plant growing system (for cannabis).
![Screenshot_WebUI_root.png](Arduino/CanGrow/Screenshot_WebUI_root.png)
![CanGrow_PCB_Front.png](KiCad/CanGrow/CanGrow_PCB_Front_small.png)
![Screenshot_WebUI_root.png](Arduino/CanGrow/Screenshot_WebUI_root.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.
### Update 14.09.2024 - Code Rewrite v0.2
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.
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.
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.
**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
I want to automate as much as possible which makes sense and is easy to build.
## Old v0.1 Features / ToDo List
## Features / ToDo List
- Measure values :white_check_mark:
- Humidity :white_check_mark:
@ -92,3 +54,14 @@ and let the user decide at which pin which output, sensor or whatever will be co
- 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

View file

@ -8,7 +8,7 @@ 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 [setup|build|upload|webupload|monitor]"
@ -44,7 +44,7 @@ case $1 in
echo ""
echo ":: Installing Arduino IDE packages with apt, please enter sudo password:"
sudo apt update
sudo apt install arduino python3 wget curl xxd
sudo apt install arduino python3 wget curl
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."
@ -79,13 +79,13 @@ case $1 in
const char* CanGrowVer = \"${VER}\";
const char* CanGrowBuild = \"${BUILD}\";
" > Arduino/CanGrow/CanGrow_Version.h
${ACLI_CMD} --no-color compile -b ${BOARD} "Arduino/CanGrow/CanGrow.ino" --output-dir build/ || exit 1
${ACLI_CMD} --no-color compile -b esp8266:esp8266:d1_mini_clone "Arduino/CanGrow/CanGrow.ino" --output-dir build/ || exit 1
cp build/CanGrow.ino.bin build/CanGrow_v${VER}_${BUILD}.bin
;;
u|upload)
check_acli
echo ":: Uploading to $TTY"
${ACLI_CMD} --no-color compile -v -b ${BOARD} -u -p $TTY "Arduino/CanGrow/CanGrow.ino"
${ACLI_CMD} --no-color compile -v -b esp8266:esp8266:d1_mini_clone -u -p $TTY "Arduino/CanGrow/CanGrow.ino"
;;
w|webupload)
echo ":: Uploading to $IP"
@ -95,7 +95,7 @@ const char* CanGrowBuild = \"${BUILD}\";
m|mon|monitor)
check_acli
echo ":: Open serial monitor $TTY"
${ACLI_CMD} monitor -c baudrate=115200 -b ${BOARD} -p $TTY
${ACLI_CMD} monitor -c baudrate=115200 -p $TTY
;;
*)
help