switch to esp32c6

This commit is contained in:
Empire 2024-04-20 23:32:44 +02:00
parent e7e38e9fca
commit a44aa86732
11 changed files with 10760 additions and 6466 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{ {
"board": { "board": {
"active_layer": 39, "active_layer": 31,
"active_layer_preset": "", "active_layer_preset": "",
"auto_track_width": false, "auto_track_width": false,
"hidden_netclasses": [], "hidden_netclasses": [],

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,354 @@
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
(symbol "ESP32-C6-WROOM-1-N8" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
(property "Reference" "U" (id 0) (at -15.24 23.622 0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Value" "ESP32-C6-WROOM-1-N8" (id 1) (at -15.24 -25.4 0)
(effects (font (size 1.27 1.27)) (justify bottom left))
)
(property "Footprint" "ESP32-C6-WROOM-1-N8:XCVR_ESP32-C6-WROOM-1-N8" (id 2) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MF" "Espressif Systems" (id 4) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MAXIMUM_PACKAGE_HEIGHT" "3.25mm" (id 5) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Package" "None" (id 6) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Price" "None" (id 7) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Check_prices" "https://www.snapeda.com/parts/ESP32-C6-WROOM-1-N8/Espressif+Systems/view-part/?ref=eda" (id 8) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "STANDARD" "Manufacturer Recommendations" (id 9) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "PARTREV" "1.0" (id 10) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "SnapEDA_Link" "https://www.snapeda.com/parts/ESP32-C6-WROOM-1-N8/Espressif+Systems/view-part/?ref=snap" (id 11) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MP" "ESP32-C6-WROOM-1-N8" (id 12) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Purchase-URL" "https://www.snapeda.com/api/url_track_click_mouser/?unipart_id=12616380&manufacturer=Espressif Systems&part_name=ESP32-C6-WROOM-1-N8&search_term=None" (id 13) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Description" "\nMultiprotocol Modules ESP32-C6 module, Wi-Fi 6 in 2.4 GHz band, Bluetooth 5, Zigbee 3.0 and Thread. ESP34-WROOM Compatible - ENGINEERING SAMPLE\n" (id 14) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "Availability" "In Stock" (id 15) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(property "MANUFACTURER" "Espressif Systems" (id 16) (at 0 0 0)
(effects (font (size 1.27 1.27)) (justify bottom) hide)
)
(symbol "ESP32-C6-WROOM-1-N8_0_0"
(rectangle (start -15.24 -22.86) (end 15.24 22.86)
(stroke (width 0.254)) (fill (type background))
)
(pin power_in line (at 20.32 -20.32 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "1"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 20.32 -20.32 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "28"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 20.32 -20.32 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "29_1"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 20.32 -20.32 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "29_2"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 20.32 -20.32 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "29_3"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 20.32 -20.32 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "29_4"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 20.32 -20.32 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "29_5"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 20.32 -20.32 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "29_6"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 20.32 -20.32 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "29_7"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 20.32 -20.32 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "29_8"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 20.32 -20.32 180.0) (length 5.08)
(name "GND"
(effects (font (size 1.016 1.016)))
)
(number "29_9"
(effects (font (size 1.016 1.016)))
)
)
(pin power_in line (at 20.32 20.32 180.0) (length 5.08)
(name "3V3"
(effects (font (size 1.016 1.016)))
)
(number "2"
(effects (font (size 1.016 1.016)))
)
)
(pin input line (at -20.32 15.24 0) (length 5.08)
(name "EN"
(effects (font (size 1.016 1.016)))
)
(number "3"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at -20.32 0.0 0) (length 5.08)
(name "IO4"
(effects (font (size 1.016 1.016)))
)
(number "4"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at -20.32 -2.54 0) (length 5.08)
(name "IO5"
(effects (font (size 1.016 1.016)))
)
(number "5"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at -20.32 -5.08 0) (length 5.08)
(name "IO6"
(effects (font (size 1.016 1.016)))
)
(number "6"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at -20.32 -7.62 0) (length 5.08)
(name "IO7"
(effects (font (size 1.016 1.016)))
)
(number "7"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at -20.32 10.16 0) (length 5.08)
(name "IO0"
(effects (font (size 1.016 1.016)))
)
(number "8"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at -20.32 7.62 0) (length 5.08)
(name "IO1"
(effects (font (size 1.016 1.016)))
)
(number "9"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at -20.32 -10.16 0) (length 5.08)
(name "IO8"
(effects (font (size 1.016 1.016)))
)
(number "10"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 15.24 180.0) (length 5.08)
(name "IO10"
(effects (font (size 1.016 1.016)))
)
(number "11"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 12.7 180.0) (length 5.08)
(name "IO11"
(effects (font (size 1.016 1.016)))
)
(number "12"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 10.16 180.0) (length 5.08)
(name "IO12"
(effects (font (size 1.016 1.016)))
)
(number "13"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 7.62 180.0) (length 5.08)
(name "IO13"
(effects (font (size 1.016 1.016)))
)
(number "14"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at -20.32 5.08 0) (length 5.08)
(name "IO2"
(effects (font (size 1.016 1.016)))
)
(number "27"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at -20.32 2.54 0) (length 5.08)
(name "IO3"
(effects (font (size 1.016 1.016)))
)
(number "26"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 2.54 180.0) (length 5.08)
(name "TXD0/GPIO16"
(effects (font (size 1.016 1.016)))
)
(number "25"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 0.0 180.0) (length 5.08)
(name "RXD0/GPIO17"
(effects (font (size 1.016 1.016)))
)
(number "24"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 5.08 180.0) (length 5.08)
(name "IO15"
(effects (font (size 1.016 1.016)))
)
(number "23"
(effects (font (size 1.016 1.016)))
)
)
(pin no_connect line (at -20.32 -17.78 0) (length 5.08)
(name "NC"
(effects (font (size 1.016 1.016)))
)
(number "22"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 -15.24 180.0) (length 5.08)
(name "IO23"
(effects (font (size 1.016 1.016)))
)
(number "21"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 -12.7 180.0) (length 5.08)
(name "IO22"
(effects (font (size 1.016 1.016)))
)
(number "20"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 -10.16 180.0) (length 5.08)
(name "IO21"
(effects (font (size 1.016 1.016)))
)
(number "19"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 -7.62 180.0) (length 5.08)
(name "IO20"
(effects (font (size 1.016 1.016)))
)
(number "18"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 -5.08 180.0) (length 5.08)
(name "IO19"
(effects (font (size 1.016 1.016)))
)
(number "17"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at 20.32 -2.54 180.0) (length 5.08)
(name "IO18"
(effects (font (size 1.016 1.016)))
)
(number "16"
(effects (font (size 1.016 1.016)))
)
)
(pin bidirectional line (at -20.32 -12.7 0) (length 5.08)
(name "IO9"
(effects (font (size 1.016 1.016)))
)
(number "15"
(effects (font (size 1.016 1.016)))
)
)
)
)
)

View File

@ -0,0 +1,104 @@
(footprint XCVR_ESP32-C6-WROOM-1-N8 (layer F.Cu) (tedit 66216AE3)
(descr "")
(attr smd)
(fp_text reference REF** (at -5.825 -13.885 0) (layer F.SilkS)
(effects (font (size 1.0 1.0) (thickness 0.15)))
)
(fp_text value XCVR_ESP32-C6-WROOM-1-N8 (at 6.24 13.865 0) (layer F.Fab)
(effects (font (size 1.0 1.0) (thickness 0.15)))
)
(pad 1 smd rect (at -8.75 -5.26) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 2 smd rect (at -8.75 -3.99) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 3 smd rect (at -8.75 -2.72) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 4 smd rect (at -8.75 -1.45) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 5 smd rect (at -8.75 -0.18) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 6 smd rect (at -8.75 1.09) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 7 smd rect (at -8.75 2.36) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 8 smd rect (at -8.75 3.63) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 9 smd rect (at -8.75 4.9) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 10 smd rect (at -8.75 6.17) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 11 smd rect (at -8.75 7.44) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 12 smd rect (at -8.75 8.71) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 13 smd rect (at -8.75 9.98) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 14 smd rect (at -8.75 11.25) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 15 smd rect (at 8.75 11.25) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 16 smd rect (at 8.75 9.98) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 17 smd rect (at 8.75 8.71) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 18 smd rect (at 8.75 7.44) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 19 smd rect (at 8.75 6.17) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 20 smd rect (at 8.75 4.9) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 21 smd rect (at 8.75 3.63) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 22 smd rect (at 8.75 2.36) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 23 smd rect (at 8.75 1.09) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 24 smd rect (at 8.75 -0.18) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 25 smd rect (at 8.75 -1.45) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 26 smd rect (at 8.75 -2.72) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 27 smd rect (at 8.75 -3.99) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 28 smd rect (at 8.75 -5.26) (size 1.5 0.9) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 29_5 smd rect (at -1.505 0.46) (size 0.8 0.8) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 29_1 smd rect (at -2.755 -0.79) (size 0.8 0.8) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 29_2 smd rect (at -1.505 -0.79) (size 0.8 0.8) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 29_3 smd rect (at -0.255 -0.79) (size 0.8 0.8) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 29_4 smd rect (at -2.755 0.46) (size 0.8 0.8) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 29_6 smd rect (at -0.255 0.46) (size 0.8 0.8) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 29_7 smd rect (at -2.755 1.71) (size 0.8 0.8) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 29_8 smd rect (at -1.505 1.71) (size 0.8 0.8) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 29_9 smd rect (at -0.255 1.71) (size 0.8 0.8) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
(pad 30_1 thru_hole circle (at -2.13 -0.79) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(pad 30_2 thru_hole circle (at -0.88 -0.79) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(pad 30_3 thru_hole circle (at -2.755 -0.165) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(pad 30_4 thru_hole circle (at -1.505 -0.165) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(pad 30_5 thru_hole circle (at -0.255 -0.165) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(pad 30_6 thru_hole circle (at -2.13 0.46) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(pad 30_7 thru_hole circle (at -0.88 0.46) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(pad 30_8 thru_hole circle (at -2.755 1.085) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(pad 30_9 thru_hole circle (at -1.505 1.085) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(pad 30_10 thru_hole circle (at -0.255 1.085) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(pad 30_11 thru_hole circle (at -2.13 1.71) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(pad 30_12 thru_hole circle (at -0.88 1.71) (size 0.35 0.35) (drill 0.25) (layers *.Cu))
(fp_line (start -9.0 12.75) (end 9.0 12.75) (layer F.Fab) (width 0.127))
(fp_line (start -9.0 -12.75) (end 9.0 -12.75) (layer F.Fab) (width 0.127))
(fp_line (start 9.0 -12.75) (end 9.0 12.75) (layer F.Fab) (width 0.127))
(fp_line (start -9.0 12.75) (end 9.0 12.75) (layer F.SilkS) (width 0.127))
(fp_line (start -9.0 12.75) (end -9.0 12.02) (layer F.SilkS) (width 0.127))
(fp_line (start 9.0 12.02) (end 9.0 12.75) (layer F.SilkS) (width 0.127))
(fp_line (start -9.0 -6.03) (end -9.0 -12.75) (layer F.SilkS) (width 0.127))
(fp_line (start -9.0 -12.75) (end 9.0 -12.75) (layer F.SilkS) (width 0.127))
(fp_line (start 9.0 -12.75) (end 9.0 -6.03) (layer F.SilkS) (width 0.127))
(zone (net 0) (net_name "") (layers *.Cu) (hatch full 0.508)
(connect_pads (clearance 0))
(min_thickness 0.01)
(keepout (tracks allowed) (vias not_allowed) (pads allowed ) (copperpour allowed) (footprints allowed))
(fill (thermal_gap 0.508) (thermal_bridge_width 0.508))
(polygon
(pts
(xy -9.0 -12.75)
(xy 9.0 -12.75)
(xy 9.0 -6.75)
(xy -9.0 -6.75)
)
)
)
(zone (net 0) (net_name "") (layer F.Cu) (hatch full 0.508)
(connect_pads (clearance 0))
(min_thickness 0.01)
(keepout (tracks not_allowed) (vias not_allowed) (pads not_allowed ) (copperpour not_allowed) (footprints allowed))
(fill (thermal_gap 0.508) (thermal_bridge_width 0.508))
(polygon
(pts
(xy -9.0 -12.75)
(xy 9.0 -12.75)
(xy 9.0 -6.75)
(xy -9.0 -6.75)
)
)
)
(fp_line (start -9.75 -13.0) (end -9.75 13.0) (layer F.CrtYd) (width 0.05))
(fp_line (start -9.75 13.0) (end 9.75 13.0) (layer F.CrtYd) (width 0.05))
(fp_line (start 9.75 13.0) (end 9.75 -13.0) (layer F.CrtYd) (width 0.05))
(fp_line (start 9.75 -13.0) (end -9.75 -13.0) (layer F.CrtYd) (width 0.05))
(fp_line (start -9.0 12.75) (end -9.0 -12.75) (layer F.Fab) (width 0.127))
(fp_circle (center -10.0 -5.25) (end -9.9 -5.25) (layer F.SilkS) (width 0.2))
(fp_circle (center -10.0 -5.25) (end -9.9 -5.25) (layer F.Fab) (width 0.2))
)

View File

@ -4,4 +4,5 @@
(lib (name "ESP32")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff/ESP32")(options "")(descr "")) (lib (name "ESP32")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff/ESP32")(options "")(descr ""))
(lib (name "kicad-stuff")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff")(options "")(descr "")) (lib (name "kicad-stuff")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff")(options "")(descr ""))
(lib (name "board")(type "KiCad")(uri "${KIPRJMOD}/")(options "")(descr "")) (lib (name "board")(type "KiCad")(uri "${KIPRJMOD}/")(options "")(descr ""))
(lib (name "esp32c6")(type "KiCad")(uri "${KIPRJMOD}/esp32c6")(options "")(descr ""))
) )

View File

@ -8,4 +8,5 @@
(lib (name "CN3306")(type "KiCad")(uri "${KIPRJMOD}/CN3306.kicad_sym")(options "")(descr "")) (lib (name "CN3306")(type "KiCad")(uri "${KIPRJMOD}/CN3306.kicad_sym")(options "")(descr ""))
(lib (name "CN3795")(type "KiCad")(uri "${KIPRJMOD}/CN3795.kicad_sym")(options "")(descr "")) (lib (name "CN3795")(type "KiCad")(uri "${KIPRJMOD}/CN3795.kicad_sym")(options "")(descr ""))
(lib (name "BQ34Z100PWR-G1")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff/BQ34Z100PWR-G1.kicad_sym")(options "")(descr "")) (lib (name "BQ34Z100PWR-G1")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff/BQ34Z100PWR-G1.kicad_sym")(options "")(descr ""))
(lib (name "ESP32-C6-WROOM-1-N8")(type "KiCad")(uri "${KIPRJMOD}/esp32c6/ESP32-C6-WROOM-1-N8.kicad_sym")(options "")(descr ""))
) )

View File

@ -1,5 +1,14 @@
[build] [build]
target = "xtensa-esp32-espidf" #target = "xtensa-esp32-espidf"
target = "riscv32imac-esp-espidf"
[target.riscv32imac-esp-espidf]
linker = "ldproxy"
#runner = "espflash flash --monitor --partition-table partitions.csv" # Select this runner for espflash v2.x.x
# runner = espflash erase-parts otadata
runner = "espflash flash --monitor --baud 921600 --partition-table partitions.csv" # Select this runner for espflash v2.x.x
#runner = "cargo runner"
rustflags = [ "--cfg", "espidf_time64"] # Extending time_t for ESP IDF 5: https://github.com/esp-rs/rust/issues/110
[target.xtensa-esp32-espidf] [target.xtensa-esp32-espidf]
linker = "ldproxy" linker = "ldproxy"
@ -13,7 +22,7 @@ rustflags = [ "--cfg", "espidf_time64"] # Extending time_t for ESP IDF 5: https
build-std = ["std", "panic_abort"] build-std = ["std", "panic_abort"]
[env] [env]
MCU="esp32" MCU="esp32c6"
# Note: this variable is not used by the pio builder (`cargo build --features pio`) # Note: this variable is not used by the pio builder (`cargo build --features pio`)
ESP_IDF_VERSION = "v5.1.1" ESP_IDF_VERSION = "v5.1.1"
CHRONO_TZ_TIMEZONE_FILTER="UTC|Europe/Berlin" CHRONO_TZ_TIMEZONE_FILTER="UTC|Europe/Berlin"

Binary file not shown.

View File

@ -5,7 +5,7 @@ use chrono_tz::{Europe::Berlin, Tz};
use esp_idf_hal::delay::Delay; use esp_idf_hal::delay::Delay;
use esp_idf_sys::{ use esp_idf_sys::{
esp_deep_sleep, esp_ota_get_app_partition_count, esp_ota_get_running_partition, esp_ota_get_state_partition, esp_ota_img_states_t, esp_ota_img_states_t_ESP_OTA_IMG_ABORTED, esp_ota_img_states_t_ESP_OTA_IMG_INVALID, esp_ota_img_states_t_ESP_OTA_IMG_NEW, esp_ota_img_states_t_ESP_OTA_IMG_PENDING_VERIFY, esp_ota_img_states_t_ESP_OTA_IMG_UNDEFINED, esp_ota_img_states_t_ESP_OTA_IMG_VALID, esp_restart, gpio_deep_sleep_hold_dis, gpio_deep_sleep_hold_en, vTaskDelay, CONFIG_FREERTOS_HZ esp_deep_sleep, esp_ota_get_app_partition_count, esp_ota_get_running_partition, esp_ota_get_state_partition, esp_ota_img_states_t, esp_ota_img_states_t_ESP_OTA_IMG_ABORTED, esp_ota_img_states_t_ESP_OTA_IMG_INVALID, esp_ota_img_states_t_ESP_OTA_IMG_NEW, esp_ota_img_states_t_ESP_OTA_IMG_PENDING_VERIFY, esp_ota_img_states_t_ESP_OTA_IMG_UNDEFINED, esp_ota_img_states_t_ESP_OTA_IMG_VALID, esp_restart, vTaskDelay, CONFIG_FREERTOS_HZ
}; };
use log::error; use log::error;
use once_cell::sync::Lazy; use once_cell::sync::Lazy;
@ -525,10 +525,6 @@ fn safe_main() -> anyhow::Result<()> {
}; };
} }
//relatch
unsafe { gpio_deep_sleep_hold_dis() };
unsafe { gpio_deep_sleep_hold_en() };
let deep_sleep_duration_minutes: u32 = if state_of_charge < 10 { let deep_sleep_duration_minutes: u32 = if state_of_charge < 10 {
if online_mode == OnlineMode::Online { if online_mode == OnlineMode::Online {
let _ = board.mqtt_publish( let _ = board.mqtt_publish(

View File

@ -34,7 +34,7 @@ use std::time::Duration;
use embedded_hal::digital::OutputPin; use embedded_hal::digital::OutputPin;
use esp_idf_hal::adc::{attenuation, AdcChannelDriver, AdcDriver}; use esp_idf_hal::adc::{attenuation, AdcChannelDriver, AdcDriver};
use esp_idf_hal::delay::Delay; use esp_idf_hal::delay::Delay;
use esp_idf_hal::gpio::{AnyInputPin, Gpio39, Gpio4, InputOutput, Level, PinDriver, Pull}; use esp_idf_hal::gpio::{AnyInputPin, Gpio18, Gpio5, InputOutput, Level, PinDriver, Pull};
use esp_idf_hal::pcnt::{ use esp_idf_hal::pcnt::{
PcntChannel, PcntChannelConfig, PcntControlMode, PcntCountMode, PcntDriver, PinIndex, PcntChannel, PcntChannelConfig, PcntControlMode, PcntCountMode, PcntDriver, PinIndex,
}; };
@ -158,21 +158,21 @@ pub struct PlantHal {}
pub struct PlantCtrlBoard<'a> { pub struct PlantCtrlBoard<'a> {
shift_register: ShiftRegister40< shift_register: ShiftRegister40<
PinDriver<'a, esp_idf_hal::gpio::Gpio21, InputOutput>, PinDriver<'a, esp_idf_hal::gpio::Gpio15, InputOutput>,
PinDriver<'a, esp_idf_hal::gpio::Gpio22, InputOutput>, PinDriver<'a, esp_idf_hal::gpio::Gpio3, InputOutput>,
PinDriver<'a, esp_idf_hal::gpio::Gpio19, InputOutput>, PinDriver<'a, esp_idf_hal::gpio::Gpio23, InputOutput>,
>, >,
tank_driver: AdcDriver<'a, esp_idf_hal::adc::ADC1>, tank_driver: AdcDriver<'a, esp_idf_hal::adc::ADC1>,
tank_channel: esp_idf_hal::adc::AdcChannelDriver<'a, { attenuation::DB_11 }, Gpio39>, tank_channel: esp_idf_hal::adc::AdcChannelDriver<'a, { attenuation::DB_11 }, Gpio5>,
solar_is_day: PinDriver<'a, esp_idf_hal::gpio::Gpio25, esp_idf_hal::gpio::Input>, solar_is_day: PinDriver<'a, esp_idf_hal::gpio::Gpio8, esp_idf_hal::gpio::Input>,
boot_button: PinDriver<'a, esp_idf_hal::gpio::Gpio0, esp_idf_hal::gpio::Input>, boot_button: PinDriver<'a, esp_idf_hal::gpio::Gpio9, esp_idf_hal::gpio::Input>,
signal_counter: PcntDriver<'a>, signal_counter: PcntDriver<'a>,
light: PinDriver<'a, esp_idf_hal::gpio::Gpio26, InputOutput>, light: PinDriver<'a, esp_idf_hal::gpio::Gpio10, InputOutput>,
main_pump: PinDriver<'a, esp_idf_hal::gpio::Gpio23, InputOutput>, main_pump: PinDriver<'a, esp_idf_hal::gpio::Gpio2, InputOutput>,
tank_power: PinDriver<'a, esp_idf_hal::gpio::Gpio27, InputOutput>, tank_power: PinDriver<'a, esp_idf_hal::gpio::Gpio11, InputOutput>,
general_fault: PinDriver<'a, esp_idf_hal::gpio::Gpio13, InputOutput>, general_fault: PinDriver<'a, esp_idf_hal::gpio::Gpio6, InputOutput>,
pub wifi_driver: EspWifi<'a>, pub wifi_driver: EspWifi<'a>,
one_wire_bus: OneWire<PinDriver<'a, Gpio4, esp_idf_hal::gpio::InputOutput>>, one_wire_bus: OneWire<PinDriver<'a, Gpio18, esp_idf_hal::gpio::InputOutput>>,
mqtt_client: Option<EspMqttClient<'a>>, mqtt_client: Option<EspMqttClient<'a>>,
battery_driver: Bq34z100g1Driver<I2cDriver<'a>, Delay>, battery_driver: Bq34z100g1Driver<I2cDriver<'a>, Delay>,
} }
@ -359,20 +359,12 @@ impl PlantCtrlBoardInteraction for PlantCtrlBoard<'_> {
let factor = 1000 as f32 / measurement as f32; let factor = 1000 as f32 / measurement as f32;
self.shift_register.decompose()[index].set_high().unwrap(); self.shift_register.decompose()[index].set_high().unwrap();
if plant == 0 && sensor == Sensor::A {
let index = plant * PINS_PER_PLANT + PLANT_MOIST_PUMP_OFFSET;
//self.shift_register.decompose()[index].set_high().unwrap();
}
//give some time to stabilize //give some time to stabilize
delay.delay_ms(10); delay.delay_ms(10);
self.signal_counter.counter_resume()?; self.signal_counter.counter_resume()?;
delay.delay_ms(measurement); delay.delay_ms(measurement);
self.signal_counter.counter_pause()?; self.signal_counter.counter_pause()?;
self.shift_register.decompose()[index].set_low().unwrap(); self.shift_register.decompose()[index].set_low().unwrap();
if plant == 0 && sensor == Sensor::A {
let index = plant * PINS_PER_PLANT + PLANT_MOIST_PUMP_OFFSET;
//self.shift_register.decompose()[index].set_low().unwrap();
}
let unscaled = self.signal_counter.get_counter_value()? as i32; let unscaled = self.signal_counter.get_counter_value()? as i32;
let hz = (unscaled as f32 * factor) as i32; let hz = (unscaled as f32 * factor) as i32;
println!("Measuring {:?} @ {} with {}", sensor, plant, hz); println!("Measuring {:?} @ {} with {}", sensor, plant, hz);
@ -874,13 +866,13 @@ impl CreatePlantHal<'_> for PlantHal {
fn create() -> Result<Mutex<PlantCtrlBoard<'static>>> { fn create() -> Result<Mutex<PlantCtrlBoard<'static>>> {
let peripherals = Peripherals::take()?; let peripherals = Peripherals::take()?;
let i2c = peripherals.i2c1; let i2c = peripherals.i2c0;
let config = I2cConfig::new() let config = I2cConfig::new()
.scl_enable_pullup(false) .scl_enable_pullup(false)
.sda_enable_pullup(false) .sda_enable_pullup(false)
.baudrate(10_u32.kHz().into()); .baudrate(10_u32.kHz().into());
let scl = peripherals.pins.gpio16; let scl = peripherals.pins.gpio19;
let sda = peripherals.pins.gpio17; let sda = peripherals.pins.gpio20;
let driver = I2cDriver::new(i2c, sda, scl, &config).unwrap(); let driver = I2cDriver::new(i2c, sda, scl, &config).unwrap();
@ -893,18 +885,18 @@ impl CreatePlantHal<'_> for PlantHal {
flash_block_data: [0; 32], flash_block_data: [0; 32],
}; };
let mut clock = PinDriver::input_output(peripherals.pins.gpio21)?; let mut clock = PinDriver::input_output(peripherals.pins.gpio15)?;
clock.set_pull(Pull::Floating).unwrap(); clock.set_pull(Pull::Floating).unwrap();
let mut latch = PinDriver::input_output(peripherals.pins.gpio22)?; let mut latch = PinDriver::input_output(peripherals.pins.gpio3)?;
latch.set_pull(Pull::Floating).unwrap(); latch.set_pull(Pull::Floating).unwrap();
let mut data = PinDriver::input_output(peripherals.pins.gpio19)?; let mut data = PinDriver::input_output(peripherals.pins.gpio23)?;
data.set_pull(Pull::Floating).unwrap(); data.set_pull(Pull::Floating).unwrap();
let shift_register = ShiftRegister40::new(clock.into(), latch.into(), data.into()); let shift_register = ShiftRegister40::new(clock.into(), latch.into(), data.into());
for mut pin in shift_register.decompose() { for mut pin in shift_register.decompose() {
pin.set_low().unwrap(); pin.set_low().unwrap();
} }
let mut one_wire_pin = PinDriver::input_output_od(peripherals.pins.gpio4)?; let mut one_wire_pin = PinDriver::input_output_od(peripherals.pins.gpio18)?;
one_wire_pin.set_pull(Pull::Floating).unwrap(); one_wire_pin.set_pull(Pull::Floating).unwrap();
//TODO make to none if not possible to init //TODO make to none if not possible to init
@ -959,7 +951,7 @@ impl CreatePlantHal<'_> for PlantHal {
let mut counter_unit1 = PcntDriver::new( let mut counter_unit1 = PcntDriver::new(
peripherals.pcnt0, peripherals.pcnt0,
Some(peripherals.pins.gpio18), Some(peripherals.pins.gpio22),
Option::<AnyInputPin>::None, Option::<AnyInputPin>::None,
Option::<AnyInputPin>::None, Option::<AnyInputPin>::None,
Option::<AnyInputPin>::None, Option::<AnyInputPin>::None,
@ -998,24 +990,24 @@ impl CreatePlantHal<'_> for PlantHal {
calibration: true, calibration: true,
}; };
let tank_driver = AdcDriver::new(peripherals.adc1, &adc_config)?; let tank_driver = AdcDriver::new(peripherals.adc1, &adc_config)?;
let tank_channel: AdcChannelDriver<'_, { attenuation::DB_11 }, Gpio39> = let tank_channel: AdcChannelDriver<'_, { attenuation::DB_11 }, Gpio5> =
AdcChannelDriver::new(peripherals.pins.gpio39)?; AdcChannelDriver::new(peripherals.pins.gpio5)?;
let mut solar_is_day = PinDriver::input(peripherals.pins.gpio25)?; let mut solar_is_day = PinDriver::input(peripherals.pins.gpio8)?;
solar_is_day.set_pull(Pull::Floating)?; solar_is_day.set_pull(Pull::Floating)?;
let mut boot_button = PinDriver::input(peripherals.pins.gpio0)?; let mut boot_button = PinDriver::input(peripherals.pins.gpio9)?;
boot_button.set_pull(Pull::Floating)?; boot_button.set_pull(Pull::Floating)?;
let mut light = PinDriver::input_output(peripherals.pins.gpio26)?; let mut light = PinDriver::input_output(peripherals.pins.gpio10)?;
light.set_pull(Pull::Floating).unwrap(); light.set_pull(Pull::Floating).unwrap();
let mut main_pump = PinDriver::input_output(peripherals.pins.gpio23)?; let mut main_pump = PinDriver::input_output(peripherals.pins.gpio2)?;
main_pump.set_pull(Pull::Floating)?; main_pump.set_pull(Pull::Floating)?;
main_pump.set_low()?; main_pump.set_low()?;
let mut tank_power = PinDriver::input_output(peripherals.pins.gpio27)?; let mut tank_power = PinDriver::input_output(peripherals.pins.gpio11)?;
tank_power.set_pull(Pull::Floating)?; tank_power.set_pull(Pull::Floating)?;
let mut general_fault = PinDriver::input_output(peripherals.pins.gpio13)?; let mut general_fault = PinDriver::input_output(peripherals.pins.gpio6)?;
general_fault.set_pull(Pull::Floating)?; general_fault.set_pull(Pull::Floating)?;
general_fault.set_low()?; general_fault.set_low()?;
let one_wire_bus = OneWire::new(one_wire_pin) let one_wire_bus = OneWire::new(one_wire_pin)