Compare commits
55 Commits
V3.0_first
...
bd61359666
| Author | SHA1 | Date | |
|---|---|---|---|
| bd61359666 | |||
| 69ebeae4a2 | |||
| 277b104804 | |||
|
8e75e7aee3
|
|||
|
|
c38ac4d3da | ||
| 936c52e0e7 | |||
| aad1dbd458 | |||
| 1741bb0b53 | |||
|
|
3f63b3ed98 | ||
| ef002e918c | |||
| b8fc6477b2 | |||
| 88be5951a6 | |||
| 8cc967cf68 | |||
| 1ce4d74a65 | |||
| e7556b7ec9 | |||
| af4f209026 | |||
| 31350eeed2 | |||
| 927a2f8d98 | |||
| d94b5e09d2 | |||
| c070e68349 | |||
| 0f77ac163a | |||
| 1927449c1d | |||
| 58b63fc8ee | |||
| 5fedbec433 | |||
| 74f9c17461 | |||
| c89a617d9d | |||
| 92299665b6 | |||
| 8bd2cb72d0 | |||
| 4a8e0188b3 | |||
| 4c19d757c6 | |||
| 3d17ba67ff | |||
| 9f249af430 | |||
| 8218c4b9a6 | |||
| bfcf5e150c | |||
| 7957cf4003 | |||
| 171bd19458 | |||
| 21e5f86945 | |||
| c7a0e3b264 | |||
| b297994b6e | |||
| 4dafa0abfb | |||
| c428ee6294 | |||
| 7415e74643 | |||
| ca26f090fa | |||
| 66e276f15e | |||
| 65e5d0d753 | |||
| 3ece894592 | |||
| f0e0781100 | |||
| fe4b57808d | |||
| 60947059e8 | |||
| d2fb6b8411 | |||
| 4d92e0c2a6 | |||
| b57eb2513c | |||
| 3f98a321fc | |||
| 27858948e5 | |||
| e87012cc9c |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -8,5 +8,6 @@ target
|
||||
Cargo.lock
|
||||
node_modules/
|
||||
rust/src/webserver/bundle.js
|
||||
rust/src/webserver/index.html
|
||||
rust/build/
|
||||
rust/image.bin
|
||||
|
||||
4
.gitmodules
vendored
Normal file
4
.gitmodules
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
[submodule "website/themes/blowfish"]
|
||||
path = website/themes/blowfish
|
||||
url = https://github.com/nunocoracao/blowfish.git
|
||||
branch = main
|
||||
18
README.md
18
README.md
@@ -7,20 +7,4 @@ The following problems shall be solved with this project:
|
||||
* Plant watering
|
||||
* IoT
|
||||
|
||||
# Hardware
|
||||
Open hardware design (powered by KiCAD).
|
||||
The complete PCB is stored in the ***board*** sub directory.
|
||||
|
||||
There the following components are connected:
|
||||
* ESP32 **16MB flash required**
|
||||
* Lipo monitoring (DS2438)
|
||||
* 7 moist sensors
|
||||
* 7 pump
|
||||
* DC-DC convert (generating voltage from Lipo for pumps)
|
||||
* DS18B20 temperature sensors
|
||||
* water level via laser distance sensor (VL53L0X)
|
||||
* DS2438 battery monitor
|
||||
* general purpose expansion pins
|
||||
|
||||
# Software
|
||||
The firmware for the controller is stored in ***esp32*** sub directory.
|
||||
For more information see [[https://plantctrl.org/]]
|
||||
|
||||
BIN
author_logo.jpg
Normal file
BIN
author_logo.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
3
battery_board/battery_board/.gitignore
vendored
Normal file
3
battery_board/battery_board/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
battery_board-backups/
|
||||
bom/
|
||||
fp-info-cache
|
||||
Binary file not shown.
11474
battery_board/battery_board/battery_board.kicad_pcb
Normal file
11474
battery_board/battery_board/battery_board.kicad_pcb
Normal file
File diff suppressed because it is too large
Load Diff
83
battery_board/battery_board/battery_board.kicad_prl
Normal file
83
battery_board/battery_board/battery_board.kicad_prl
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"board": {
|
||||
"active_layer": 36,
|
||||
"active_layer_preset": "",
|
||||
"auto_track_width": false,
|
||||
"hidden_netclasses": [],
|
||||
"hidden_nets": [],
|
||||
"high_contrast_mode": 0,
|
||||
"net_color_mode": 1,
|
||||
"opacity": {
|
||||
"images": 0.6,
|
||||
"pads": 1.0,
|
||||
"tracks": 1.0,
|
||||
"vias": 1.0,
|
||||
"zones": 0.6
|
||||
},
|
||||
"selection_filter": {
|
||||
"dimensions": true,
|
||||
"footprints": true,
|
||||
"graphics": true,
|
||||
"keepouts": true,
|
||||
"lockedItems": false,
|
||||
"otherItems": true,
|
||||
"pads": true,
|
||||
"text": true,
|
||||
"tracks": true,
|
||||
"vias": true,
|
||||
"zones": true
|
||||
},
|
||||
"visible_items": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
5,
|
||||
8,
|
||||
9,
|
||||
10,
|
||||
11,
|
||||
12,
|
||||
13,
|
||||
15,
|
||||
16,
|
||||
17,
|
||||
18,
|
||||
19,
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
24,
|
||||
25,
|
||||
26,
|
||||
27,
|
||||
28,
|
||||
29,
|
||||
30,
|
||||
32,
|
||||
33,
|
||||
34,
|
||||
35,
|
||||
36,
|
||||
39,
|
||||
40
|
||||
],
|
||||
"visible_layers": "fffffff_ffffffff",
|
||||
"zone_display_mode": 0
|
||||
},
|
||||
"git": {
|
||||
"repo_password": "",
|
||||
"repo_type": "",
|
||||
"repo_username": "",
|
||||
"ssh_key": ""
|
||||
},
|
||||
"meta": {
|
||||
"filename": "battery_board.kicad_prl",
|
||||
"version": 3
|
||||
},
|
||||
"project": {
|
||||
"files": []
|
||||
}
|
||||
}
|
||||
689
battery_board/battery_board/battery_board.kicad_pro
Normal file
689
battery_board/battery_board/battery_board.kicad_pro
Normal file
@@ -0,0 +1,689 @@
|
||||
{
|
||||
"board": {
|
||||
"3dviewports": [],
|
||||
"design_settings": {
|
||||
"defaults": {
|
||||
"apply_defaults_to_fp_fields": false,
|
||||
"apply_defaults_to_fp_shapes": false,
|
||||
"apply_defaults_to_fp_text": false,
|
||||
"board_outline_line_width": 0.05,
|
||||
"copper_line_width": 0.2,
|
||||
"copper_text_italic": false,
|
||||
"copper_text_size_h": 1.5,
|
||||
"copper_text_size_v": 1.5,
|
||||
"copper_text_thickness": 0.3,
|
||||
"copper_text_upright": false,
|
||||
"courtyard_line_width": 0.05,
|
||||
"dimension_precision": 4,
|
||||
"dimension_units": 3,
|
||||
"dimensions": {
|
||||
"arrow_length": 1270000,
|
||||
"extension_offset": 500000,
|
||||
"keep_text_aligned": true,
|
||||
"suppress_zeroes": false,
|
||||
"text_position": 0,
|
||||
"units_format": 1
|
||||
},
|
||||
"fab_line_width": 0.1,
|
||||
"fab_text_italic": false,
|
||||
"fab_text_size_h": 1.0,
|
||||
"fab_text_size_v": 1.0,
|
||||
"fab_text_thickness": 0.15,
|
||||
"fab_text_upright": false,
|
||||
"other_line_width": 0.1,
|
||||
"other_text_italic": false,
|
||||
"other_text_size_h": 1.0,
|
||||
"other_text_size_v": 1.0,
|
||||
"other_text_thickness": 0.15,
|
||||
"other_text_upright": false,
|
||||
"pads": {
|
||||
"drill": 0.762,
|
||||
"height": 1.524,
|
||||
"width": 1.524
|
||||
},
|
||||
"silk_line_width": 0.1,
|
||||
"silk_text_italic": false,
|
||||
"silk_text_size_h": 1.0,
|
||||
"silk_text_size_v": 1.0,
|
||||
"silk_text_thickness": 0.1,
|
||||
"silk_text_upright": false,
|
||||
"zones": {
|
||||
"min_clearance": 0.0
|
||||
}
|
||||
},
|
||||
"diff_pair_dimensions": [
|
||||
{
|
||||
"gap": 0.0,
|
||||
"via_gap": 0.0,
|
||||
"width": 0.0
|
||||
}
|
||||
],
|
||||
"drc_exclusions": [
|
||||
"silk_over_copper|180609610|75440001|acdccf16-c559-46ce-9367-ee415ce6455a|00000000-0000-0000-0000-000000000000"
|
||||
],
|
||||
"meta": {
|
||||
"version": 2
|
||||
},
|
||||
"rule_severities": {
|
||||
"annular_width": "error",
|
||||
"clearance": "error",
|
||||
"connection_width": "warning",
|
||||
"copper_edge_clearance": "error",
|
||||
"copper_sliver": "warning",
|
||||
"courtyards_overlap": "error",
|
||||
"diff_pair_gap_out_of_range": "error",
|
||||
"diff_pair_uncoupled_length_too_long": "error",
|
||||
"drill_out_of_range": "error",
|
||||
"duplicate_footprints": "warning",
|
||||
"extra_footprint": "warning",
|
||||
"footprint": "error",
|
||||
"footprint_symbol_mismatch": "warning",
|
||||
"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",
|
||||
"items_not_allowed": "error",
|
||||
"length_out_of_range": "error",
|
||||
"lib_footprint_issues": "warning",
|
||||
"lib_footprint_mismatch": "warning",
|
||||
"malformed_courtyard": "error",
|
||||
"microvia_drill_out_of_range": "error",
|
||||
"missing_courtyard": "ignore",
|
||||
"missing_footprint": "warning",
|
||||
"net_conflict": "warning",
|
||||
"npth_inside_courtyard": "ignore",
|
||||
"padstack": "warning",
|
||||
"pth_inside_courtyard": "ignore",
|
||||
"shorting_items": "error",
|
||||
"silk_edge_clearance": "warning",
|
||||
"silk_over_copper": "warning",
|
||||
"silk_overlap": "warning",
|
||||
"skew_out_of_range": "error",
|
||||
"solder_mask_bridge": "error",
|
||||
"starved_thermal": "error",
|
||||
"text_height": "warning",
|
||||
"text_thickness": "warning",
|
||||
"through_hole_pad_without_hole": "error",
|
||||
"too_many_vias": "error",
|
||||
"track_dangling": "warning",
|
||||
"track_width": "error",
|
||||
"tracks_crossing": "error",
|
||||
"unconnected_items": "error",
|
||||
"unresolved_variable": "error",
|
||||
"via_dangling": "warning",
|
||||
"zones_intersect": "error"
|
||||
},
|
||||
"rules": {
|
||||
"max_error": 0.005,
|
||||
"min_clearance": 0.0,
|
||||
"min_connection": 0.0,
|
||||
"min_copper_edge_clearance": 0.4,
|
||||
"min_hole_clearance": 0.25,
|
||||
"min_hole_to_hole": 0.25,
|
||||
"min_microvia_diameter": 0.2,
|
||||
"min_microvia_drill": 0.1,
|
||||
"min_resolved_spokes": 2,
|
||||
"min_silk_clearance": 0.0,
|
||||
"min_text_height": 0.8,
|
||||
"min_text_thickness": 0.08,
|
||||
"min_through_hole_diameter": 0.3,
|
||||
"min_track_width": 0.0,
|
||||
"min_via_annular_width": 0.1,
|
||||
"min_via_diameter": 0.5,
|
||||
"solder_mask_to_copper_clearance": 0.005,
|
||||
"use_height_for_length_calcs": true
|
||||
},
|
||||
"teardrop_options": [
|
||||
{
|
||||
"td_onpadsmd": true,
|
||||
"td_onroundshapesonly": false,
|
||||
"td_ontrackend": false,
|
||||
"td_onviapad": true
|
||||
}
|
||||
],
|
||||
"teardrop_parameters": [
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_round_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_rect_shape",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
},
|
||||
{
|
||||
"td_allow_use_two_tracks": true,
|
||||
"td_curve_segcount": 0,
|
||||
"td_height_ratio": 1.0,
|
||||
"td_length_ratio": 0.5,
|
||||
"td_maxheight": 2.0,
|
||||
"td_maxlen": 1.0,
|
||||
"td_on_pad_in_zone": false,
|
||||
"td_target_name": "td_track_end",
|
||||
"td_width_to_size_filter_ratio": 0.9
|
||||
}
|
||||
],
|
||||
"track_widths": [
|
||||
0.0,
|
||||
0.2,
|
||||
0.5,
|
||||
2.0,
|
||||
4.0,
|
||||
5.0,
|
||||
10.0
|
||||
],
|
||||
"tuning_pattern_settings": {
|
||||
"diff_pair_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 1.0
|
||||
},
|
||||
"diff_pair_skew_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 0.6
|
||||
},
|
||||
"single_track_defaults": {
|
||||
"corner_radius_percentage": 80,
|
||||
"corner_style": 1,
|
||||
"max_amplitude": 1.0,
|
||||
"min_amplitude": 0.2,
|
||||
"single_sided": false,
|
||||
"spacing": 0.6
|
||||
}
|
||||
},
|
||||
"via_dimensions": [
|
||||
{
|
||||
"diameter": 0.0,
|
||||
"drill": 0.0
|
||||
},
|
||||
{
|
||||
"diameter": 0.5,
|
||||
"drill": 1.5
|
||||
}
|
||||
],
|
||||
"zones_allow_external_fillets": false
|
||||
},
|
||||
"ipc2581": {
|
||||
"dist": "",
|
||||
"distpn": "",
|
||||
"internal_id": "",
|
||||
"mfg": "",
|
||||
"mpn": ""
|
||||
},
|
||||
"layer_presets": [],
|
||||
"viewports": []
|
||||
},
|
||||
"boards": [],
|
||||
"cvpcb": {
|
||||
"equivalence_files": []
|
||||
},
|
||||
"erc": {
|
||||
"erc_exclusions": [],
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"pin_map": [
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
0,
|
||||
2,
|
||||
1,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
2
|
||||
],
|
||||
[
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2,
|
||||
2
|
||||
]
|
||||
],
|
||||
"rule_severities": {
|
||||
"bus_definition_conflict": "error",
|
||||
"bus_entry_needed": "error",
|
||||
"bus_to_bus_conflict": "error",
|
||||
"bus_to_net_conflict": "error",
|
||||
"conflicting_netclasses": "error",
|
||||
"different_unit_footprint": "error",
|
||||
"different_unit_net": "error",
|
||||
"duplicate_reference": "error",
|
||||
"duplicate_sheet_names": "error",
|
||||
"endpoint_off_grid": "warning",
|
||||
"extra_units": "error",
|
||||
"global_label_dangling": "warning",
|
||||
"hier_label_mismatch": "error",
|
||||
"label_dangling": "error",
|
||||
"lib_symbol_issues": "warning",
|
||||
"missing_bidi_pin": "warning",
|
||||
"missing_input_pin": "warning",
|
||||
"missing_power_pin": "error",
|
||||
"missing_unit": "warning",
|
||||
"multiple_net_names": "warning",
|
||||
"net_not_bus_member": "warning",
|
||||
"no_connect_connected": "warning",
|
||||
"no_connect_dangling": "warning",
|
||||
"pin_not_connected": "error",
|
||||
"pin_not_driven": "error",
|
||||
"pin_to_pin": "warning",
|
||||
"power_pin_not_driven": "error",
|
||||
"similar_labels": "warning",
|
||||
"simulation_model_issue": "ignore",
|
||||
"unannotated": "error",
|
||||
"unit_value_mismatch": "error",
|
||||
"unresolved_variable": "error",
|
||||
"wire_dangling": "error"
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"pinned_footprint_libs": [],
|
||||
"pinned_symbol_libs": []
|
||||
},
|
||||
"meta": {
|
||||
"filename": "battery_board.kicad_pro",
|
||||
"version": 1
|
||||
},
|
||||
"net_settings": {
|
||||
"classes": [
|
||||
{
|
||||
"bus_width": 12,
|
||||
"clearance": 0.2,
|
||||
"diff_pair_gap": 0.25,
|
||||
"diff_pair_via_gap": 0.25,
|
||||
"diff_pair_width": 0.2,
|
||||
"line_style": 0,
|
||||
"microvia_diameter": 0.3,
|
||||
"microvia_drill": 0.1,
|
||||
"name": "Default",
|
||||
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||
"track_width": 0.2,
|
||||
"via_diameter": 0.6,
|
||||
"via_drill": 0.3,
|
||||
"wire_width": 6
|
||||
}
|
||||
],
|
||||
"meta": {
|
||||
"version": 3
|
||||
},
|
||||
"net_colors": null,
|
||||
"netclass_assignments": null,
|
||||
"netclass_patterns": []
|
||||
},
|
||||
"pcbnew": {
|
||||
"last_paths": {
|
||||
"gencad": "",
|
||||
"idf": "",
|
||||
"netlist": "",
|
||||
"plot": "",
|
||||
"pos_files": "",
|
||||
"specctra_dsn": "",
|
||||
"step": "",
|
||||
"svg": "",
|
||||
"vrml": ""
|
||||
},
|
||||
"page_layout_descr_file": ""
|
||||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 0,
|
||||
"bom_export_filename": "",
|
||||
"bom_fmt_presets": [],
|
||||
"bom_fmt_settings": {
|
||||
"field_delimiter": ",",
|
||||
"keep_line_breaks": false,
|
||||
"keep_tabs": false,
|
||||
"name": "CSV",
|
||||
"ref_delimiter": ",",
|
||||
"ref_range_delimiter": "",
|
||||
"string_delimiter": "\""
|
||||
},
|
||||
"bom_presets": [],
|
||||
"bom_settings": {
|
||||
"exclude_dnp": false,
|
||||
"fields_ordered": [
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Reference",
|
||||
"name": "Reference",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": true,
|
||||
"label": "Value",
|
||||
"name": "Value",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Datasheet",
|
||||
"name": "Datasheet",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Footprint",
|
||||
"name": "Footprint",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Qty",
|
||||
"name": "${QUANTITY}",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": true,
|
||||
"label": "DNP",
|
||||
"name": "${DNP}",
|
||||
"show": true
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "#",
|
||||
"name": "${ITEM_NUMBER}",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Availability",
|
||||
"name": "Availability",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Check_prices",
|
||||
"name": "Check_prices",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Description_1",
|
||||
"name": "Description_1",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "LCSC_PART_NUMBER",
|
||||
"name": "LCSC_PART_NUMBER",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "MF",
|
||||
"name": "MF",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "MP",
|
||||
"name": "MP",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Package",
|
||||
"name": "Package",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Price",
|
||||
"name": "Price",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Purchase-URL",
|
||||
"name": "Purchase-URL",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "SnapEDA_Link",
|
||||
"name": "SnapEDA_Link",
|
||||
"show": false
|
||||
},
|
||||
{
|
||||
"group_by": false,
|
||||
"label": "Description",
|
||||
"name": "Description",
|
||||
"show": false
|
||||
}
|
||||
],
|
||||
"filter_string": "",
|
||||
"group_symbols": true,
|
||||
"name": "",
|
||||
"sort_asc": true,
|
||||
"sort_field": "Reference"
|
||||
},
|
||||
"connection_grid_size": 50.0,
|
||||
"drawing": {
|
||||
"dashed_lines_dash_length_ratio": 12.0,
|
||||
"dashed_lines_gap_length_ratio": 3.0,
|
||||
"default_line_thickness": 6.0,
|
||||
"default_text_size": 50.0,
|
||||
"field_names": [],
|
||||
"intersheets_ref_own_page": false,
|
||||
"intersheets_ref_prefix": "",
|
||||
"intersheets_ref_short": false,
|
||||
"intersheets_ref_show": false,
|
||||
"intersheets_ref_suffix": "",
|
||||
"junction_size_choice": 3,
|
||||
"label_size_ratio": 0.375,
|
||||
"operating_point_overlay_i_precision": 3,
|
||||
"operating_point_overlay_i_range": "~A",
|
||||
"operating_point_overlay_v_precision": 3,
|
||||
"operating_point_overlay_v_range": "~V",
|
||||
"overbar_offset_ratio": 1.23,
|
||||
"pin_symbol_size": 25.0,
|
||||
"text_offset_ratio": 0.15
|
||||
},
|
||||
"legacy_lib_dir": "",
|
||||
"legacy_lib_list": [],
|
||||
"meta": {
|
||||
"version": 1
|
||||
},
|
||||
"net_format_name": "",
|
||||
"ngspice": {
|
||||
"fix_include_paths": true,
|
||||
"meta": {
|
||||
"version": 0
|
||||
},
|
||||
"model_mode": 4,
|
||||
"workbook_filename": ""
|
||||
},
|
||||
"page_layout_descr_file": "",
|
||||
"plot_directory": "",
|
||||
"spice_current_sheet_as_root": false,
|
||||
"spice_external_command": "spice \"%I\"",
|
||||
"spice_model_current_sheet_as_root": true,
|
||||
"spice_save_all_currents": false,
|
||||
"spice_save_all_dissipations": false,
|
||||
"spice_save_all_voltages": false,
|
||||
"subpart_first_id": 65,
|
||||
"subpart_id_separator": 0
|
||||
},
|
||||
"sheets": [
|
||||
[
|
||||
"c27f19cf-4e70-4fd0-869e-d38d3638d9bf",
|
||||
"Root"
|
||||
]
|
||||
],
|
||||
"text_variables": {}
|
||||
}
|
||||
6420
battery_board/battery_board/battery_board.kicad_sch
Normal file
6420
battery_board/battery_board/battery_board.kicad_sch
Normal file
File diff suppressed because it is too large
Load Diff
BIN
battery_board/battery_board/bq34z100-r2.pdf
Normal file
BIN
battery_board/battery_board/bq34z100-r2.pdf
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
{"EXTRA_LAYERS": "", "EXTEND_EDGE_CUT": false, "AUTO TRANSLATE": true, "AUTO FILL": true, "EXCLUDE DNP": false}
|
||||
4
battery_board/battery_board/fp-lib-table
Normal file
4
battery_board/battery_board/fp-lib-table
Normal file
@@ -0,0 +1,4 @@
|
||||
(fp_lib_table
|
||||
(version 7)
|
||||
(lib (name "kicad-stuff")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff")(options "")(descr ""))
|
||||
)
|
||||
@@ -0,0 +1,337 @@
|
||||
(footprint "AMASS_XT30UPB+DATA-M_1x02_P5.0mm_Vertical"
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(layer "F.Cu")
|
||||
(descr "Connector XT30 Vertical PCB Male, https://www.tme.eu/en/Document/4acc913878197f8c2e30d4b8cdc47230/XT30UPB%20SPEC.pdf")
|
||||
(tags "RC Connector XT30")
|
||||
(property "Reference" "REF**"
|
||||
(at 2.5 -4 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "f7510d54-dcb1-4c3b-b842-cd250a98370c")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "AMASS_XT30UPB+DATA-M_1x02_P5.0mm_Vertical"
|
||||
(at 2.5 4 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "c5a8a60c-4ea1-4401-a30c-34d36be61c07")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "8fb27306-c085-4316-b554-4ba9be794054")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "74b71861-05d2-4229-8e81-25952aaaef7e")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "a1d16ecc-7e64-48c4-b772-a9255380960d")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr through_hole)
|
||||
(fp_line
|
||||
(start -2.71 -1.41)
|
||||
(end -2.71 1.41)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e96c6ad2-9ca6-4df1-b35b-76e090d7ff4e")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.71 -1.41)
|
||||
(end -1.01 -2.71)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "0784d204-0a48-4a2b-8085-50e1ff7a1493")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.71 1.41)
|
||||
(end -1.01 2.71)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "db750970-e424-4a8e-a882-20a90baabffc")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.01 -2.71)
|
||||
(end 7.71 -2.71)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "9f23420e-db87-438c-a708-676a0616966e")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.01 2.71)
|
||||
(end 7.71 2.71)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "2ba574e3-9de5-4d7d-9777-e19e6fa702e7")
|
||||
)
|
||||
(fp_line
|
||||
(start 7.71 -2.71)
|
||||
(end 7.71 2.71)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "2018cc6b-6115-4763-8b7c-54b60affbda7")
|
||||
)
|
||||
(fp_rect
|
||||
(start -6.3 -2.71)
|
||||
(end 7.71 2.7)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.SilkS")
|
||||
(uuid "11aac399-c862-4b67-9828-087abeea5b1b")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.1 -1.8)
|
||||
(end -3.1 1.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "06ae69d8-1372-4524-8b1a-27a2f062f1c5")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.1 -1.8)
|
||||
(end -1.4 -3.1)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "ae869a92-c688-4f2b-82ca-0578106a035a")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.1 1.8)
|
||||
(end -1.4 3.1)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "cac6d927-6ba1-4095-825b-f94ee0d7abe9")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.4 -3.1)
|
||||
(end 8.1 -3.1)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "fb4fa373-5492-4717-a9fe-7b69f4c53ba0")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.4 3.1)
|
||||
(end 8.1 3.1)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "70296c77-546d-44a2-b5d3-e6dc58cf713b")
|
||||
)
|
||||
(fp_line
|
||||
(start 8.1 -3.1)
|
||||
(end 8.1 3.1)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "64764a09-de32-4f35-b54a-17e44810370f")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.6 -1.3)
|
||||
(end -2.6 1.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "8d7ee7cb-5dda-453f-aa9a-6420c87f1b8e")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.6 -1.3)
|
||||
(end -0.9 -2.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "2fa3ad90-36bb-4374-95ed-e44e50c7e385")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.6 1.3)
|
||||
(end -0.9 2.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "2e4f8556-ffc2-4791-91da-e68c3513337e")
|
||||
)
|
||||
(fp_line
|
||||
(start -0.9 -2.6)
|
||||
(end 7.6 -2.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "cb9cd8af-1997-41db-b9fe-8982960ac6db")
|
||||
)
|
||||
(fp_line
|
||||
(start -0.9 2.6)
|
||||
(end 7.6 2.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "ea8a6c02-e974-4677-a854-a0891c323245")
|
||||
)
|
||||
(fp_line
|
||||
(start 7.6 -2.6)
|
||||
(end 7.6 2.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "c66f305c-0d56-4591-bc02-23252ad20321")
|
||||
)
|
||||
(fp_text user "-"
|
||||
(at -4 0 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "c119570a-6846-48dc-9422-0b5665ab2df6")
|
||||
(effects
|
||||
(font
|
||||
(size 1.5 1.5)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(fp_text user "+"
|
||||
(at 9 0 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "d6ab678c-47f7-47e0-869b-ef3b9dbd1ba9")
|
||||
(effects
|
||||
(font
|
||||
(size 1.5 1.5)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 2.5 0 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "a70efd12-1491-4664-ae98-5b2b7f52a502")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" thru_hole rect
|
||||
(at 0 0)
|
||||
(size 3 3)
|
||||
(drill 1.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "3a0f3b23-814b-4df9-a02c-3d9fed9e23c9")
|
||||
)
|
||||
(pad "2" thru_hole circle
|
||||
(at 5 0)
|
||||
(size 3 3)
|
||||
(drill 1.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "d897d74a-a13b-47cf-9806-eb8a75fe8d08")
|
||||
)
|
||||
(pad "3" thru_hole circle
|
||||
(at -3.9 -1)
|
||||
(size 1.524 1.524)
|
||||
(drill 1)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "02a8c3fc-d75c-47a4-a907-f9191ff19e2c")
|
||||
)
|
||||
(pad "4" thru_hole circle
|
||||
(at -3.9 1)
|
||||
(size 1.524 1.524)
|
||||
(drill 1)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "2000b5b8-f7c9-40a8-9010-65c16d2aefce")
|
||||
)
|
||||
(model "${KICAD8_3DMODEL_DIR}/Connector_AMASS.3dshapes/AMASS_XT30UPB-M_1x02_P5.0mm_Vertical.wrl"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
158
battery_board/battery_board/kicad-stuff/BQ34Z100PWR-G1.kicad_sym
Normal file
158
battery_board/battery_board/kicad-stuff/BQ34Z100PWR-G1.kicad_sym
Normal file
@@ -0,0 +1,158 @@
|
||||
|
||||
(kicad_symbol_lib (version 20211014) (generator kicad_symbol_editor)
|
||||
(symbol "BQ34Z100PWR-G1" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (id 0) (at -12.7 26.4 0.0)
|
||||
(effects (font (size 1.27 1.27)) (justify bottom left))
|
||||
)
|
||||
(property "Value" "BQ34Z100PWR-G1" (id 1) (at -12.7 -29.4 0.0)
|
||||
(effects (font (size 1.27 1.27)) (justify bottom left))
|
||||
)
|
||||
(property "Footprint" "BQ34Z100PWR-G1:SOP65P640X120-14N" (id 2) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify bottom) hide)
|
||||
)
|
||||
(property "MF" "Texas Instruments" (id 4) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify bottom) hide)
|
||||
)
|
||||
(property "Description" "\nMulti-chemistry Impedance Track™ standalone fuel gauge | battery gas gauge\n" (id 5) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify bottom) hide)
|
||||
)
|
||||
(property "Package" "TSSOP-14 Texas Instruments" (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 "SnapEDA_Link" "https://www.snapeda.com/parts/BQ34Z100PWR-G1/Texas+Instruments/view-part/?ref=snap" (id 8) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify bottom) hide)
|
||||
)
|
||||
(property "MP" "BQ34Z100PWR-G1" (id 9) (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=327977&manufacturer=Texas Instruments&part_name=BQ34Z100PWR-G1&search_term=None" (id 10) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify bottom) hide)
|
||||
)
|
||||
(property "Availability" "In Stock" (id 11) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify bottom) hide)
|
||||
)
|
||||
(property "Check_prices" "https://www.snapeda.com/parts/BQ34Z100PWR-G1/Texas+Instruments/view-part/?ref=eda" (id 12) (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify bottom) hide)
|
||||
)
|
||||
(symbol "BQ34Z100PWR-G1_0_0"
|
||||
(rectangle (start -12.7 -25.4) (end 12.7 25.4)
|
||||
(stroke (width 0.41)) (fill (type background))
|
||||
)
|
||||
(pin input line (at -17.78 22.86 0) (length 5.08)
|
||||
(name "REGIN"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "6"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at -17.78 17.78 0) (length 5.08)
|
||||
(name "BAT"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "4"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at -17.78 12.7 0) (length 5.08)
|
||||
(name "CE"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "5"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at -17.78 7.62 0) (length 5.08)
|
||||
(name "P1"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "3"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at -17.78 5.08 0) (length 5.08)
|
||||
(name "P2"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "1"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at -17.78 2.54 0) (length 5.08)
|
||||
(name "P3/SDA"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "14"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -2.54 0) (length 5.08)
|
||||
(name "REG25"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "7"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -7.62 0) (length 5.08)
|
||||
(name "SRN"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "10"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -12.7 0) (length 5.08)
|
||||
(name "SRP"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "9"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at -17.78 -17.78 0) (length 5.08)
|
||||
(name "VEN"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "2"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at 17.78 5.08 180.0) (length 5.08)
|
||||
(name "P4/SCL"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "13"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at 17.78 2.54 180.0) (length 5.08)
|
||||
(name "P5/HDQ"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "12"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin bidirectional line (at 17.78 1.77636e-15 180.0) (length 5.08)
|
||||
(name "P6/TS"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "11"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
(pin power_in line (at 17.78 -20.32 180.0) (length 5.08)
|
||||
(name "VSS"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
(number "8"
|
||||
(effects (font (size 1.016 1.016)))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
7027
battery_board/battery_board/kicad-stuff/BQ34Z100PWR-G1.step
Normal file
7027
battery_board/battery_board/kicad-stuff/BQ34Z100PWR-G1.step
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,133 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 13.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="1325px"
|
||||
height="675px" viewBox="0 0 1325 675" enable-background="new 0 0 1325 675" xml:space="preserve">
|
||||
<g id="back">
|
||||
<rect width="1325" height="675"/>
|
||||
</g>
|
||||
<g id="logo">
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M109.818,477.621H75.827v34.299h33.992v-11.638l12.612,2.614v6.409c0,4.956-0.932,8.331-2.794,10.126
|
||||
c-1.864,1.794-5.409,2.691-10.639,2.691H76.647c-5.264,0-8.818-0.897-10.664-2.691c-1.846-1.795-2.769-5.17-2.769-10.126v-28.558
|
||||
c0-4.922,0.923-8.287,2.769-10.1c1.846-1.812,5.4-2.717,10.664-2.717h32.351c5.229,0,8.775,0.905,10.639,2.717
|
||||
c1.862,1.813,2.794,5.178,2.794,10.1v5.127l-12.612,2V477.621z"/>
|
||||
<path fill="#FFFFFF" d="M148.424,522.123v-54.191h12.612v21.02h39.375v-21.02h12.715v54.191h-12.715v-23.328h-39.375v23.328
|
||||
H148.424z"/>
|
||||
<path fill="#FFFFFF" d="M230.456,522.123l30.659-54.191h12.151l31.069,54.191h-14.15l-6.511-11.844h-34.351l-6.306,11.844H230.456
|
||||
z M254.706,500.487h23.738l-11.689-22.046L254.706,500.487z"/>
|
||||
<path fill="#FFFFFF" d="M318.793,480.748c0-4.922,0.923-8.287,2.769-10.1c1.846-1.812,5.4-2.717,10.664-2.717h39.888
|
||||
c5.263,0,8.818,0.905,10.664,2.717c1.846,1.813,2.769,5.178,2.769,10.1v28.558c0,4.956-0.923,8.331-2.769,10.126
|
||||
c-1.846,1.794-5.401,2.691-10.664,2.691h-39.888c-5.264,0-8.818-0.897-10.664-2.691c-1.846-1.795-2.769-5.17-2.769-10.126V480.748
|
||||
z M331.405,511.92h41.58v-34.299h-41.58V511.92z"/>
|
||||
<path fill="#FFFFFF" d="M459.066,477.416h-35.479v11.639h33.787c5.297,0,8.877,0.905,10.741,2.717
|
||||
c1.863,1.813,2.794,5.178,2.794,10.1v7.435c0,4.922-0.932,8.289-2.794,10.101c-1.863,1.812-5.443,2.717-10.741,2.717h-33.479
|
||||
c-5.298,0-8.878-0.905-10.741-2.717c-1.863-1.812-2.794-5.179-2.794-10.101v-1.487l11.125-2.307v6.408h38.298v-12.355h-33.787
|
||||
c-5.264,0-8.818-0.905-10.664-2.717s-2.769-5.179-2.769-10.101v-5.999c0-4.922,0.923-8.287,2.769-10.1
|
||||
c1.846-1.812,5.4-2.717,10.664-2.717h30.762c5.092,0,8.604,0.871,10.536,2.614c1.931,1.743,2.897,4.837,2.897,9.28v1.127
|
||||
l-11.125,2.615V477.416z"/>
|
||||
<path fill="#FFFFFF" d="M537.714,522.123v-54.191h12.612v54.191H537.714z"/>
|
||||
<path fill="#FFFFFF" d="M577.909,522.123v-54.191h10.203l25.532,32.761l24.968-32.761h10.1v54.191h-11.689v-33.479
|
||||
c0-0.649,0.042-1.47,0.128-2.461c0.084-0.991,0.196-2.103,0.333-3.333c-0.684,1.402-1.282,2.556-1.794,3.461
|
||||
c-0.513,0.906-0.974,1.649-1.384,2.229l-20.354,27.07h-2.512l-20.405-27.172c-0.752-1.025-1.393-1.991-1.923-2.897
|
||||
c-0.53-0.905-0.966-1.785-1.307-2.64c0.103,1.127,0.179,2.152,0.231,3.076c0.051,0.922,0.077,1.812,0.077,2.666v33.479H577.909z"
|
||||
/>
|
||||
<path fill="#FFFFFF" d="M714.748,480.748c0-4.922,0.923-8.287,2.769-10.1c1.846-1.812,5.4-2.717,10.664-2.717h39.888
|
||||
c5.263,0,8.818,0.905,10.664,2.717c1.846,1.813,2.769,5.178,2.769,10.1v28.558c0,4.956-0.923,8.331-2.769,10.126
|
||||
c-1.846,1.794-5.401,2.691-10.664,2.691h-5.845l6.819,13.945h-12.51l-6.102-13.945h-22.251c-5.264,0-8.818-0.897-10.664-2.691
|
||||
c-1.846-1.795-2.769-5.17-2.769-10.126V480.748z M727.36,511.92h18.56l-5.024-11.74l9.126-3.691l7.332,15.432h11.586v-34.299
|
||||
H727.36V511.92z"/>
|
||||
<path fill="#FFFFFF" d="M820.67,467.932v43.988h35.939v-43.988h12.562v41.374c0,4.956-0.923,8.331-2.769,10.126
|
||||
c-1.846,1.794-5.401,2.691-10.664,2.691H821.49c-5.229,0-8.776-0.897-10.639-2.691c-1.863-1.795-2.794-5.17-2.794-10.126v-41.374
|
||||
H820.67z"/>
|
||||
<path fill="#FFFFFF" d="M884.244,522.123l30.659-54.191h12.151l31.068,54.191h-14.15l-6.511-11.844h-34.351l-6.307,11.844H884.244
|
||||
z M908.494,500.487h23.738l-11.689-22.046L908.494,500.487z"/>
|
||||
<path fill="#FFFFFF" d="M975.556,522.123v-54.191h34.863c9.946,0,17.594,2.324,22.943,6.973
|
||||
c5.349,4.648,8.023,11.245,8.023,19.789c0,5.06-1.043,9.613-3.128,13.664c-2.085,4.05-5.023,7.237-8.818,9.562
|
||||
c-2.357,1.47-5.289,2.538-8.792,3.204c-3.504,0.667-7.99,1-13.458,1H975.556z M988.168,511.92h16.304
|
||||
c8.682,0,14.834-1.35,18.457-4.05c3.622-2.699,5.435-7.16,5.435-13.382c0-5.537-1.505-9.731-4.512-12.586
|
||||
c-3.008-2.854-7.452-4.281-13.33-4.281h-22.354V511.92z"/>
|
||||
<path fill="#FFFFFF" d="M1064.509,522.123v-54.191h46.348c4.307,0,7.425,0.829,9.356,2.486c1.931,1.658,2.896,4.332,2.896,8.023
|
||||
v12.715c0,3.658-0.966,6.324-2.896,7.998c-1.932,1.675-5.05,2.512-9.356,2.512h-7.075l25.02,20.457h-18.098l-21.842-20.457
|
||||
h-11.945v20.457H1064.509z M1105.268,477.313h-28.352v15.073h28.352c2.188,0,3.683-0.315,4.486-0.948
|
||||
c0.803-0.632,1.205-1.751,1.205-3.358v-6.512c0-1.571-0.402-2.674-1.205-3.307C1108.95,477.63,1107.455,477.313,1105.268,477.313z
|
||||
"/>
|
||||
<path fill="#FFFFFF" d="M1134.594,522.123l30.659-54.191h12.151l31.068,54.191h-14.15l-6.511-11.844h-34.351l-6.307,11.844
|
||||
H1134.594z M1158.844,500.487h23.738l-11.689-22.046L1158.844,500.487z"/>
|
||||
<path fill="#FFFFFF" d="M1244.003,477.621v44.502h-12.612v-44.502h-24.865v-9.689h62.445v9.689H1244.003z"/>
|
||||
<path fill="#FFFFFF" d="M71.188,626.523l-17.29-44.902h10.79l11.385,30.119l11.937-30.119h7.307l12.149,30.119l10.875-30.119
|
||||
h9.346l-17.332,44.902h-7.052l-12.362-31.053l-12.532,31.053H71.188z"/>
|
||||
<path fill="#FFFFFF" d="M151.73,626.523l-17.29-44.902h10.79l11.385,30.119l11.937-30.119h7.307l12.149,30.119l10.875-30.119
|
||||
h9.346l-17.332,44.902h-7.052l-12.362-31.053l-12.532,31.053H151.73z"/>
|
||||
<path fill="#FFFFFF" d="M232.273,626.523l-17.29-44.902h10.79l11.385,30.119l11.937-30.119h7.307l12.149,30.119l10.875-30.119
|
||||
h9.346l-17.332,44.902h-7.052l-12.362-31.053l-12.532,31.053H232.273z"/>
|
||||
<path fill="#FFFFFF" d="M303.301,613.057h1.572c0.765,0,1.302,0.22,1.614,0.659c0.312,0.439,0.467,1.281,0.467,2.527v7.052
|
||||
c0,1.359-0.17,2.237-0.51,2.634s-1.388,0.595-3.144,0.595h-7.774c-0.765,0-1.303-0.227-1.614-0.68
|
||||
c-0.312-0.453-0.467-1.303-0.467-2.549v-7.052c0-1.331,0.17-2.194,0.51-2.591s1.387-0.596,3.144-0.596H303.301z"/>
|
||||
<path fill="#FFFFFF" d="M363.75,589.65h-28.165v28.42h28.165v-9.644l10.45,2.167v5.31c0,4.106-0.772,6.903-2.315,8.39
|
||||
c-1.544,1.487-4.482,2.23-8.815,2.23h-26.805c-4.361,0-7.307-0.743-8.836-2.23c-1.529-1.486-2.294-4.283-2.294-8.39v-23.661
|
||||
c0-4.078,0.765-6.868,2.294-8.369s4.475-2.252,8.836-2.252h26.805c4.333,0,7.271,0.751,8.815,2.252
|
||||
c1.543,1.501,2.315,4.291,2.315,8.369v4.248l-10.45,1.656V589.65z"/>
|
||||
<path fill="#FFFFFF" d="M433.418,589.65h-28.165v28.42h28.165v-9.644l10.45,2.167v5.31c0,4.106-0.772,6.903-2.315,8.39
|
||||
c-1.544,1.487-4.482,2.23-8.815,2.23h-26.805c-4.361,0-7.307-0.743-8.836-2.23c-1.529-1.486-2.294-4.283-2.294-8.39v-23.661
|
||||
c0-4.078,0.765-6.868,2.294-8.369s4.475-2.252,8.836-2.252h26.805c4.333,0,7.271,0.751,8.815,2.252
|
||||
c1.543,1.501,2.315,4.291,2.315,8.369v4.248l-10.45,1.656V589.65z"/>
|
||||
<path fill="#FFFFFF" d="M503.086,589.65h-28.165v28.42h28.165v-9.644l10.45,2.167v5.31c0,4.106-0.772,6.903-2.315,8.39
|
||||
c-1.544,1.487-4.482,2.23-8.815,2.23h-26.805c-4.361,0-7.307-0.743-8.836-2.23c-1.529-1.486-2.294-4.283-2.294-8.39v-23.661
|
||||
c0-4.078,0.765-6.868,2.294-8.369s4.475-2.252,8.836-2.252h26.805c4.333,0,7.271,0.751,8.815,2.252
|
||||
c1.543,1.501,2.315,4.291,2.315,8.369v4.248l-10.45,1.656V589.65z"/>
|
||||
<path fill="#FFFFFF" d="M527.768,607.832v-8.963h20.263v8.963H527.768z"/>
|
||||
<path fill="#FFFFFF" d="M563.706,626.523v-44.902h8.454l21.155,27.146l20.688-27.146h8.369v44.902h-9.686v-27.74
|
||||
c0-0.537,0.035-1.217,0.106-2.039c0.071-0.82,0.163-1.741,0.276-2.761c-0.567,1.161-1.062,2.117-1.487,2.867
|
||||
c-0.425,0.751-0.807,1.367-1.147,1.849l-16.865,22.43h-2.082l-16.907-22.516c-0.623-0.85-1.154-1.649-1.593-2.399
|
||||
c-0.439-0.75-0.801-1.479-1.083-2.188c0.085,0.936,0.149,1.785,0.191,2.549c0.043,0.766,0.064,1.502,0.064,2.209v27.74H563.706z"
|
||||
/>
|
||||
<path fill="#FFFFFF" d="M635.753,626.523l25.403-44.902h10.068l25.742,44.902h-11.725l-5.395-9.813h-28.462l-5.225,9.813H635.753z
|
||||
M655.846,608.597h19.668l-9.686-18.267L655.846,608.597z"/>
|
||||
<path fill="#FFFFFF" d="M711.326,626.523v-44.902h7.137l31.605,26.466c1.076,0.878,2.024,1.706,2.846,2.485s1.572,1.579,2.252,2.4
|
||||
c-0.17-2.521-0.283-4.305-0.34-5.354c-0.057-1.047-0.085-1.854-0.085-2.421v-23.577h9.388v44.902h-7.137l-32.965-27.74
|
||||
c-0.793-0.707-1.486-1.345-2.081-1.911s-1.147-1.147-1.657-1.741c0.142,1.388,0.248,2.697,0.319,3.929
|
||||
c0.07,1.232,0.106,2.302,0.106,3.208v24.256H711.326z"/>
|
||||
<path fill="#FFFFFF" d="M786.941,626.523v-44.902h7.137l31.605,26.466c1.076,0.878,2.024,1.706,2.846,2.485s1.572,1.579,2.252,2.4
|
||||
c-0.17-2.521-0.283-4.305-0.34-5.354c-0.057-1.047-0.085-1.854-0.085-2.421v-23.577h9.388v44.902h-7.137l-32.965-27.74
|
||||
c-0.793-0.707-1.486-1.345-2.081-1.911s-1.147-1.147-1.657-1.741c0.142,1.388,0.248,2.697,0.319,3.929
|
||||
c0.07,1.232,0.106,2.302,0.106,3.208v24.256H786.941z"/>
|
||||
<path fill="#FFFFFF" d="M862.642,626.523v-44.902h10.45v17.418h32.625v-17.418h10.535v44.902h-10.535v-19.328h-32.625v19.328
|
||||
H862.642z"/>
|
||||
<path fill="#FFFFFF" d="M939.19,626.523v-44.902h45.964v7.646h-35.514v10.025h20.73v7.646h-20.73v11.131h35.938v8.453H939.19z"/>
|
||||
<path fill="#FFFFFF" d="M1004.866,626.523v-44.902h10.45v44.902H1004.866z"/>
|
||||
<path fill="#FFFFFF" d="M1038.17,626.523v-44.902h8.453l21.156,27.146l20.688-27.146h8.369v44.902h-9.686v-27.74
|
||||
c0-0.537,0.035-1.217,0.105-2.039c0.07-0.82,0.163-1.741,0.276-2.761c-0.566,1.161-1.062,2.117-1.487,2.867
|
||||
c-0.424,0.751-0.807,1.367-1.146,1.849l-16.865,22.43h-2.081l-16.907-22.516c-0.623-0.85-1.154-1.649-1.593-2.399
|
||||
c-0.439-0.75-0.801-1.479-1.083-2.188c0.084,0.936,0.148,1.785,0.19,2.549c0.043,0.766,0.063,1.502,0.063,2.209v27.74H1038.17z"/>
|
||||
<path fill="#FFFFFF" d="M1124.83,613.057h1.572c0.764,0,1.302,0.22,1.613,0.659s0.468,1.281,0.468,2.527v7.052
|
||||
c0,1.359-0.17,2.237-0.51,2.634s-1.388,0.595-3.144,0.595h-7.773c-0.766,0-1.304-0.227-1.615-0.68s-0.467-1.303-0.467-2.549
|
||||
v-7.052c0-1.331,0.17-2.194,0.51-2.591s1.388-0.596,3.144-0.596H1124.83z"/>
|
||||
<path fill="#FFFFFF" d="M1147.601,626.523v-44.902h28.887c8.241,0,14.577,1.927,19.01,5.777c4.433,3.853,6.648,9.318,6.648,16.398
|
||||
c0,4.191-0.864,7.965-2.591,11.32c-1.729,3.356-4.164,5.997-7.307,7.923c-1.955,1.218-4.383,2.103-7.286,2.655
|
||||
c-2.903,0.552-6.62,0.828-11.151,0.828H1147.601z M1158.051,618.07h13.509c7.193,0,12.291-1.119,15.293-3.356
|
||||
s4.503-5.933,4.503-11.087c0-4.588-1.246-8.064-3.738-10.43c-2.492-2.364-6.174-3.547-11.045-3.547h-18.521V618.07z"/>
|
||||
<path fill="#FFFFFF" d="M1221.304,626.523v-44.902h45.964v7.646h-35.514v10.025h20.73v7.646h-20.73v11.131h35.938v8.453H1221.304z
|
||||
"/>
|
||||
</g>
|
||||
<g>
|
||||
<polygon fill="#FFFFFF" points="1050.25,150.292 1050.25,100.292 1000.25,100.292 1000.25,49.792 799.75,49.792 799.75,100.25
|
||||
749.75,100.25 749.75,349.791 799.75,349.791 799.75,400.292 1000.25,400.292 1000.25,349.791 1050.25,349.791 1050.25,300.292
|
||||
950.25,300.292 950.25,349.791 849.75,349.791 849.75,100.292 950.25,100.292 950.25,150.292 "/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M1100.25,49.792v174.75h175V49.792H1100.25z M1251,124.042h-24.75v25h-50.75v24.75h75.5v25.125h-125.75
|
||||
v-25.125h25.25v-24.75h25v-25h50.75v-25h-75.75v25h-25.25v-25h25.25v-25.25h75.75v25.25H1251V124.042z"/>
|
||||
</g>
|
||||
<g>
|
||||
<polygon fill="#FFFFFF" points="700.25,150.292 700.25,100.292 650.25,100.292 650.25,49.792 449.75,49.792 449.75,100.25
|
||||
399.75,100.25 399.75,349.791 449.75,349.791 449.75,400.292 650.25,400.292 650.25,349.791 700.25,349.791 700.25,300.292
|
||||
600.25,300.292 600.25,349.791 499.75,349.791 499.75,100.292 600.25,100.292 600.25,150.292 "/>
|
||||
</g>
|
||||
<g>
|
||||
<polygon fill="#FFFFFF" points="350.25,150.292 350.25,100.292 300.25,100.292 300.25,49.792 99.75,49.792 99.75,100.25
|
||||
49.75,100.25 49.75,349.791 99.75,349.791 99.75,400.292 300.25,400.292 300.25,349.791 350.25,349.791 350.25,300.292
|
||||
250.25,300.292 250.25,349.791 149.75,349.791 149.75,100.292 250.25,100.292 250.25,150.292 "/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
9
battery_board/battery_board/kicad-stuff/DW01.dcm
Normal file
9
battery_board/battery_board/kicad-stuff/DW01.dcm
Normal file
@@ -0,0 +1,9 @@
|
||||
EESchema-DOCLIB Version 2.0
|
||||
#
|
||||
$CMP CN61CN33
|
||||
D Microprocessor Reset (active-low) Circuit, SOT-23
|
||||
K reset supervisor
|
||||
F http://www.ti.com/lit/ds/symlink/lm809.pdf
|
||||
$ENDCMP
|
||||
#
|
||||
#End Doc Library
|
||||
186
battery_board/battery_board/kicad-stuff/DW01.kicad_sym
Normal file
186
battery_board/battery_board/kicad-stuff/DW01.kicad_sym
Normal file
@@ -0,0 +1,186 @@
|
||||
(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
|
||||
(symbol "CN61CN33" (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (at 2.54 12.7 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "CN61CN33" (at 5.08 10.16 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "Package_TO_SOT_SMD:SOT-23" (at 7.62 2.54 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "http://www.ti.com/lit/ds/symlink/lm809.pdf" (at 7.62 2.54 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_keywords" "reset supervisor" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "Microprocessor Reset (active-low) Circuit, SOT-23" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_fp_filters" "SOT?23*" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "CN61CN33_0_1"
|
||||
(rectangle (start 5.08 7.62) (end -5.08 -7.62)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type background))
|
||||
)
|
||||
)
|
||||
(symbol "CN61CN33_1_1"
|
||||
(pin output line (at 0 -10.16 90) (length 2.54)
|
||||
(name "RESET" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 7.62 0 180) (length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 0 10.16 270) (length 2.54)
|
||||
(name "VCC" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "DS2438" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "DS2438" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "DS2438_0_1"
|
||||
(rectangle (start -11.43 -2.54) (end 12.7 -30.48)
|
||||
(stroke (width 0) (type solid))
|
||||
(fill (type background))
|
||||
)
|
||||
)
|
||||
(symbol "DS2438_1_1"
|
||||
(pin power_in line (at -13.97 -6.35 0) (length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line (at -13.97 -12.7 0) (length 2.54)
|
||||
(name "Vsens+" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line (at -13.97 -19.05 0) (length 2.54)
|
||||
(name "Vsense-" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin input line (at -13.97 -25.4 0) (length 2.54)
|
||||
(name "Vad" (effects (font (size 1.27 1.27))))
|
||||
(number "4" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at 15.24 -25.4 180) (length 2.54)
|
||||
(name "Vdd" (effects (font (size 1.27 1.27))))
|
||||
(number "5" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line (at 15.24 -19.05 180) (length 2.54)
|
||||
(name "NC" (effects (font (size 1.27 1.27))))
|
||||
(number "6" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line (at 15.24 -12.7 180) (length 2.54)
|
||||
(name "NC" (effects (font (size 1.27 1.27))))
|
||||
(number "7" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin bidirectional line (at 15.24 -6.35 180) (length 2.54)
|
||||
(name "DQ" (effects (font (size 1.27 1.27))))
|
||||
(number "8" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "DW01" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "IC" (at 21.59 7.62 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Value" "DW01" (at 21.59 5.08 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Footprint" "SOT95P280X135-6N" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "Datasheet" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "HEIGHT" "1.35mm" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "DESCRIPTION" "ic" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "MANUFACTURER_PART_NUMBER" "DW01" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "MANUFACTURER_NAME" "Slkor" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "ki_locked" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(symbol "DW01_0_0"
|
||||
(polyline
|
||||
(pts
|
||||
(xy 5.08 2.54)
|
||||
(xy 5.08 -7.62)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 5.08 2.54)
|
||||
(xy 20.32 2.54)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 20.32 -7.62)
|
||||
(xy 5.08 -7.62)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 20.32 -7.62)
|
||||
(xy 20.32 2.54)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(pin bidirectional line (at 0 0 0) (length 5.08)
|
||||
(name "OD" (effects (font (size 1.016 1.016))))
|
||||
(number "1" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 0 -2.54 0) (length 5.08)
|
||||
(name "CSI" (effects (font (size 1.016 1.016))))
|
||||
(number "2" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 0 -5.08 0) (length 5.08)
|
||||
(name "OC" (effects (font (size 1.016 1.016))))
|
||||
(number "3" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 25.4 -5.08 180) (length 5.08)
|
||||
(name "TD" (effects (font (size 1.016 1.016))))
|
||||
(number "4" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 25.4 -2.54 180) (length 5.08)
|
||||
(name "VDD" (effects (font (size 1.016 1.016))))
|
||||
(number "5" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 25.4 0 180) (length 5.08)
|
||||
(name "VSS" (effects (font (size 1.016 1.016))))
|
||||
(number "6" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
67
battery_board/battery_board/kicad-stuff/DW01.lib
Normal file
67
battery_board/battery_board/kicad-stuff/DW01.lib
Normal file
@@ -0,0 +1,67 @@
|
||||
EESchema-LIBRARY Version 2.4
|
||||
#encoding utf-8
|
||||
#
|
||||
# CN61CN33
|
||||
#
|
||||
DEF CN61CN33 U 0 20 Y Y 1 F N
|
||||
F0 "U" 100 500 50 H V C CNN
|
||||
F1 "CN61CN33" 200 400 50 H V C CNN
|
||||
F2 "Package_TO_SOT_SMD:SOT-23" 300 100 50 H I C CNN
|
||||
F3 "" 300 100 50 H I C CNN
|
||||
$FPLIST
|
||||
SOT?23*
|
||||
$ENDFPLIST
|
||||
DRAW
|
||||
S 200 300 -200 -300 0 1 10 f
|
||||
X RESET 1 0 -400 100 U 50 50 1 1 O
|
||||
X GND 2 300 0 100 L 50 50 1 1 W
|
||||
X VCC 3 0 400 100 D 50 50 1 1 W
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# DS2438
|
||||
#
|
||||
DEF DS2438 U 0 40 Y Y 1 F N
|
||||
F0 "U" 0 0 50 H V C CNN
|
||||
F1 "DS2438" 0 0 50 H V C CNN
|
||||
F2 "" 0 0 50 H I C CNN
|
||||
F3 "" 0 0 50 H I C CNN
|
||||
DRAW
|
||||
S -450 -100 500 -1200 0 1 0 f
|
||||
X GND 1 -550 -250 100 R 50 50 1 1 W
|
||||
X Vsens+ 2 -550 -500 100 R 50 50 1 1 U
|
||||
X Vsense- 3 -550 -750 100 R 50 50 1 1 U
|
||||
X Vad 4 -550 -1000 100 R 50 50 1 1 I
|
||||
X Vdd 5 600 -1000 100 L 50 50 1 1 W
|
||||
X NC 6 600 -750 100 L 50 50 1 1 U
|
||||
X NC 7 600 -500 100 L 50 50 1 1 U
|
||||
X DQ 8 600 -250 100 L 50 50 1 1 B
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# DW01
|
||||
#
|
||||
DEF DW01 IC 0 40 Y Y 1 L N
|
||||
F0 "IC" 850 300 50 H V L BNN
|
||||
F1 "DW01" 850 200 50 H V L BNN
|
||||
F2 "SOT95P280X135-6N" 0 0 50 H I L BNN
|
||||
F3 "" 0 0 50 H I L BNN
|
||||
F4 "1.35mm" 0 0 50 H I L BNN "HEIGHT"
|
||||
F5 "ic" 0 0 50 H I L BNN "DESCRIPTION"
|
||||
F6 "DW01" 0 0 50 H I L BNN "MANUFACTURER_PART_NUMBER"
|
||||
F7 "Slkor" 0 0 50 H I L BNN "MANUFACTURER_NAME"
|
||||
DRAW
|
||||
P 2 0 0 10 200 100 200 -300 N
|
||||
P 2 0 0 10 200 100 800 100 N
|
||||
P 2 0 0 10 800 -300 200 -300 N
|
||||
P 2 0 0 10 800 -300 800 100 N
|
||||
X OD 1 0 0 200 R 40 40 0 0 B
|
||||
X CSI 2 0 -100 200 R 40 40 0 0 B
|
||||
X OC 3 0 -200 200 R 40 40 0 0 B
|
||||
X TD 4 1000 -200 200 L 40 40 0 0 B
|
||||
X VDD 5 1000 -100 200 L 40 40 0 0 B
|
||||
X VSS 6 1000 0 200 L 40 40 0 0 B
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
#End Library
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,154 @@
|
||||
|
||||
(module DPAK457P991X255-3N (layer F.Cu) (tedit 5F5CEF39)
|
||||
(descr "")
|
||||
(fp_text reference REF** (at -2.825 -4.635 0) (layer F.SilkS)
|
||||
(effects (font (size 1.0 1.0) (thickness 0.015)))
|
||||
)
|
||||
(fp_text value DPAK457P991X255-3N (at 5.43 5.365 0) (layer F.Fab)
|
||||
(effects (font (size 1.0 1.0) (thickness 0.015)))
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -0.265 -2.555)
|
||||
(xy 0.855 -2.555)
|
||||
(xy 0.855 -1.405)
|
||||
(xy -0.265 -1.405)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 1.085 -2.555)
|
||||
(xy 2.205 -2.555)
|
||||
(xy 2.205 -1.405)
|
||||
(xy 1.085 -1.405)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 2.435 -2.555)
|
||||
(xy 3.555 -2.555)
|
||||
(xy 3.555 -1.405)
|
||||
(xy 2.435 -1.405)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 3.785 -2.555)
|
||||
(xy 4.905 -2.555)
|
||||
(xy 4.905 -1.405)
|
||||
(xy 3.785 -1.405)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 3.785 -1.235)
|
||||
(xy 4.905 -1.235)
|
||||
(xy 4.905 -0.085)
|
||||
(xy 3.785 -0.085)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 3.785 0.085)
|
||||
(xy 4.905 0.085)
|
||||
(xy 4.905 1.235)
|
||||
(xy 3.785 1.235)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 3.785 1.405)
|
||||
(xy 4.905 1.405)
|
||||
(xy 4.905 2.555)
|
||||
(xy 3.785 2.555)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 2.435 -1.235)
|
||||
(xy 3.555 -1.235)
|
||||
(xy 3.555 -0.085)
|
||||
(xy 2.435 -0.085)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 2.435 0.085)
|
||||
(xy 3.555 0.085)
|
||||
(xy 3.555 1.235)
|
||||
(xy 2.435 1.235)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 2.435 1.405)
|
||||
(xy 3.555 1.405)
|
||||
(xy 3.555 2.555)
|
||||
(xy 2.435 2.555)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 1.085 -1.235)
|
||||
(xy 2.205 -1.235)
|
||||
(xy 2.205 -0.085)
|
||||
(xy 1.085 -0.085)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 1.085 0.085)
|
||||
(xy 2.205 0.085)
|
||||
(xy 2.205 1.235)
|
||||
(xy 1.085 1.235)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 1.085 1.405)
|
||||
(xy 2.205 1.405)
|
||||
(xy 2.205 2.555)
|
||||
(xy 1.085 2.555)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -0.265 -1.235)
|
||||
(xy 0.855 -1.235)
|
||||
(xy 0.855 -0.085)
|
||||
(xy -0.265 -0.085)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -0.265 0.085)
|
||||
(xy 0.855 0.085)
|
||||
(xy 0.855 1.235)
|
||||
(xy -0.265 1.235)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy -0.265 1.405)
|
||||
(xy 0.855 1.405)
|
||||
(xy 0.855 2.555)
|
||||
(xy -0.265 2.555)
|
||||
) (layer F.Paste) (width 0.01)
|
||||
)
|
||||
(fp_line (start 3.875 -3.365) (end -2.345 -3.365) (layer F.SilkS) (width 0.127))
|
||||
(fp_line (start -2.345 -3.365) (end -2.345 3.365) (layer F.SilkS) (width 0.127))
|
||||
(fp_line (start -2.345 3.365) (end 3.875 3.365) (layer F.SilkS) (width 0.127))
|
||||
(fp_line (start 3.875 3.365) (end 3.875 -3.365) (layer F.Fab) (width 0.127))
|
||||
(fp_line (start 3.875 -3.365) (end -2.345 -3.365) (layer F.Fab) (width 0.127))
|
||||
(fp_line (start -2.345 -3.365) (end -2.345 3.365) (layer F.Fab) (width 0.127))
|
||||
(fp_line (start -2.345 3.365) (end 3.875 3.365) (layer F.Fab) (width 0.127))
|
||||
(fp_circle (center -6.015 -2.285) (end -5.915 -2.285) (layer F.SilkS) (width 0.2))
|
||||
(fp_circle (center -6.015 -2.285) (end -5.915 -2.285) (layer F.Fab) (width 0.2))
|
||||
(fp_line (start -5.815 -3.615) (end 5.815 -3.615) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 5.815 -3.615) (end 5.815 3.615) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 5.815 3.615) (end -5.815 3.615) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -5.815 3.615) (end -5.815 -3.615) (layer F.CrtYd) (width 0.05))
|
||||
(pad 1 smd rect (at -4.45 -2.285) (size 2.22 0.96) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 3 smd rect (at -4.45 2.285) (size 2.22 0.96) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 4 smd rect (at 2.32 0.0) (size 6.49 5.63) (layers F.Cu F.Mask))
|
||||
)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
||||
EESchema-DOCLIB Version 2.0
|
||||
#
|
||||
$CMP SR04M-2-HeaderConn_01x04_Female
|
||||
D Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)
|
||||
K connector
|
||||
F ~
|
||||
$ENDCMP
|
||||
#
|
||||
#End Doc Library
|
||||
@@ -0,0 +1,454 @@
|
||||
(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
|
||||
(symbol "ESP32-DEVKITC-32D" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (at -15.2654 26.0604 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Value" "ESP32-DEVKITC-32D" (at -15.2654 -27.9654 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Footprint" "MODULE_ESP32-DEVKITC-32D" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "Datasheet" "4" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "Field4" "Espressif Systems" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "ki_locked" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(symbol "ESP32-DEVKITC-32D_0_0"
|
||||
(polyline
|
||||
(pts
|
||||
(xy -15.24 -25.4)
|
||||
(xy -15.24 25.4)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -15.24 25.4)
|
||||
(xy 15.24 25.4)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 15.24 -25.4)
|
||||
(xy -15.24 -25.4)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 15.24 25.4)
|
||||
(xy 15.24 -25.4)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(pin power_in line (at -20.32 22.86 0) (length 5.08)
|
||||
(name "3V3" (effects (font (size 1.016 1.016))))
|
||||
(number "1" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 0 0) (length 5.08)
|
||||
(name "IO26" (effects (font (size 1.016 1.016))))
|
||||
(number "10" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 -2.54 0) (length 5.08)
|
||||
(name "IO27" (effects (font (size 1.016 1.016))))
|
||||
(number "11" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 -5.08 0) (length 5.08)
|
||||
(name "IO14" (effects (font (size 1.016 1.016))))
|
||||
(number "12" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 -7.62 0) (length 5.08)
|
||||
(name "IO12" (effects (font (size 1.016 1.016))))
|
||||
(number "13" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin power_in line (at -20.32 -10.16 0) (length 5.08)
|
||||
(name "GND1" (effects (font (size 1.016 1.016))))
|
||||
(number "14" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 -12.7 0) (length 5.08)
|
||||
(name "IO13" (effects (font (size 1.016 1.016))))
|
||||
(number "15" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 -15.24 0) (length 5.08)
|
||||
(name "SD2" (effects (font (size 1.016 1.016))))
|
||||
(number "16" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 -17.78 0) (length 5.08)
|
||||
(name "SD3" (effects (font (size 1.016 1.016))))
|
||||
(number "17" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 -20.32 0) (length 5.08)
|
||||
(name "CMD" (effects (font (size 1.016 1.016))))
|
||||
(number "18" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin power_in line (at -20.32 -22.86 0) (length 5.08)
|
||||
(name "EXT_5V" (effects (font (size 1.016 1.016))))
|
||||
(number "19" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin input line (at -20.32 20.32 0) (length 5.08)
|
||||
(name "EN" (effects (font (size 1.016 1.016))))
|
||||
(number "2" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin power_in line (at 20.32 22.86 180) (length 5.08)
|
||||
(name "GND3" (effects (font (size 1.016 1.016))))
|
||||
(number "20" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 20.32 180) (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 17.78 180) (length 5.08)
|
||||
(name "IO22" (effects (font (size 1.016 1.016))))
|
||||
(number "22" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin output line (at 20.32 15.24 180) (length 5.08)
|
||||
(name "TXD0" (effects (font (size 1.016 1.016))))
|
||||
(number "23" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin input line (at 20.32 12.7 180) (length 5.08)
|
||||
(name "RXD0" (effects (font (size 1.016 1.016))))
|
||||
(number "24" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 10.16 180) (length 5.08)
|
||||
(name "IO21" (effects (font (size 1.016 1.016))))
|
||||
(number "25" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin power_in line (at 20.32 7.62 180) (length 5.08)
|
||||
(name "GND2" (effects (font (size 1.016 1.016))))
|
||||
(number "26" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 5.08 180) (length 5.08)
|
||||
(name "IO19" (effects (font (size 1.016 1.016))))
|
||||
(number "27" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 2.54 180) (length 5.08)
|
||||
(name "IO18" (effects (font (size 1.016 1.016))))
|
||||
(number "28" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 0 180) (length 5.08)
|
||||
(name "IO5" (effects (font (size 1.016 1.016))))
|
||||
(number "29" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin input line (at -20.32 17.78 0) (length 5.08)
|
||||
(name "SENSOR_VP" (effects (font (size 1.016 1.016))))
|
||||
(number "3" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 -2.54 180) (length 5.08)
|
||||
(name "IO17" (effects (font (size 1.016 1.016))))
|
||||
(number "30" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 -5.08 180) (length 5.08)
|
||||
(name "IO16" (effects (font (size 1.016 1.016))))
|
||||
(number "31" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 -7.62 180) (length 5.08)
|
||||
(name "IO4" (effects (font (size 1.016 1.016))))
|
||||
(number "32" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 -10.16 180) (length 5.08)
|
||||
(name "IO0" (effects (font (size 1.016 1.016))))
|
||||
(number "33" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 -12.7 180) (length 5.08)
|
||||
(name "IO2" (effects (font (size 1.016 1.016))))
|
||||
(number "34" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 -15.24 180) (length 5.08)
|
||||
(name "IO15" (effects (font (size 1.016 1.016))))
|
||||
(number "35" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 -17.78 180) (length 5.08)
|
||||
(name "SD1" (effects (font (size 1.016 1.016))))
|
||||
(number "36" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 20.32 -20.32 180) (length 5.08)
|
||||
(name "SD0" (effects (font (size 1.016 1.016))))
|
||||
(number "37" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin input clock (at 20.32 -22.86 180) (length 5.08)
|
||||
(name "CLK" (effects (font (size 1.016 1.016))))
|
||||
(number "38" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin input line (at -20.32 15.24 0) (length 5.08)
|
||||
(name "SENSOR_VN" (effects (font (size 1.016 1.016))))
|
||||
(number "4" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 12.7 0) (length 5.08)
|
||||
(name "IO34" (effects (font (size 1.016 1.016))))
|
||||
(number "5" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 10.16 0) (length 5.08)
|
||||
(name "IO35" (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 "IO32" (effects (font (size 1.016 1.016))))
|
||||
(number "7" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 5.08 0) (length 5.08)
|
||||
(name "IO33" (effects (font (size 1.016 1.016))))
|
||||
(number "8" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -20.32 2.54 0) (length 5.08)
|
||||
(name "IO25" (effects (font (size 1.016 1.016))))
|
||||
(number "9" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "SL2300" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "Q" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "SL2300" (at 7.62 0 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "SL2300_1_1"
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.016 0)
|
||||
(xy -3.81 0)
|
||||
)
|
||||
(stroke (width 0) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.016 1.905)
|
||||
(xy -1.016 -1.905)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -0.508 -1.27)
|
||||
(xy -0.508 -2.286)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -0.508 0.508)
|
||||
(xy -0.508 -0.508)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -0.508 2.286)
|
||||
(xy -0.508 1.27)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 1.27 2.54)
|
||||
(xy 1.27 1.778)
|
||||
)
|
||||
(stroke (width 0) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 1.27 -2.54)
|
||||
(xy 1.27 0)
|
||||
(xy -0.508 0)
|
||||
)
|
||||
(stroke (width 0) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -0.508 -1.778)
|
||||
(xy 2.032 -1.778)
|
||||
(xy 2.032 1.778)
|
||||
(xy -0.508 1.778)
|
||||
)
|
||||
(stroke (width 0) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -0.254 0)
|
||||
(xy 0.762 0.381)
|
||||
(xy 0.762 -0.381)
|
||||
(xy -0.254 0)
|
||||
)
|
||||
(stroke (width 0) (type solid))
|
||||
(fill (type outline))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 1.524 0.508)
|
||||
(xy 1.651 0.381)
|
||||
(xy 2.413 0.381)
|
||||
(xy 2.54 0.254)
|
||||
)
|
||||
(stroke (width 0) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 2.032 0.381)
|
||||
(xy 1.651 -0.254)
|
||||
(xy 2.413 -0.254)
|
||||
(xy 2.032 0.381)
|
||||
)
|
||||
(stroke (width 0) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(circle (center 0.381 0) (radius 2.794)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(circle (center 1.27 -1.778) (radius 0.254)
|
||||
(stroke (width 0) (type solid))
|
||||
(fill (type outline))
|
||||
)
|
||||
(circle (center 1.27 1.778) (radius 0.254)
|
||||
(stroke (width 0) (type solid))
|
||||
(fill (type outline))
|
||||
)
|
||||
(pin input line (at -6.35 0 0) (length 2.54)
|
||||
(name "G" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 1.27 -5.08 90) (length 2.54)
|
||||
(name "S" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin passive line (at 1.27 5.08 270) (length 2.54)
|
||||
(name "D" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "SR04M-2" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "H" (at 6.35 27.94 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "SR04M-2" (at 7.62 -21.59 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "SR04M-2_0_1"
|
||||
(rectangle (start -22.86 26.67) (end 41.91 -20.32)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
)
|
||||
)
|
||||
(symbol "SR04M-2-HeaderConn_01x04_Female" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "J" (at 0 5.08 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Value" "SR04M-2-HeaderConn_01x04_Female" (at 0 -7.62 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "Footprint" "ESP32:SR04M-2PinHeader_1x04_P2.54mm_Vertical" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "Datasheet" "~" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_keywords" "connector" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_description" "Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/)" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(property "ki_fp_filters" "Connector*:*_1x??_*" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "SR04M-2-HeaderConn_01x04_Female_1_1"
|
||||
(arc (start 0 -4.572) (mid -0.5058 -5.08) (end 0 -5.588)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(arc (start 0 -2.032) (mid -0.5058 -2.54) (end 0 -3.048)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.27 -5.08)
|
||||
(xy -0.508 -5.08)
|
||||
)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.27 -2.54)
|
||||
(xy -0.508 -2.54)
|
||||
)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.27 0)
|
||||
(xy -0.508 0)
|
||||
)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -1.27 2.54)
|
||||
(xy -0.508 2.54)
|
||||
)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(arc (start 0 0.508) (mid -0.5058 0) (end 0 -0.508)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(arc (start 0 3.048) (mid -0.5058 2.54) (end 0 2.032)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(pin power_in line (at -5.08 2.54 0) (length 3.81)
|
||||
(name "VCC" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin input line (at -5.08 0 0) (length 3.81)
|
||||
(name "RX" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin output line (at -5.08 -2.54 0) (length 3.81)
|
||||
(name "TX" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin power_in line (at -5.08 -5.08 0) (length 3.81)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "4" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,124 @@
|
||||
EESchema-LIBRARY Version 2.4
|
||||
#encoding utf-8
|
||||
#
|
||||
# ESP32-DEVKITC-32D
|
||||
#
|
||||
DEF ESP32-DEVKITC-32D U 0 40 Y Y 1 L N
|
||||
F0 "U" -601 1026 50 H V L BNN
|
||||
F1 "ESP32-DEVKITC-32D" -601 -1101 50 H V L BNN
|
||||
F2 "MODULE_ESP32-DEVKITC-32D" 0 0 50 H I L BNN
|
||||
F3 "4" 0 0 50 H I L BNN
|
||||
F4 "Espressif Systems" 0 0 50 H I L BNN
|
||||
DRAW
|
||||
P 2 0 0 10 -600 -1000 -600 1000 N
|
||||
P 2 0 0 10 -600 1000 600 1000 N
|
||||
P 2 0 0 10 600 -1000 -600 -1000 N
|
||||
P 2 0 0 10 600 1000 600 -1000 N
|
||||
X 3V3 1 -800 900 200 R 40 40 0 0 W
|
||||
X IO26 10 -800 0 200 R 40 40 0 0 B
|
||||
X IO27 11 -800 -100 200 R 40 40 0 0 B
|
||||
X IO14 12 -800 -200 200 R 40 40 0 0 B
|
||||
X IO12 13 -800 -300 200 R 40 40 0 0 B
|
||||
X GND1 14 -800 -400 200 R 40 40 0 0 W
|
||||
X IO13 15 -800 -500 200 R 40 40 0 0 B
|
||||
X SD2 16 -800 -600 200 R 40 40 0 0 B
|
||||
X SD3 17 -800 -700 200 R 40 40 0 0 B
|
||||
X CMD 18 -800 -800 200 R 40 40 0 0 B
|
||||
X EXT_5V 19 -800 -900 200 R 40 40 0 0 W
|
||||
X EN 2 -800 800 200 R 40 40 0 0 I
|
||||
X GND3 20 800 900 200 L 40 40 0 0 W
|
||||
X IO23 21 800 800 200 L 40 40 0 0 B
|
||||
X IO22 22 800 700 200 L 40 40 0 0 B
|
||||
X TXD0 23 800 600 200 L 40 40 0 0 O
|
||||
X RXD0 24 800 500 200 L 40 40 0 0 I
|
||||
X IO21 25 800 400 200 L 40 40 0 0 B
|
||||
X GND2 26 800 300 200 L 40 40 0 0 W
|
||||
X IO19 27 800 200 200 L 40 40 0 0 B
|
||||
X IO18 28 800 100 200 L 40 40 0 0 B
|
||||
X IO5 29 800 0 200 L 40 40 0 0 B
|
||||
X SENSOR_VP 3 -800 700 200 R 40 40 0 0 I
|
||||
X IO17 30 800 -100 200 L 40 40 0 0 B
|
||||
X IO16 31 800 -200 200 L 40 40 0 0 B
|
||||
X IO4 32 800 -300 200 L 40 40 0 0 B
|
||||
X IO0 33 800 -400 200 L 40 40 0 0 B
|
||||
X IO2 34 800 -500 200 L 40 40 0 0 B
|
||||
X IO15 35 800 -600 200 L 40 40 0 0 B
|
||||
X SD1 36 800 -700 200 L 40 40 0 0 B
|
||||
X SD0 37 800 -800 200 L 40 40 0 0 B
|
||||
X CLK 38 800 -900 200 L 40 40 0 0 I C
|
||||
X SENSOR_VN 4 -800 600 200 R 40 40 0 0 I
|
||||
X IO34 5 -800 500 200 R 40 40 0 0 B
|
||||
X IO35 6 -800 400 200 R 40 40 0 0 B
|
||||
X IO32 7 -800 300 200 R 40 40 0 0 B
|
||||
X IO33 8 -800 200 200 R 40 40 0 0 B
|
||||
X IO25 9 -800 100 200 R 40 40 0 0 B
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# SL2300
|
||||
#
|
||||
DEF SL2300 Q 0 40 Y Y 1 F N
|
||||
F0 "Q" 0 0 50 H V C CNN
|
||||
F1 "SL2300" 300 0 50 H V C CNN
|
||||
F2 "" 0 0 50 H I C CNN
|
||||
F3 "" 0 0 50 H I C CNN
|
||||
DRAW
|
||||
C 15 0 110 1 1 10 N
|
||||
C 50 -70 10 1 1 0 F
|
||||
C 50 70 10 1 1 0 F
|
||||
P 2 1 1 0 -40 0 -150 0 N
|
||||
P 2 1 1 10 -40 75 -40 -75 N
|
||||
P 2 1 1 10 -20 -50 -20 -90 N
|
||||
P 2 1 1 10 -20 20 -20 -20 N
|
||||
P 2 1 1 10 -20 90 -20 50 N
|
||||
P 2 1 1 0 50 100 50 70 N
|
||||
P 3 1 1 0 50 -100 50 0 -20 0 N
|
||||
P 4 1 1 0 -20 -70 80 -70 80 70 -20 70 N
|
||||
P 4 1 1 0 -10 0 30 15 30 -15 -10 0 F
|
||||
P 4 1 1 0 60 20 65 15 95 15 100 10 N
|
||||
P 4 1 1 0 80 15 65 -10 95 -10 80 15 N
|
||||
X G 1 -250 0 100 R 50 50 1 1 I
|
||||
X S 2 50 -200 100 U 50 50 1 1 P
|
||||
X D 3 50 200 100 D 50 50 1 1 P
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# SR04M-2
|
||||
#
|
||||
DEF SR04M-2 H 0 40 Y Y 1 F N
|
||||
F0 "H" 250 1100 50 H V C CNN
|
||||
F1 "SR04M-2" 300 -850 50 H V C CNN
|
||||
F2 "" 0 0 50 H I C CNN
|
||||
F3 "" 0 0 50 H I C CNN
|
||||
DRAW
|
||||
S -900 1050 1650 -800 0 1 10 N
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# SR04M-2-HeaderConn_01x04_Female
|
||||
#
|
||||
DEF SR04M-2-HeaderConn_01x04_Female J 0 40 Y N 1 F N
|
||||
F0 "J" 0 200 50 H V C CNN
|
||||
F1 "SR04M-2-HeaderConn_01x04_Female" 0 -300 50 H V C CNN
|
||||
F2 "ESP32:SR04M-2PinHeader_1x04_P2.54mm_Vertical" 0 0 50 H I C CNN
|
||||
F3 "" 0 0 50 H I C CNN
|
||||
$FPLIST
|
||||
Connector*:*_1x??_*
|
||||
$ENDFPLIST
|
||||
DRAW
|
||||
A 0 -200 20 901 -901 1 1 6 N 0 -180 0 -220
|
||||
A 0 -100 20 901 -901 1 1 6 N 0 -80 0 -120
|
||||
A 0 0 20 901 -901 1 1 6 N 0 20 0 -20
|
||||
A 0 100 20 901 -901 1 1 6 N 0 120 0 80
|
||||
P 2 1 1 6 -50 -200 -20 -200 N
|
||||
P 2 1 1 6 -50 -100 -20 -100 N
|
||||
P 2 1 1 6 -50 0 -20 0 N
|
||||
P 2 1 1 6 -50 100 -20 100 N
|
||||
X VCC 1 -200 100 150 R 50 50 1 1 W
|
||||
X RX 2 -200 0 150 R 50 50 1 1 I
|
||||
X TX 3 -200 -100 150 R 50 50 1 1 O
|
||||
X GND 4 -200 -200 150 R 50 50 1 1 W
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
#End Library
|
||||
@@ -0,0 +1,65 @@
|
||||
(module MODULE_ESP32-DEVKITC-32D (layer F.Cu) (tedit 5F565126)
|
||||
(fp_text reference REF** (at -10.829175 -28.446045) (layer F.SilkS)
|
||||
(effects (font (size 1.000386 1.000386) (thickness 0.015)))
|
||||
)
|
||||
(fp_text value MODULE_ESP32-DEVKITC-32D (at 1.24136 28.294535) (layer F.Fab)
|
||||
(effects (font (size 1.001047 1.001047) (thickness 0.015)))
|
||||
)
|
||||
(fp_circle (center -14.6 -19.9) (end -14.46 -19.9) (layer F.Fab) (width 0.28))
|
||||
(fp_circle (center -14.6 -19.9) (end -14.46 -19.9) (layer F.Fab) (width 0.28))
|
||||
(fp_line (start -14.2 27.5) (end -14.2 -27.4) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 14.2 27.5) (end -14.2 27.5) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 14.2 -27.4) (end 14.2 27.5) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -14.2 -27.4) (end 14.2 -27.4) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 13.95 27.25) (end -13.95 27.25) (layer F.SilkS) (width 0.127))
|
||||
(fp_line (start 13.95 -27.15) (end 13.95 27.25) (layer F.SilkS) (width 0.127))
|
||||
(fp_line (start -13.95 -27.15) (end 13.95 -27.15) (layer F.SilkS) (width 0.127))
|
||||
(fp_line (start -13.95 27.25) (end -13.95 -27.15) (layer F.SilkS) (width 0.127))
|
||||
(fp_line (start -13.95 27.25) (end -13.95 -27.15) (layer F.Fab) (width 0.127))
|
||||
(fp_line (start 13.95 27.25) (end -13.95 27.25) (layer F.Fab) (width 0.127))
|
||||
(fp_line (start 13.95 -27.15) (end 13.95 27.25) (layer F.Fab) (width 0.127))
|
||||
(fp_line (start -13.95 -27.15) (end 13.95 -27.15) (layer F.Fab) (width 0.127))
|
||||
(pad 1 thru_hole rect (at -12.7 -19.76) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 2 thru_hole circle (at -12.7 -17.22) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 19 thru_hole circle (at -12.7 25.96) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 3 thru_hole circle (at -12.7 -14.68) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 4 thru_hole circle (at -12.7 -12.14) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 5 thru_hole circle (at -12.7 -9.6) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 6 thru_hole circle (at -12.7 -7.06) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 7 thru_hole circle (at -12.7 -4.52) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 8 thru_hole circle (at -12.7 -1.98) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 9 thru_hole circle (at -12.7 0.56) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 10 thru_hole circle (at -12.7 3.1) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 11 thru_hole circle (at -12.7 5.64) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 12 thru_hole circle (at -12.7 8.18) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 13 thru_hole circle (at -12.7 10.72) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 14 thru_hole circle (at -12.7 13.26) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 15 thru_hole circle (at -12.7 15.8) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 16 thru_hole circle (at -12.7 18.34) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 17 thru_hole circle (at -12.7 20.88) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 18 thru_hole circle (at -12.7 23.42) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 20 thru_hole circle (at 12.7 -19.76) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 21 thru_hole circle (at 12.7 -17.22) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 22 thru_hole circle (at 12.7 -14.68) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 23 thru_hole circle (at 12.7 -12.14) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 24 thru_hole circle (at 12.7 -9.6) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 25 thru_hole circle (at 12.7 -7.06) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 26 thru_hole circle (at 12.7 -4.52) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 27 thru_hole circle (at 12.7 -1.98) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 28 thru_hole circle (at 12.7 0.56) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 29 thru_hole circle (at 12.7 3.1) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 30 thru_hole circle (at 12.7 5.64) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 31 thru_hole circle (at 12.7 8.18) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 32 thru_hole circle (at 12.7 10.72) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 33 thru_hole circle (at 12.7 13.26) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 34 thru_hole circle (at 12.7 15.8) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 35 thru_hole circle (at 12.7 18.34) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 36 thru_hole circle (at 12.7 20.88) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 37 thru_hole circle (at 12.7 23.42) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(pad 38 thru_hole circle (at 12.7 25.96) (size 1.56 1.56) (drill 1.04) (layers *.Cu *.Mask))
|
||||
(model ${KIPRJMOD}/kicad-stuff/ESP32-DEVKITC-32D--3DModel-STEP-56544.STEP
|
||||
(offset (xyz 0 -3 1.5))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz -90 0 0))
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,43 @@
|
||||
(module SR04M-2PinHeader_1x04_P2.54mm_Vertical (layer F.Cu) (tedit 5FC1448F)
|
||||
(descr "Through hole straight pin header, 1x04, 2.54mm pitch, single row")
|
||||
(tags "Through hole pin header THT 1x04 2.54mm single row")
|
||||
(fp_text reference REF** (at 0 -2.33) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value SR04M-2PinHeader_1x04_P2.54mm_Vertical (at 0 9.95) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start 1.8 -1.8) (end -1.8 -1.8) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 1.8 9.4) (end 1.8 -1.8) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.8 9.4) (end 1.8 9.4) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.8 -1.8) (end -1.8 9.4) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.33 -1.33) (end 0 -1.33) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -1.33 0) (end -1.33 -1.33) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -1.33 1.27) (end 1.33 1.27) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start 1.33 1.27) (end 1.33 8.95) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -1.33 1.27) (end -1.33 8.95) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -1.33 8.95) (end 1.33 8.95) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -1.27 -0.635) (end -0.635 -1.27) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -1.27 8.89) (end -1.27 -0.635) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 1.27 8.89) (end -1.27 8.89) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 1.27 -1.27) (end 1.27 8.89) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -0.635 -1.27) (end 1.27 -1.27) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 0 -17.5) (end 10 -17.5) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start 10 -17.5) (end 10 23.5) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start 10 23.5) (end -10 23.5) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -10 23.5) (end -10 -17.5) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -10 -17.5) (end 0.5 -17.5) (layer F.SilkS) (width 0.12))
|
||||
(fp_poly (pts (xy 8.81 6.27) (xy 3.81 6.27) (xy 3.81 1.27) (xy 8.81 1.27)) (layer F.Fab) (width 0.1))
|
||||
(fp_text user %R (at 0 3.81 90) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(pad 1 thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
|
||||
(pad 2 thru_hole oval (at 0 2.54) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
|
||||
(pad 3 thru_hole oval (at 0 5.08) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
|
||||
(pad 4 thru_hole oval (at 0 7.62) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
|
||||
(model ${KISYS3DMOD}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x04_P2.54mm_Vertical.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
<!DOCTYPE HTML><html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="refresh" content="0; url=https://www.snapeda.com/about/import/#"> <script type="text/javascript">window.location.href="https://www.snapeda.com/about/import/#" </script> <title>Page Redirection</title> </head> <body> If you are not redirected automatically, follow this <a href="https://www.snapeda.com/about/import/#">link to the import guide</a>. </body></html>
|
||||
@@ -0,0 +1,74 @@
|
||||
(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
|
||||
(symbol "LP38690DT-3.3" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (at -10.16 5.08 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Value" "LP38690DT-3.3" (at -10.16 -7.62 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Footprint" "DPAK457P991X255-3N" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "Datasheet" "IPC-7351B" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "Field4" "Texas Instruments" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "Field5" "M" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "Field6" "2.55mm" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "ki_locked" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(symbol "LP38690DT-3.3_0_0"
|
||||
(polyline
|
||||
(pts
|
||||
(xy -10.16 -5.08)
|
||||
(xy 10.16 -5.08)
|
||||
)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -10.16 5.08)
|
||||
(xy -10.16 -5.08)
|
||||
)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 10.16 -5.08)
|
||||
(xy 10.16 5.08)
|
||||
)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 10.16 5.08)
|
||||
(xy -10.16 5.08)
|
||||
)
|
||||
(stroke (width 0.1524) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(pin output line (at 15.24 2.54 180) (length 5.08)
|
||||
(name "OUT" (effects (font (size 1.016 1.016))))
|
||||
(number "1" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin input line (at -15.24 2.54 0) (length 5.08)
|
||||
(name "IN" (effects (font (size 1.016 1.016))))
|
||||
(number "3" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin power_in line (at 15.24 -2.54 180) (length 5.08)
|
||||
(name "GND" (effects (font (size 1.016 1.016))))
|
||||
(number "4" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
27
battery_board/battery_board/kicad-stuff/LP38690DT-3.3.lib
Normal file
27
battery_board/battery_board/kicad-stuff/LP38690DT-3.3.lib
Normal file
@@ -0,0 +1,27 @@
|
||||
EESchema-LIBRARY Version 2.3
|
||||
#encoding utf-8
|
||||
#(c) SnapEDA 2016 (snapeda.com)
|
||||
#This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA) with Design Exception 1.0
|
||||
#
|
||||
# LP38690DT-3.3
|
||||
#
|
||||
DEF LP38690DT-3.3 U 0 40 Y Y 1 L N
|
||||
F0 "U" -400 200 50 H V L BNN
|
||||
F1 "LP38690DT-3.3" -400 -300 50 H V L BNN
|
||||
F2 "DPAK457P991X255-3N" 0 0 50 H I L BNN
|
||||
F3 "IPC-7351B" 0 0 50 H I L BNN
|
||||
F4 "Texas Instruments" 0 0 50 H I L BNN
|
||||
F5 "M" 0 0 50 H I L BNN
|
||||
F6 "2.55mm" 0 0 50 H I L BNN
|
||||
DRAW
|
||||
P 2 0 0 6 -400 200 -400 -200 N
|
||||
P 2 0 0 6 -400 -200 400 -200 N
|
||||
P 2 0 0 6 400 -200 400 200 N
|
||||
P 2 0 0 6 400 200 -400 200 N
|
||||
X IN 3 -600 100 200 R 40 40 0 0 I
|
||||
X OUT 1 600 100 200 L 40 40 0 0 O
|
||||
X GND 4 600 -100 200 L 40 40 0 0 W
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# End Library
|
||||
@@ -0,0 +1,63 @@
|
||||
(footprint "R_Shunt_Vishay_WSK2512_6332Metric_T1.19mm" (version 20221018) (generator pcbnew)
|
||||
(layer "F.Cu")
|
||||
(descr "Shunt Resistor SMD 2512 (6332 Metric), 2.6mm thick, Vishay WKS2512, Terminal length (T) 1.19mm, 5 to 200 milli Ohm (http://http://www.vishay.com/docs/30108/wsk.pdf)")
|
||||
(tags "resistor shunt WSK2512")
|
||||
(attr smd)
|
||||
(fp_text reference "REF**" (at 0 -2.65) (layer "F.SilkS")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp e64357ee-67ea-437d-842c-edd4e9b0e817)
|
||||
)
|
||||
(fp_text value "R_Shunt_Vishay_WSK2512_6332Metric_T1.19mm" (at 0 2.65) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 6d43eee8-d677-4710-a5b6-ed0a393d7e86)
|
||||
)
|
||||
(fp_text user "${REFERENCE}" (at 0 0) (layer "F.Fab")
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
(tstamp 7af73258-6848-4c90-ada6-9916b21e0d54)
|
||||
)
|
||||
(fp_line (start -2.5 1.7) (end 1.67 1.7)
|
||||
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 686b0a9f-f303-4b9c-97bc-13b268071b2a))
|
||||
(fp_line (start -1.67 -1.7) (end 2.53 -1.7)
|
||||
(stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 8ff3cd0c-2e69-49a7-948e-62e2af1cdeaf))
|
||||
(fp_line (start -4.38 -1.9) (end 4.38 -1.9)
|
||||
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 97453d6f-90a6-4d0b-9533-4b9de0e70d67))
|
||||
(fp_line (start -4.38 1.9) (end -4.38 -1.9)
|
||||
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8d751a64-d963-4d3e-b652-c6367d221a4c))
|
||||
(fp_line (start 4.38 -1.9) (end 4.38 1.9)
|
||||
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5fc8cbbe-390d-45f2-b9e2-001b3b36ad53))
|
||||
(fp_line (start 4.38 1.9) (end -4.38 1.9)
|
||||
(stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 85ea9322-734e-4f57-b7f4-e08d8559c109))
|
||||
(fp_line (start -3.175 -1.59) (end 3.175 -1.59)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp a616017c-8c30-4c24-8988-6ebc65a5a14c))
|
||||
(fp_line (start -3.175 0.32) (end -3.175 -1.59)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 007035a4-df14-4627-b9dd-16c0816e9fc4))
|
||||
(fp_line (start -3.175 0.32) (end -2.795 0.32)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7a92ebc4-86fb-494b-8925-1512bf4598dd))
|
||||
(fp_line (start -3.175 0.94) (end -3.175 1.59)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8d1ed9db-8b9e-4c9a-b026-a147d8ba5a89))
|
||||
(fp_line (start -3.175 0.94) (end -2.795 0.94)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3238b0a3-1bbc-4ecd-9eca-d39a4563f46a))
|
||||
(fp_line (start -2.795 0.94) (end -2.795 0.32)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 56e7214e-7e65-4896-9919-6dfa6ad242a1))
|
||||
(fp_line (start 2.79 -0.94) (end 3.17 -0.94)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp bf2fd8b5-dc07-4d36-93f4-c05d760e4ae8))
|
||||
(fp_line (start 2.79 -0.32) (end 2.79 -0.94)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2732ea3b-0a68-4014-9f1f-147b192cb827))
|
||||
(fp_line (start 2.79 -0.32) (end 3.17 -0.32)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7597632e-0fab-4537-9ef5-3d955ee8fe04))
|
||||
(fp_line (start 3.175 -0.94) (end 3.175 -1.59)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp be78e59b-9296-4843-849b-9aeaddf3ec90))
|
||||
(fp_line (start 3.175 -0.32) (end 3.175 1.59)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f0529fdf-6a96-4afa-ae66-3987676f8cc1))
|
||||
(fp_line (start 3.175 1.59) (end -3.175 1.59)
|
||||
(stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5494f1f1-9934-4901-ae11-4f45356840a6))
|
||||
(pad "1" smd roundrect (at -2.985 0.635) (size 2.29 2.03) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.12) (tstamp 7d665233-6376-4fd3-9d23-184556b0630c))
|
||||
(pad "2" smd roundrect (at -3.43 -1.27) (size 1.4 0.76) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.12) (tstamp a060266a-0c38-4364-b2df-6f7cf4c69f0d))
|
||||
(pad "3" smd roundrect (at 3.43 -1.27) (size 1.4 0.76) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp a1e31646-49e8-4836-bd67-1b6bed652414))
|
||||
(pad "4" smd roundrect (at 2.985 0.635) (size 2.29 2.03) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.12) (tstamp 3f532dd2-fd5a-4fe7-9636-aa84f769e3b2))
|
||||
(model "${KICAD6_3DMODEL_DIR}/Resistor_SMD.3dshapes/R_Shunt_Vishay_WSK2512_6332Metric_T1.19mm.wrl"
|
||||
(offset (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,37 @@
|
||||
|
||||
(footprint SOP65P640X120-14N (layer F.Cu) (tedit 65346025)
|
||||
(descr "")
|
||||
(attr smd)
|
||||
(fp_text reference REF** (at -0.595 -3.435 0) (layer F.SilkS)
|
||||
(effects (font (size 1.0 1.0) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value SOP65P640X120-14N (at 7.025 3.435 0) (layer F.Fab)
|
||||
(effects (font (size 1.0 1.0) (thickness 0.15)))
|
||||
)
|
||||
(pad 1 smd roundrect (roundrect_rratio 0.05) (at -2.87 -1.95) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 2 smd roundrect (roundrect_rratio 0.05) (at -2.87 -1.3) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 3 smd roundrect (roundrect_rratio 0.05) (at -2.87 -0.65) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 4 smd roundrect (roundrect_rratio 0.05) (at -2.87 0.0) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 5 smd roundrect (roundrect_rratio 0.05) (at -2.87 0.65) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 6 smd roundrect (roundrect_rratio 0.05) (at -2.87 1.3) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 7 smd roundrect (roundrect_rratio 0.05) (at -2.87 1.95) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 8 smd roundrect (roundrect_rratio 0.05) (at 2.87 1.95) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 9 smd roundrect (roundrect_rratio 0.05) (at 2.87 1.3) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 10 smd roundrect (roundrect_rratio 0.05) (at 2.87 0.65) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 11 smd roundrect (roundrect_rratio 0.05) (at 2.87 0.0) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 12 smd roundrect (roundrect_rratio 0.05) (at 2.87 -0.65) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 13 smd roundrect (roundrect_rratio 0.05) (at 2.87 -1.3) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 14 smd roundrect (roundrect_rratio 0.05) (at 2.87 -1.95) (size 1.57 0.41) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(fp_circle (center -4.24 -2.26) (end -4.14 -2.26) (layer F.SilkS) (width 0.2))
|
||||
(fp_circle (center -4.24 -2.26) (end -4.14 -2.26) (layer F.Fab) (width 0.2))
|
||||
(fp_line (start -2.2 -2.5) (end 2.2 -2.5) (layer F.Fab) (width 0.127))
|
||||
(fp_line (start -2.2 2.5) (end 2.2 2.5) (layer F.Fab) (width 0.127))
|
||||
(fp_line (start -2.2 -2.5) (end 2.2 -2.5) (layer F.SilkS) (width 0.127))
|
||||
(fp_line (start -2.2 2.5) (end 2.2 2.5) (layer F.SilkS) (width 0.127))
|
||||
(fp_line (start -2.2 -2.5) (end -2.2 2.5) (layer F.Fab) (width 0.127))
|
||||
(fp_line (start 2.2 -2.5) (end 2.2 2.5) (layer F.Fab) (width 0.127))
|
||||
(fp_line (start -3.905 -2.75) (end 3.905 -2.75) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -3.905 2.75) (end 3.905 2.75) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -3.905 -2.75) (end -3.905 2.75) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 3.905 -2.75) (end 3.905 2.75) (layer F.CrtYd) (width 0.05))
|
||||
)
|
||||
29
battery_board/battery_board/kicad-stuff/SSOP10.kicad_mod
Normal file
29
battery_board/battery_board/kicad-stuff/SSOP10.kicad_mod
Normal file
@@ -0,0 +1,29 @@
|
||||
|
||||
(footprint SSOP10 (layer F.Cu) (tedit 652971AF)
|
||||
(descr "")
|
||||
(attr smd)
|
||||
(fp_text reference REF** (at -3.2004 0.0 900) (layer F.SilkS)
|
||||
(effects (font (size 0.64 0.64) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value SSOP10 (at 3.1496 -0.4064 900) (layer F.Fab)
|
||||
(effects (font (size 0.64 0.64) (thickness 0.15)))
|
||||
)
|
||||
(pad 2 smd rect (at -1.0 2.8) (size 0.6 1.75) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 9 smd rect (at -1.0 -2.8) (size 0.6 1.75) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 1 smd rect (at -2.0 2.8) (size 0.6 1.75) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 3 smd rect (at 0.0 2.8) (size 0.6 1.75) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 4 smd rect (at 1.0 2.8) (size 0.6 1.75) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 10 smd rect (at -2.0 -2.8) (size 0.6 1.75) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 8 smd rect (at 0.0 -2.8) (size 0.6 1.75) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 7 smd rect (at 1.0 -2.8) (size 0.6 1.75) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 5 smd rect (at 2.0 2.8) (size 0.6 1.75) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(pad 6 smd rect (at 2.0 -2.8) (size 0.6 1.75) (layers F.Cu F.Mask F.Paste) (solder_mask_margin 0.102))
|
||||
(fp_line (start 2.527 -1.9) (end 2.527 1.4) (layer F.Fab) (width 0.2032))
|
||||
(fp_line (start 2.527 1.4) (end 2.527 1.9) (layer F.Fab) (width 0.2032))
|
||||
(fp_line (start 2.527 1.9) (end -2.527 1.9) (layer F.Fab) (width 0.2032))
|
||||
(fp_line (start -2.527 1.9) (end -2.527 1.4) (layer F.Fab) (width 0.2032))
|
||||
(fp_line (start -2.527 1.4) (end -2.527 -1.9) (layer F.Fab) (width 0.2032))
|
||||
(fp_line (start -2.527 -1.9) (end 2.527 -1.9) (layer F.Fab) (width 0.2032))
|
||||
(fp_line (start 2.527 1.4) (end -2.527 1.4) (layer F.Fab) (width 0.2032))
|
||||
(fp_line (start -1.905 1.016) (end -1.905 -1.016) (layer F.SilkS) (width 0.3048))
|
||||
)
|
||||
104
battery_board/battery_board/kicad-stuff/SX1308.kicad_sym
Normal file
104
battery_board/battery_board/kicad-stuff/SX1308.kicad_sym
Normal file
@@ -0,0 +1,104 @@
|
||||
(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
|
||||
(symbol "SX1308" (pin_names (offset 1.016)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (at -17.78 20.32 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Value" "SX1308" (at -17.8054 17.8054 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom))
|
||||
)
|
||||
(property "Footprint" "SOT-23-6" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "Datasheet" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) (justify left bottom) hide)
|
||||
)
|
||||
(property "ki_locked" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(symbol "SX1308_0_0"
|
||||
(polyline
|
||||
(pts
|
||||
(xy -17.78 -7.62)
|
||||
(xy -17.78 15.24)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -17.78 15.24)
|
||||
(xy 0 15.24)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -13.7922 0.1778)
|
||||
(xy -11.2522 0.1778)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -11.303 1.6764)
|
||||
(xy -8.763 1.6764)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy -11.2522 0.1778)
|
||||
(xy -11.303 1.6764)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 0 -7.62)
|
||||
(xy -17.78 -7.62)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 0 15.24)
|
||||
(xy 0 -7.62)
|
||||
)
|
||||
(stroke (width 0.254) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(text "ON/OFF" (at -10.8712 -0.0508 0)
|
||||
(effects (font (size 0.8128 0.8128)) (justify left bottom))
|
||||
)
|
||||
(pin bidirectional line (at 5.08 12.7 180) (length 5.08)
|
||||
(name "SW" (effects (font (size 1.016 1.016))))
|
||||
(number "1" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -22.86 -5.08 0) (length 5.08)
|
||||
(name "GND" (effects (font (size 1.016 1.016))))
|
||||
(number "2" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 5.08 -2.54 180) (length 5.08)
|
||||
(name "FB" (effects (font (size 1.016 1.016))))
|
||||
(number "3" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -22.86 2.54 0) (length 5.08)
|
||||
(name "EN" (effects (font (size 1.016 1.016))))
|
||||
(number "4" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at -22.86 12.7 0) (length 5.08)
|
||||
(name "IN" (effects (font (size 1.016 1.016))))
|
||||
(number "5" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
(pin bidirectional line (at 5.08 5.08 180) (length 5.08)
|
||||
(name "N/C" (effects (font (size 1.016 1.016))))
|
||||
(number "6" (effects (font (size 1.016 1.016))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
31
battery_board/battery_board/kicad-stuff/SX1308.lib
Normal file
31
battery_board/battery_board/kicad-stuff/SX1308.lib
Normal file
@@ -0,0 +1,31 @@
|
||||
EESchema-LIBRARY Version 2.3
|
||||
#encoding utf-8
|
||||
#(c) SnapEDA 2016 (snapeda.com)
|
||||
#This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA) with Design Exception 1.0
|
||||
#
|
||||
# SX1308
|
||||
#
|
||||
DEF SX1308 U 0 40 Y Y 1 L N
|
||||
F0 "U" -700 800 50 H V L BNN
|
||||
F1 "SX1308" -701 701 50 H V L BNN
|
||||
F2 "SOT-23-6" 0 0 50 H I L BNN
|
||||
F3 "" 0 0 50 H I L BNN
|
||||
DRAW
|
||||
P 2 0 0 10 -700 600 0 600 N
|
||||
P 2 0 0 10 0 600 0 -300 N
|
||||
P 2 0 0 10 0 -300 -700 -300 N
|
||||
P 2 0 0 10 -700 -300 -700 600 N
|
||||
P 2 0 0 10 -543 7 -443 7 N
|
||||
P 2 0 0 10 -443 7 -445 66 N
|
||||
P 2 0 0 10 -445 66 -345 66 N
|
||||
T 0 -428 -2 32 0 0 0 ON/OFF Normal 0 L B
|
||||
X SW 1 200 500 200 L 40 40 0 0 B
|
||||
X FB 3 200 -100 200 L 40 40 0 0 B
|
||||
X IN 5 -900 500 200 R 40 40 0 0 B
|
||||
X EN 4 -900 100 200 R 40 40 0 0 B
|
||||
X GND 2 -900 -200 200 R 40 40 0 0 B
|
||||
X N/C 6 200 200 200 L 40 40 0 0 B
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
# End Library
|
||||
168
battery_board/battery_board/kicad-stuff/ds2438.kicad_sym
Normal file
168
battery_board/battery_board/kicad-stuff/ds2438.kicad_sym
Normal file
@@ -0,0 +1,168 @@
|
||||
(kicad_symbol_lib (version 20220914) (generator kicad_symbol_editor)
|
||||
(symbol "ds2438az+" (pin_names (offset 0.254)) (in_bom yes) (on_board yes)
|
||||
(property "Reference" "U" (at 30.48 10.16 0)
|
||||
(effects (font (size 1.524 1.524)))
|
||||
)
|
||||
(property "Value" "ds2438az+" (at 30.48 7.62 0)
|
||||
(effects (font (size 1.524 1.524)))
|
||||
)
|
||||
(property "Footprint" "21-0041B_8_MXM" (at 30.48 6.096 0)
|
||||
(effects (font (size 1.524 1.524)) hide)
|
||||
)
|
||||
(property "Datasheet" "" (at 0 0 0)
|
||||
(effects (font (size 1.524 1.524)))
|
||||
)
|
||||
(property "ki_locked" "" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)))
|
||||
)
|
||||
(property "ki_fp_filters" "21-0041B_8_MXM 21-0041B_8_MXM-M 21-0041B_8_MXM-L" (at 0 0 0)
|
||||
(effects (font (size 1.27 1.27)) hide)
|
||||
)
|
||||
(symbol "ds2438az+_1_1"
|
||||
(polyline
|
||||
(pts
|
||||
(xy 7.112 -7.62)
|
||||
(xy 6.0452 -8.128)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 7.112 -7.62)
|
||||
(xy 6.0452 -7.112)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 7.112 -5.08)
|
||||
(xy 6.0452 -5.588)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 7.112 -5.08)
|
||||
(xy 6.0452 -4.572)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 7.112 -2.54)
|
||||
(xy 6.0452 -3.048)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 7.112 -2.54)
|
||||
(xy 6.0452 -2.032)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 7.62 -12.7)
|
||||
(xy 53.34 -12.7)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 7.62 5.08)
|
||||
(xy 7.62 -12.7)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 53.34 -12.7)
|
||||
(xy 53.34 5.08)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 53.34 5.08)
|
||||
(xy 7.62 5.08)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 53.848 0)
|
||||
(xy 54.9148 -0.508)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 53.848 0)
|
||||
(xy 54.9148 0.508)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 55.4228 -0.508)
|
||||
(xy 56.4642 0)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(polyline
|
||||
(pts
|
||||
(xy 55.4228 0.508)
|
||||
(xy 56.4642 0)
|
||||
)
|
||||
(stroke (width 0.127) (type solid))
|
||||
(fill (type none))
|
||||
)
|
||||
(pin power_in line (at 0 0 0) (length 7.62)
|
||||
(name "GND" (effects (font (size 1.4986 1.4986))))
|
||||
(number "1" (effects (font (size 1.4986 1.4986))))
|
||||
)
|
||||
(pin input line (at 0 -2.54 0) (length 7.62)
|
||||
(name "VSENS+" (effects (font (size 1.4986 1.4986))))
|
||||
(number "2" (effects (font (size 1.4986 1.4986))))
|
||||
)
|
||||
(pin input line (at 0 -5.08 0) (length 7.62)
|
||||
(name "VSENS-" (effects (font (size 1.4986 1.4986))))
|
||||
(number "3" (effects (font (size 1.4986 1.4986))))
|
||||
)
|
||||
(pin input line (at 0 -7.62 0) (length 7.62)
|
||||
(name "VAD" (effects (font (size 1.4986 1.4986))))
|
||||
(number "4" (effects (font (size 1.4986 1.4986))))
|
||||
)
|
||||
(pin power_in line (at 60.96 -7.62 180) (length 7.62)
|
||||
(name "VDD" (effects (font (size 1.4986 1.4986))))
|
||||
(number "5" (effects (font (size 1.4986 1.4986))))
|
||||
)
|
||||
(pin no_connect line (at 60.96 -5.08 180) (length 7.62)
|
||||
(name "NC" (effects (font (size 1.4986 1.4986))))
|
||||
(number "6" (effects (font (size 1.4986 1.4986))))
|
||||
)
|
||||
(pin no_connect line (at 60.96 -2.54 180) (length 7.62)
|
||||
(name "NC" (effects (font (size 1.4986 1.4986))))
|
||||
(number "7" (effects (font (size 1.4986 1.4986))))
|
||||
)
|
||||
(pin bidirectional line (at 60.96 0 180) (length 7.62)
|
||||
(name "DQ" (effects (font (size 1.4986 1.4986))))
|
||||
(number "8" (effects (font (size 1.4986 1.4986))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
42
battery_board/battery_board/kicad-stuff/ds2438.lib
Normal file
42
battery_board/battery_board/kicad-stuff/ds2438.lib
Normal file
@@ -0,0 +1,42 @@
|
||||
EESchema-LIBRARY Version 2.3 Date: 21-02-2013 11:13:20
|
||||
#encoding utf-8
|
||||
#
|
||||
# ds2438az+
|
||||
#
|
||||
DEF ds2438az+ U 0 10 Y Y 1 L N
|
||||
F0 "U" 1200 400 60 H V C CNN
|
||||
F1 "ds2438az+" 1200 300 60 H V C CNN
|
||||
F2 "21-0041B_8_MXM" 1200 240 60 H I C CNN
|
||||
F3 "~" 0 0 60 H V C CNN
|
||||
$FPLIST
|
||||
21-0041B_8_MXM
|
||||
21-0041B_8_MXM-M
|
||||
21-0041B_8_MXM-L
|
||||
$ENDFPLIST
|
||||
DRAW
|
||||
X GND 1 0 0 300 R 59 59 1 1 W
|
||||
X VSENS+ 2 0 -100 300 R 59 59 1 1 I
|
||||
X VSENS- 3 0 -200 300 R 59 59 1 1 I
|
||||
X VAD 4 0 -300 300 R 59 59 1 1 I
|
||||
X VDD 5 2400 -300 300 L 59 59 1 1 W
|
||||
X NC 6 2400 -200 300 L 59 59 1 1 N
|
||||
X NC 7 2400 -100 300 L 59 59 1 1 N
|
||||
X DQ 8 2400 0 300 L 59 59 1 1 B
|
||||
P 2 1 1 5 280 -100 238 -80 N
|
||||
P 2 1 1 5 280 -100 238 -120 N
|
||||
P 2 1 1 5 280 -200 238 -180 N
|
||||
P 2 1 1 5 280 -200 238 -220 N
|
||||
P 2 1 1 5 280 -300 238 -280 N
|
||||
P 2 1 1 5 280 -300 238 -320 N
|
||||
P 2 1 1 5 2120 0 2162 20 N
|
||||
P 2 1 1 5 2120 0 2162 -20 N
|
||||
P 2 1 1 5 2182 20 2223 0 N
|
||||
P 2 1 1 5 2182 -20 2223 0 N
|
||||
P 2 1 1 5 300 200 300 -500 N
|
||||
P 2 1 1 5 300 -500 2100 -500 N
|
||||
P 2 1 1 5 2100 -500 2100 200 N
|
||||
P 2 1 1 5 2100 200 300 200 N
|
||||
ENDDRAW
|
||||
ENDDEF
|
||||
#
|
||||
#End Library
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
111
battery_board/battery_board/kicad-stuff/easyeda2kicad.kicad_sym
Normal file
111
battery_board/battery_board/kicad-stuff/easyeda2kicad.kicad_sym
Normal file
@@ -0,0 +1,111 @@
|
||||
(kicad_symbol_lib
|
||||
(version 20211014)
|
||||
(generator https://github.com/uPesy/easyeda2kicad.py)
|
||||
(symbol "UX-144S-ACP5"
|
||||
(in_bom yes)
|
||||
(on_board yes)
|
||||
(property
|
||||
"Reference"
|
||||
"USB"
|
||||
(id 0)
|
||||
(at 0 11.43 0)
|
||||
(effects (font (size 1.27 1.27) ) )
|
||||
)
|
||||
(property
|
||||
"Value"
|
||||
"UX-144S-ACP5"
|
||||
(id 1)
|
||||
(at 0 -8.89 0)
|
||||
(effects (font (size 1.27 1.27) ) )
|
||||
)
|
||||
(property
|
||||
"Footprint"
|
||||
"easyeda2kicad:MINI-USB-SMD_UX-144S-ACP5"
|
||||
(id 2)
|
||||
(at 0 -11.43 0)
|
||||
(effects (font (size 1.27 1.27) ) hide)
|
||||
)
|
||||
(property
|
||||
"Datasheet"
|
||||
"https://lcsc.com/product-detail/USB-Connectors_XUNPU-UX-144S-ACP5_C720611.html"
|
||||
(id 3)
|
||||
(at 0 -13.97 0)
|
||||
(effects (font (size 1.27 1.27) ) hide)
|
||||
)
|
||||
(property
|
||||
"LCSC Part"
|
||||
"C720611"
|
||||
(id 5)
|
||||
(at 0 -16.51 0)
|
||||
(effects (font (size 1.27 1.27) ) hide)
|
||||
)
|
||||
(symbol "UX-144S-ACP5_0_1"
|
||||
(rectangle
|
||||
(start -7.62 8.89)
|
||||
(end 7.62 -6.35)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
(circle
|
||||
(center -6.35 7.62)
|
||||
(radius 0.38)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at 10.16 5.08 180)
|
||||
(length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "9" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at 10.16 2.54 180)
|
||||
(length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "8" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at 10.16 -0.00 180)
|
||||
(length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "7" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at 10.16 -2.54 180)
|
||||
(length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "6" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at -10.16 -3.81 0)
|
||||
(length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "5" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at -10.16 -1.27 0)
|
||||
(length 2.54)
|
||||
(name "ID" (effects (font (size 1.27 1.27))))
|
||||
(number "4" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at -10.16 1.27 0)
|
||||
(length 2.54)
|
||||
(name "D+" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at -10.16 3.81 0)
|
||||
(length 2.54)
|
||||
(name "D-" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at -10.16 6.35 0)
|
||||
(length 2.54)
|
||||
(name "VBUS" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,256 @@
|
||||
(footprint "MINI-USB-SMD_UX-144S-ACP5"
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(layer "F.Cu")
|
||||
(property "Reference" "REF**"
|
||||
(at 0 -6.85 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e22138c6-3cb3-4e3c-ba92-a1710585cb5a")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "MINI-USB-SMD_UX-144S-ACP5"
|
||||
(at 0 6.85 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "858a2627-e471-4bfb-9d6c-fd1b80f75161")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "e47c3973-5f77-49a7-9761-9ae10304f142")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "26eeaf8e-5561-47b5-8bd4-deeb0ff6028a")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "df698dc1-8038-47dd-b09b-19d65b3be886")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -4.7 1.67)
|
||||
(end -4.7 -1.47)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "03440d98-e390-4a02-b4b0-b92205207476")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.7 5.84)
|
||||
(end -4.7 4.03)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "dba5fb97-b84e-4a41-85a6-f4fdb2339977")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.7 5.84)
|
||||
(end 4.7 5.84)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e9634972-07de-4463-b72c-20fdc7e82f51")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.08 -3.56)
|
||||
(end -3.22 -3.56)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "dc5e02c5-dbda-406e-be24-d4fd6d4d39b2")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.22 -3.56)
|
||||
(end 2.08 -3.56)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e1775f8a-42ad-41b1-8e07-5553a0c1f786")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.7 1.67)
|
||||
(end 4.7 -1.47)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "b21655b3-f4bd-4a22-9260-c998017c187d")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.7 5.84)
|
||||
(end 4.7 4.03)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "b8716775-fa34-44c7-9a12-b008ee829381")
|
||||
)
|
||||
(fp_circle
|
||||
(center -2.2 -0.1)
|
||||
(end -2.01 -0.1)
|
||||
(stroke
|
||||
(width 0.38)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "Cmts.User")
|
||||
(uuid "de63054b-d560-446e-acd5-3d574530415b")
|
||||
)
|
||||
(fp_circle
|
||||
(center 2.2 -0.1)
|
||||
(end 2.39 -0.1)
|
||||
(stroke
|
||||
(width 0.38)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "Cmts.User")
|
||||
(uuid "81ac27ac-99bd-4e20-acf0-7bd310da8d42")
|
||||
)
|
||||
(fp_circle
|
||||
(center -4.67 -3.46)
|
||||
(end -4.64 -3.46)
|
||||
(stroke
|
||||
(width 0.06)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.Fab")
|
||||
(uuid "fd695e98-9e3b-4a37-8976-4cf48758b0bb")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "ebb3e71d-8b4f-4e74-a06c-fa75e65fb5ea")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "" smd circle
|
||||
(at -2.2 -0.1)
|
||||
(size 1 1)
|
||||
(layers "F.Paste")
|
||||
(uuid "bd4630f6-b596-42aa-a67b-d92affdad121")
|
||||
)
|
||||
(pad "" smd circle
|
||||
(at 2.2 -0.1)
|
||||
(size 1 1)
|
||||
(layers "F.Paste")
|
||||
(uuid "5600899a-4eef-439b-b910-bd9b182b3af5")
|
||||
)
|
||||
(pad "1" smd rect
|
||||
(at -1.6 -2.85)
|
||||
(size 0.5 1.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "335fc2d7-32d6-4034-8537-3e4ecdbb698e")
|
||||
)
|
||||
(pad "2" smd rect
|
||||
(at -0.8 -2.85)
|
||||
(size 0.5 1.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "ad9d26c5-067e-4461-a7de-8849dc9b3d7a")
|
||||
)
|
||||
(pad "3" smd rect
|
||||
(at 0 -2.85)
|
||||
(size 0.5 1.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "07c2e01e-14f9-40a4-a86a-be138db1f386")
|
||||
)
|
||||
(pad "4" smd rect
|
||||
(at 0.8 -2.85)
|
||||
(size 0.5 1.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "d6db4c4a-622f-481f-9577-0021a75fe066")
|
||||
)
|
||||
(pad "5" smd rect
|
||||
(at 1.6 -2.85)
|
||||
(size 0.5 1.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "775ff58f-f278-4d45-878f-eb1e67ee5746")
|
||||
)
|
||||
(pad "6" smd rect
|
||||
(at -4.17 -2.65)
|
||||
(size 1.45 1.9)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "b5e05f8a-9ee3-4e04-b21c-09af79a7cad4")
|
||||
)
|
||||
(pad "7" smd rect
|
||||
(at -4.17 2.85)
|
||||
(size 1.45 1.9)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "3fd2e9c6-b2e3-46a8-9255-7cd472742419")
|
||||
)
|
||||
(pad "8" smd rect
|
||||
(at 4.17 2.85)
|
||||
(size 1.45 1.9)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "1d175ab4-356e-4f51-b58d-b305fd7c0af9")
|
||||
)
|
||||
(pad "9" smd rect
|
||||
(at 4.17 -2.65)
|
||||
(size 1.45 1.9)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "875b3383-2651-4a80-aa85-613ada3fbbba")
|
||||
)
|
||||
(model "${KIPRJMOD}/kicad-stuff/easyeda2kicad.3dshapes/MINI-USB-SMD_UX-144S-ACP5.step"
|
||||
(offset
|
||||
(xyz 0 -1.25 2)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
13
battery_board/battery_board/kicad-stuff/misc_footprints-master/.gitignore
vendored
Normal file
13
battery_board/battery_board/kicad-stuff/misc_footprints-master/.gitignore
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
# For PCBs designed using KiCAD: http://www.kicad-pcb.org/
|
||||
|
||||
# Temporary files
|
||||
*.000
|
||||
*.bak
|
||||
*.bck
|
||||
*.kicad_pcb-bak
|
||||
|
||||
# Netlist files (exported from Eeschema)
|
||||
*.net
|
||||
|
||||
# Autorouter files (exported from Pcbnew)
|
||||
.dsn
|
||||
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 kubabu
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
@@ -0,0 +1,12 @@
|
||||
# misc_footprints
|
||||
Library of KiCad footprints with various parts
|
||||
==============================================
|
||||
Modules:
|
||||
* TP4056 Li-Ion cell charger module with BMS: DW01 + 8205S for protection
|
||||
* XL6009 DC-DC step-up (boost) voltage converter
|
||||
* MT3608 DC-DC step-up (boost) voltage converter
|
||||
* MP1584 DC-DC step-down (buck) voltage converter
|
||||
|
||||
Parts:
|
||||
* 18650 one-cell casket
|
||||
* Nokia N95 battery connector
|
||||
@@ -0,0 +1,43 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
dir_path = None
|
||||
|
||||
# Gerber files generated by Kicad are content- compatible with those
|
||||
# made in EAGLE but naming convention is different, which can be problematic
|
||||
# Renaming GERBERS to EAGLE convention eg. enables OSHPark to parse them
|
||||
|
||||
# Remember to megre PTH and NPTH drillings to one .drl file
|
||||
|
||||
EAGLE_counterparts = {
|
||||
"-F.Cu.gbr": ".GTL", # Top Layer
|
||||
"-B.Cu.gbr": ".GBL", # Bottom Layer
|
||||
"-F.Mask.gbr": ".GTS", # Top Soldermask
|
||||
"-B.Mask.gbr": ".GBS", # Bottom Soldermask
|
||||
"-F.SilkS.gbr": ".GTO", # Top Silkscreen
|
||||
"-B.SilkS.gbr": ".GBO", # Bottom Silkscreen
|
||||
# "": ".G2L",
|
||||
# "": ".G3L",
|
||||
"-Edge.Cuts.gbr": ".GKO", # Board Outline
|
||||
".drl": ".XLN" # Drills
|
||||
}
|
||||
|
||||
|
||||
def eaglize_file(filename):
|
||||
for k_format in EAGLE_counterparts.keys():
|
||||
if filename.endswith(k_format):
|
||||
k = filename.rfind(k_format)
|
||||
new_filename = filename[:k] + EAGLE_counterparts[k_format]
|
||||
os.rename(filename, new_filename)
|
||||
return new_filename
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
dir_path = sys.argv[1]
|
||||
except IndexError:
|
||||
dir_path = '.'
|
||||
|
||||
for root, dirs, files in os.walk(dir_path):
|
||||
for file_name in files:
|
||||
eaglize_file(file_name)
|
||||
@@ -0,0 +1,37 @@
|
||||
(module 16850_cell_casket (layer F.Cu) (tedit 55D20D10)
|
||||
(fp_text reference REF** (at 38.7 -6.45) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value 16850_cell_casket (at 19.812 -11.684) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start 49.5 -3) (end 44.5 0) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 49.5 -3) (end 55.5 0) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 76.5 -3.5) (end 76.5 3.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 76.5 3.5) (end 1.5 3.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.5 3.5) (end 1.5 -3.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.5 -3.5) (end 76.5 -3.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 55.5 0) (end 49.5 3) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 49.5 3) (end 44.5 0) (layer F.SilkS) (width 0.15))
|
||||
(fp_text user BLM (at 49.9 0.1) (layer F.SilkS)
|
||||
(effects (font (size 3 2) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user 18650 (at 27.5 0) (layer F.SilkS)
|
||||
(effects (font (size 2 2) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start 60.5 0) (end 62.5 0) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center 61.5 0) (end 63 -0.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 18 -1) (end 18 1) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 17 0) (end 19 0) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center 18 0) (end 19 -1) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center 67 0) (end 67 -2) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center 11 0) (end 11 -2) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center 67 0) (end 66.8 -1.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center 11 0) (end 10.8 -1.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 0 10.45) (end 0 -10.45) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 78 10.45) (end 0 10.45) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 78 -10.45) (end 78 10.45) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 0 -10.45) (end 78 -10.45) (layer F.SilkS) (width 0.15))
|
||||
(pad 2 thru_hole rect (at 77.474 0) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 1 thru_hole rect (at 0.504 0) (size 1.524 1.524) (drill 0.762) (layers *.Cu *.Mask F.SilkS))
|
||||
)
|
||||
@@ -0,0 +1,48 @@
|
||||
(module 4056E_LiIon_loader (layer F.Cu) (tedit 569E29C6)
|
||||
(fp_text reference M1 (at -1.266 1.13) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value 4056E_Loader_prot (at 0.66 -3.46) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -13.29 8.5) (end 12.7 8.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.3 -8.5) (end 12.7 -8.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.77 3.36) (end -13.77 -3.19) (layer F.SilkS) (width 0.15))
|
||||
(fp_text user microUSB (at -9.438 0.086 180) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -13.756 3.388) (end -13.248 3.388) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.248 3.388) (end -12.994 2.88) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -12.994 2.88) (end -12.74 2.88) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.756 -3.216) (end -13.248 -3.216) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.248 -3.216) (end -12.994 -2.708) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -12.994 -2.708) (end -8.168 -2.708) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -8.168 -2.708) (end -8.168 2.88) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -8.168 2.88) (end -12.74 2.88) (layer F.SilkS) (width 0.15))
|
||||
(fp_text user B- (at 10.674 1.29) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user B+ (at 10.674 -2.012) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user OUT- (at 7.19 6.556) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user OUT+ (at 6.87 -6.348) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user IN- (at -6.9 6.76) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user IN+ (at -7.43 -6.13) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -13.296 8.5) (end -13.296 -8.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 12.706 -8.5) (end 12.706 8.5) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole rect (at -11 -6.5) (size 3 3) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole rect (at -11 6.5) (size 3 3) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 6 thru_hole rect (at 11 7) (size 2.5 2.5) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 5 thru_hole rect (at 11 -7) (size 2.5 2.5) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 3 thru_hole rect (at 11 -3.75) (size 2.5 2.5) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 4 thru_hole rect (at 11 3.75) (size 2.5 2.5) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
)
|
||||
@@ -0,0 +1,48 @@
|
||||
(module 4056E_LiIon_loader_SMT (layer F.Cu) (tedit 569E2953)
|
||||
(fp_text reference M1 (at -1.266 1.13) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value 4056E_Loader_prot (at 0.66 -3.46) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -13.29 8.5) (end 12.7 8.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.3 -8.5) (end 12.7 -8.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.87 3.26) (end -13.87 -3.29) (layer F.SilkS) (width 0.15))
|
||||
(fp_text user microUSB (at -9.538 -0.014 180) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -13.856 3.288) (end -13.348 3.288) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.348 3.288) (end -13.094 2.78) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.094 2.78) (end -12.84 2.78) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.856 -3.316) (end -13.348 -3.316) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.348 -3.316) (end -13.094 -2.808) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.094 -2.808) (end -8.268 -2.808) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -8.268 -2.808) (end -8.268 2.78) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -8.268 2.78) (end -12.84 2.78) (layer F.SilkS) (width 0.15))
|
||||
(fp_text user B- (at 10.674 1.29) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user B+ (at 10.674 -2.012) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user OUT- (at 7.19 6.556) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user OUT+ (at 6.87 -6.348) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user IN- (at -6.9 6.76) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user IN+ (at -7.43 -6.13) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -13.296 8.5) (end -13.296 -8.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 12.706 -8.5) (end 12.706 8.5) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 smd rect (at -11 -6.75) (size 3 3) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 2 smd rect (at -11 6.75) (size 3 3) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 6 smd rect (at 11 7) (size 3 2.5) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 5 smd rect (at 11 -7) (size 3 2.5) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 3 smd rect (at 11 -3.75) (size 3 2.5) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 4 smd rect (at 11 3.75) (size 3 2.5) (layers F.Cu F.Paste F.Mask))
|
||||
)
|
||||
@@ -0,0 +1,48 @@
|
||||
(module 4056E_LiIon_loader_prot (layer F.Cu) (tedit 55D73003)
|
||||
(fp_text reference M1 (at -1.266 1.13) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value 4056E_Loader_prot (at 0.66 -3.46) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -13.29 8.27) (end 12.7 8.27) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.3 -8.88) (end 12.7 -8.87) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.87 2.96) (end -13.87 -3.59) (layer F.SilkS) (width 0.15))
|
||||
(fp_text user microUSB (at -9.538 -0.314 180) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -13.856 2.988) (end -13.348 2.988) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.348 2.988) (end -13.094 2.48) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.094 2.48) (end -12.84 2.48) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.856 -3.616) (end -13.348 -3.616) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.348 -3.616) (end -13.094 -3.108) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -13.094 -3.108) (end -8.268 -3.108) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -8.268 -3.108) (end -8.268 2.48) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -8.268 2.48) (end -12.84 2.48) (layer F.SilkS) (width 0.15))
|
||||
(fp_text user B- (at 10.674 1.29) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user B+ (at 10.674 -2.012) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user OUT- (at 7.19 6.556) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user OUT+ (at 6.87 -6.348) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user IN- (at -6.9 6.76) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user IN+ (at -7.43 -6.13) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -13.296 8.275) (end -13.296 -8.87) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 12.706 -8.87) (end 12.706 8.275) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole rect (at -10.76 -6.51) (size 2.1 2.1) (drill 1) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole rect (at -10.76 6.37) (size 2.1 2.1) (drill 1) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 6 thru_hole rect (at 10.7 6.37) (size 2.1 2.1) (drill 1.2) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 5 thru_hole rect (at 10.7 -6.33) (size 2.1 2.1) (drill 1.2) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 3 thru_hole rect (at 10.7 -3.79) (size 2.1 2.1) (drill 1.2) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 4 thru_hole rect (at 10.7 3.83) (size 2.1 2.1) (drill 0.762) (layers *.Cu *.Mask F.SilkS))
|
||||
)
|
||||
@@ -0,0 +1,51 @@
|
||||
(module BatteryHolder_Keystone_1042_1x18650 (layer F.Cu) (tedit 5F8201AB)
|
||||
(descr "Battery holder for 18650 cylindrical cells http://www.keyelco.com/product.cfm/product_id/918")
|
||||
(tags "18650 Keystone 1042 Li-ion")
|
||||
(attr smd)
|
||||
(fp_text reference REF** (at 0 -11.5) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value BatteryHolder_Keystone_1042_1x18650 (at 0 11.3) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -42.5 -4.75) (end -42.5 -7.25) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -43.75 -6) (end -41.25 -6) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -39.03 3.68) (end -43.5 3.68) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -43.5 3.68) (end -43.5 -3.68) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -43.5 -3.68) (end -39.03 -3.68) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 43.5 -3.68) (end 39.03 -3.68) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 39.03 3.68) (end 43.5 3.68) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -39.03 -10.83) (end -39.03 -3.68) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -39.03 10.83) (end -39.03 3.68) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 39.03 -10.83) (end 39.03 -3.68) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -39.03 -10.83) (end 39.03 -10.83) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -39.03 10.83) (end 39.03 10.83) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 38.53 -10.33) (end 38.53 10.33) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -33.3675 -10.33) (end 38.53 -10.33) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 43.75 -6) (end 41.25 -6) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -38.53 -5.1675) (end -38.53 10.33) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -38.53 10.33) (end 38.53 10.33) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 38.64 -3.44) (end 38.64 -10.42) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start 38.64 -10.44) (end -38.64 -10.44) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -38.64 -10.44) (end -38.64 -3.44) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start 38.64 3.44) (end 38.64 10.44) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start 38.64 10.44) (end -38.64 10.44) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -38.64 10.44) (end -38.64 3.44) (layer F.SilkS) (width 0.12))
|
||||
(fp_text user %R (at 0 0) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start 39.03 10.83) (end 39.03 3.68) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start 43.5 3.68) (end 43.5 -3.68) (layer F.CrtYd) (width 0.05))
|
||||
(fp_line (start -38.64 -3.44) (end -43 -3.44) (layer F.SilkS) (width 0.12))
|
||||
(fp_line (start -33.3675 -10.33) (end -38.53 -5.1675) (layer F.Fab) (width 0.1))
|
||||
(pad "" np_thru_hole circle (at -35.93 -8) (size 2.39 2.39) (drill 2.39) (layers *.Cu *.Mask))
|
||||
(pad "" np_thru_hole circle (at -27.6 8) (size 3.45 3.45) (drill 3.45) (layers *.Cu *.Mask))
|
||||
(pad "" np_thru_hole circle (at 27.6 -8) (size 3.45 3.45) (drill 3.45) (layers *.Cu *.Mask))
|
||||
(pad 2 thru_hole rect (at 39.33 0) (size 7.34 6.35) (drill 2) (layers *.Cu *.Mask))
|
||||
(pad 1 thru_hole rect (at -39.33 0) (size 7.34 6.35) (drill 2) (layers *.Cu *.Mask))
|
||||
(model ${KISYS3DMOD}/Battery.3dshapes/BatteryHolder_Keystone_1042_1x18650.wrl
|
||||
(at (xyz 0 0 0))
|
||||
(scale (xyz 1 1 1))
|
||||
(rotate (xyz 0 0 0))
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,89 @@
|
||||
(module MP1584_buck_module (layer F.Cu) (tedit 55D1F7A1)
|
||||
(fp_text reference REF** (at 5.08 0.762) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value MP1584_buck_module (at 0.635 9.144) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start 3.302 4.318) (end 1.016 6.096) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -6.096 4.318) (end 3.302 4.318) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 3.302 4.318) (end 1.016 2.54) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.524 -1.778) (end -1.016 -1.778) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.016 -1.778) (end -1.016 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.016 2.286) (end -1.524 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.524 2.286) (end -1.524 2.794) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.524 2.794) (end -1.778 2.794) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.778 2.794) (end -1.778 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.778 2.286) (end -2.794 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -2.794 2.286) (end -2.794 2.794) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -2.794 2.794) (end -3.048 2.794) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -3.048 2.794) (end -3.048 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -3.048 2.286) (end -4.064 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.064 2.286) (end -4.064 2.794) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.064 2.794) (end -4.318 2.794) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.318 2.794) (end -4.318 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.318 2.286) (end -5.334 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.334 2.286) (end -5.334 2.794) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.334 2.794) (end -5.588 2.794) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.588 2.794) (end -5.588 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.588 2.286) (end -6.096 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -6.096 2.286) (end -6.096 2.032) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -2.794 -1.778) (end -1.778 -1.778) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.064 -1.778) (end -3.048 -1.778) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.334 -1.778) (end -4.318 -1.778) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.778 -1.778) (end -1.778 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.778 -2.286) (end -1.524 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -3.048 -1.778) (end -3.048 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -3.048 -2.286) (end -2.794 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.318 -1.778) (end -4.318 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.318 -2.286) (end -4.064 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -6.096 2.032) (end -6.096 -1.778) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -6.096 -1.778) (end -5.842 -1.778) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.842 -1.778) (end -5.588 -1.778) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.588 -1.778) (end -5.588 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.588 -2.286) (end -5.334 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -1.524 -1.778) (end -1.524 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -2.794 -2.286) (end -2.794 -1.778) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.064 -1.778) (end -4.064 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.334 -1.778) (end -5.334 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 10.033 0.508) (end 8.509 0.508) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 8.509 0.508) (end 9.271 0.508) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 9.271 0.508) (end 9.271 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 9.271 -2.286) (end 9.271 -0.508) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 9.271 -0.508) (end 8.509 -0.508) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 8.509 -0.508) (end 10.033 -0.508) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -2.159 -7.62) (end -2.159 -5.334) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.191 -7.62) (end -4.191 -5.334) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.191 -5.334) (end -2.159 -6.604) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -2.159 -6.604) (end -4.191 -7.62) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 6.223 -6.604) (end 1.397 -6.604) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.397 -6.604) (end 1.397 -0.508) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 1.397 -0.508) (end 6.985 -0.508) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 6.985 -0.508) (end 6.985 -6.604) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 6.985 -6.604) (end 6.223 -6.604) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 6.223 -7.62) (end 7.239 -7.62) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center 6.731 -7.62) (end 7.239 -7.874) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 6.731 7.112) (end 6.731 8.128) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 6.223 7.62) (end 7.239 7.62) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center 6.731 7.62) (end 7.239 7.874) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 7.493 8.382) (end 7.493 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 7.493 2.286) (end 11.049 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 11.049 -2.286) (end 7.493 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 7.493 -2.286) (end 7.493 -8.382) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -11.049 2.286) (end -7.493 2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -7.493 2.286) (end -7.493 8.382) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -7.493 -8.382) (end -7.493 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -7.493 -2.286) (end -11.049 -2.286) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -11.049 -8.382) (end 11.049 -8.382) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 11.049 -8.382) (end 11.049 8.382) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 11.049 8.382) (end -11.049 8.382) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -11.049 8.382) (end -11.049 -8.382) (layer F.SilkS) (width 0.15))
|
||||
(pad 2 thru_hole circle (at -9.271 -6.604) (size 1.524 1.524) (drill 0.7) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 1 thru_hole rect (at -9.271 6.604) (size 1.524 1.524) (drill 0.7) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 3 thru_hole circle (at 9.271 -6.604) (size 1.524 1.524) (drill 0.7) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 4 thru_hole rect (at 9.271 6.604) (size 1.524 1.524) (drill 0.7) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 3 thru_hole rect (at 9.271 -4.064) (size 1.524 1.524) (drill 0.7) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole rect (at -9.271 -4.064) (size 1.524 1.524) (drill 0.7) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 1 thru_hole circle (at -9.271 4.064) (size 1.524 1.524) (drill 0.7) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 4 thru_hole circle (at 9.271 4.064) (size 1.524 1.524) (drill 0.7) (layers *.Cu *.Mask F.SilkS))
|
||||
)
|
||||
@@ -0,0 +1,36 @@
|
||||
(module MT3608_module (layer F.Cu) (tedit 569D6CFB)
|
||||
(fp_text reference M2 (at 0.25 6 180) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value DC_DC_boost_module (at 0 -1 180) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user VOUT- (at -16 6.5) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user VIN+ (at 14 -6.5) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user VIN- (at 14 6.5) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user VOUT+ (at -16 -6.5) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -8 -7) (end -8 -4) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.5 -7) (end -4.5 -4) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.5 -4) (end -8 -5.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -8 -5.5) (end -4.5 -7) (layer F.SilkS) (width 0.15))
|
||||
(fp_arc (start -17 -6) (end -19.5 -6) (angle 90) (layer F.SilkS) (width 0.15))
|
||||
(fp_arc (start 14 -6) (end 14 -8.5) (angle 90) (layer F.SilkS) (width 0.15))
|
||||
(fp_arc (start 14 6) (end 16.5 6) (angle 90) (layer F.SilkS) (width 0.15))
|
||||
(fp_arc (start -17 6) (end -17 8.5) (angle 90) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -17 8.5) (end 14 8.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 14 -8.5) (end -17 -8.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 16.5 6) (end 16.5 -6) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -19.5 -6) (end -19.5 6) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole rect (at 14 -3.2 180) (size 5 3.5) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole rect (at 14 3.25 180) (size 5 3.5) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 3 thru_hole rect (at -17 3.25 180) (size 5 3.5) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 4 thru_hole rect (at -17 -3.25 180) (size 5 3.5) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
)
|
||||
@@ -0,0 +1,39 @@
|
||||
(module MT3608_module_SMT (layer F.Cu) (tedit 569D6C5F)
|
||||
(fp_text reference M2 (at 0.25 6 180) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value DC_DC_boost_module (at 0 -1 180) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user VOUT- (at -16 6.5) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user VIN+ (at 14 -6.5) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user VIN- (at 14 6.5) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text user VOUT+ (at -16 -6.5) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start -8 -7) (end -8 -4) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.5 -7) (end -4.5 -4) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -4.5 -4) (end -8 -5.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -8 -5.5) (end -4.5 -7) (layer F.SilkS) (width 0.15))
|
||||
(fp_arc (start -17 -6) (end -19.5 -6) (angle 90) (layer F.SilkS) (width 0.15))
|
||||
(fp_arc (start 14 -6) (end 14 -8.5) (angle 90) (layer F.SilkS) (width 0.15))
|
||||
(fp_arc (start 14 6) (end 16.5 6) (angle 90) (layer F.SilkS) (width 0.15))
|
||||
(fp_arc (start -17 6) (end -17 8.5) (angle 90) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -17 8.5) (end 14 8.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 14 -8.5) (end -17 -8.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 16.5 6) (end 16.5 -6) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -19.5 -6) (end -19.5 6) (layer F.SilkS) (width 0.15))
|
||||
(pad "" thru_hole circle (at -7.75 5) (size 2.1 2.1) (drill 2) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad "" thru_hole circle (at -5.5 2.5) (size 2.1 2.1) (drill 2) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad "" thru_hole circle (at -10.5 2.5) (size 2.1 2.1) (drill 2) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 1 smd rect (at 14 -3.2 180) (size 5 3.5) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 2 smd rect (at 14 3.25 180) (size 5 3.5) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 3 smd rect (at -17 3.25 180) (size 5 3.5) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 4 smd rect (at -17 -3.25 180) (size 5 3.5) (layers F.Cu F.Paste F.Mask))
|
||||
)
|
||||
@@ -0,0 +1,14 @@
|
||||
(module N95_battery_connector (layer F.Cu) (tedit 569FD4EC)
|
||||
(fp_text reference CON** (at -0.5 6) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value N95_battery_connector (at 0.5 -6) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_line (start 2.5 -4.5) (end -3 -4.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -3 -4.5) (end -3 4.5) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -3 4.5) (end 2.5 4.5) (layer F.SilkS) (width 0.15))
|
||||
(pad 2 smd rect (at 0 0) (size 5.5 1.5) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 3 smd rect (at 0 -3.5) (size 5.5 1.5) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 1 smd rect (at 0 3.5) (size 5.5 1.5) (layers F.Cu F.Paste F.Mask))
|
||||
)
|
||||
@@ -0,0 +1,21 @@
|
||||
|
||||
(module SOT-23-6 (layer F.Cu) (tedit 5FBEB024)
|
||||
(descr "")
|
||||
(fp_text reference REF** (at 0.0762369 -0.0794385 900) (layer F.SilkS)
|
||||
(effects (font (size 0.600290551181 0.600290551181) (thickness 0.015)))
|
||||
)
|
||||
(fp_text value SOT-23-6 (at 0 0) (layer F.Fab)
|
||||
(effects (font (size 0.787401574803 0.787401574803) (thickness 0.015)))
|
||||
)
|
||||
(fp_line (start 0.7 -1.5) (end 0.7 1.5) (layer F.SilkS) (width 0.1524))
|
||||
(fp_line (start 0.7 1.5) (end -0.7 1.5) (layer F.SilkS) (width 0.1524))
|
||||
(fp_line (start -0.7 1.5) (end -0.7 -1.5) (layer F.SilkS) (width 0.1524))
|
||||
(fp_line (start -0.7 -1.5) (end 0.7 -1.5) (layer F.SilkS) (width 0.1524))
|
||||
(fp_circle (center -1.2 -1.7) (end -0.9764 -1.7) (layer F.SilkS) (width 0.1524))
|
||||
(pad 2 smd rect (at -1.35 0.0) (size 1.0 0.55) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 1 smd rect (at -1.35 -0.95) (size 1.0 0.55) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 3 smd rect (at -1.35 0.95) (size 1.0 0.55) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 4 smd rect (at 1.35 0.95) (size 1.0 0.55) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 6 smd rect (at 1.35 -0.95) (size 1.0 0.55) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 5 smd rect (at 1.35 0.0) (size 1.0 0.55) (layers F.Cu F.Mask F.Paste))
|
||||
)
|
||||
@@ -0,0 +1,30 @@
|
||||
|
||||
(module SOT95P280X135-6N (layer F.Cu) (tedit 5FAC25EE)
|
||||
(descr "<b>SOT2-23-6</b><br>")
|
||||
(fp_text reference REF** (at 0.0 0.0 0) (layer F.SilkS)
|
||||
(effects (font (size 1.0 1.0) (thickness 0.015)))
|
||||
)
|
||||
(fp_text value SOT95P280X135-6N (at 0.0 0.0 0) (layer F.Fab)
|
||||
(effects (font (size 1.0 1.0) (thickness 0.015)))
|
||||
)
|
||||
(fp_line (start -2.125 -1.835) (end 2.125 -1.835) (layer F.Fab) (width 0.05))
|
||||
(fp_line (start 2.125 -1.835) (end 2.125 1.835) (layer F.Fab) (width 0.05))
|
||||
(fp_line (start 2.125 1.835) (end -2.125 1.835) (layer F.Fab) (width 0.05))
|
||||
(fp_line (start -2.125 1.835) (end -2.125 -1.835) (layer F.Fab) (width 0.05))
|
||||
(fp_line (start -0.8 -1.46) (end 0.8 -1.46) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 0.8 -1.46) (end 0.8 1.46) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start 0.8 1.46) (end -0.8 1.46) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -0.8 1.46) (end -0.8 -1.46) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -0.8 -0.51) (end 0.15 -1.46) (layer F.Fab) (width 0.1))
|
||||
(fp_line (start -0.275 -1.46) (end 0.275 -1.46) (layer F.SilkS) (width 0.2))
|
||||
(fp_line (start 0.275 -1.46) (end 0.275 1.46) (layer F.SilkS) (width 0.2))
|
||||
(fp_line (start 0.275 1.46) (end -0.275 1.46) (layer F.SilkS) (width 0.2))
|
||||
(fp_line (start -0.275 1.46) (end -0.275 -1.46) (layer F.SilkS) (width 0.2))
|
||||
(fp_line (start -1.875 -1.6) (end -0.625 -1.6) (layer F.SilkS) (width 0.2))
|
||||
(pad 1 smd rect (at -1.25 -0.95) (size 1.25 0.6) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 2 smd rect (at -1.25 0.0) (size 1.25 0.6) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 3 smd rect (at -1.25 0.95) (size 1.25 0.6) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 4 smd rect (at 1.25 0.95) (size 1.25 0.6) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 5 smd rect (at 1.25 0.0) (size 1.25 0.6) (layers F.Cu F.Mask F.Paste))
|
||||
(pad 6 smd rect (at 1.25 -0.95) (size 1.25 0.6) (layers F.Cu F.Mask F.Paste))
|
||||
)
|
||||
@@ -0,0 +1,55 @@
|
||||
(module XL6009_module (layer F.Cu) (tedit 56419D18)
|
||||
(fp_text reference M2 (at -38.375 -16.125) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value DC_DC_boost_module (at -22.9 -7.075) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_circle (center -6.604 -2.54) (end -5.842 -0.508) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -6.604 -2.54) (end -6.604 -1.016) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -36.576 -18.542) (end -37.084 -20.574) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -36.576 -18.542) (end -36.576 -20.066) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -11.176 -19.05) (end -11.176 -14.986) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -15.24 -19.05) (end -15.24 -14.986) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -15.24 -14.986) (end -11.176 -17.018) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -11.176 -17.018) (end -15.24 -19.05) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -30.988 -17.526) (end -29.972 -18.542) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -30.48 -18.034) (end -29.972 -18.542) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -31.496 -19.558) (end -31.496 -16.002) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -31.496 -16.002) (end -30.988 -16.002) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -30.988 -16.002) (end -30.988 -16.51) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -30.988 -16.51) (end -22.86 -16.51) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.86 -16.51) (end -22.86 -16.002) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.86 -16.002) (end -22.352 -16.002) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.352 -16.002) (end -22.352 -19.558) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.352 -19.558) (end -31.496 -19.558) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -41.148 -7.874) (end -35.052 -7.874) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -35.052 -7.874) (end -35.052 -12.446) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -35.052 -12.446) (end -36.576 -13.97) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -36.576 -13.97) (end -39.624 -13.97) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -39.624 -13.97) (end -41.148 -12.446) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -41.148 -12.446) (end -41.148 -7.874) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -0.508 -12.446) (end -0.508 -6.858) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -0.508 -6.858) (end -7.62 -6.858) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -7.62 -6.858) (end -7.62 -12.446) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -7.62 -12.446) (end -5.588 -13.97) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.588 -13.97) (end -2.54 -13.97) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -2.54 -13.97) (end -0.508 -12.446) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -30.988 -0.762) (end -33.02 -0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -33.02 -0.762) (end -34.036 -0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -34.036 -0.762) (end -34.036 -11.938) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -34.036 -11.938) (end -22.86 -11.938) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.86 -11.938) (end -22.86 -10.414) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.86 -10.922) (end -22.86 -0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.86 -0.762) (end -30.988 -0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -38.1 -10.922) (end -35.56 -12.446) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -4.064 -10.414) (end -1.016 -11.938) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 0 0) (end -43.18 0) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -43.18 0) (end -43.18 -21.082) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 0 0) (end 0 -21.082) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -43.18 -21.082) (end 0 -21.082) (layer F.SilkS) (width 0.15))
|
||||
(pad 1 thru_hole rect (at -41.3258 -19.1516) (size 1.524 1.524) (drill 1) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 2 thru_hole rect (at -41.3258 -1.9812) (size 1.524 1.524) (drill 1) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 3 thru_hole rect (at -1.8542 -1.9812) (size 1.524 1.524) (drill 1) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 4 thru_hole rect (at -1.8542 -19.1262) (size 1.524 1.524) (drill 1) (layers *.Cu *.Mask F.SilkS))
|
||||
)
|
||||
@@ -0,0 +1,58 @@
|
||||
(module XL6009_module_SMT (layer F.Cu) (tedit 569E2A66)
|
||||
(fp_text reference M2 (at -38.375 -16.125) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value DC_DC_boost_module (at -22.9 -7.075) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness 0.15)))
|
||||
)
|
||||
(fp_circle (center -6.604 -2.54) (end -5.842 -0.508) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -6.604 -2.54) (end -6.604 -1.016) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -36.576 -18.542) (end -37.084 -20.574) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -36.576 -18.542) (end -36.576 -20.066) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -11.176 -19.05) (end -11.176 -14.986) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -15.24 -19.05) (end -15.24 -14.986) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -15.24 -14.986) (end -11.176 -17.018) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -11.176 -17.018) (end -15.24 -19.05) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -30.988 -17.526) (end -29.972 -18.542) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -30.48 -18.034) (end -29.972 -18.542) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -31.496 -19.558) (end -31.496 -16.002) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -31.496 -16.002) (end -30.988 -16.002) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -30.988 -16.002) (end -30.988 -16.51) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -30.988 -16.51) (end -22.86 -16.51) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.86 -16.51) (end -22.86 -16.002) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.86 -16.002) (end -22.352 -16.002) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.352 -16.002) (end -22.352 -19.558) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.352 -19.558) (end -31.496 -19.558) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -41.148 -7.874) (end -35.052 -7.874) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -35.052 -7.874) (end -35.052 -12.446) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -35.052 -12.446) (end -36.576 -13.97) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -36.576 -13.97) (end -39.624 -13.97) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -39.624 -13.97) (end -41.148 -12.446) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -41.148 -12.446) (end -41.148 -7.874) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -0.508 -12.446) (end -0.508 -6.858) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -0.508 -6.858) (end -7.62 -6.858) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -7.62 -6.858) (end -7.62 -12.446) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -7.62 -12.446) (end -5.588 -13.97) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -5.588 -13.97) (end -2.54 -13.97) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -2.54 -13.97) (end -0.508 -12.446) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -30.988 -0.762) (end -33.02 -0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -33.02 -0.762) (end -34.036 -0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -34.036 -0.762) (end -34.036 -11.938) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -34.036 -11.938) (end -22.86 -11.938) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.86 -11.938) (end -22.86 -10.414) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.86 -10.922) (end -22.86 -0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -22.86 -0.762) (end -30.988 -0.762) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -38.1 -10.922) (end -35.56 -12.446) (layer F.SilkS) (width 0.15))
|
||||
(fp_circle (center -4.064 -10.414) (end -1.016 -11.938) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 0 0) (end -43.18 0) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -43.18 0) (end -43.18 -21.082) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start 0 0) (end 0 -21.082) (layer F.SilkS) (width 0.15))
|
||||
(fp_line (start -43.18 -21.082) (end 0 -21.082) (layer F.SilkS) (width 0.15))
|
||||
(pad "" thru_hole circle (at -25.2 -18) (size 1.5 1.5) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad "" thru_hole circle (at -27.8 -18) (size 1.5 1.5) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
(pad 1 smd rect (at -41.3258 -19.1516) (size 3.8 4) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 2 smd rect (at -41.3258 -1.9812) (size 3.8 4) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 3 smd rect (at -1.8542 -1.9812) (size 3.8 4) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 4 smd rect (at -1.8542 -19.1262) (size 3.8 4) (layers F.Cu F.Paste F.Mask))
|
||||
(pad "" thru_hole circle (at -30.3 -18) (size 1.5 1.5) (drill 1.25) (layers *.Cu *.Mask F.SilkS))
|
||||
)
|
||||
@@ -0,0 +1,94 @@
|
||||
(module 21-0041B_8_MXM (layer F.Cu)
|
||||
(fp_text reference REF** (at 0 0) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness .15)))
|
||||
)
|
||||
(fp_text value 21-0041B_8_MXM (at 0 0) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness .15)))
|
||||
)
|
||||
(fp_text user "Copyright 2016 Accelerated Designs. All rights reserved." (at 0 0) (layer Cmts.User)
|
||||
(effects (font (size .127 .127) (thickness .002)))
|
||||
)
|
||||
(fp_text user "*" (at -2.97815 -3.5814) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness .15)))
|
||||
)
|
||||
(fp_text user "*" (at -1.6129 -2.4257) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness .15)))
|
||||
)
|
||||
(fp_text user "0.05in/1.27mm" (at -5.77215 -1.27) (layer Dwgs.User)
|
||||
(effects (font (size 1 1) (thickness .15)))
|
||||
)
|
||||
(fp_text user "0.021in/0.533mm" (at 5.77215 -1.905) (layer Dwgs.User)
|
||||
(effects (font (size 1 1) (thickness .15)))
|
||||
)
|
||||
(fp_text user "0.214in/5.448mm" (at 0 -4.9149) (layer Dwgs.User)
|
||||
(effects (font (size 1 1) (thickness .15)))
|
||||
)
|
||||
(fp_text user "0.058in/1.46mm" (at -2.72415 4.9149) (layer Dwgs.User)
|
||||
(effects (font (size 1 1) (thickness .15)))
|
||||
)
|
||||
(fp_text user "*" (at -2.97815 -3.5814) (layer F.SilkS)
|
||||
(effects (font (size 1 1) (thickness .15)))
|
||||
)
|
||||
(fp_text user "*" (at -1.6129 -2.4257) (layer F.Fab)
|
||||
(effects (font (size 1 1) (thickness .15)))
|
||||
)
|
||||
(fp_line (start -1.9939 -1.6637) (end -1.9939 -2.1463) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -1.9939 -2.1463) (end -3.0988 -2.1463) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -3.0988 -2.1463) (end -3.0988 -1.6637) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -3.0988 -1.6637) (end -1.9939 -1.6637) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -1.9939 -.3937) (end -1.9939 -.8763) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -1.9939 -.8763) (end -3.0988 -.8763) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -3.0988 -.8763) (end -3.0988 -.3937) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -3.0988 -.3937) (end -1.9939 -.3937) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -1.9939 .8763) (end -1.9939 .3937) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -1.9939 .3937) (end -3.0988 .3937) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -3.0988 .3937) (end -3.0988 .8763) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -3.0988 .8763) (end -1.9939 .8763) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -1.9939 2.1463) (end -1.9939 1.6637) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -1.9939 1.6637) (end -3.0988 1.6637) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -3.0988 1.6637) (end -3.0988 2.1463) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -3.0988 2.1463) (end -1.9939 2.1463) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 1.9939 1.6637) (end 1.9939 2.1463) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 1.9939 2.1463) (end 3.0988 2.1463) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 3.0988 2.1463) (end 3.0988 1.6637) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 3.0988 1.6637) (end 1.9939 1.6637) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 1.9939 .3937) (end 1.9939 .8763) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 1.9939 .8763) (end 3.0988 .8763) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 3.0988 .8763) (end 3.0988 .3937) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 3.0988 .3937) (end 1.9939 .3937) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 1.9939 -.8763) (end 1.9939 -.3937) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 1.9939 -.3937) (end 3.0988 -.3937) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 3.0988 -.3937) (end 3.0988 -.8763) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 3.0988 -.8763) (end 1.9939 -.8763) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 1.9939 -2.1463) (end 1.9939 -1.6637) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 1.9939 -1.6637) (end 3.0988 -1.6637) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 3.0988 -1.6637) (end 3.0988 -2.1463) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 3.0988 -2.1463) (end 1.9939 -2.1463) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -2.1209 2.6289) (end 2.1209 2.6289) (layer F.SilkS) (width .1524))
|
||||
(fp_line (start 2.1209 -2.6289) (end -2.1209 -2.6289) (layer F.SilkS) (width .1524))
|
||||
(fp_line (start -1.9939 2.5019) (end 1.9939 2.5019) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 1.9939 2.5019) (end 1.9939 -2.5019) (layer F.Fab) (width .1524))
|
||||
(fp_line (start 1.9939 -2.5019) (end -1.9939 -2.5019) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -1.9939 -2.5019) (end -1.9939 2.5019) (layer F.Fab) (width .1524))
|
||||
(fp_line (start -3.7084 2.4257) (end -3.7084 -2.4257) (layer F.CrtYd) (width .1524))
|
||||
(fp_line (start -3.7084 -2.4257) (end -2.2479 -2.4257) (layer F.CrtYd) (width .1524))
|
||||
(fp_line (start -2.2479 -2.4257) (end -2.2479 -2.7559) (layer F.CrtYd) (width .1524))
|
||||
(fp_line (start -2.2479 -2.7559) (end 2.2479 -2.7559) (layer F.CrtYd) (width .1524))
|
||||
(fp_line (start 2.2479 -2.7559) (end 2.2479 -2.4257) (layer F.CrtYd) (width .1524))
|
||||
(fp_line (start 2.2479 -2.4257) (end 3.7084 -2.4257) (layer F.CrtYd) (width .1524))
|
||||
(fp_line (start 3.7084 -2.4257) (end 3.7084 2.4257) (layer F.CrtYd) (width .1524))
|
||||
(fp_line (start 3.7084 2.4257) (end 2.2479 2.4257) (layer F.CrtYd) (width .1524))
|
||||
(fp_line (start 2.2479 2.4257) (end 2.2479 2.7559) (layer F.CrtYd) (width .1524))
|
||||
(fp_line (start 2.2479 2.7559) (end -2.2479 2.7559) (layer F.CrtYd) (width .1524))
|
||||
(fp_line (start -2.2479 2.7559) (end -2.2479 2.4257) (layer F.CrtYd) (width .1524))
|
||||
(fp_line (start -2.2479 2.4257) (end -3.7084 2.4257) (layer F.CrtYd) (width .1524))
|
||||
(fp_arc (start 0 -2.5019) (end .3048 -2.5019) (angle 180)(layer F.Fab) (width .1524))
|
||||
(pad 1 smd rect (at -2.72415 -1.905) (size 1.4605 .5334) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 2 smd rect (at -2.72415 -.635) (size 1.4605 .5334) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 3 smd rect (at -2.72415 .635) (size 1.4605 .5334) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 4 smd rect (at -2.72415 1.905) (size 1.4605 .5334) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 5 smd rect (at 2.72415 1.905) (size 1.4605 .5334) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 6 smd rect (at 2.72415 .635) (size 1.4605 .5334) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 7 smd rect (at 2.72415 -.635) (size 1.4605 .5334) (layers F.Cu F.Paste F.Mask))
|
||||
(pad 8 smd rect (at 2.72415 -1.905) (size 1.4605 .5334) (layers F.Cu F.Paste F.Mask))
|
||||
)
|
||||
6
battery_board/battery_board/sym-lib-table
Normal file
6
battery_board/battery_board/sym-lib-table
Normal file
@@ -0,0 +1,6 @@
|
||||
(sym_lib_table
|
||||
(version 7)
|
||||
(lib (name "easyeda2kicad")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff/easyeda2kicad.kicad_sym")(options "")(descr ""))
|
||||
(lib (name "BQ34Z100PWR-G1")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff/BQ34Z100PWR-G1.kicad_sym")(options "")(descr ""))
|
||||
(lib (name "ESP32-DEVKITC-32D")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff/ESP32/ESP32-DEVKITC-32D.kicad_sym")(options "")(descr ""))
|
||||
)
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"board": {
|
||||
"active_layer": 36,
|
||||
"active_layer": 31,
|
||||
"active_layer_preset": "",
|
||||
"auto_track_width": false,
|
||||
"hidden_netclasses": [],
|
||||
@@ -68,7 +68,7 @@
|
||||
39,
|
||||
40
|
||||
],
|
||||
"visible_layers": "ffc7055_fffffff8",
|
||||
"visible_layers": "ffcffff_ffffffff",
|
||||
"zone_display_mode": 1
|
||||
},
|
||||
"git": {
|
||||
|
||||
@@ -60,22 +60,7 @@
|
||||
],
|
||||
"drc_exclusions": [
|
||||
"footprint_symbol_mismatch|177050000|59025000|a624af3d-bffa-4ff7-9554-e16d3c677f69|00000000-0000-0000-0000-000000000000",
|
||||
"footprint_symbol_mismatch|237580000|53970000|c9d8d35b-26b7-4992-9d25-be9130d57b1a|00000000-0000-0000-0000-000000000000",
|
||||
"footprint_symbol_mismatch|256580000|49370000|b33af7ef-63da-4a51-8d8a-183cadd974de|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|09cad967-1882-4dd3-8900-445282e228e5|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|20ab85c0-b3f3-4826-a86d-065fee01e11f|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|3da9717d-9800-42f9-97d1-56d23bf085aa|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|444aab2b-3a9b-444e-b60c-b5b5ff830942|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|6b067fd3-d374-4937-8779-958994d9163b|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|9839c562-7672-4ea8-a74d-bea83ae26677|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|9ce2df19-edf4-40d2-8e85-8c33008b8df0|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|a8ab716a-cd1e-4842-ad8e-3d6d1db9770b|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|aaf09ae3-4ace-49d7-a050-44cb4c93d63b|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|af55e8a2-ba8d-462e-807f-99ca5906f801|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|c36efd78-869f-40e7-86fc-97e5ed683fec|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|d668fda0-e4be-4e1f-95b8-8cd59a67cb21|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|d99401c6-2b75-46f7-8616-cdd7755709ee|00000000-0000-0000-0000-000000000000",
|
||||
"net_conflict|177050000|59025000|f1fd5816-e8bd-4ba6-9d53-54b58d25e2dc|00000000-0000-0000-0000-000000000000"
|
||||
"footprint_symbol_mismatch|237580000|53970000|c9d8d35b-26b7-4992-9d25-be9130d57b1a|00000000-0000-0000-0000-000000000000"
|
||||
],
|
||||
"meta": {
|
||||
"filename": "board_design_settings.json",
|
||||
@@ -98,6 +83,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",
|
||||
@@ -1069,6 +1055,7 @@
|
||||
},
|
||||
"schematic": {
|
||||
"annotate_start_num": 0,
|
||||
"bom_export_filename": "",
|
||||
"bom_fmt_presets": [],
|
||||
"bom_fmt_settings": {
|
||||
"field_delimiter": ",",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
149
board/Symbol_CC-ShareAlike_CopperTop_Big.kicad_mod
Normal file
149
board/Symbol_CC-ShareAlike_CopperTop_Big.kicad_mod
Normal file
@@ -0,0 +1,149 @@
|
||||
(footprint "Symbol_CC-ShareAlike_CopperTop_Big"
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(layer "F.Cu")
|
||||
(descr "Creative Commons symbol, CC-SA, copper layer, 10mm")
|
||||
(tags "share-alike license graphic")
|
||||
(property "Reference" "REF**"
|
||||
(at 0 -6.5 0)
|
||||
(layer "F.SilkS")
|
||||
(hide yes)
|
||||
(uuid "a49c0903-c5e9-4447-afb9-8f0238ae1ab2")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "Symbol_CC-ShareAlike_CopperTop_Big"
|
||||
(at 0 6.5 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "deef8cfb-8120-4aec-8aa1-4863d25f9b8e")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" "Symbol:Symbol_CC-ShareAlike_CopperTop_Big"
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "b50a4d32-5827-4b35-8141-3c032c0996b8")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "d2bf2ff2-8e87-4610-a6d3-62e18d7fa853")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "ed3b082c-1a46-4cc1-935d-4e9b01d5fd0f")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr exclude_from_pos_files exclude_from_bom allow_missing_courtyard)
|
||||
(fp_circle
|
||||
(center 0 0)
|
||||
(end 5 0)
|
||||
(stroke
|
||||
(width 0.8)
|
||||
(type default)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.SilkS")
|
||||
(uuid "5a9cf86c-ff7e-4655-b229-311827e915f6")
|
||||
)
|
||||
(fp_poly
|
||||
(pts
|
||||
(xy 0.174524 -3.205464) (xy 0.342418 -3.194917) (xy 0.50586 -3.17734) (xy 0.664848 -3.152735) (xy 0.81938 -3.121101)
|
||||
(xy 0.969454 -3.082441) (xy 1.115069 -3.036755) (xy 1.256224 -2.984045) (xy 1.392916 -2.924311) (xy 1.525144 -2.857555)
|
||||
(xy 1.652906 -2.783777) (xy 1.776202 -2.70298) (xy 1.895028 -2.615163) (xy 2.009384 -2.520328) (xy 2.119268 -2.418476)
|
||||
(xy 2.224678 -2.309609) (xy 2.324628 -2.195178) (xy 2.418131 -2.076777) (xy 2.505187 -1.954404) (xy 2.585797 -1.828061)
|
||||
(xy 2.659959 -1.697749) (xy 2.727674 -1.563467) (xy 2.788941 -1.425217) (xy 2.84376 -1.282999) (xy 2.892131 -1.136813)
|
||||
(xy 2.934053 -0.986661) (xy 2.969527 -0.832542) (xy 2.998551 -0.674457) (xy 3.021126 -0.512406) (xy 3.037251 -0.346391)
|
||||
(xy 3.046926 -0.176412) (xy 3.050152 -0.002468) (xy 3.046803 0.166411) (xy 3.036756 0.331688) (xy 3.020014 0.493363)
|
||||
(xy 2.996574 0.651436) (xy 2.966439 0.805907) (xy 2.929609 0.956776) (xy 2.886084 1.104044) (xy 2.835866 1.247711)
|
||||
(xy 2.778953 1.387777) (xy 2.715348 1.524243) (xy 2.64505 1.657109) (xy 2.56806 1.786375) (xy 2.484379 1.912041)
|
||||
(xy 2.394007 2.034108) (xy 2.296945 2.152576) (xy 2.193193 2.267445) (xy 2.083982 2.376985) (xy 1.970819 2.479466)
|
||||
(xy 1.853701 2.574887) (xy 1.732626 2.663247) (xy 1.607593 2.744544) (xy 1.478599 2.818777) (xy 1.345641 2.885946)
|
||||
(xy 1.208718 2.946048) (xy 1.067828 2.999084) (xy 0.922968 3.045052) (xy 0.774136 3.083952) (xy 0.62133 3.11578)
|
||||
(xy 0.464548 3.140538) (xy 0.303787 3.158224) (xy 0.139046 3.168836) (xy -0.029677 3.172373) (xy -0.154278 3.170018)
|
||||
(xy -0.27673 3.162953) (xy -0.397033 3.151177) (xy -0.515186 3.134689) (xy -0.63119 3.11349) (xy -0.745043 3.087577)
|
||||
(xy -0.856746 3.056952) (xy -0.966299 3.021614) (xy -1.0737 2.981561) (xy -1.178951 2.936793) (xy -1.28205 2.887311)
|
||||
(xy -1.382997 2.833112) (xy -1.481793 2.774197) (xy -1.578436 2.710566) (xy -1.672926 2.642217) (xy -1.765264 2.56915)
|
||||
(xy -1.854284 2.491742) (xy -1.938751 2.41037) (xy -2.018665 2.325035) (xy -2.094029 2.235734) (xy -2.164843 2.142468)
|
||||
(xy -2.231107 2.045236) (xy -2.292822 1.944038) (xy -2.34999 1.838873) (xy -2.402611 1.72974) (xy -2.450685 1.61664)
|
||||
(xy -2.494214 1.49957) (xy -2.533199 1.378532) (xy -2.567639 1.253524) (xy -2.597537 1.124546) (xy -2.622893 0.991596)
|
||||
(xy -2.643707 0.854676) (xy -1.151114 0.854676) (xy -1.146647 0.921095) (xy -1.139843 0.985406) (xy -1.130703 1.047609)
|
||||
(xy -1.119226 1.107703) (xy -1.105413 1.165688) (xy -1.089264 1.221565) (xy -1.070778 1.275333) (xy -1.049955 1.326992)
|
||||
(xy -1.026797 1.376543) (xy -1.001301 1.423986) (xy -0.97347 1.46932) (xy -0.943301 1.512545) (xy -0.910797 1.553662)
|
||||
(xy -0.875956 1.59267) (xy -0.838778 1.62957) (xy -0.799264 1.664361) (xy -0.757414 1.697043) (xy -0.713227 1.727617)
|
||||
(xy -0.666704 1.756083) (xy -0.617844 1.78244) (xy -0.566648 1.806688) (xy -0.513115 1.828828) (xy -0.457246 1.848859)
|
||||
(xy -0.399041 1.866782) (xy -0.338499 1.882596) (xy -0.27562 1.896302) (xy -0.210405 1.907899) (xy -0.142854 1.917387)
|
||||
(xy -0.072966 1.924767) (xy -0.000742 1.930038) (xy 0.073819 1.933201) (xy 0.150716 1.934255) (xy 0.227767 1.932146)
|
||||
(xy 0.302929 1.925818) (xy 0.3762 1.915271) (xy 0.447579 1.900507) (xy 0.517064 1.881526) (xy 0.584653 1.858328)
|
||||
(xy 0.650347 1.830914) (xy 0.714143 1.799285) (xy 0.776039 1.76344) (xy 0.836035 1.723382) (xy 0.89413 1.679109)
|
||||
(xy 0.950321 1.630623) (xy 1.004607 1.577925) (xy 1.056988 1.521014) (xy 1.107462 1.459891) (xy 1.156027 1.394558)
|
||||
(xy 1.202215 1.325708) (xy 1.245422 1.254038) (xy 1.285647 1.17955) (xy 1.322891 1.102244) (xy 1.357154 1.022122)
|
||||
(xy 1.388436 0.939185) (xy 1.416737 0.853435) (xy 1.442058 0.764873) (xy 1.4644 0.6735) (xy 1.483761 0.579317)
|
||||
(xy 1.500143 0.482327) (xy 1.513546 0.38253) (xy 1.52397 0.279928) (xy 1.531415 0.174522) (xy 1.535882 0.066314)
|
||||
(xy 1.537371 -0.044696) (xy 1.536006 -0.160693) (xy 1.531911 -0.273172) (xy 1.525087 -0.382131) (xy 1.515534 -0.487572)
|
||||
(xy 1.503253 -0.589497) (xy 1.488244 -0.687905) (xy 1.470508 -0.782797) (xy 1.450045 -0.874175) (xy 1.426857 -0.962039)
|
||||
(xy 1.400943 -1.046389) (xy 1.372304 -1.127228) (xy 1.34094 -1.204555) (xy 1.306853 -1.278371) (xy 1.270043 -1.348677)
|
||||
(xy 1.230509 -1.415475) (xy 1.188254 -1.478764) (xy 1.143374 -1.538344) (xy 1.096105 -1.594082) (xy 1.046445 -1.645978)
|
||||
(xy 0.994393 -1.694031) (xy 0.939947 -1.738242) (xy 0.883105 -1.77861) (xy 0.823866 -1.815134) (xy 0.762228 -1.847815)
|
||||
(xy 0.69819 -1.876652) (xy 0.63175 -1.901645) (xy 0.562906 -1.922794) (xy 0.491656 -1.940098) (xy 0.418 -1.953557)
|
||||
(xy 0.341935 -1.963171) (xy 0.26346 -1.96894) (xy 0.182573 -1.970863) (xy 0.038416 -1.966771) (xy -0.097629 -1.954497)
|
||||
(xy -0.225562 -1.93404) (xy -0.345384 -1.9054) (xy -0.402254 -1.888011) (xy -0.457097 -1.868576)
|
||||
(xy -0.509913 -1.847096) (xy -0.560701 -1.823569) (xy -0.609462 -1.797996) (xy -0.656197 -1.770377)
|
||||
(xy -0.700904 -1.740712) (xy -0.743585 -1.709001) (xy -0.784239 -1.675244) (xy -0.822867 -1.639441)
|
||||
(xy -0.859468 -1.601591) (xy -0.894043 -1.561695) (xy -0.926592 -1.519753) (xy -0.957115 -1.475764)
|
||||
(xy -0.985611 -1.42973) (xy -1.012082 -1.381648) (xy -1.036527 -1.331521) (xy -1.058946 -1.279347)
|
||||
(xy -1.07934 -1.225126) (xy -1.097708 -1.168859) (xy -1.114051 -1.110545) (xy -1.128368 -1.050185)
|
||||
(xy -1.150928 -0.923324) (xy -0.716985 -0.923324) (xy -1.891576 0.251453) (xy -3.066352 -0.923324)
|
||||
(xy -2.60111 -0.923139) (xy -2.577854 -1.057483) (xy -2.550382 -1.187981) (xy -2.518695 -1.314633)
|
||||
(xy -2.482791 -1.437439) (xy -2.44267 -1.5564) (xy -2.398331 -1.671514) (xy -2.349774 -1.782782)
|
||||
(xy -2.296998 -1.890204) (xy -2.240003 -1.993781) (xy -2.178788 -2.093511) (xy -2.113353 -2.189395)
|
||||
(xy -2.043697 -2.281434) (xy -1.969819 -2.369626) (xy -1.891719 -2.453973) (xy -1.809397 -2.534473)
|
||||
(xy -1.722852 -2.611128) (xy -1.633032 -2.683524) (xy -1.540815 -2.75125) (xy -1.4462 -2.814304)
|
||||
(xy -1.349188 -2.872688) (xy -1.249778 -2.926402) (xy -1.147969 -2.975444) (xy -1.04376 -3.019816)
|
||||
(xy -0.937152 -3.059517) (xy -0.828143 -3.094547) (xy -0.716733 -3.124907) (xy -0.602922 -3.150596)
|
||||
(xy -0.486708 -3.171614) (xy -0.368092 -3.187962) (xy -0.247072 -3.199639) (xy -0.123649 -3.206645)
|
||||
(xy 0.002179 -3.20898)
|
||||
)
|
||||
(stroke
|
||||
(width 0)
|
||||
(type solid)
|
||||
)
|
||||
(fill solid)
|
||||
(layer "F.SilkS")
|
||||
(uuid "41d5e322-5748-458c-a279-878e83506369")
|
||||
)
|
||||
)
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -5,4 +5,5 @@
|
||||
(lib (name "kicad-stuff")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff")(options "")(descr ""))
|
||||
(lib (name "board")(type "KiCad")(uri "${KIPRJMOD}/")(options "")(descr ""))
|
||||
(lib (name "esp32c6")(type "KiCad")(uri "${KIPRJMOD}/esp32c6")(options "")(descr ""))
|
||||
(lib (name "easyeda2kicad")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff/easyeda2kicad.pretty")(options "")(descr ""))
|
||||
)
|
||||
|
||||
@@ -0,0 +1,337 @@
|
||||
(footprint "AMASS_XT30UPB+DATA-M_1x02_P5.0mm_Vertical"
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(layer "F.Cu")
|
||||
(descr "Connector XT30 Vertical PCB Male, https://www.tme.eu/en/Document/4acc913878197f8c2e30d4b8cdc47230/XT30UPB%20SPEC.pdf")
|
||||
(tags "RC Connector XT30")
|
||||
(property "Reference" "REF**"
|
||||
(at 2.5 -4 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "f7510d54-dcb1-4c3b-b842-cd250a98370c")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "AMASS_XT30UPB+DATA-M_1x02_P5.0mm_Vertical"
|
||||
(at 2.5 4 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "c5a8a60c-4ea1-4401-a30c-34d36be61c07")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "8fb27306-c085-4316-b554-4ba9be794054")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "74b71861-05d2-4229-8e81-25952aaaef7e")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(unlocked yes)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "a1d16ecc-7e64-48c4-b772-a9255380960d")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr through_hole)
|
||||
(fp_line
|
||||
(start -2.71 -1.41)
|
||||
(end -2.71 1.41)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e96c6ad2-9ca6-4df1-b35b-76e090d7ff4e")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.71 -1.41)
|
||||
(end -1.01 -2.71)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "0784d204-0a48-4a2b-8085-50e1ff7a1493")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.71 1.41)
|
||||
(end -1.01 2.71)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "db750970-e424-4a8e-a882-20a90baabffc")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.01 -2.71)
|
||||
(end 7.71 -2.71)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "9f23420e-db87-438c-a708-676a0616966e")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.01 2.71)
|
||||
(end 7.71 2.71)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "2ba574e3-9de5-4d7d-9777-e19e6fa702e7")
|
||||
)
|
||||
(fp_line
|
||||
(start 7.71 -2.71)
|
||||
(end 7.71 2.71)
|
||||
(stroke
|
||||
(width 0.12)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "2018cc6b-6115-4763-8b7c-54b60affbda7")
|
||||
)
|
||||
(fp_rect
|
||||
(start -6.3 -2.71)
|
||||
(end 7.71 2.7)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type default)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.SilkS")
|
||||
(uuid "11aac399-c862-4b67-9828-087abeea5b1b")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.1 -1.8)
|
||||
(end -3.1 1.8)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "06ae69d8-1372-4524-8b1a-27a2f062f1c5")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.1 -1.8)
|
||||
(end -1.4 -3.1)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "ae869a92-c688-4f2b-82ca-0578106a035a")
|
||||
)
|
||||
(fp_line
|
||||
(start -3.1 1.8)
|
||||
(end -1.4 3.1)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "cac6d927-6ba1-4095-825b-f94ee0d7abe9")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.4 -3.1)
|
||||
(end 8.1 -3.1)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "fb4fa373-5492-4717-a9fe-7b69f4c53ba0")
|
||||
)
|
||||
(fp_line
|
||||
(start -1.4 3.1)
|
||||
(end 8.1 3.1)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "70296c77-546d-44a2-b5d3-e6dc58cf713b")
|
||||
)
|
||||
(fp_line
|
||||
(start 8.1 -3.1)
|
||||
(end 8.1 3.1)
|
||||
(stroke
|
||||
(width 0.05)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.CrtYd")
|
||||
(uuid "64764a09-de32-4f35-b54a-17e44810370f")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.6 -1.3)
|
||||
(end -2.6 1.3)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "8d7ee7cb-5dda-453f-aa9a-6420c87f1b8e")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.6 -1.3)
|
||||
(end -0.9 -2.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "2fa3ad90-36bb-4374-95ed-e44e50c7e385")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.6 1.3)
|
||||
(end -0.9 2.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "2e4f8556-ffc2-4791-91da-e68c3513337e")
|
||||
)
|
||||
(fp_line
|
||||
(start -0.9 -2.6)
|
||||
(end 7.6 -2.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "cb9cd8af-1997-41db-b9fe-8982960ac6db")
|
||||
)
|
||||
(fp_line
|
||||
(start -0.9 2.6)
|
||||
(end 7.6 2.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "ea8a6c02-e974-4677-a854-a0891c323245")
|
||||
)
|
||||
(fp_line
|
||||
(start 7.6 -2.6)
|
||||
(end 7.6 2.6)
|
||||
(stroke
|
||||
(width 0.1)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.Fab")
|
||||
(uuid "c66f305c-0d56-4591-bc02-23252ad20321")
|
||||
)
|
||||
(fp_text user "-"
|
||||
(at -4 0 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "c119570a-6846-48dc-9422-0b5665ab2df6")
|
||||
(effects
|
||||
(font
|
||||
(size 1.5 1.5)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(fp_text user "+"
|
||||
(at 9 0 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "d6ab678c-47f7-47e0-869b-ef3b9dbd1ba9")
|
||||
(effects
|
||||
(font
|
||||
(size 1.5 1.5)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 2.5 0 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "a70efd12-1491-4664-ae98-5b2b7f52a502")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "1" thru_hole rect
|
||||
(at 0 0)
|
||||
(size 3 3)
|
||||
(drill 1.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "3a0f3b23-814b-4df9-a02c-3d9fed9e23c9")
|
||||
)
|
||||
(pad "2" thru_hole circle
|
||||
(at 5 0)
|
||||
(size 3 3)
|
||||
(drill 1.8)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "d897d74a-a13b-47cf-9806-eb8a75fe8d08")
|
||||
)
|
||||
(pad "3" thru_hole circle
|
||||
(at -3.9 -1)
|
||||
(size 1.524 1.524)
|
||||
(drill 1)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "02a8c3fc-d75c-47a4-a907-f9191ff19e2c")
|
||||
)
|
||||
(pad "4" thru_hole circle
|
||||
(at -3.9 1)
|
||||
(size 1.524 1.524)
|
||||
(drill 1)
|
||||
(layers "*.Cu" "*.Mask")
|
||||
(remove_unused_layers no)
|
||||
(uuid "2000b5b8-f7c9-40a8-9010-65c16d2aefce")
|
||||
)
|
||||
(model "${KICAD8_3DMODEL_DIR}/Connector_AMASS.3dshapes/AMASS_XT30UPB-M_1x02_P5.0mm_Vertical.wrl"
|
||||
(offset
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
25767
board/kicad-stuff/easyeda2kicad.3dshapes/MINI-USB-SMD_UX-144S-ACP5.step
Normal file
25767
board/kicad-stuff/easyeda2kicad.3dshapes/MINI-USB-SMD_UX-144S-ACP5.step
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
111
board/kicad-stuff/easyeda2kicad.kicad_sym
Normal file
111
board/kicad-stuff/easyeda2kicad.kicad_sym
Normal file
@@ -0,0 +1,111 @@
|
||||
(kicad_symbol_lib
|
||||
(version 20211014)
|
||||
(generator https://github.com/uPesy/easyeda2kicad.py)
|
||||
(symbol "UX-144S-ACP5"
|
||||
(in_bom yes)
|
||||
(on_board yes)
|
||||
(property
|
||||
"Reference"
|
||||
"USB"
|
||||
(id 0)
|
||||
(at 0 11.43 0)
|
||||
(effects (font (size 1.27 1.27) ) )
|
||||
)
|
||||
(property
|
||||
"Value"
|
||||
"UX-144S-ACP5"
|
||||
(id 1)
|
||||
(at 0 -8.89 0)
|
||||
(effects (font (size 1.27 1.27) ) )
|
||||
)
|
||||
(property
|
||||
"Footprint"
|
||||
"easyeda2kicad:MINI-USB-SMD_UX-144S-ACP5"
|
||||
(id 2)
|
||||
(at 0 -11.43 0)
|
||||
(effects (font (size 1.27 1.27) ) hide)
|
||||
)
|
||||
(property
|
||||
"Datasheet"
|
||||
"https://lcsc.com/product-detail/USB-Connectors_XUNPU-UX-144S-ACP5_C720611.html"
|
||||
(id 3)
|
||||
(at 0 -13.97 0)
|
||||
(effects (font (size 1.27 1.27) ) hide)
|
||||
)
|
||||
(property
|
||||
"LCSC Part"
|
||||
"C720611"
|
||||
(id 5)
|
||||
(at 0 -16.51 0)
|
||||
(effects (font (size 1.27 1.27) ) hide)
|
||||
)
|
||||
(symbol "UX-144S-ACP5_0_1"
|
||||
(rectangle
|
||||
(start -7.62 8.89)
|
||||
(end 7.62 -6.35)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type background))
|
||||
)
|
||||
(circle
|
||||
(center -6.35 7.62)
|
||||
(radius 0.38)
|
||||
(stroke (width 0) (type default) (color 0 0 0 0))
|
||||
(fill (type none))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at 10.16 5.08 180)
|
||||
(length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "9" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at 10.16 2.54 180)
|
||||
(length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "8" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at 10.16 -0.00 180)
|
||||
(length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "7" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at 10.16 -2.54 180)
|
||||
(length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "6" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at -10.16 -3.81 0)
|
||||
(length 2.54)
|
||||
(name "GND" (effects (font (size 1.27 1.27))))
|
||||
(number "5" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at -10.16 -1.27 0)
|
||||
(length 2.54)
|
||||
(name "ID" (effects (font (size 1.27 1.27))))
|
||||
(number "4" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at -10.16 1.27 0)
|
||||
(length 2.54)
|
||||
(name "D+" (effects (font (size 1.27 1.27))))
|
||||
(number "3" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at -10.16 3.81 0)
|
||||
(length 2.54)
|
||||
(name "D-" (effects (font (size 1.27 1.27))))
|
||||
(number "2" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
(pin unspecified line
|
||||
(at -10.16 6.35 0)
|
||||
(length 2.54)
|
||||
(name "VBUS" (effects (font (size 1.27 1.27))))
|
||||
(number "1" (effects (font (size 1.27 1.27))))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -0,0 +1,256 @@
|
||||
(footprint "MINI-USB-SMD_UX-144S-ACP5"
|
||||
(version 20240108)
|
||||
(generator "pcbnew")
|
||||
(generator_version "8.0")
|
||||
(layer "F.Cu")
|
||||
(property "Reference" "REF**"
|
||||
(at 0 -6.85 0)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e22138c6-3cb3-4e3c-ba92-a1710585cb5a")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Value" "MINI-USB-SMD_UX-144S-ACP5"
|
||||
(at 0 6.85 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "858a2627-e471-4bfb-9d6c-fd1b80f75161")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Footprint" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "e47c3973-5f77-49a7-9761-9ae10304f142")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Datasheet" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "26eeaf8e-5561-47b5-8bd4-deeb0ff6028a")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(property "Description" ""
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(hide yes)
|
||||
(uuid "df698dc1-8038-47dd-b09b-19d65b3be886")
|
||||
(effects
|
||||
(font
|
||||
(size 1.27 1.27)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(attr smd)
|
||||
(fp_line
|
||||
(start -4.7 1.67)
|
||||
(end -4.7 -1.47)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "03440d98-e390-4a02-b4b0-b92205207476")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.7 5.84)
|
||||
(end -4.7 4.03)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "dba5fb97-b84e-4a41-85a6-f4fdb2339977")
|
||||
)
|
||||
(fp_line
|
||||
(start -4.7 5.84)
|
||||
(end 4.7 5.84)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e9634972-07de-4463-b72c-20fdc7e82f51")
|
||||
)
|
||||
(fp_line
|
||||
(start -2.08 -3.56)
|
||||
(end -3.22 -3.56)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "dc5e02c5-dbda-406e-be24-d4fd6d4d39b2")
|
||||
)
|
||||
(fp_line
|
||||
(start 3.22 -3.56)
|
||||
(end 2.08 -3.56)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "e1775f8a-42ad-41b1-8e07-5553a0c1f786")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.7 1.67)
|
||||
(end 4.7 -1.47)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "b21655b3-f4bd-4a22-9260-c998017c187d")
|
||||
)
|
||||
(fp_line
|
||||
(start 4.7 5.84)
|
||||
(end 4.7 4.03)
|
||||
(stroke
|
||||
(width 0.25)
|
||||
(type solid)
|
||||
)
|
||||
(layer "F.SilkS")
|
||||
(uuid "b8716775-fa34-44c7-9a12-b008ee829381")
|
||||
)
|
||||
(fp_circle
|
||||
(center -2.2 -0.1)
|
||||
(end -2.01 -0.1)
|
||||
(stroke
|
||||
(width 0.38)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "Cmts.User")
|
||||
(uuid "de63054b-d560-446e-acd5-3d574530415b")
|
||||
)
|
||||
(fp_circle
|
||||
(center 2.2 -0.1)
|
||||
(end 2.39 -0.1)
|
||||
(stroke
|
||||
(width 0.38)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "Cmts.User")
|
||||
(uuid "81ac27ac-99bd-4e20-acf0-7bd310da8d42")
|
||||
)
|
||||
(fp_circle
|
||||
(center -4.67 -3.46)
|
||||
(end -4.64 -3.46)
|
||||
(stroke
|
||||
(width 0.06)
|
||||
(type solid)
|
||||
)
|
||||
(fill none)
|
||||
(layer "F.Fab")
|
||||
(uuid "fd695e98-9e3b-4a37-8976-4cf48758b0bb")
|
||||
)
|
||||
(fp_text user "${REFERENCE}"
|
||||
(at 0 0 0)
|
||||
(layer "F.Fab")
|
||||
(uuid "ebb3e71d-8b4f-4e74-a06c-fa75e65fb5ea")
|
||||
(effects
|
||||
(font
|
||||
(size 1 1)
|
||||
(thickness 0.15)
|
||||
)
|
||||
)
|
||||
)
|
||||
(pad "" smd circle
|
||||
(at -2.2 -0.1)
|
||||
(size 1 1)
|
||||
(layers "F.Paste")
|
||||
(uuid "bd4630f6-b596-42aa-a67b-d92affdad121")
|
||||
)
|
||||
(pad "" smd circle
|
||||
(at 2.2 -0.1)
|
||||
(size 1 1)
|
||||
(layers "F.Paste")
|
||||
(uuid "5600899a-4eef-439b-b910-bd9b182b3af5")
|
||||
)
|
||||
(pad "1" smd rect
|
||||
(at -1.6 -2.85)
|
||||
(size 0.5 1.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "335fc2d7-32d6-4034-8537-3e4ecdbb698e")
|
||||
)
|
||||
(pad "2" smd rect
|
||||
(at -0.8 -2.85)
|
||||
(size 0.5 1.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "ad9d26c5-067e-4461-a7de-8849dc9b3d7a")
|
||||
)
|
||||
(pad "3" smd rect
|
||||
(at 0 -2.85)
|
||||
(size 0.5 1.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "07c2e01e-14f9-40a4-a86a-be138db1f386")
|
||||
)
|
||||
(pad "4" smd rect
|
||||
(at 0.8 -2.85)
|
||||
(size 0.5 1.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "d6db4c4a-622f-481f-9577-0021a75fe066")
|
||||
)
|
||||
(pad "5" smd rect
|
||||
(at 1.6 -2.85)
|
||||
(size 0.5 1.7)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "775ff58f-f278-4d45-878f-eb1e67ee5746")
|
||||
)
|
||||
(pad "6" smd rect
|
||||
(at -4.17 -2.65)
|
||||
(size 1.45 1.9)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "b5e05f8a-9ee3-4e04-b21c-09af79a7cad4")
|
||||
)
|
||||
(pad "7" smd rect
|
||||
(at -4.17 2.85)
|
||||
(size 1.45 1.9)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "3fd2e9c6-b2e3-46a8-9255-7cd472742419")
|
||||
)
|
||||
(pad "8" smd rect
|
||||
(at 4.17 2.85)
|
||||
(size 1.45 1.9)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "1d175ab4-356e-4f51-b58d-b305fd7c0af9")
|
||||
)
|
||||
(pad "9" smd rect
|
||||
(at 4.17 -2.65)
|
||||
(size 1.45 1.9)
|
||||
(layers "F.Cu" "F.Paste" "F.Mask")
|
||||
(uuid "875b3383-2651-4a80-aa85-613ada3fbbba")
|
||||
)
|
||||
(model "${KIPRJMOD}/kicad-stuff/easyeda2kicad.3dshapes/MINI-USB-SMD_UX-144S-ACP5.step"
|
||||
(offset
|
||||
(xyz 0 -1.25 2)
|
||||
)
|
||||
(scale
|
||||
(xyz 1 1 1)
|
||||
)
|
||||
(rotate
|
||||
(xyz 0 0 0)
|
||||
)
|
||||
)
|
||||
)
|
||||
Binary file not shown.
BIN
board/production/backups/PlantCtrlESP32_2024-06-03_21-42-02.zip
Normal file
BIN
board/production/backups/PlantCtrlESP32_2024-06-03_21-42-02.zip
Normal file
Binary file not shown.
BIN
board/production/backups/PlantCtrlESP32_2024-06-04_01-38-57.zip
Normal file
BIN
board/production/backups/PlantCtrlESP32_2024-06-04_01-38-57.zip
Normal file
Binary file not shown.
BIN
board/production/backups/PlantCtrlESP32_2024-06-04_01-47-41.zip
Normal file
BIN
board/production/backups/PlantCtrlESP32_2024-06-04_01-47-41.zip
Normal file
Binary file not shown.
BIN
board/production/backups/PlantCtrlESP32_2024-08-29_22-21-45.zip
Normal file
BIN
board/production/backups/PlantCtrlESP32_2024-08-29_22-21-45.zip
Normal file
Binary file not shown.
1376
board/production/netlist.ipc
Normal file
1376
board/production/netlist.ipc
Normal file
File diff suppressed because it is too large
Load Diff
@@ -9,4 +9,5 @@
|
||||
(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 "ESP32-C6-WROOM-1-N8")(type "KiCad")(uri "${KIPRJMOD}/esp32c6/ESP32-C6-WROOM-1-N8.kicad_sym")(options "")(descr ""))
|
||||
(lib (name "easyeda2kicad")(type "KiCad")(uri "${KIPRJMOD}/kicad-stuff/easyeda2kicad.kicad_sym")(options "")(descr ""))
|
||||
)
|
||||
|
||||
BIN
example.png
Normal file
BIN
example.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 858 KiB |
BIN
pcb_back.png
Normal file
BIN
pcb_back.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 452 KiB |
BIN
pcb_front.png
Normal file
BIN
pcb_front.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 302 KiB |
@@ -4,11 +4,14 @@ target = "riscv32imac-esp-espidf"
|
||||
|
||||
[target.riscv32imac-esp-espidf]
|
||||
linker = "ldproxy"
|
||||
# runner = "espflash flash --monitor --partition-table partitions.csv -b no-reset" # Select this runner for espflash v2.x.x
|
||||
# runner = "espflash flash --monitor --baud 921600 --partition-table partitions.csv -b no-reset" # Select this runner for espflash v2.x.x
|
||||
# runner = espflash erase-parts otadata
|
||||
#runner = "espflash flash --monitor --baud 921600 --partition-table partitions.csv -b no-reset" # Select this runner in case of usb ttl
|
||||
runner = "espflash flash --monitor --baud 921600 --flash-size 16mb --partition-table partitions.csv"
|
||||
#runner = "cargo runner"
|
||||
|
||||
|
||||
#runner = "espflash flash --monitor --partition-table partitions.csv -b no-reset" # create upgrade image file for webupload
|
||||
# runner = espflash erase-parts otadata //ensure flash is clean
|
||||
|
||||
runner = "cargo runner"
|
||||
rustflags = [ "--cfg", "espidf_time64"] # Extending time_t for ESP IDF 5: https://github.com/esp-rs/rust/issues/110
|
||||
|
||||
[unstable]
|
||||
|
||||
@@ -4,7 +4,7 @@ version = "0.1.0"
|
||||
authors = ["Empire Phoenix"]
|
||||
edition = "2021"
|
||||
resolver = "2"
|
||||
rust-version = "1.71"
|
||||
#rust-version = "1.71"
|
||||
|
||||
[profile.dev]
|
||||
# Explicitly disable LTO which the Xtensa codegen backend has issues
|
||||
@@ -28,7 +28,9 @@ command = [
|
||||
"save-image",
|
||||
"--chip",
|
||||
"esp32c6",
|
||||
"image.bin"
|
||||
"image.bin",
|
||||
"--partition-table",
|
||||
"partitions.csv"
|
||||
]
|
||||
|
||||
|
||||
@@ -37,7 +39,6 @@ partition_table = "partitions.csv"
|
||||
|
||||
[features]
|
||||
default = ["std", "embassy", "esp-idf-svc/native"]
|
||||
|
||||
pio = ["esp-idf-svc/pio"]
|
||||
std = ["alloc", "esp-idf-svc/binstart", "esp-idf-svc/std"]
|
||||
alloc = ["esp-idf-svc/alloc"]
|
||||
@@ -46,37 +47,57 @@ experimental = ["esp-idf-svc/experimental"]
|
||||
embassy = ["esp-idf-svc/embassy-sync", "esp-idf-svc/critical-section", "esp-idf-svc/embassy-time-driver"]
|
||||
|
||||
[dependencies]
|
||||
log = { version = "0.4", default-features = false }
|
||||
serde = { version = "1.0.192", features = ["derive"] }
|
||||
average = { version = "0.14.1" , features = ["std"] }
|
||||
#esp32 = "0.28.0"
|
||||
bit_field = "0.10.2"
|
||||
#ESP stuff
|
||||
embedded-svc = { version = "0.28.1", features = ["experimental"] }
|
||||
esp-idf-hal = "0.45.2"
|
||||
esp-idf-sys = { version = "0.36.1", features = ["binstart", "native"] }
|
||||
esp-idf-svc = { version = "0.51.0", default-features = false }
|
||||
embedded-hal = "1.0.0"
|
||||
heapless = { version = "0.8", features = ["serde"] }
|
||||
embedded-hal-bus = { version = "0.2.0", features = ["std"] }
|
||||
|
||||
#Hardware additional driver
|
||||
ds18b20 = "0.1.1"
|
||||
embedded-svc = { version = "0.27.0", features = ["experimental"] }
|
||||
esp-idf-hal = "0.43.0"
|
||||
esp-idf-sys = { version = "0.34.0", features = ["binstart", "native"] }
|
||||
esp-idf-svc = { version = "0.48.0", default-features = false }
|
||||
esp_idf_build = "0.1.3"
|
||||
bq34z100 = { version = "0.3.0", features = ["flashstream"] }
|
||||
one-wire-bus = "0.1.1"
|
||||
ds323x = "0.6.0"
|
||||
|
||||
#pure code dependencies
|
||||
log = { version = "0.4", default-features = false }
|
||||
once_cell = "1.19.0"
|
||||
anyhow = { version = "1.0.75", features = ["std", "backtrace"] }
|
||||
average = { version = "0.14.1" , features = ["std"] }
|
||||
bit_field = "0.10.2"
|
||||
strum = { version = "0.27.0", features = ["derive"] }
|
||||
measurements = "0.11.0"
|
||||
schemars = "0.8.16"
|
||||
|
||||
#json
|
||||
serde = { version = "1.0.192", features = ["derive"] }
|
||||
serde_json = "1.0.108"
|
||||
|
||||
#timezone
|
||||
chrono = { version = "0.4.23", default-features = false , features = ["iana-time-zone" , "alloc"] }
|
||||
chrono-tz = {version="0.8.0", default-features = false , features = [ "filter-by-regex" ]}
|
||||
embedded-hal = "1.0.0"
|
||||
one-wire-bus = "0.1.1"
|
||||
anyhow = { version = "1.0.75", features = ["std", "backtrace"] }
|
||||
schemars = "0.8.16"
|
||||
heapless = { version = "0.8", features = ["serde"] }
|
||||
serde_json = "1.0.108"
|
||||
strum = { version = "0.26.1", features = ["derive"] }
|
||||
once_cell = "1.19.0"
|
||||
measurements = "0.11.0"
|
||||
bq34z100 = "0.2.1"
|
||||
eeprom24x = "0.7.2"
|
||||
url = "2.5.3"
|
||||
crc = "3.2.1"
|
||||
bincode = "1.3.3"
|
||||
ringbuffer = "0.15.0"
|
||||
text-template = "0.1.0"
|
||||
strum_macros = "0.27.0"
|
||||
|
||||
|
||||
[patch.crates-io]
|
||||
#esp-idf-hal = { git = "https://github.com/esp-rs/esp-idf-hal.git" }
|
||||
esp-idf-hal = { git = "https://github.com/empirephoenix/esp-idf-hal.git" }
|
||||
#esp-idf-hal = { git = "https://github.com/empirephoenix/esp-idf-hal.git" }
|
||||
#esp-idf-sys = { git = "https://github.com/empirephoenix/esp-idf-sys.git" }
|
||||
#esp-idf-sys = { git = "https://github.com/esp-rs/esp-idf-sys.git" }
|
||||
#esp-idf-svc = { git = "https://github.com/esp-rs/esp-idf-svc.git" }
|
||||
ds323x = { git = "https://github.com/empirephoenix/ds323x-rs.git" }
|
||||
#bq34z100 = { path = "../../bq34z100_rust" }
|
||||
|
||||
[build-dependencies]
|
||||
embuild = "0.31.3"
|
||||
cc = "=1.1.30"
|
||||
embuild = { version= "0.32.0", features = ["espidf"]}
|
||||
vergen = { version = "8.2.6", features = ["build", "git", "gitcl"] }
|
||||
|
||||
2230
rust/bq34z100_golden_image/0100_2_02-bq34z100.bq.fs
Normal file
2230
rust/bq34z100_golden_image/0100_2_02-bq34z100.bq.fs
Normal file
File diff suppressed because it is too large
Load Diff
197
rust/bq34z100_golden_image/0100_2_02-bq34z100.df.fs
Normal file
197
rust/bq34z100_golden_image/0100_2_02-bq34z100.df.fs
Normal file
@@ -0,0 +1,197 @@
|
||||
;--------------------------------------------------------
|
||||
;Verify Existing Firmware Version
|
||||
;--------------------------------------------------------
|
||||
W: AA 00 01 00
|
||||
C: AA 00 01 00
|
||||
W: AA 00 02 00
|
||||
C: AA 00 02 00
|
||||
;--------------------------------------------------------
|
||||
;Unseal device
|
||||
;--------------------------------------------------------
|
||||
W: AA 00 14 04
|
||||
W: AA 00 72 36
|
||||
W: AA 00 FF FF
|
||||
W: AA 00 FF FF
|
||||
X: 1000
|
||||
;--------------------------------------------------------
|
||||
;Go To ROM Mode
|
||||
;--------------------------------------------------------
|
||||
W: AA 00 00 0F
|
||||
X: 1000
|
||||
;--------------------------------------------------------
|
||||
;Data Block
|
||||
;--------------------------------------------------------
|
||||
W: 16 00 03 00 00
|
||||
W: 16 64 03 00
|
||||
X: 20
|
||||
C: 16 66 00
|
||||
W: 16 00 02 00 00 00 EA FF 33 FA FA 33 B5 FB 33 95 FE 33 AD FE 33 FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F FF FF 3F 02 02 3F 58 CB 33 C3 A0 08 1F 00 00 00 00 00 FF AA 0E FB A7 0E FF A6 0E FF A1 0E FF A0 0E FE A3 0E 54 A2 0E DE FF 3A 67 FF 3A E2 FF 33 FF AF 0E
|
||||
W: 16 64 3D 38
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 02 01 00 00 01 4F 03 3F 11 0C D9 FF 30 E0 FF 35 2F 10 0C E0 FF 35 FF FF 23 E3 AF 04 E2 BF 04 D1 FF 36 E2 A0 04 E3 A1 04 00 C7 02 01 C6 02 E5 AF 04 E3 BF 01 E4 AF 04 E2 BF 01 FF AC 0E E1 1C 04 8A FF 31 E2 A0 04 E3 A1 04 02 AB 18 7F 2B 0E FF 1B 0E BF FF 32 FC FA 0E FB AF 0C 02 2B 18 FF 1B 0E 98 FF 36
|
||||
W: 16 64 AE 2C
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 05
|
||||
W: 16 64 05 00
|
||||
X: 170
|
||||
C: 16 66 00
|
||||
C: 16 04 0A 91 AF DC
|
||||
W: 16 00 0C 00 00 00 83 DE
|
||||
W: 16 64 6D 01
|
||||
X: 400
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 00 00 00 7F 71 20 5C 94 08 98 C0 FB 50 00 00 00 00 13 88 51 F6 C9 F4 14 52 09 21 32 6D 00 00 00 00 D0 7E
|
||||
W: 16 64 D1 0A
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 01 00 00 17 DF 00 00 17 F3 00 00 3A 36 FD 91 00 25 30 01 00 EF 05 11 05 01 00 00 10 01 00 3C 00 50 3C 00
|
||||
W: 16 64 43 06
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 02 00 00 64 3C 00 20 03 E8 00 00 04 10 68 FE D5 FB 95 00 02 00 14 03 E8 01 00 01 F4 00 1E 00 3C 0E 10 00
|
||||
W: 16 64 05 08
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 03 00 00 0A 46 05 32 01 0F 01 F4 00 64 46 50 0A 0E D8 0E 99 01 90 00 64 19 00 01 00 14 00 01 00 14 03 23
|
||||
W: 16 64 88 05
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 04 00 00 07 08 25 5A 32 0F 64 60 00 A0 0B B8 00 C8 28 01 F4 00 00 00 00 00 00 00 00 00 00 43 80 04 00 00
|
||||
W: 16 64 B0 05
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 05 00 00 0F 00 2A 04 0A 7D 00 00 01 0A FE 76 E7 54 00 28 03 E8 02 01 2C F0 00 01 07 10 63 10 48 10 2D 10
|
||||
W: 16 64 DF 06
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 06 00 00 15 0F FC 0F E6 0F D0 0F BC 0F A8 0F 96 0F 84 0F 74 0F 65 0F 56 0F 45 0F 30 0F 1C 0F 09 0E F9 0E
|
||||
W: 16 64 05 09
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 07 00 00 EF 0E E6 0E DF 0E D8 0E D3 0E CF 0E CB 0E CA 0E C9 0E C7 0E C2 0E B8 0E AC 0E 9A 0E 85 0E 7B 0E
|
||||
W: 16 64 04 0D
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 08 00 00 75 0E 56 0E 30 0D AB 0A 69 FF 2B FF 41 FF 56 FF 61 FF 67 FF 3B FF 16 FF 21 FF 21 FE EB FE B5 FE
|
||||
W: 16 64 02 12
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 09 00 00 7F FE 5E FE 7F FE E8 00 02 00 9A 00 2E FF E2 FF CD FF B7 FF A1 FF 77 FF 36 FE DA FE 62 FC F3 FA
|
||||
W: 16 64 EA 15
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 0A 00 00 B3 F8 ED F7 7C F7 3B F7 B2 F7 FC F8 32 F8 F7 F9 F0 F9 B0 F9 18 EC 9D 4D C0 FF 65 FF AC FF 98 FF
|
||||
W: 16 64 E4 18
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 0B 00 00 75 FF BB FF 82 FF 93 FF BB FF D5 FF E4 FF CE FF AD 00 80 FF 73 00 00 FF 16 FE EC FE ED FE DC FE
|
||||
W: 16 64 F5 17
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 0C 00 00 F3 FF 09 FE F7 FE AC FE 9E FE C6 FE DA FE DC FE 8E FF 75 00 00 00 00 01 C2 00 32 FF CE 02 26 64
|
||||
W: 16 64 10 13
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 0D 00 00 7B 20 00 00 60 7E 00 00 00 00 64 00 19 00 64 28 63 5F 64 62 00 64 00 1E 00 B4 00 64 00 F0 00 FA
|
||||
W: 16 64 A5 07
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 0E 00 00 11 10 10 68 41 D9 AF 37 00 00 00 01 00 14 00 00 0A F0 00 0A 05 00 32 01 C2 14 14 00 00 3C 00 4B
|
||||
W: 16 64 73 05
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 0F 00 00 00 28 00 3C 3C 01 90 36 72 04 14 FF FF FF FF 01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10 04
|
||||
W: 16 64 02 0E
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 10 00 00 01 2C 00 C8 00 00 00 00 00 A0 00 AF 00 00 0A 64 01 00 3C 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
W: 16 64 09 03
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
W: 16 64 1B 00
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 12 00 00 02 26 02 01 F4 02 58 02 02 26 0E 00 00 00 00 00 00 00 00 00 00 00 00 01 00 DC 84 E5 5F 00 00 0E
|
||||
W: 16 64 80 04
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 13 00 00 10 00 00 00 01 00 00 03 84 64 03 E8 15 18 FE 70 10 68 10 68 10 04 0A 32 1E 00 0A 2D 37 01 01 01
|
||||
W: 16 64 6E 05
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 14 00 00 0B 62 71 33 34 7A 31 30 30 2D 47 31 0B 54 65 78 61 73 20 49 6E 73 74 2E 04 4C 49 4F 4E 00 96 00
|
||||
W: 16 64 DB 08
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 15 00 00 AF 00 4B 00 64 0A F0 02 0B 54 10 CC 02 10 68 64 01 03 05 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
W: 16 64 9B 04
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
W: 16 64 13 0D
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 17 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
W: 16 64 01 20
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 18 00 00 FF 55 00 69 00 64 00 71 00 8F 00 62 00 61 00 6C 00 59 00 56 00 55 00 57 00 5A 00 6E 02 87 05 DC
|
||||
W: 16 64 FF 07
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
W: 16 64 23 00
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 1A 00 00 FF FF 00 69 00 64 00 71 00 8F 00 62 00 61 00 6C 00 59 00 56 00 55 00 57 00 5A 00 6E 02 87 05 DC
|
||||
W: 16 64 AB 08
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 1B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
W: 16 64 25 00
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 1C 00 00 64 3C 00 20 03 E8 00 00 04 10 68 FE D5 FB 95 00 02 00 14 03 E8 01 00 01 F4 00 1E 00 3C 0E 10 00
|
||||
W: 16 64 1F 08
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 1D 00 00 0A 46 05 32 01 0F 01 F4 00 64 46 50 0A 0E D8 0E 99 01 90 00 64 19 00 01 00 14 00 01 00 14 03 23
|
||||
W: 16 64 A2 05
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 1E 00 00 FF FF FF FF 00 00 00 01 FF FF FF FD FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
W: 16 64 0B 1C
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 0A 1F 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
W: 16 64 09 20
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
W: 16 00 08
|
||||
W: 16 64 08 00
|
||||
X: 2
|
||||
C: 16 66 00
|
||||
C: 16 04 5B 67
|
||||
W: 16 00 05
|
||||
W: 16 64 05 00
|
||||
X: 170
|
||||
C: 16 66 00
|
||||
C: 16 04 0A 91 AF DC
|
||||
W: 16 00 01 00 00 05 54 54 15
|
||||
W: 16 64 C3 00
|
||||
X: 20
|
||||
C: 16 66 00
|
||||
W: 16 00 05
|
||||
W: 16 64 05 00
|
||||
X: 170
|
||||
C: 16 66 00
|
||||
C: 16 04 5F E5 84 DC
|
||||
;--------------------------------------------------------
|
||||
;Execute Flash Code
|
||||
;--------------------------------------------------------
|
||||
W: 16 00 0F
|
||||
W: 16 64 0F 00
|
||||
X: 4000
|
||||
3172
rust/bq34z100_golden_image/0100_2_02-bq34z100.srec
Normal file
3172
rust/bq34z100_golden_image/0100_2_02-bq34z100.srec
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
nvs, data, nvs, , 16k,
|
||||
otadata, data, ota, , 8k,
|
||||
phy_init, data, phy, , 4k,
|
||||
ota_0, app, ota_0, , 1792K,
|
||||
ota_1, app, ota_1, , 1792K,
|
||||
storage, data, spiffs, , 400K,
|
||||
ota_0, app, ota_0, , 6M,
|
||||
ota_1, app, ota_1, , 6M,
|
||||
storage, data, spiffs, , 3800k,
|
||||
|
@@ -1,5 +1,5 @@
|
||||
# Rust often needs a bit of an extra main task stack size compared to C (the default is 3K)
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=25000
|
||||
CONFIG_ESP_MAIN_TASK_STACK_SIZE=50000
|
||||
|
||||
# Use this to set FreeRTOS kernel tick frequency to 1000 Hz (100 Hz by default).
|
||||
# This allows to use 1 ms granuality for thread sleeps (10 ms by default).
|
||||
|
||||
@@ -1,58 +1,77 @@
|
||||
use std::{fmt, str::FromStr};
|
||||
use std::str::FromStr;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::PLANT_COUNT;
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
|
||||
pub struct Config {
|
||||
pub mqtt_url: heapless::String<128>,
|
||||
pub base_topic: heapless::String<64>,
|
||||
pub max_consecutive_pump_count: u8,
|
||||
pub struct NetworkConfig {
|
||||
pub ap_ssid: heapless::String<32>,
|
||||
pub ssid: Option<heapless::String<32>>,
|
||||
pub password: Option<heapless::String<64>>,
|
||||
pub mqtt_url: Option<heapless::String<128>>,
|
||||
pub base_topic: Option<heapless::String<64>>,
|
||||
}
|
||||
impl Default for NetworkConfig {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
ap_ssid: heapless::String::from_str("PlantCtrl Init").unwrap(),
|
||||
ssid: None,
|
||||
password: None,
|
||||
mqtt_url: None,
|
||||
base_topic: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub tank_allow_pumping_if_sensor_error: bool,
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
|
||||
pub struct NightLampConfig {
|
||||
pub night_lamp_hour_start: u8,
|
||||
pub night_lamp_hour_end: u8,
|
||||
pub night_lamp_only_when_dark: bool,
|
||||
}
|
||||
impl Default for NightLampConfig {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
night_lamp_hour_start: 19,
|
||||
night_lamp_hour_end: 2,
|
||||
night_lamp_only_when_dark: true,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
|
||||
pub struct TankConfig {
|
||||
pub tank_sensor_enabled: bool,
|
||||
pub tank_allow_pumping_if_sensor_error: bool,
|
||||
pub tank_useable_ml: u32,
|
||||
pub tank_warn_percent: u8,
|
||||
pub tank_empty_percent: u8,
|
||||
pub tank_full_percent: u8,
|
||||
|
||||
pub night_lamp_hour_start: u8,
|
||||
pub night_lamp_hour_end: u8,
|
||||
pub night_lamp_only_when_dark: bool,
|
||||
|
||||
pub plants: [Plant; PLANT_COUNT],
|
||||
}
|
||||
|
||||
impl Default for Config {
|
||||
impl Default for TankConfig {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
base_topic: heapless::String::from_str("plant/one").unwrap(),
|
||||
mqtt_url: heapless::String::from_str("mqtt://192.168.1.1:1883").unwrap(),
|
||||
tank_sensor_enabled: false,
|
||||
tank_allow_pumping_if_sensor_error: true,
|
||||
tank_sensor_enabled: true,
|
||||
tank_warn_percent: 50,
|
||||
night_lamp_hour_start: 21,
|
||||
night_lamp_hour_end: 2,
|
||||
night_lamp_only_when_dark: true,
|
||||
plants: [Plant::default(); PLANT_COUNT],
|
||||
max_consecutive_pump_count: 15,
|
||||
tank_useable_ml: 5000,
|
||||
tank_empty_percent: 0_u8,
|
||||
tank_full_percent: 100_u8,
|
||||
tank_useable_ml: 50000,
|
||||
tank_warn_percent: 40,
|
||||
tank_empty_percent: 5,
|
||||
tank_full_percent: 95,
|
||||
}
|
||||
}
|
||||
}
|
||||
#[derive(Serialize, Deserialize, Copy, Clone, Debug, PartialEq)]
|
||||
pub enum Mode {
|
||||
OFF,
|
||||
TargetMoisture,
|
||||
TimerOnly,
|
||||
TimerAndDeadzone,
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, Default)]
|
||||
pub struct PlantControllerConfig {
|
||||
pub network: NetworkConfig,
|
||||
pub tank: TankConfig,
|
||||
pub night_lamp: NightLampConfig,
|
||||
pub plants: [PlantConfig; PLANT_COUNT],
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Copy, Clone, Debug, PartialEq)]
|
||||
pub struct Plant {
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
|
||||
pub struct PlantConfig {
|
||||
pub mode: Mode,
|
||||
pub target_moisture: u8,
|
||||
pub pump_time_s: u16,
|
||||
@@ -60,31 +79,27 @@ pub struct Plant {
|
||||
pub pump_hour_start: u8,
|
||||
pub pump_hour_end: u8,
|
||||
pub sensor_b: bool,
|
||||
pub sensor_p: bool,
|
||||
pub max_consecutive_pump_count: u8,
|
||||
}
|
||||
impl Default for Plant {
|
||||
impl Default for PlantConfig {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
target_moisture: 40,
|
||||
pump_time_s: 60,
|
||||
pump_cooldown_min: 60,
|
||||
pump_hour_start: 8,
|
||||
pump_hour_end: 20,
|
||||
mode: Mode::OFF,
|
||||
target_moisture: 40,
|
||||
pump_time_s: 30,
|
||||
pump_cooldown_min: 60,
|
||||
pump_hour_start: 9,
|
||||
pump_hour_end: 20,
|
||||
sensor_b: false,
|
||||
sensor_p: false,
|
||||
max_consecutive_pump_count: 10,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug)]
|
||||
pub struct WifiConfig {
|
||||
pub ssid: heapless::String<32>,
|
||||
pub password: Option<heapless::String<64>>,
|
||||
}
|
||||
|
||||
impl fmt::Display for WifiConfig {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
write!(f, "({}, ****)", self.ssid)
|
||||
}
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
|
||||
pub enum Mode {
|
||||
OFF,
|
||||
TargetMoisture,
|
||||
TimerOnly,
|
||||
TimerAndDeadzone,
|
||||
}
|
||||
|
||||
194
rust/src/log/mod.rs
Normal file
194
rust/src/log/mod.rs
Normal file
@@ -0,0 +1,194 @@
|
||||
use std::{collections::{BTreeMap, HashMap}, sync::Mutex};
|
||||
use serde::Serialize;
|
||||
use strum::{EnumIter, IntoEnumIterator};
|
||||
use strum_macros::IntoStaticStr;
|
||||
|
||||
use esp_idf_svc::systime::EspSystemTime;
|
||||
use once_cell::sync::Lazy;
|
||||
use ringbuffer::{ConstGenericRingBuffer, RingBuffer};
|
||||
use text_template::Template;
|
||||
|
||||
const TXT_SHORT_LENGTH:usize = 8;
|
||||
const TXT_LONG_LENGTH:usize = 32;
|
||||
|
||||
const BUFFER_SIZE:usize = 210;
|
||||
|
||||
#[link_section = ".rtc.data"]
|
||||
static mut BUFFER:ConstGenericRingBuffer::<LogEntry, BUFFER_SIZE> = ConstGenericRingBuffer::<LogEntry, BUFFER_SIZE>::new();
|
||||
|
||||
static BUFFER_ACCESS: Lazy<Mutex<&mut ConstGenericRingBuffer::<LogEntry, BUFFER_SIZE>>> = Lazy::new(|| unsafe { Mutex::new(&mut BUFFER) });
|
||||
|
||||
|
||||
#[derive(Serialize, Debug, Clone)]
|
||||
pub struct LogEntry {
|
||||
pub timestamp: u64,
|
||||
pub message_id: u32,
|
||||
pub a: u32,
|
||||
pub b: u32,
|
||||
pub txt_short: heapless::String<TXT_SHORT_LENGTH>,
|
||||
pub txt_long: heapless::String<TXT_LONG_LENGTH>
|
||||
}
|
||||
|
||||
pub fn init(){
|
||||
unsafe {
|
||||
BUFFER = ConstGenericRingBuffer::<LogEntry, BUFFER_SIZE>::new();
|
||||
};
|
||||
let mut access = BUFFER_ACCESS.lock().unwrap();
|
||||
access.drain().for_each(|_| {});
|
||||
}
|
||||
|
||||
fn limit_length <const LIMIT:usize> (input: &str, target: &mut heapless::String<LIMIT>){
|
||||
for char in input.chars() {
|
||||
match target.push(char) {
|
||||
Ok(_) => {}, //continue adding chars
|
||||
Err(_) => {
|
||||
//clear space for two asci chars
|
||||
while target.len()+2 >= LIMIT {
|
||||
target.pop().unwrap();
|
||||
}
|
||||
//add .. to shortened strings
|
||||
target.push('.').unwrap();
|
||||
target.push('.').unwrap();
|
||||
return;
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub fn get_log() -> Vec<LogEntry>{
|
||||
let buffer = BUFFER_ACCESS.lock().unwrap();
|
||||
let mut read_copy = Vec::new();
|
||||
for entry in buffer.iter() {
|
||||
let copy = entry.clone();
|
||||
read_copy.push(copy);
|
||||
}
|
||||
drop(buffer);
|
||||
return read_copy;
|
||||
}
|
||||
|
||||
pub fn log(message_key: LogMessage, number_a: u32, number_b: u32, txt_short:&str, txt_long:&str){
|
||||
let mut txt_short_stack:heapless::String<TXT_SHORT_LENGTH> = heapless::String::new();
|
||||
let mut txt_long_stack:heapless::String<TXT_LONG_LENGTH> = heapless::String::new();
|
||||
|
||||
limit_length(txt_short, &mut txt_short_stack);
|
||||
limit_length(txt_long, &mut txt_long_stack);
|
||||
|
||||
let time = EspSystemTime {}.now().as_millis() as u64;
|
||||
|
||||
let template_string:&str = message_key.into();
|
||||
|
||||
|
||||
let mut values: HashMap<&str, &str> = HashMap::new();
|
||||
let number_a_str = number_a.to_string();
|
||||
let number_b_str = number_b.to_string();
|
||||
|
||||
values.insert("number_a", &number_a_str);
|
||||
values.insert("number_b", &number_b_str);
|
||||
values.insert("txt_short", txt_short);
|
||||
values.insert("txt_long", txt_long);
|
||||
|
||||
let template = Template::from(template_string);
|
||||
let serial_entry = template.fill_in(&values);
|
||||
|
||||
println!("{serial_entry}");
|
||||
|
||||
|
||||
let entry = LogEntry{
|
||||
timestamp: time,
|
||||
message_id: 1,
|
||||
a: number_a,
|
||||
b: number_b,
|
||||
txt_short: txt_short_stack,
|
||||
txt_long: txt_long_stack,
|
||||
};
|
||||
|
||||
|
||||
let mut buffer = BUFFER_ACCESS.lock().unwrap();
|
||||
buffer.push(entry);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn within_limit() {
|
||||
let test = "12345678";
|
||||
|
||||
let mut txt_short_stack:heapless::String<TXT_SHORT_LENGTH> = heapless::String::new();
|
||||
let mut txt_long_stack:heapless::String<TXT_LONG_LENGTH> = heapless::String::new();
|
||||
limit_length(test, &mut txt_short_stack);
|
||||
limit_length(test, &mut txt_long_stack);
|
||||
|
||||
assert_eq!(txt_short_stack.as_str(), test);
|
||||
assert_eq!(txt_long_stack.as_str(), test);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[derive(IntoStaticStr, EnumIter, Serialize, PartialEq, Eq, PartialOrd, Ord, Clone)]
|
||||
pub enum LogMessage {
|
||||
#[strum(serialize = "Reset due to {{txt_long}} requires rtc clear {{a}} and force config mode {{b}}")]
|
||||
reset_reason,
|
||||
#[strum(serialize = "Current restart to conf mode {{a}}")]
|
||||
restart_to_config,
|
||||
#[strum(serialize = "Current low voltage detection is {{a}}")]
|
||||
low_voltage,
|
||||
#[strum(serialize = "Error communicating with battery!! {{txt_long}}")]
|
||||
battery_communication_error,
|
||||
#[strum(serialize = "Tank sensor raw {{a}} percent {{b}}")]
|
||||
sensor_tank_raw,
|
||||
#[strum(serialize = "raw measure unscaled {{a}} hz {{b}}, plant {{txt_short}} sensor {{txt_long}}")]
|
||||
raw_measure,
|
||||
#[strum(serialize = "IP info: {{txt_long}}")]
|
||||
wifi_info,
|
||||
#[strum(serialize = "Plant:{{txt_short}} a:{{a}} b:{{b}}")]
|
||||
test_sensor,
|
||||
#[strum(serialize = "Stay alive topic is {{txt_long}}")]
|
||||
stay_alive,
|
||||
#[strum(serialize = "Connecting mqtt {{txt_short}} with id {{txt_long}}")]
|
||||
mqtt_info,
|
||||
#[strum(serialize = "Received stay alive with value {{txt_short}}")]
|
||||
mqtt_stay_alive_rec,
|
||||
#[strum(serialize = "Unknown topic recieved {{txt_long}}")]
|
||||
unknown_topic,
|
||||
#[strum(serialize = "Partition state is {{txt_long}}")]
|
||||
partition_state,
|
||||
#[strum(serialize = "Mounted Filesystem free {{a}} total {{b}} use {{txt_short}}")]
|
||||
filesystem_mount,
|
||||
#[strum(serialize = "Mounting Filesystem, this will format the first time and needs quite some time!")]
|
||||
mounting_filesystem,
|
||||
#[strum(serialize = "Year inplausible, force config mode")]
|
||||
year_inplausible_force_config,
|
||||
#[strum(serialize = "Going to config mode, due to request from prior run")]
|
||||
config_mode_software_override,
|
||||
#[strum(serialize = "Going to config mode, due to request via config mode button")]
|
||||
config_mode_button_override,
|
||||
#[strum(serialize = "Going to normal mode")]
|
||||
normal_run,
|
||||
#[strum(serialize = "Missing normal config, entering config mode {{txt_long}}")]
|
||||
config_mode_missing_config,
|
||||
#[strum(serialize = "startup state wifi {{a}} sntp {{b}} mqtt {{txt_short}}")]
|
||||
startup_info,
|
||||
#[strum(serialize = "Trying to pump for {{b}}s with pump {{a}} now dryrun: {{txt_short}}")]
|
||||
pump_plant,
|
||||
#[strum(serialize = "Enable main power dryrun: {{a}}")]
|
||||
enable_main,
|
||||
#[strum(serialize = "Pumped multiple times, but plant is still to try attempt: {{a}} limit :: {{b}} plant: {{txt_short}}")]
|
||||
consecutive_pump_count_limit
|
||||
}
|
||||
|
||||
impl LogMessage {
|
||||
pub fn to_log_localisation_config() -> BTreeMap<LogMessage,&'static str> {
|
||||
let mut data = BTreeMap::new();
|
||||
for msg_type in LogMessage::iter() {
|
||||
let s: &'static str = msg_type.clone().into();
|
||||
data.insert(msg_type, s);
|
||||
}
|
||||
data
|
||||
}
|
||||
}
|
||||
1616
rust/src/main.rs
1616
rust/src/main.rs
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,95 +0,0 @@
|
||||
<html>
|
||||
<body>
|
||||
<input type="button" id="test" value="Test">
|
||||
<h2>Current Firmware</h2>
|
||||
<div>
|
||||
<div id="firmware_buildtime">Buildtime loading</div>
|
||||
<div id="firmware_githash">Build githash loading</div>
|
||||
</div>
|
||||
|
||||
<h2>firmeware OTA v3</h2>
|
||||
|
||||
<form id="upload_form" method="post">
|
||||
<input type="file" name="file1" id="file1"><br>
|
||||
<progress id="progressBar" value="0" max="100" style="width:300px;"></progress>
|
||||
<h3 id="status"></h3>
|
||||
<h3 id="answer"></h3>
|
||||
<p id="loaded_n_total"></p>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
<h2>config</h2>
|
||||
|
||||
<div id="configform">
|
||||
<h3>Mqtt:</h3>
|
||||
<div>
|
||||
<input type="text" id="mqtt_url">
|
||||
MQTT Url
|
||||
</div>
|
||||
<div>
|
||||
<input type="text" id="base_topic">
|
||||
Base Topic
|
||||
</div>
|
||||
|
||||
|
||||
<h3>Tank:</h3>
|
||||
<div>
|
||||
<input type="checkbox" id="tank_sensor_enabled">
|
||||
Enable Tank Sensor
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" id="tank_allow_pumping_if_sensor_error">
|
||||
Allow Pumping if Sensor Error
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<input type="number" min="2" max="500000" id="tank_useable_ml">
|
||||
Tank Size mL
|
||||
</div>
|
||||
<div>
|
||||
<input type="number" min="1" max="500000" id="tank_warn_percent">
|
||||
Tank Warn Percent (mapped in relation to empty and full)
|
||||
</div>
|
||||
<div>
|
||||
<input type="number" min="0" max="100" id="tank_empty_percent">
|
||||
Tank Empty Percent (% max move)
|
||||
</div>
|
||||
<div>
|
||||
<input type="number" min="0" max="100" id="tank_full_percent">
|
||||
Tank Full Percent (% max move)
|
||||
</div>
|
||||
|
||||
<h3>Light:</h3>
|
||||
<div>
|
||||
Start
|
||||
<select type="time" id="night_lamp_time_start">
|
||||
</select>
|
||||
Stop
|
||||
<select type="time" id="night_lamp_time_end">
|
||||
</select>
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" id="night_lamp_only_when_dark">
|
||||
Light only when dark
|
||||
</div>
|
||||
|
||||
<h3>Plants:</h3>
|
||||
|
||||
|
||||
<div>
|
||||
<input type="number" min="2" max="100" id="max_consecutive_pump_count">
|
||||
Max consecutive pump count:
|
||||
</div>
|
||||
|
||||
<div id="plants"></div>
|
||||
</div>
|
||||
<button id="submit">Submit</button>
|
||||
<div id="submit_status"></div>
|
||||
<br>
|
||||
<textarea id="json" cols=50 rows=10></textarea>
|
||||
<script src="bundle.js"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,37 +0,0 @@
|
||||
<html>
|
||||
<body>
|
||||
<input type="button" id="test" value="Test">
|
||||
<h2>Current Firmware</h2>
|
||||
<div>
|
||||
<div id="firmware_buildtime">Buildtime loading</div>
|
||||
<div id="firmware_githash">Build githash loading</div>
|
||||
</div>
|
||||
<div>
|
||||
<h2>firmeware OTA v3</h2>
|
||||
<form id="upload_form" method="post">
|
||||
<input type="file" name="file1" id="file1"><br>
|
||||
<progress id="progressBar" value="0" max="100" style="width:300px;"></progress>
|
||||
<h3 id="status"></h3>
|
||||
<h3 id="answer"></h3>
|
||||
<p id="loaded_n_total"></p>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h2>WIFI</h2>
|
||||
<input type="button" id="scan" value="Scan">
|
||||
<br>
|
||||
<label for="ssid">SSID:</label>
|
||||
<input type="text" id="ssid" list="ssidlist">
|
||||
<datalist id="ssidlist">
|
||||
<option value="Not scanned yet">
|
||||
</datalist>
|
||||
<label for="ssid">Password:</label>
|
||||
<input type="text" id="password">
|
||||
<input type="button" id="save" value="Save & Restart">
|
||||
<div id="wifistatus"></div>
|
||||
<br>
|
||||
</div>
|
||||
<script src="bundle.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -4,18 +4,21 @@ use std::{
|
||||
str::from_utf8,
|
||||
sync::{atomic::AtomicBool, Arc},
|
||||
};
|
||||
|
||||
use crate::{espota::OtaUpdate, BOARD_ACCESS};
|
||||
use crate::{
|
||||
espota::OtaUpdate, get_version, log::LogMessage, map_range_moisture, plant_hal::{FileInfo, PLANT_COUNT}, BOARD_ACCESS
|
||||
};
|
||||
use anyhow::bail;
|
||||
use chrono::DateTime;
|
||||
use esp_idf_sys::{esp_set_time_from_rtc, settimeofday, timeval, vTaskDelay};
|
||||
use core::result::Result::Ok;
|
||||
use embedded_svc::http::Method;
|
||||
use esp_idf_svc::http::server::{Configuration, EspHttpServer};
|
||||
use esp_idf_hal::delay::Delay;
|
||||
use esp_idf_svc::http::server::{Configuration, EspHttpConnection, EspHttpServer, Request};
|
||||
use heapless::String;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use url::Url;
|
||||
|
||||
use crate::{
|
||||
config::{Config, WifiConfig},
|
||||
plant_hal::PlantCtrlBoardInteraction,
|
||||
};
|
||||
use crate::config::PlantControllerConfig;
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
struct SSIDList<'a> {
|
||||
@@ -23,9 +26,20 @@ struct SSIDList<'a> {
|
||||
}
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
struct VersionInfo<'a> {
|
||||
git_hash: &'a str,
|
||||
build_time: &'a str,
|
||||
struct LoadData<'a> {
|
||||
rtc: &'a str,
|
||||
native: &'a str,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
struct Moistures {
|
||||
moisture_a: Vec<u8>,
|
||||
moisture_b: Vec<u8>,
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Debug)]
|
||||
struct SetTime<'a> {
|
||||
time: &'a str,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq)]
|
||||
@@ -33,260 +47,655 @@ pub struct TestPump {
|
||||
pump: usize,
|
||||
}
|
||||
|
||||
pub fn httpd_initial(reboot_now: Arc<AtomicBool>) -> Box<EspHttpServer<'static>> {
|
||||
let mut server = shared();
|
||||
server
|
||||
.fn_handler("/", Method::Get, move |request| {
|
||||
let mut response = request.into_ok_response()?;
|
||||
response.write(include_bytes!("initial_config.html"))?;
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
#[derive(Serialize, Deserialize, PartialEq, Debug)]
|
||||
pub struct WebBackupHeader{
|
||||
timestamp: std::string::String,
|
||||
size: usize
|
||||
}
|
||||
|
||||
server
|
||||
.fn_handler("/wifiscan", Method::Post, move |request| {
|
||||
let mut response = request.into_ok_response()?;
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
match board.wifi_scan() {
|
||||
Err(error) => {
|
||||
response.write(format!("Error scanning wifi: {}", error).as_bytes())?;
|
||||
}
|
||||
Ok(scan_result) => {
|
||||
let mut ssids: Vec<&String<32>> = Vec::new();
|
||||
scan_result.iter().for_each(|s| ssids.push(&s.ssid));
|
||||
let ssid_json = serde_json::to_string(&SSIDList { ssids })?;
|
||||
println!("Sending ssid list {}", &ssid_json);
|
||||
response.write(ssid_json.as_bytes())?;
|
||||
fn write_time(
|
||||
request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let actual_data = read_up_to_bytes_from_request(request, None)?;
|
||||
let time: SetTime = serde_json::from_slice(&actual_data)?;
|
||||
let parsed = DateTime::parse_from_rfc3339(time.time).map_err(|err| anyhow::anyhow!(err))?;
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
|
||||
let now = timeval {
|
||||
tv_sec: parsed.to_utc().timestamp(),
|
||||
tv_usec: 0
|
||||
};
|
||||
unsafe { settimeofday(&now, core::ptr::null_mut()) };
|
||||
board.set_rtc_time(&parsed.to_utc())?;
|
||||
anyhow::Ok(None)
|
||||
}
|
||||
|
||||
fn get_live_moisture(
|
||||
_request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
|
||||
let mut a: Vec<u8> = Vec::new();
|
||||
let mut b: Vec<u8> = Vec::new();
|
||||
for plant in 0..8 {
|
||||
let a_hz = board.measure_moisture_hz(plant, crate::plant_hal::Sensor::A)?;
|
||||
let b_hz = board.measure_moisture_hz(plant, crate::plant_hal::Sensor::B)?;
|
||||
let a_pct = map_range_moisture(a_hz as f32);
|
||||
|
||||
match a_pct {
|
||||
Ok(result) => {
|
||||
a.push(result);
|
||||
}
|
||||
Err(_) => {
|
||||
a.push(200);
|
||||
}
|
||||
}
|
||||
|
||||
let b_pct = map_range_moisture(b_hz as f32);
|
||||
match b_pct {
|
||||
Ok(result) => {
|
||||
b.push(result);
|
||||
}
|
||||
Err(_) => {
|
||||
b.push(200);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let data = Moistures {
|
||||
moisture_a: a,
|
||||
moisture_b: b,
|
||||
};
|
||||
let json = serde_json::to_string(&data)?;
|
||||
|
||||
anyhow::Ok(Some(json))
|
||||
}
|
||||
|
||||
fn get_data(
|
||||
_request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
let native = board
|
||||
.time()
|
||||
.and_then(|t| Ok(t.to_rfc3339()))
|
||||
.unwrap_or("error".to_string());
|
||||
let rtc = board
|
||||
.get_rtc_time()
|
||||
.and_then(|t| Ok(t.to_rfc3339()))
|
||||
.unwrap_or("error".to_string());
|
||||
|
||||
let data = LoadData {
|
||||
rtc: rtc.as_str(),
|
||||
native: native.as_str(),
|
||||
};
|
||||
let json = serde_json::to_string(&data)?;
|
||||
|
||||
anyhow::Ok(Some(json))
|
||||
}
|
||||
|
||||
fn get_config(
|
||||
_request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
let json = match board.get_config() {
|
||||
Ok(config) => serde_json::to_string(&config)?,
|
||||
Err(_) => serde_json::to_string(&PlantControllerConfig::default())?,
|
||||
};
|
||||
anyhow::Ok(Some(json))
|
||||
}
|
||||
|
||||
fn backup_config(
|
||||
request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let all = read_up_to_bytes_from_request(request, Some(3072))?;
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
board.backup_config(&all)?;
|
||||
anyhow::Ok(Some("saved".to_owned()))
|
||||
}
|
||||
|
||||
fn get_backup_config(
|
||||
_request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
let json = match board.get_backup_config() {
|
||||
Ok(config) => std::str::from_utf8(&config)?.to_owned(),
|
||||
Err(err) => {
|
||||
println!("Error get backup config {:?}", err);
|
||||
err.to_string()
|
||||
}
|
||||
};
|
||||
anyhow::Ok(Some(json))
|
||||
}
|
||||
|
||||
|
||||
fn backup_info(
|
||||
_request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
let header = board.get_backup_info();
|
||||
let json = match header {
|
||||
Ok(h) => {
|
||||
let timestamp = DateTime::from_timestamp_millis(h.timestamp).unwrap();
|
||||
let wbh = WebBackupHeader{
|
||||
timestamp: timestamp.to_rfc3339(),
|
||||
size: h.size,
|
||||
};
|
||||
serde_json::to_string(&wbh)?
|
||||
},
|
||||
Err(_) => "{\"error\":\"Header could not be parsed\"".to_owned()
|
||||
};
|
||||
anyhow::Ok(Some(json))
|
||||
}
|
||||
|
||||
fn set_config(
|
||||
request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let all = read_up_to_bytes_from_request(request, Some(3072))?;
|
||||
let config: PlantControllerConfig = serde_json::from_slice(&all)?;
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
board.set_config(&config)?;
|
||||
anyhow::Ok(Some("saved".to_owned()))
|
||||
}
|
||||
|
||||
|
||||
fn get_battery_state(
|
||||
_request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
let battery_state = board.get_battery_state();
|
||||
let battery_json = serde_json::to_string(&battery_state)?;
|
||||
anyhow::Ok(Some(battery_json))
|
||||
}
|
||||
|
||||
fn get_log(
|
||||
_request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let output = crate::log::get_log();
|
||||
anyhow::Ok(Some(serde_json::to_string(&output)?))
|
||||
}
|
||||
|
||||
fn get_log_localization_config() -> Result<std::string::String, anyhow::Error> {
|
||||
anyhow::Ok(serde_json::to_string(&LogMessage::to_log_localisation_config())?)
|
||||
}
|
||||
|
||||
fn get_version_web(
|
||||
_request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
|
||||
anyhow::Ok(Some(serde_json::to_string(&get_version())?))
|
||||
}
|
||||
|
||||
fn pump_test(
|
||||
request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let actual_data = read_up_to_bytes_from_request(request, None)?;
|
||||
let pump_test: TestPump = serde_json::from_slice(&actual_data)?;
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
board.test_pump(pump_test.pump)?;
|
||||
anyhow::Ok(None)
|
||||
}
|
||||
|
||||
fn wifi_scan(
|
||||
_request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
let scan_result = board.wifi_scan()?;
|
||||
let mut ssids: Vec<&String<32>> = Vec::new();
|
||||
scan_result.iter().for_each(|s| ssids.push(&s.ssid));
|
||||
let ssid_json = serde_json::to_string(&SSIDList { ssids })?;
|
||||
println!("Sending ssid list {}", &ssid_json);
|
||||
anyhow::Ok(Some(ssid_json))
|
||||
}
|
||||
|
||||
fn list_files(
|
||||
request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let filename = query_param(request.uri(), "filename").unwrap_or_default();
|
||||
let board = BOARD_ACCESS.lock().unwrap();
|
||||
let result = board.list_files(&filename);
|
||||
let file_list_json = serde_json::to_string(&result)?;
|
||||
return anyhow::Ok(Some(file_list_json));
|
||||
}
|
||||
|
||||
fn ota(
|
||||
request: &mut Request<&mut EspHttpConnection>,
|
||||
) -> Result<Option<std::string::String>, anyhow::Error> {
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
let mut ota = OtaUpdate::begin()?;
|
||||
println!("start ota");
|
||||
|
||||
//having a larger buffer is not really faster, requires more stack and prevents the progress bar from working ;)
|
||||
const BUFFER_SIZE: usize = 512;
|
||||
let mut buffer: [u8; BUFFER_SIZE] = [0; BUFFER_SIZE];
|
||||
let mut total_read: usize = 0;
|
||||
let mut lastiter = 0;
|
||||
loop {
|
||||
let read = request.read(&mut buffer)?;
|
||||
total_read += read;
|
||||
println!("received {read} bytes ota {total_read}");
|
||||
let to_write = &buffer[0..read];
|
||||
|
||||
let iter = (total_read/1024)%8;
|
||||
if iter != lastiter {
|
||||
for i in 0..PLANT_COUNT {
|
||||
board.fault(i, iter==i);
|
||||
|
||||
}
|
||||
lastiter = iter;
|
||||
}
|
||||
|
||||
ota.write(to_write)?;
|
||||
println!("wrote {read} bytes ota {total_read}");
|
||||
if read == 0 {
|
||||
break;
|
||||
}
|
||||
}
|
||||
println!("finish ota");
|
||||
let partition = ota.raw_partition();
|
||||
println!("finalizing and changing boot partition to {partition:?}");
|
||||
|
||||
let mut finalizer = ota.finalize()?;
|
||||
println!("changing boot partition");
|
||||
board.set_restart_to_conf(true);
|
||||
drop(board);
|
||||
finalizer.set_as_boot_partition()?;
|
||||
finalizer.restart();
|
||||
}
|
||||
|
||||
fn flash_bq(filename: &str, dryrun: bool) -> anyhow::Result<()> {
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
|
||||
let mut toggle = true;
|
||||
let delay = Delay::new(1);
|
||||
|
||||
let file_handle = board.get_file_handle(filename, false)?;
|
||||
|
||||
let mut reader = std::io::BufRead::lines(std::io::BufReader::with_capacity(512, file_handle));
|
||||
let mut line = 0;
|
||||
loop {
|
||||
board.general_fault(toggle);
|
||||
toggle = !toggle;
|
||||
|
||||
delay.delay_us(2);
|
||||
line += 1;
|
||||
match reader.next() {
|
||||
Some(next) => {
|
||||
let input = next?;
|
||||
println!("flashing bq34z100 dryrun:{dryrun} line {line} payload: {input}");
|
||||
match board.flash_bq34_z100(&input, dryrun) {
|
||||
Ok(_) => {
|
||||
println!("ok")
|
||||
}
|
||||
Err(err) => {
|
||||
bail!(
|
||||
"Error flashing bq34z100 in dryrun: {dryrun} line: {line} error: {err}"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
None => break,
|
||||
}
|
||||
}
|
||||
println!("Finished flashing file {line} lines processed");
|
||||
board.general_fault(false);
|
||||
return anyhow::Ok(());
|
||||
}
|
||||
|
||||
server
|
||||
.fn_handler("/wifisave", Method::Post, move |mut request| {
|
||||
let mut buf = [0_u8; 2048];
|
||||
let read = request.read(&mut buf);
|
||||
if read.is_err() {
|
||||
let error_text = read.unwrap_err().to_string();
|
||||
println!("Could not parse wificonfig {}", error_text);
|
||||
request
|
||||
.into_status_response(500)?
|
||||
.write(error_text.as_bytes())?;
|
||||
return anyhow::Ok(());
|
||||
}
|
||||
let actual_data = &buf[0..read.unwrap()];
|
||||
println!("raw {:?}", actual_data);
|
||||
println!("Raw data {}", from_utf8(actual_data).unwrap());
|
||||
let wifi_config: Result<WifiConfig, serde_json::Error> =
|
||||
serde_json::from_slice(actual_data);
|
||||
if wifi_config.is_err() {
|
||||
let error_text = wifi_config.unwrap_err().to_string();
|
||||
println!("Could not parse wificonfig {}", error_text);
|
||||
request
|
||||
.into_status_response(500)?
|
||||
.write(error_text.as_bytes())?;
|
||||
return anyhow::Ok(());
|
||||
}
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
board.set_wifi(&wifi_config.unwrap())?;
|
||||
let mut response = request.into_status_response(202)?;
|
||||
response.write("saved".as_bytes())?;
|
||||
reboot_now.store(true, std::sync::atomic::Ordering::Relaxed);
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
fn query_param(uri: &str, param_name: &str) -> Option<std::string::String> {
|
||||
println!("{uri} get {param_name}");
|
||||
let parsed = Url::parse(&format!("http://127.0.0.1/{uri}")).unwrap();
|
||||
let value = parsed.query_pairs().filter(|it| it.0 == param_name).next();
|
||||
match value {
|
||||
Some(found) => {
|
||||
return Some(found.1.into_owned());
|
||||
}
|
||||
None => return None,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn httpd(reboot_now: Arc<AtomicBool>) -> Box<EspHttpServer<'static>> {
|
||||
let mut server = shared();
|
||||
|
||||
server
|
||||
.fn_handler("/", Method::Get, move |request| {
|
||||
let mut response = request.into_ok_response()?;
|
||||
response.write(include_bytes!("config.html"))?;
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
server
|
||||
.fn_handler("/get_config", Method::Get, move |request| {
|
||||
let mut response = request.into_ok_response()?;
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
match board.get_config() {
|
||||
Ok(config) => {
|
||||
let config_json = serde_json::to_string(&config)?;
|
||||
response.write(config_json.as_bytes())?;
|
||||
}
|
||||
Err(_) => {
|
||||
let config_json = serde_json::to_string(&Config::default())?;
|
||||
response.write(config_json.as_bytes())?;
|
||||
}
|
||||
}
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
server
|
||||
.fn_handler("/set_config", Method::Post, move |mut request| {
|
||||
let mut buf = [0_u8; 3072];
|
||||
let read = request.read(&mut buf);
|
||||
if read.is_err() {
|
||||
let error_text = read.unwrap_err().to_string();
|
||||
println!("Could not parse config {}", error_text);
|
||||
request
|
||||
.into_status_response(500)?
|
||||
.write(error_text.as_bytes())?;
|
||||
return anyhow::Ok(());
|
||||
}
|
||||
let actual_data = &buf[0..read.unwrap()];
|
||||
println!("Raw data {}", from_utf8(actual_data).unwrap());
|
||||
let config: Result<Config, serde_json::Error> = serde_json::from_slice(actual_data);
|
||||
if config.is_err() {
|
||||
let error_text = config.unwrap_err().to_string();
|
||||
println!("Could not parse config {}", error_text);
|
||||
request
|
||||
.into_status_response(500)?
|
||||
.write(error_text.as_bytes())?;
|
||||
return Ok(());
|
||||
}
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
board.set_config(&config.unwrap())?;
|
||||
let mut response = request.into_status_response(202)?;
|
||||
response.write("saved".as_bytes())?;
|
||||
reboot_now.store(true, std::sync::atomic::Ordering::Relaxed);
|
||||
Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
}
|
||||
|
||||
pub fn shared() -> Box<EspHttpServer<'static>> {
|
||||
let server_config = Configuration {
|
||||
stack_size: 8192,
|
||||
stack_size: 32768,
|
||||
..Default::default()
|
||||
};
|
||||
let mut server: Box<EspHttpServer<'static>> =
|
||||
Box::new(EspHttpServer::new(&server_config).unwrap());
|
||||
server
|
||||
.fn_handler("/version", Method::Get, |request| {
|
||||
let mut response = request.into_ok_response()?;
|
||||
let git_hash = env!("VERGEN_GIT_DESCRIBE");
|
||||
let build_time = env!("VERGEN_BUILD_TIMESTAMP");
|
||||
let version_info = VersionInfo {
|
||||
git_hash,
|
||||
build_time,
|
||||
};
|
||||
let version_info_json = serde_json::to_string(&version_info)?;
|
||||
response.write(version_info_json.as_bytes())?;
|
||||
handle_error_to500(request, get_version_web)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/log", Method::Get, |request| {
|
||||
handle_error_to500(request, get_log)
|
||||
})
|
||||
.unwrap();
|
||||
server.fn_handler("/log_localization", Method::Get, |request| {
|
||||
cors_response(request, 200, &get_log_localization_config().unwrap())
|
||||
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/battery", Method::Get, |request| {
|
||||
handle_error_to500(request, get_battery_state)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/time", Method::Get, |request| {
|
||||
handle_error_to500(request, get_data)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/moisture", Method::Get, |request| {
|
||||
handle_error_to500(request, get_live_moisture)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/time", Method::Post, |request| {
|
||||
handle_error_to500(request, write_time)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/pumptest", Method::Post, |request| {
|
||||
handle_error_to500(request, pump_test)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/boardtest", Method::Post, move |_| {
|
||||
BOARD_ACCESS.lock().unwrap().test()
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/wifiscan", Method::Post, move |request| {
|
||||
handle_error_to500(request, wifi_scan)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/ota", Method::Post, |request| {
|
||||
handle_error_to500(request, ota)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/ota", Method::Options, |request| {
|
||||
cors_response(request, 200, "")
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/get_config", Method::Get, move |request| {
|
||||
handle_error_to500(request, get_config)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/get_backup_config", Method::Get, move |request| {
|
||||
handle_error_to500(request, get_backup_config)
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
server
|
||||
.fn_handler("/set_config", Method::Post, move |request| {
|
||||
handle_error_to500(request, set_config)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/backup_config", Method::Post, move |request| {
|
||||
handle_error_to500(request, backup_config)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/backup_info", Method::Get, move |request| {
|
||||
handle_error_to500(request, backup_info)
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/files", Method::Get, move |request| {
|
||||
handle_error_to500(request, list_files)
|
||||
})
|
||||
.unwrap();
|
||||
let reboot_now_for_reboot = reboot_now.clone();
|
||||
server
|
||||
.fn_handler("/reboot", Method::Post, move |_| {
|
||||
BOARD_ACCESS
|
||||
.lock()
|
||||
.unwrap()
|
||||
.set_restart_to_conf(true);
|
||||
reboot_now_for_reboot.store(true, std::sync::atomic::Ordering::Relaxed);
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
unsafe { vTaskDelay(1) };
|
||||
|
||||
let reboot_now_for_exit = reboot_now.clone();
|
||||
server
|
||||
.fn_handler("/exit", Method::Post, move |_| {
|
||||
reboot_now_for_exit.store(true, std::sync::atomic::Ordering::Relaxed);
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/file", Method::Get, move |request| {
|
||||
let filename = query_param(request.uri(), "filename").unwrap();
|
||||
let file_handle = BOARD_ACCESS
|
||||
.lock()
|
||||
.unwrap()
|
||||
.get_file_handle(&filename, false);
|
||||
match file_handle {
|
||||
Ok(mut file_handle) => {
|
||||
let headers = [("Access-Control-Allow-Origin", "*")];
|
||||
let mut response = request.into_response(200, None, &headers)?;
|
||||
const BUFFER_SIZE: usize = 512;
|
||||
let mut buffer: [u8; BUFFER_SIZE] = [0; BUFFER_SIZE];
|
||||
let mut total_read: usize = 0;
|
||||
loop {
|
||||
unsafe { vTaskDelay(1) };
|
||||
let read = std::io::Read::read(&mut file_handle, &mut buffer)?;
|
||||
total_read += read;
|
||||
let to_write = &buffer[0..read];
|
||||
response.write(to_write)?;
|
||||
if read == 0 {
|
||||
break;
|
||||
}
|
||||
}
|
||||
println!("wrote {total_read} for file {filename}");
|
||||
drop(file_handle);
|
||||
response.flush()?;
|
||||
}
|
||||
Err(err) => {
|
||||
//todo set headers here for filename to be error
|
||||
let error_text = err.to_string();
|
||||
println!("error handling get file {}", error_text);
|
||||
cors_response(request, 500, &error_text)?;
|
||||
}
|
||||
}
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/bundle.js", Method::Get, |request| {
|
||||
.fn_handler("/file", Method::Post, move |mut request| {
|
||||
let filename = query_param(request.uri(), "filename").unwrap();
|
||||
let lock = BOARD_ACCESS
|
||||
.lock()
|
||||
.unwrap();
|
||||
let file_handle =
|
||||
lock.get_file_handle(&filename, true);
|
||||
match file_handle {
|
||||
//TODO get free filesystem size, check against during write if not to large
|
||||
|
||||
Ok(mut file_handle) => {
|
||||
const BUFFER_SIZE: usize = 512;
|
||||
let mut buffer: [u8; BUFFER_SIZE] = [0; BUFFER_SIZE];
|
||||
let mut total_read: usize = 0;
|
||||
let mut lastiter = 0;
|
||||
loop {
|
||||
|
||||
let iter = (total_read/1024)%8;
|
||||
if iter != lastiter {
|
||||
for i in 0..PLANT_COUNT {
|
||||
lock.fault(i, iter==i);
|
||||
}
|
||||
lastiter = iter;
|
||||
}
|
||||
|
||||
let read = request.read(&mut buffer)?;
|
||||
total_read += read;
|
||||
let to_write = &buffer[0..read];
|
||||
std::io::Write::write(&mut file_handle, to_write)?;
|
||||
if read == 0 {
|
||||
break;
|
||||
}
|
||||
}
|
||||
cors_response(request, 200, &format!("saved {total_read} bytes"))?;
|
||||
}
|
||||
Err(err) => {
|
||||
//todo set headers here for filename to be error
|
||||
let error_text = err.to_string();
|
||||
println!("error handling get file {}", error_text);
|
||||
cors_response(request, 500, &error_text)?;
|
||||
}
|
||||
}
|
||||
drop(lock);
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
server
|
||||
.fn_handler("/file", Method::Delete, move |request| {
|
||||
let filename = query_param(request.uri(), "filename").unwrap();
|
||||
let copy = filename.clone();
|
||||
let board = BOARD_ACCESS.lock().unwrap();
|
||||
match board.delete_file(&filename) {
|
||||
Ok(_) => {
|
||||
let info = format!("Deleted file {copy}");
|
||||
cors_response(request, 200, &info)?;
|
||||
}
|
||||
Err(err) => {
|
||||
let info = format!("Could not delete file {copy} {err:?}");
|
||||
cors_response(request, 400, &info)?;
|
||||
}
|
||||
}
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/file", Method::Options, |request| {
|
||||
cors_response(request, 200, "")
|
||||
})
|
||||
.unwrap();
|
||||
|
||||
server
|
||||
.fn_handler("/flashbattery", Method::Post, move |request| {
|
||||
let filename = query_param(request.uri(),"filename").unwrap();
|
||||
let dryrun = true;
|
||||
match flash_bq(&filename, false) {
|
||||
Ok(_) => {
|
||||
if !dryrun {
|
||||
match flash_bq(&filename, true) {
|
||||
Ok(_) => {
|
||||
cors_response(request, 200, "Sucessfully flashed bq34z100")?;
|
||||
},
|
||||
Err(err) => {
|
||||
let info = format!("Could not flash bq34z100, could be bricked now! {filename} {err:?}");
|
||||
cors_response(request, 500, &info)?;
|
||||
},
|
||||
}
|
||||
} else {
|
||||
cors_response(request, 200, "Sucessfully processed bq34z100")?;
|
||||
}
|
||||
},
|
||||
Err(err) => {
|
||||
let info = format!("Could not process firmware file for, bq34z100, refusing to flash! {filename} {err:?}");
|
||||
cors_response(request, 500, &info)?;
|
||||
},
|
||||
};
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
unsafe { vTaskDelay(1) };
|
||||
server
|
||||
.fn_handler("/", Method::Get, move |request| {
|
||||
let mut response = request.into_ok_response()?;
|
||||
response.write(include_bytes!("bundle.js"))?;
|
||||
response.write(include_bytes!("index.html"))?;
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/favicon.ico", Method::Get, |request| {
|
||||
let mut response = request.into_ok_response()?;
|
||||
response.write(include_bytes!("favicon.ico"))?;
|
||||
request
|
||||
.into_ok_response()?
|
||||
.write(include_bytes!("favicon.ico"))?;
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/ota", Method::Post, |mut request| {
|
||||
let ota = OtaUpdate::begin();
|
||||
if ota.is_err() {
|
||||
let error_text = ota.unwrap_err().to_string();
|
||||
request
|
||||
.into_status_response(500)?
|
||||
.write(error_text.as_bytes())?;
|
||||
return anyhow::Ok(());
|
||||
}
|
||||
let mut ota = ota.unwrap();
|
||||
println!("start ota");
|
||||
|
||||
//having a larger buffer is not really faster, requires more stack and prevents the progress bar from working ;)
|
||||
const BUFFER_SIZE: usize = 512;
|
||||
let mut buffer: [u8; BUFFER_SIZE] = [0; BUFFER_SIZE];
|
||||
let mut total_read: usize = 0;
|
||||
loop {
|
||||
let read = request.read(&mut buffer).unwrap();
|
||||
total_read += read;
|
||||
println!("received {read} bytes ota {total_read}");
|
||||
let to_write = &buffer[0..read];
|
||||
|
||||
let write_result = ota.write(to_write);
|
||||
if write_result.is_err() {
|
||||
let error_text = write_result.unwrap_err().to_string();
|
||||
request
|
||||
.into_status_response(500)?
|
||||
.write(error_text.as_bytes())?;
|
||||
return Ok(());
|
||||
}
|
||||
println!("wrote {read} bytes ota {total_read}");
|
||||
if read == 0 {
|
||||
break;
|
||||
}
|
||||
}
|
||||
println!("finish ota");
|
||||
let partition = ota.raw_partition();
|
||||
println!("finalizing and changing boot partition to {partition:?}");
|
||||
|
||||
let finalizer = ota.finalize();
|
||||
if finalizer.is_err() {
|
||||
let error_text = finalizer.err().unwrap().to_string();
|
||||
request
|
||||
.into_status_response(500)?
|
||||
.write(error_text.as_bytes())?;
|
||||
return Ok(());
|
||||
}
|
||||
let mut finalizer = finalizer.unwrap();
|
||||
|
||||
println!("changing boot partition");
|
||||
finalizer.set_as_boot_partition().unwrap();
|
||||
finalizer.restart();
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/boardtest", Method::Post, move |_| {
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
board.test()?;
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
.fn_handler("/pumptest", Method::Post, |mut request| {
|
||||
let mut buf = [0_u8; 3072];
|
||||
let read = request.read(&mut buf);
|
||||
if read.is_err() {
|
||||
let error_text = read.unwrap_err().to_string();
|
||||
println!("Could not parse testrequest {}", error_text);
|
||||
request
|
||||
.into_status_response(500)?
|
||||
.write(error_text.as_bytes())?;
|
||||
return anyhow::Ok(());
|
||||
}
|
||||
let actual_data = &buf[0..read.unwrap()];
|
||||
println!("Raw data {}", from_utf8(actual_data).unwrap());
|
||||
let pump_test: Result<TestPump, serde_json::Error> =
|
||||
serde_json::from_slice(actual_data);
|
||||
if pump_test.is_err() {
|
||||
let error_text = pump_test.unwrap_err().to_string();
|
||||
println!("Could not parse TestPump {}", error_text);
|
||||
request
|
||||
.into_status_response(500)?
|
||||
.write(error_text.as_bytes())?;
|
||||
return Ok(());
|
||||
}
|
||||
let mut board = BOARD_ACCESS.lock().unwrap();
|
||||
board.test_pump(pump_test.unwrap().pump)?;
|
||||
.fn_handler("/bundle.js", Method::Get, |request| {
|
||||
request
|
||||
.into_ok_response()?
|
||||
.write(include_bytes!("bundle.js"))?;
|
||||
anyhow::Ok(())
|
||||
})
|
||||
.unwrap();
|
||||
server
|
||||
}
|
||||
|
||||
fn cors_response(
|
||||
request: Request<&mut EspHttpConnection>,
|
||||
status: u16,
|
||||
body: &str,
|
||||
) -> Result<(), anyhow::Error> {
|
||||
let headers = [
|
||||
("Access-Control-Allow-Origin", "*"),
|
||||
("Access-Control-Allow-Headers", "*"),
|
||||
("Access-Control-Allow-Methods", "*"),
|
||||
];
|
||||
let mut response = request.into_response(status, None, &headers)?;
|
||||
response.write(body.as_bytes())?;
|
||||
response.flush()?;
|
||||
return anyhow::Ok(());
|
||||
}
|
||||
|
||||
type AnyhowHandler =
|
||||
fn(&mut Request<&mut EspHttpConnection>) -> Result<Option<std::string::String>, anyhow::Error>;
|
||||
fn handle_error_to500(
|
||||
mut request: Request<&mut EspHttpConnection>,
|
||||
chain: AnyhowHandler,
|
||||
) -> Result<(), anyhow::Error> {
|
||||
let error = chain(&mut request);
|
||||
match error {
|
||||
Ok(answer) => match answer {
|
||||
Some(json) => {
|
||||
cors_response(request, 200, &json)?;
|
||||
}
|
||||
None => {
|
||||
cors_response(request, 200, "")?;
|
||||
}
|
||||
},
|
||||
Err(err) => {
|
||||
let error_text = err.to_string();
|
||||
println!("error handling process {}", error_text);
|
||||
cors_response(request, 500, &error_text)?;
|
||||
}
|
||||
}
|
||||
return anyhow::Ok(());
|
||||
}
|
||||
|
||||
fn read_up_to_bytes_from_request(request: &mut Request<&mut EspHttpConnection<'_>>, limit: Option<usize>) -> Result<Vec<u8>, anyhow::Error> {
|
||||
let max_read = limit.unwrap_or(1024);
|
||||
let mut data_store = Vec::new();
|
||||
let mut total_read = 0;
|
||||
loop{
|
||||
let mut buf = [0_u8; 64];
|
||||
let read = request.read(&mut buf)?;
|
||||
if read == 0 {
|
||||
break;
|
||||
}
|
||||
let actual_data = &buf[0..read];
|
||||
total_read += read;
|
||||
if total_read > max_read{
|
||||
bail!("Request too large {total_read} > {max_read}");
|
||||
}
|
||||
data_store.push(actual_data.to_owned());
|
||||
}
|
||||
let allvec = data_store.concat();
|
||||
println!("Raw data {}", from_utf8(&allvec)?);
|
||||
Ok(allvec)
|
||||
}
|
||||
|
||||
3538
rust/src_webpack/package-lock.json
generated
3538
rust/src_webpack/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user