From cd6daae17e2aa0c83d0f3b3cee3719955a3a9cde Mon Sep 17 00:00:00 2001 From: Daniele Verducci Date: Wed, 20 Aug 2025 17:53:34 +0200 Subject: [PATCH] First commit --- .gitignore | 4 + README.md | 57 + hexagon-schematics.pdf | Bin 0 -> 64815 bytes .../hexagon-schematics-2025-07-01_100220.zip | Bin 0 -> 11504 bytes .../hexagon-schematics-2025-07-01_105200.zip | Bin 0 -> 12679 bytes .../hexagon-schematics-2025-07-01_113407.zip | Bin 0 -> 12904 bytes .../hexagon-schematics-2025-07-01_115336.zip | Bin 0 -> 14301 bytes .../hexagon-schematics-2025-07-01_120735.zip | Bin 0 -> 14349 bytes .../hexagon-schematics.kicad_pcb | 2 + .../hexagon-schematics.kicad_prl | 97 + .../hexagon-schematics.kicad_pro | 417 ++ .../hexagon-schematics.kicad_sch | 5462 +++++++++++++++++ hexagon.yaml | 246 + secrets.yaml.example | 4 + 14 files changed, 6289 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 hexagon-schematics.pdf create mode 100644 hexagon-schematics/hexagon-schematics-backups/hexagon-schematics-2025-07-01_100220.zip create mode 100644 hexagon-schematics/hexagon-schematics-backups/hexagon-schematics-2025-07-01_105200.zip create mode 100644 hexagon-schematics/hexagon-schematics-backups/hexagon-schematics-2025-07-01_113407.zip create mode 100644 hexagon-schematics/hexagon-schematics-backups/hexagon-schematics-2025-07-01_115336.zip create mode 100644 hexagon-schematics/hexagon-schematics-backups/hexagon-schematics-2025-07-01_120735.zip create mode 100644 hexagon-schematics/hexagon-schematics.kicad_pcb create mode 100644 hexagon-schematics/hexagon-schematics.kicad_prl create mode 100644 hexagon-schematics/hexagon-schematics.kicad_pro create mode 100644 hexagon-schematics/hexagon-schematics.kicad_sch create mode 100644 hexagon.yaml create mode 100644 secrets.yaml.example diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d3dede6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ + +# Gitignore settings for ESPHome +/.esphome/ +/secrets.yaml diff --git a/README.md b/README.md new file mode 100644 index 0000000..6dce84e --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# Luna Hexagon + +Luna hexagon is an electronic game I built for my daughter. +It is based on [ESPHome](https://esphome.io/). + +## How it works (user's perspective) + +### Baby interaction + +She's 8 months old, so the interaction should be very simple. She mostly grabs and pulls objects, so there's a cord knotted to a limit switch's lever. When she pulls the cord, one of the sectons in the hexagon lights up and the corresponding tune is played. + +### Parents interaction + +It doubles as a night light: in this case the hexagon sections are not individually controllable, they all light up the same, but it's still RGB and dimmable. +It can be controlled via Home Assistant (it appears as a standard dimmable RGB light) or via a web browser (it exposes a simple webpage with the light controls). + +It works on batteries, they last from 4 to 8 hours, depending on the usage. + +## Worklog + +See the complete worklog here: (TODO: Link to the Fediverse) + +## How to build one + +### BOM + +- ESP8266 +- An 8 Ohm speaker +- Neopixel compatible 5v led strip +- Limit switch +- Battery holder +- Power switch +- A nice case (mine was sold as a tea box) + +### Flash the firmware + +The file containing the firmware definition is `hexagon.yaml`. That's the file you'll flash to the ESP8266. + +First of all, you need to adapt the configuration for your wifi connection. I've placed a couple of example in the yaml file, one with DHCP (for use with Home Assistant) and one with static IP (for standalone use, needed to access the web interface in case you don't own an home assistant instance). Change them to match your configuration. The Wifi SSID and password are stored in a separate file called `secrets.yaml`. I provided an example file, `secrets.yaml.example`, just rename it and replace the SSID and password. + +To flash the firmware you have 3 options. From simplest to hardest: +- If you can use Chrome/Chromium web browser, you can use [ESPHome Web flasher](https://web.esphome.io/) +- If you have Home Assistant, you can use the [ESPHome Device Builder](https://esphome.io/guides/getting_started_hassio.html) +- You can also use the [ESPHome CLI](https://esphome.io/guides/getting_started_command_line) +In any case, the file you have to use is `hexagon.yaml`. + +### Build the game + +Find a suitable enclosure, install the switches, speaker, battery holder and ESP8266. Cut the neopixel-compatible led strip in six chunks of two leds, stick it to the 6 sections of the box and solder it according to the electric scheme. Test it all and decorate as you prefer. + +You will find useful: +- the [Electric scheme](hexagon-schematics.pdf) (image, or if you prefer you can open the KiCad project) +- the worklog (TODO: Link to the Fediverse) to see how I built mine + +## Contributing + +Want to contribute? Ask me an account writing an email to daniele.verducci@ichibi.eu diff --git a/hexagon-schematics.pdf b/hexagon-schematics.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4c2ffbff0d9004cb911d802366d8a5d1f99497e4 GIT binary patch literal 64815 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 literal 0 HcmV?d00001 diff --git a/hexagon-schematics/hexagon-schematics-backups/hexagon-schematics-2025-07-01_115336.zip b/hexagon-schematics/hexagon-schematics-backups/hexagon-schematics-2025-07-01_115336.zip new file mode 100644 index 0000000000000000000000000000000000000000..3b9088b009299cd4d9319340b3c7f49f4202f552 GIT binary patch literal 14301 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 E0Xr4!+W-In literal 0 HcmV?d00001 diff --git a/hexagon-schematics/hexagon-schematics.kicad_pcb b/hexagon-schematics/hexagon-schematics.kicad_pcb new file mode 100644 index 0000000..c547853 --- /dev/null +++ b/hexagon-schematics/hexagon-schematics.kicad_pcb @@ -0,0 +1,2 @@ +(kicad_pcb (version 20241229) (generator "pcbnew") (generator_version "9.0") +) \ No newline at end of file diff --git a/hexagon-schematics/hexagon-schematics.kicad_prl b/hexagon-schematics/hexagon-schematics.kicad_prl new file mode 100644 index 0000000..0eff1ab --- /dev/null +++ b/hexagon-schematics/hexagon-schematics.kicad_prl @@ -0,0 +1,97 @@ +{ + "board": { + "active_layer": 0, + "active_layer_preset": "", + "auto_track_width": true, + "hidden_netclasses": [], + "hidden_nets": [], + "high_contrast_mode": 0, + "net_color_mode": 1, + "opacity": { + "images": 0.6, + "pads": 1.0, + "shapes": 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": [ + "vias", + "footprint_text", + "footprint_anchors", + "ratsnest", + "grid", + "footprints_front", + "footprints_back", + "footprint_values", + "footprint_references", + "tracks", + "drc_errors", + "drawing_sheet", + "bitmaps", + "pads", + "zones", + "drc_warnings", + "locked_item_shadows", + "conflict_shadows", + "shapes" + ], + "visible_layers": "ffffffff_ffffffff_ffffffff_ffffffff", + "zone_display_mode": 0 + }, + "git": { + "repo_type": "", + "repo_username": "", + "ssh_key": "" + }, + "meta": { + "filename": "hexagon-schematics.kicad_prl", + "version": 5 + }, + "net_inspector_panel": { + "col_hidden": [], + "col_order": [], + "col_widths": [], + "custom_group_rules": [], + "expanded_rows": [], + "filter_by_net_name": true, + "filter_by_netclass": true, + "filter_text": "", + "group_by_constraint": false, + "group_by_netclass": false, + "show_unconnected_nets": false, + "show_zero_pad_nets": false, + "sort_ascending": true, + "sorting_column": -1 + }, + "open_jobsets": [], + "project": { + "files": [] + }, + "schematic": { + "selection_filter": { + "graphics": true, + "images": true, + "labels": true, + "lockedItems": false, + "otherItems": true, + "pins": true, + "symbols": true, + "text": true, + "wires": true + } + } +} diff --git a/hexagon-schematics/hexagon-schematics.kicad_pro b/hexagon-schematics/hexagon-schematics.kicad_pro new file mode 100644 index 0000000..9ad5c6d --- /dev/null +++ b/hexagon-schematics/hexagon-schematics.kicad_pro @@ -0,0 +1,417 @@ +{ + "board": { + "3dviewports": [], + "design_settings": { + "defaults": {}, + "diff_pair_dimensions": [], + "drc_exclusions": [], + "rules": {}, + "track_widths": [], + "via_dimensions": [] + }, + "ipc2581": { + "dist": "", + "distpn": "", + "internal_id": "", + "mfg": "", + "mpn": "" + }, + "layer_pairs": [], + "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", + "different_unit_footprint": "error", + "different_unit_net": "error", + "duplicate_reference": "error", + "duplicate_sheet_names": "error", + "endpoint_off_grid": "warning", + "extra_units": "error", + "footprint_filter": "ignore", + "footprint_link_issues": "warning", + "four_way_junction": "ignore", + "global_label_dangling": "warning", + "hier_label_mismatch": "error", + "label_dangling": "error", + "label_multiple_wires": "warning", + "lib_symbol_issues": "warning", + "lib_symbol_mismatch": "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", + "same_local_global_label": "warning", + "similar_label_and_power": "warning", + "similar_labels": "warning", + "similar_power": "warning", + "simulation_model_issue": "ignore", + "single_global_label": "ignore", + "unannotated": "error", + "unconnected_wire_endpoint": "warning", + "unit_value_mismatch": "error", + "unresolved_variable": "error", + "wire_dangling": "error" + } + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "hexagon-schematics.kicad_pro", + "version": 3 + }, + "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)", + "priority": 2147483647, + "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": 4 + }, + "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": "${PROJECTNAME}.csv", + "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": false, + "label": "Qty", + "name": "${QUANTITY}", + "show": true + }, + { + "group_by": true, + "label": "Value", + "name": "Value", + "show": true + }, + { + "group_by": true, + "label": "DNP", + "name": "${DNP}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from BOM", + "name": "${EXCLUDE_FROM_BOM}", + "show": true + }, + { + "group_by": true, + "label": "Exclude from Board", + "name": "${EXCLUDE_FROM_BOARD}", + "show": true + }, + { + "group_by": true, + "label": "Footprint", + "name": "Footprint", + "show": true + }, + { + "group_by": false, + "label": "Datasheet", + "name": "Datasheet", + "show": true + } + ], + "filter_string": "", + "group_symbols": true, + "include_excluded_from_bom": true, + "name": "Default Editing", + "sort_asc": true, + "sort_field": "Riferimento" + }, + "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": "", + "page_layout_descr_file": "", + "plot_directory": "", + "space_save_all_events": true, + "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": [ + [ + "06b6e953-64d5-4585-a47a-1bc53a5729bc", + "Root" + ] + ], + "text_variables": {} +} diff --git a/hexagon-schematics/hexagon-schematics.kicad_sch b/hexagon-schematics/hexagon-schematics.kicad_sch new file mode 100644 index 0000000..e53eb7b --- /dev/null +++ b/hexagon-schematics/hexagon-schematics.kicad_sch @@ -0,0 +1,5462 @@ +(kicad_sch + (version 20250114) + (generator "eeschema") + (generator_version "9.0") + (uuid "06b6e953-64d5-4585-a47a-1bc53a5729bc") + (paper "A4") + (lib_symbols + (symbol "Device:Battery" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "BT" + (at 2.54 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "Battery" + (at 2.54 0 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 0 1.524 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 1.524 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Multiple-cell battery" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "batt voltage-source cell" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "Battery_0_1" + (rectangle + (start -2.286 1.778) + (end 2.286 1.524) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start -2.286 -1.27) + (end 2.286 -1.524) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start -1.524 1.016) + (end 1.524 0.508) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (rectangle + (start -1.524 -2.032) + (end 1.524 -2.54) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (polyline + (pts + (xy 0 1.778) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0) (xy 0 0.254) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -0.508) (xy 0 -0.254) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 -1.016) (xy 0 -0.762) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0.762 3.048) (xy 1.778 3.048) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 3.556) (xy 1.27 2.54) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "Battery_1_1" + (pin passive line + (at 0 5.08 270) + (length 2.54) + (name "+" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -5.08 90) + (length 2.54) + (name "-" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:R" + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "R" + (at 2.032 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "R" + (at 0 0 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at -1.778 0 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "R res resistor" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "R_*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "R_0_1" + (rectangle + (start -1.016 -2.54) + (end 1.016 2.54) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "R_1_1" + (pin passive line + (at 0 3.81 270) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 0 -3.81 90) + (length 1.27) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Device:Speaker" + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "LS" + (at 1.27 5.715 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Value" "Speaker" + (at 1.27 3.81 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "" + (at 0 -5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at -0.254 -1.27 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Speaker" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "speaker sound" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "Speaker_0_0" + (rectangle + (start -2.54 1.27) + (end 1.016 -3.81) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.016 1.27) (xy 3.556 3.81) (xy 3.556 -6.35) (xy 1.016 -3.81) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "Speaker_1_1" + (pin input line + (at -5.08 0 0) + (length 2.54) + (name "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -5.08 -2.54 0) + (length 2.54) + (name "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "LED:WS2812B" + (pin_names + (offset 0.254) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "D" + (at 5.08 5.715 0) + (effects + (font + (size 1.27 1.27) + ) + (justify right bottom) + ) + ) + (property "Value" "WS2812B" + (at 1.27 -5.715 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + ) + ) + (property "Footprint" "LED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 1.27 -7.62 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 2.54 -9.525 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "RGB LED NeoPixel addressable" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "LED*WS2812*PLCC*5.0x5.0mm*P3.2mm*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "WS2812B_0_0" + (text "RGB" + (at 2.286 -4.191 0) + (effects + (font + (size 0.762 0.762) + ) + ) + ) + ) + (symbol "WS2812B_0_1" + (polyline + (pts + (xy 1.27 -2.54) (xy 1.778 -2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 1.27 -3.556) (xy 1.778 -3.556) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 2.286 -1.524) (xy 1.27 -2.54) (xy 1.27 -2.032) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 2.286 -2.54) (xy 1.27 -3.556) (xy 1.27 -3.048) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 3.683 -1.016) (xy 3.683 -3.556) (xy 3.683 -4.064) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.699 -1.524) (xy 2.667 -1.524) (xy 3.683 -3.556) (xy 4.699 -1.524) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 4.699 -3.556) (xy 2.667 -3.556) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (rectangle + (start 5.08 5.08) + (end -5.08 -5.08) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + ) + (symbol "WS2812B_1_1" + (pin input line + (at -7.62 0 0) + (length 2.54) + (name "DIN" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 7.62 270) + (length 2.54) + (name "VDD" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -7.62 90) + (length 2.54) + (name "VSS" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at 7.62 0 180) + (length 2.54) + (name "DOUT" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "RF_Module:WEMOS_D1_mini" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at 3.81 19.05 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "WEMOS_D1_mini" + (at 1.27 -19.05 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "RF_Module:WEMOS_D1_mini_light" + (at 0 -29.21 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "https://wiki.wemos.cc/products:d1:d1_mini#documentation" + (at -46.99 -29.21 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "32-bit microcontroller module with WiFi" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "ESP8266 WiFi microcontroller ESP8266EX" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "WEMOS*D1*mini*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "WEMOS_D1_mini_1_1" + (rectangle + (start -7.62 17.78) + (end 7.62 -17.78) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (pin input line + (at -10.16 10.16 0) + (length 2.54) + (name "~{RST}" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at -10.16 2.54 0) + (length 2.54) + (name "RX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "15" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin output line + (at -10.16 0 0) + (length 2.54) + (name "TX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "16" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at -2.54 20.32 270) + (length 2.54) + (name "5V" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_in line + (at 0 -20.32 90) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin power_out line + (at 2.54 20.32 270) + (length 2.54) + (name "3V3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin input line + (at 10.16 12.7 180) + (length 2.54) + (name "A0" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 10.16 10.16 180) + (length 2.54) + (name "D0" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 10.16 7.62 180) + (length 2.54) + (name "SCL/D1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 10.16 5.08 180) + (length 2.54) + (name "SDA/D2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 10.16 2.54 180) + (length 2.54) + (name "D3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 10.16 0 180) + (length 2.54) + (name "D4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 10.16 -2.54 180) + (length 2.54) + (name "SCK/D5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 10.16 -5.08 180) + (length 2.54) + (name "MISO/D6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 10.16 -7.62 180) + (length 2.54) + (name "MOSI/D7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin bidirectional line + (at 10.16 -10.16 180) + (length 2.54) + (name "CS/D8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Switch:SW_SPDT" + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "SW" + (at 0 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "SW_SPDT" + (at 0 -5.08 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 -7.62 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Switch, single pole double throw" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "switch single-pole double-throw spdt ON-ON" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "SW_SPDT_0_1" + (circle + (center -2.032 0) + (radius 0.4572) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.651 0.254) (xy 1.651 2.286) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 2.032 2.54) + (radius 0.4572) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 2.032 -2.54) + (radius 0.4572) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "SW_SPDT_1_1" + (rectangle + (start -3.175 3.81) + (end 3.175 -3.81) + (stroke + (width 0) + (type default) + ) + (fill + (type background) + ) + ) + (pin passive line + (at -5.08 0 0) + (length 2.54) + (name "B" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 2.54 180) + (length 2.54) + (name "A" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 -2.54 180) + (length 2.54) + (name "C" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "Switch:SW_SPDT_XKB_DMx-xxxx-1" + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "SW" + (at 0 4.318 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "SW_SPDT_XKB_DMx-xxxx-1" + (at 0 -5.588 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Position switch" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "limit switch single pole double throw spdt microswitch" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "SW?XKB?DM??16U??1*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "SW_SPDT_XKB_DMx-xxxx-1_1_1" + (circle + (center -2.032 0) + (radius 0.508) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.524 0.254) (xy 2.286 2.032) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.762 0.508) (xy 0.762 0.508) (xy 0.762 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 2.032 2.54) + (radius 0.508) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 2.032 -2.54) + (radius 0.508) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (pin passive line + (at -5.08 0 0) + (length 2.54) + (name "A" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 2.54 180) + (length 2.54) + (name "C" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 -2.54 180) + (length 2.54) + (name "B" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:GND" + (power) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "#PWR" + (at 0 -6.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 0 -3.81 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "GND_0_1" + (polyline + (pts + (xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) (xy -1.27 -1.27) (xy 0 -1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "GND_1_1" + (pin power_in line + (at 0 0 270) + (length 0) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + (symbol "power:VCC" + (power) + (pin_numbers + (hide yes) + ) + (pin_names + (offset 0) + (hide yes) + ) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "#PWR" + (at 0 -3.81 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 0 3.556 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "VCC_0_1" + (polyline + (pts + (xy -0.762 1.27) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.54) (xy 0.762 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "VCC_1_1" + (pin power_in line + (at 0 0 90) + (length 0) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + (embedded_fonts no) + ) + ) + (text "Voltage divider between battery VCC and GND.\nUsed for battery level monitoring. Optional." + (exclude_from_sim no) + (at 163.83 26.924 0) + (effects + (font + (size 1.27 1.27) + ) + ) + (uuid "081ac6fd-b7cd-4fe0-8efc-470c0b5bbb79") + ) + (text "A Neopixel-compatible LED strip (mine uses WS2812 RGB LED chips), with two LEDs per section (6 sections = 12 leds)" + (exclude_from_sim no) + (at 142.494 150.876 0) + (effects + (font + (size 1.27 1.27) + ) + ) + (uuid "2103a354-7dc2-4d28-85fc-bc83be7b2ab6") + ) + (text "A limit switch with a piece\nof string knotted to its lever" + (exclude_from_sim no) + (at 167.894 88.138 0) + (effects + (font + (size 1.27 1.27) + ) + ) + (uuid "2177f99b-d9af-4d31-b643-3f2a941a3c36") + ) + (text "Battery is 4xAA NI-MH cells in series, in a battery holder.\nFour 2500mAh cells last from 4 to 8 hours, depending on the usage.\nDo not use alcaline batteries (due to the higher voltage).\nMay be replaced with a lithium battery connected to a boost\nconverter configured to output 5v." + (exclude_from_sim no) + (at 244.348 56.134 0) + (effects + (font + (size 1.27 1.27) + ) + ) + (uuid "34aa4bf3-f900-4d8b-b2f1-5dcb83a744dd") + ) + (text "20250701" + (exclude_from_sim no) + (at 273.558 193.294 0) + (effects + (font + (size 1.27 1.27) + ) + ) + (uuid "5535f43d-d78e-41a8-b3aa-4149850f29a9") + ) + (text "Luna Hexagon baby game" + (exclude_from_sim no) + (at 200.406 189.738 0) + (effects + (font + (size 1.27 1.27) + ) + ) + (uuid "fdaa6b50-2bcd-44d4-8081-13871fdf0b36") + ) + (junction + (at 165.1 46.99) + (diameter 0) + (color 0 0 0 0) + (uuid "879abaee-ff58-4df8-a931-b039de8d9340") + ) + (no_connect + (at 170.18 78.74) + (uuid "1e56e347-0733-4e72-be27-d2cfba956260") + ) + (no_connect + (at 271.78 133.35) + (uuid "b0f53bea-3f01-45b2-99e2-65ce88fab489") + ) + (wire + (pts + (xy 229.87 44.45) (xy 223.52 44.45) + ) + (stroke + (width 0) + (type default) + ) + (uuid "04426037-a364-4afd-bc35-7c2457c3327a") + ) + (wire + (pts + (xy 53.34 133.35) (xy 66.04 133.35) + ) + (stroke + (width 0) + (type default) + ) + (uuid "15d413af-00ae-40e9-957d-12d7f4733e1d") + ) + (wire + (pts + (xy 96.52 133.35) (xy 109.22 133.35) + ) + (stroke + (width 0) + (type default) + ) + (uuid "1bf38293-bc3c-49f7-8d7f-5f76e3e85b4d") + ) + (wire + (pts + (xy 165.1 44.45) (xy 165.1 46.99) + ) + (stroke + (width 0) + (type default) + ) + (uuid "2bc3c81f-16dc-4f31-b6e4-a13a1d1f8bf9") + ) + (wire + (pts + (xy 165.1 46.99) (xy 151.13 46.99) + ) + (stroke + (width 0) + (type default) + ) + (uuid "3179c1f4-a879-490f-a1ca-b44a8de44e72") + ) + (wire + (pts + (xy 125.73 88.9) (xy 22.86 88.9) + ) + (stroke + (width 0) + (type default) + ) + (uuid "4e45db14-fe14-4323-84bc-6e12ec80d1b6") + ) + (wire + (pts + (xy 240.03 41.91) (xy 247.65 41.91) + ) + (stroke + (width 0) + (type default) + ) + (uuid "51a4d4a9-989d-46d6-956b-8e9ffd0a3170") + ) + (wire + (pts + (xy 138.43 71.12) (xy 138.43 64.77) + ) + (stroke + (width 0) + (type default) + ) + (uuid "52cffff7-cb50-4af8-abc9-6008a92dc4d3") + ) + (wire + (pts + (xy 165.1 46.99) (xy 165.1 49.53) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5ade08b6-7bbf-4936-bdc9-75f0d2d5f50c") + ) + (wire + (pts + (xy 146.05 101.6) (xy 160.02 101.6) + ) + (stroke + (width 0) + (type default) + ) + (uuid "65e587f4-0646-4bc5-90e4-d5e27d9bf3a6") + ) + (wire + (pts + (xy 228.6 133.35) (xy 241.3 133.35) + ) + (stroke + (width 0) + (type default) + ) + (uuid "8f8c5b55-5c1b-4ff7-8451-654108da7d90") + ) + (wire + (pts + (xy 176.53 83.82) (xy 170.18 83.82) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a069b54b-e469-4af6-b26f-823b7634ae6e") + ) + (wire + (pts + (xy 223.52 44.45) (xy 223.52 41.91) + ) + (stroke + (width 0) + (type default) + ) + (uuid "a9506022-61e9-4802-abb8-fb570583fcbc") + ) + (wire + (pts + (xy 151.13 46.99) (xy 151.13 78.74) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b09c9b27-80ce-48fa-8ba7-c661b871957f") + ) + (wire + (pts + (xy 22.86 88.9) (xy 22.86 133.35) + ) + (stroke + (width 0) + (type default) + ) + (uuid "cac7bac6-a856-4f52-9f42-031a752ac8ff") + ) + (wire + (pts + (xy 146.05 81.28) (xy 160.02 81.28) + ) + (stroke + (width 0) + (type default) + ) + (uuid "cea64601-4b6f-42ec-9485-55997fdbf310") + ) + (wire + (pts + (xy 176.53 64.77) (xy 176.53 83.82) + ) + (stroke + (width 0) + (type default) + ) + (uuid "de8611ae-7793-4a69-9c08-dd2e61c87fbd") + ) + (wire + (pts + (xy 139.7 133.35) (xy 152.4 133.35) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e6b96dae-da7d-4f57-933c-be86b04b6b15") + ) + (wire + (pts + (xy 182.88 133.35) (xy 198.12 133.35) + ) + (stroke + (width 0) + (type default) + ) + (uuid "eb881ffd-db91-49ff-846c-d763903d3695") + ) + (wire + (pts + (xy 138.43 64.77) (xy 176.53 64.77) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f37b533a-cc6f-4864-8010-30a568d2c46b") + ) + (wire + (pts + (xy 151.13 78.74) (xy 146.05 78.74) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f798a782-7a44-4cf8-be09-42714373e988") + ) + (symbol + (lib_id "power:GND") + (at 116.84 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "05bd09f2-457e-4281-b79a-08d94ee362cd") + (property "Reference" "#PWR010" + (at 116.84 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 116.84 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 116.84 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 116.84 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 116.84 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "f8b7e227-117c-4ad4-81cf-01dfa31861d3") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR010") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 165.1 57.15 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "11cee70c-a650-4d1a-ad85-413905e2079a") + (property "Reference" "#PWR031" + (at 165.1 63.5 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 165.1 62.23 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 165.1 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 165.1 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 165.1 57.15 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "805aa8a4-88a4-4bc6-8435-f9aa099a1462") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR031") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:R") + (at 165.1 40.64 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "160e943d-0546-4127-a486-daa2718443ba") + (property "Reference" "R2" + (at 167.64 39.3699 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "10kOhm" + (at 167.64 41.9099 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 163.322 40.64 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 165.1 40.64 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor" + (at 165.1 40.64 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "0b4156a3-a04a-48b1-b9c4-37b148e96ceb") + ) + (pin "2" + (uuid "d02e3496-081a-4d0a-bdce-1776a6442841") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "R2") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 116.84 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "263f0086-e0ae-4b64-b59a-32ad0b45bf83") + (property "Reference" "D5" + (at 123.19 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 123.19 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 118.11 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 119.38 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 116.84 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "f416622f-2df1-408e-ad66-006753ecd600") + ) + (pin "4" + (uuid "5aacbcfb-e2a0-428d-b4d6-6489f1575a96") + ) + (pin "1" + (uuid "a393decf-5b76-4fbc-8830-2ced1393e00f") + ) + (pin "2" + (uuid "69f8d0bf-2998-49b4-a709-d08fef579b29") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D5") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 45.72 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "2e6fd58f-ca2d-49c3-8e70-942d90e89ef1") + (property "Reference" "D2" + (at 52.07 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 52.07 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 46.99 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 48.26 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 45.72 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "d2f3b846-ed63-4fd5-956f-17098dd7244d") + ) + (pin "4" + (uuid "a5b22947-078e-43d6-8b68-88eba0c315b0") + ) + (pin "1" + (uuid "1e6ce515-e64b-45f3-8289-df9a88632e32") + ) + (pin "2" + (uuid "684cc204-ee5e-46ca-b8e6-f334dd4a1dc9") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D2") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 264.16 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "3b860826-e243-4e94-a135-e6d4a03aaf2d") + (property "Reference" "D12" + (at 270.51 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 270.51 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 265.43 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 266.7 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 264.16 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "7f125edc-cc4e-494e-8e0c-c839b046cd35") + ) + (pin "4" + (uuid "e78a4408-63e5-4165-b82f-ce4c7796482e") + ) + (pin "1" + (uuid "0357b718-2d71-4898-94d9-a23e50be098d") + ) + (pin "2" + (uuid "7914f9db-d7a5-44ad-a96e-88a765caf12e") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D12") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 205.74 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "3dc091cc-1cc0-4e5d-b206-3b65ad7bc5ac") + (property "Reference" "#PWR07" + (at 205.74 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 205.74 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 205.74 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 205.74 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 205.74 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "029c1b73-f6e2-4265-99cc-801171b9cfd9") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR07") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 248.92 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "47a39c9d-24ac-4f31-aebd-d4c88552bf70") + (property "Reference" "D11" + (at 255.27 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 255.27 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 250.19 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 251.46 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 248.92 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "697d0f1f-03d4-4660-a3d6-45453a57dc78") + ) + (pin "4" + (uuid "19a9c80f-c9da-446f-986f-81c715784339") + ) + (pin "1" + (uuid "014243b9-56bb-4023-93e6-ebe41d67ac0f") + ) + (pin "2" + (uuid "5fb77a17-1739-4592-9412-0160895067ec") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D11") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 220.98 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "52d0a6b2-30ca-499b-920b-1bfebc852b21") + (property "Reference" "#PWR027" + (at 220.98 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 220.98 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 220.98 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 220.98 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 220.98 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "e8459821-18f2-448a-881b-816b74c94896") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR027") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 264.16 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "543bb087-0f86-41f4-8588-4d69d30b4286") + (property "Reference" "#PWR029" + (at 264.16 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 264.16 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 264.16 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 264.16 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 264.16 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "809b4611-7f37-473c-bc18-8c2f87e3cf58") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR029") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 205.74 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "5977f2f0-047d-48fa-a1df-5acf2e16bd63") + (property "Reference" "#PWR026" + (at 205.74 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 205.74 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 205.74 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 205.74 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 205.74 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "b2c51804-42bb-4e26-99a1-8f30f8ff0109") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR026") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 160.02 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "5c955c37-c5bb-4079-87b5-a82778b953bc") + (property "Reference" "D7" + (at 166.37 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 166.37 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 161.29 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 162.56 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 160.02 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "be25125d-6f93-43c8-9074-6a0cccc1f1c8") + ) + (pin "4" + (uuid "693fddbd-d15c-483f-9cc5-9ac8d9dc89f9") + ) + (pin "1" + (uuid "2cd43b41-0b8a-4ae4-b478-f994f6edd633") + ) + (pin "2" + (uuid "c7b5af97-fb3d-4782-bc95-3926ac33d7e4") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D7") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 30.48 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "60951021-7480-4c65-bd3c-77de18648f55") + (property "Reference" "D1" + (at 36.83 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 36.83 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 31.75 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 33.02 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 30.48 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "10dd1175-f3d3-4f75-80fe-026afa3644e3") + ) + (pin "4" + (uuid "d7337ed1-feb6-4444-a779-a61c40d5c5f1") + ) + (pin "1" + (uuid "6b53b264-64e7-4766-b609-2d635ba230be") + ) + (pin "2" + (uuid "730ed686-233f-4ab3-88d0-865b4e0a62f3") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 45.72 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "66aa2283-eebd-49ec-9d7d-bf0955ee0017") + (property "Reference" "#PWR015" + (at 45.72 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 45.72 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 45.72 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 45.72 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 45.72 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "fd177517-b645-46df-8dd8-34275890bfdf") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR015") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:R") + (at 165.1 53.34 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "6b8c3399-4d19-45c7-97be-8826f1980a48") + (property "Reference" "R1" + (at 167.64 52.0699 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "10kOhm" + (at 167.64 54.6099 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 163.322 53.34 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 165.1 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Resistor" + (at 165.1 53.34 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "9ed9ca11-c09a-427a-887b-e38c2756b200") + ) + (pin "2" + (uuid "83eeaf9d-231c-46bc-9e0e-33771f99d4b9") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "R1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:Battery") + (at 252.73 41.91 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "774179ee-58a6-4be8-b22c-071c3b8df739") + (property "Reference" "BT1" + (at 252.1585 34.29 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Battery" + (at 252.1585 36.83 90) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 251.206 41.91 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 251.206 41.91 90) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Multiple-cell battery" + (at 252.73 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "bd9bd641-76d1-4245-a78c-238a1f866a22") + ) + (pin "2" + (uuid "2cc76bc1-bf13-468f-a3cc-57e68008b8d6") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "BT1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 257.81 41.91 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "78b823f9-cae8-4996-a83e-a3b46c411a38") + (property "Reference" "#PWR01" + (at 257.81 48.26 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 257.81 46.99 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 257.81 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 257.81 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 257.81 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "dab90690-9d1f-44cc-8612-6495a303fc05") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR01") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 132.08 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "7b726fa5-9cc9-4bd9-990f-9ea2677920f7") + (property "Reference" "#PWR011" + (at 132.08 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 132.08 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 132.08 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 132.08 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 132.08 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "920ab2a2-b72b-46e3-8a8f-bd2a38b82ee5") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR011") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 248.92 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "83b9b372-c21d-43a9-9a04-88c76315b0c9") + (property "Reference" "#PWR05" + (at 248.92 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 248.92 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 248.92 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 248.92 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 248.92 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "91f40dc1-0380-42af-afe2-0fdb5243fc93") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR05") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 73.66 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "841e5eba-7443-4a01-ab8e-9dcba9179ba9") + (property "Reference" "#PWR012" + (at 73.66 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 73.66 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 73.66 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 73.66 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 73.66 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "1fdbd871-6959-4be0-8eca-553c9aee979c") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR012") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 175.26 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "854abd88-a79c-4b6b-9d22-87d8624b82ef") + (property "Reference" "D8" + (at 181.61 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 181.61 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 176.53 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 177.8 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 175.26 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "2b4212ac-5712-47de-b502-96c4f152a3fc") + ) + (pin "4" + (uuid "136546dd-e41d-467a-b622-fa9be664f50a") + ) + (pin "1" + (uuid "78b2fb01-35fb-4382-877f-4ea1c9e9fe6b") + ) + (pin "2" + (uuid "75799bc6-fdc2-4509-a080-93c27bceb337") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D8") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 132.08 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "8612bd44-8f06-40b0-84ba-7c80a7ac6da0") + (property "Reference" "D6" + (at 138.43 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 138.43 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 133.35 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 134.62 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 132.08 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "beb17212-a9cd-4db3-8642-16414e688c75") + ) + (pin "4" + (uuid "839b569d-f5b7-4e4f-970d-df6ff0dd35d4") + ) + (pin "1" + (uuid "8bb0c335-8d06-4113-bdd4-cc1d21016c60") + ) + (pin "2" + (uuid "8a361426-27eb-413b-aaf2-28968097951e") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D6") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 220.98 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "8facd6d5-eced-4b6c-8fce-d3c462c9d427") + (property "Reference" "#PWR06" + (at 220.98 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 220.98 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 220.98 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 220.98 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 220.98 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "70f6c8b3-6a2a-4783-a53c-cb4b515334ef") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR06") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 73.66 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "904c04d0-af3b-46f9-96e3-b35dccc53af8") + (property "Reference" "D3" + (at 80.01 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 80.01 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 74.93 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 76.2 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 73.66 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "609a3d4b-a540-4f2e-9e13-0d79cb281eea") + ) + (pin "4" + (uuid "2e4a99ac-7311-4325-abb5-b6e15b4eddcd") + ) + (pin "1" + (uuid "700e0a17-a15e-4191-8563-b2b51bb0eebf") + ) + (pin "2" + (uuid "e34af4ff-3319-4a80-9806-856419212546") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D3") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 160.02 104.14 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "91f8e657-48f0-4c97-b768-b47d79bbfd9e") + (property "Reference" "#PWR03" + (at 160.02 110.49 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 160.02 109.22 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 160.02 104.14 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 160.02 104.14 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 160.02 104.14 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "6902e301-fb0e-477e-9823-cdc18aaf584e") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR03") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 175.26 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "92676f6e-c75d-47d8-9de4-c5922b999c6a") + (property "Reference" "#PWR025" + (at 175.26 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 175.26 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 175.26 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 175.26 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 175.26 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "2c9187a3-4ea3-4a99-b738-fba42e6c2b36") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR025") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 135.89 111.76 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "95ea9326-b273-4a96-8aa1-a5fc2b708dcb") + (property "Reference" "#PWR02" + (at 135.89 118.11 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 135.89 116.84 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 135.89 111.76 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 135.89 111.76 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 135.89 111.76 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "a4571826-2256-48b5-8b36-111ae68f3d36") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR02") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "RF_Module:WEMOS_D1_mini") + (at 135.89 91.44 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "98b0db7f-24d2-4a92-aa5f-504630f996fb") + (property "Reference" "U1" + (at 138.0333 111.76 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "WEMOS_D1_mini" + (at 138.0333 114.3 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "RF_Module:WEMOS_D1_mini_light" + (at 135.89 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "https://wiki.wemos.cc/products:d1:d1_mini#documentation" + (at 88.9 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "32-bit microcontroller module with WiFi" + (at 135.89 91.44 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "4" + (uuid "d9925b81-c494-4c3b-b28e-a26b8d962d74") + ) + (pin "8" + (uuid "4fcfd934-de2d-48dd-835d-3826b910a350") + ) + (pin "1" + (uuid "e8c9b88d-ed34-4863-9729-9095c68f6a61") + ) + (pin "16" + (uuid "43d97008-c8d6-4eaa-89fd-3c15c17a16e8") + ) + (pin "15" + (uuid "853c03a0-ef15-4160-aa69-68016fb24cf7") + ) + (pin "2" + (uuid "b1addb6c-3b59-4f9b-9c13-2664df0a1d0c") + ) + (pin "11" + (uuid "b043ee03-cd9c-48b7-8f87-3d8ce877d85a") + ) + (pin "9" + (uuid "aa730829-8d27-48d4-9e6c-7bf10db526c2") + ) + (pin "12" + (uuid "969187bf-74e0-43cb-876d-0e86ce1a5df7") + ) + (pin "14" + (uuid "9a5281e5-f705-49c9-afc4-2f7d01e66e50") + ) + (pin "13" + (uuid "7df16a74-59f3-4249-a212-7f3753035175") + ) + (pin "10" + (uuid "68e89140-08c4-4051-aaef-ea5f1b4699ed") + ) + (pin "7" + (uuid "44ef7e72-731d-4883-a0ef-cbcf4d5498a8") + ) + (pin "5" + (uuid "b1d97730-9883-4a04-b1e6-f1454ea5ac51") + ) + (pin "6" + (uuid "c7fde230-3ac1-4288-a760-2db3e7e4587c") + ) + (pin "3" + (uuid "41fbdc9d-a0f0-4f6c-963e-ce8b840aa5cd") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "U1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 223.52 41.91 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a3cbb4af-e8ba-418d-bbb2-62e3681ff33d") + (property "Reference" "#PWR016" + (at 223.52 45.72 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 223.52 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 223.52 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 223.52 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 223.52 41.91 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "5d003747-28fc-4420-b4aa-5b84ac178aaf") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR016") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 30.48 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a4d3c598-8606-4ab5-9977-4486ab0df8f5") + (property "Reference" "#PWR018" + (at 30.48 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 30.48 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 30.48 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 30.48 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 30.48 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "5c4a80ba-bde3-4221-8687-084927a9fbba") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR018") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 160.02 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a6634e89-a97b-4395-8dc1-09bdc45b842f") + (property "Reference" "#PWR09" + (at 160.02 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 160.02 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 160.02 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 160.02 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 160.02 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "e0b3f500-39ba-4749-89fa-d7005c35bb22") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR09") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 220.98 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "a6f924a3-db75-49b1-817b-ed0583dc9786") + (property "Reference" "D10" + (at 227.33 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 227.33 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 222.25 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 223.52 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 220.98 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "7249e094-2ba6-4d57-8c72-776086ba3eb3") + ) + (pin "4" + (uuid "05119206-0f5b-4ebf-81d8-724f428f2f3c") + ) + (pin "1" + (uuid "ed69233d-cb3b-4f10-8962-7d3ecc350575") + ) + (pin "2" + (uuid "01f45508-198c-444f-ac15-039ed14cbb32") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D10") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 45.72 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "ac5eed5a-83ba-4a1f-b4ee-4afec98d68a5") + (property "Reference" "#PWR019" + (at 45.72 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 45.72 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 45.72 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 45.72 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 45.72 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "5ac6fd0f-c101-457f-8669-b759450ff7b1") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR019") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Switch:SW_SPDT") + (at 234.95 44.45 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "b3a4cfa5-43c2-443d-8738-9df01837e222") + (property "Reference" "SW2" + (at 234.95 35.56 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Power Switch" + (at 234.95 38.1 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 234.95 44.45 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 234.95 52.07 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Switch, single pole double throw" + (at 234.95 44.45 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "122e8b0b-9d4c-4980-8695-7335f170a98a") + ) + (pin "1" + (uuid "191ae0e1-fcb5-4462-a078-771e5b5ee59c") + ) + (pin "2" + (uuid "8dd60d5c-b98d-47c2-a64e-dd13d4525300") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "SW2") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 30.48 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "b70c3946-b40d-4152-aadb-3e1863b18842") + (property "Reference" "#PWR014" + (at 30.48 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 30.48 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 30.48 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 30.48 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 30.48 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "570b4946-af03-4f3f-803c-8e7ec79a3c39") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR014") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 205.74 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "b7650c59-d653-437e-b46c-2b03b9b1a593") + (property "Reference" "D9" + (at 212.09 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 212.09 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 207.01 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 208.28 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 205.74 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "fe48fcf2-e619-4383-ab97-ea7136d63b59") + ) + (pin "4" + (uuid "b02e4788-ec30-4a5d-9588-99bca2099a48") + ) + (pin "1" + (uuid "d1a4d135-d5cc-4c58-9c0c-6a4c9566d983") + ) + (pin "2" + (uuid "da99797f-79a1-4c45-9e90-8b7fc66858ca") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D9") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 175.26 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "bdf156f5-7bef-4925-8199-2e2cbc93866c") + (property "Reference" "#PWR08" + (at 175.26 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 175.26 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 175.26 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 175.26 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 175.26 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "d91c151d-07c9-42b0-b701-403e2b3cb39a") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR08") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 133.35 71.12 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "c1be29ba-45d2-45b9-9da8-ee326335a9e9") + (property "Reference" "#PWR017" + (at 133.35 74.93 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 133.35 66.04 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 133.35 71.12 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 133.35 71.12 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 133.35 71.12 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "809e54c3-eece-416f-a324-fd97c6109e49") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR017") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 132.08 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "c66ae118-16a4-40da-a5b5-bd86ef86ff17") + (property "Reference" "#PWR023" + (at 132.08 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 132.08 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 132.08 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 132.08 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 132.08 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "c38f507a-a2ee-4c38-9720-ffab063b4cc5") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR023") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Switch:SW_SPDT_XKB_DMx-xxxx-1") + (at 165.1 81.28 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "cadc8940-c5e8-4fae-b718-c1d4d1e055bb") + (property "Reference" "SW1" + (at 165.1 73.66 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "Cord switch" + (at 165.1 76.2 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 165.1 81.28 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 165.1 81.28 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Position switch" + (at 165.1 81.28 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "5acd7512-411a-4bdf-9615-c90fec5731f9") + ) + (pin "2" + (uuid "c2fdf5b9-0d9e-4aa8-b43c-4d8de1e45793") + ) + (pin "1" + (uuid "2956c1a7-6544-4a78-b2ff-e64cb11b29da") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "SW1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 248.92 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "caf34aa2-f65c-4778-b148-ce5a994448d1") + (property "Reference" "#PWR028" + (at 248.92 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 248.92 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 248.92 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 248.92 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 248.92 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "95957800-b37e-4151-902b-3f9d9d4ce28b") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR028") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:Speaker") + (at 165.1 101.6 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "d3a9b7ee-e48e-43a1-a4f9-ddda46b6ba93") + (property "Reference" "LS1" + (at 170.18 101.5999 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "Speaker" + (at 170.18 104.1399 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 165.1 106.68 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 164.846 102.87 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Speaker" + (at 165.1 101.6 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "8d1b8e36-3c1a-4d43-9d5e-15cc6621bd05") + ) + (pin "1" + (uuid "94b43966-b2f0-4b85-8c28-c794d8e56e4e") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "LS1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 264.16 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "dbf9b345-771b-4d90-b104-3b92d742df9b") + (property "Reference" "#PWR04" + (at 264.16 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 264.16 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 264.16 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 264.16 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 264.16 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "da909e9f-b27d-4c8b-afaa-fc25fa762708") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR04") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 88.9 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "e75059e3-c8f5-4965-9e6b-479623918f4e") + (property "Reference" "#PWR021" + (at 88.9 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 88.9 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 88.9 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 88.9 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 88.9 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "e2bf7aa2-4183-470d-a0bf-0f0fa5f4d6a7") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR021") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 160.02 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "eb9601b0-603f-4917-9a31-cc6c3d654307") + (property "Reference" "#PWR024" + (at 160.02 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 160.02 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 160.02 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 160.02 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 160.02 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "ad4c1f7e-c45a-4912-955e-6f0f53ca897a") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR024") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "LED:WS2812B") + (at 88.9 133.35 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (uuid "edd5eb8c-33f9-4392-b990-7a306ad9742a") + (property "Reference" "D4" + (at 95.25 123.444 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "WS2812B" + (at 95.25 125.984 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "PCM_LED_SMD_AKL:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mm" + (at 90.17 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Datasheet" "https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf" + (at 91.44 142.875 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left top) + (hide yes) + ) + ) + (property "Description" "RGB LED with integrated controller" + (at 88.9 133.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "3" + (uuid "86b2672d-6842-4ae1-ba14-1e47677ead4d") + ) + (pin "4" + (uuid "c459d8c6-7ef9-4aac-ac3c-9c5be1c0753a") + ) + (pin "1" + (uuid "f7e3466b-7164-4ae3-bc80-7309f448222f") + ) + (pin "2" + (uuid "f2e8628f-f074-4e5c-8c10-65d51f0c77bd") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "D4") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 116.84 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "f0a139b0-dd73-4585-90e7-a3ac1279ab7f") + (property "Reference" "#PWR022" + (at 116.84 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 116.84 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 116.84 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 116.84 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 116.84 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "4e9f9dfb-fb2d-43f0-a821-8be0aef5e0c6") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR022") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 165.1 36.83 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "f0f962ba-e6b8-44c6-ae45-ec8a68655e86") + (property "Reference" "#PWR030" + (at 165.1 40.64 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 165.1 31.75 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 165.1 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 165.1 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 165.1 36.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "a347595d-9bbd-43a5-b134-72999087d26d") + ) + (instances + (project "" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR030") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 88.9 140.97 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "f5de78cb-1a0e-4073-9b71-590c29081f86") + (property "Reference" "#PWR013" + (at 88.9 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 88.9 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 88.9 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 88.9 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 88.9 140.97 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "7d6642dd-5806-44a1-8aef-9e65428ad28a") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR013") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:VCC") + (at 73.66 125.73 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "fbd15cc1-86eb-4bc4-a125-38bf0b337a36") + (property "Reference" "#PWR020" + (at 73.66 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "VCC" + (at 73.66 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 73.66 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 73.66 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"VCC\"" + (at 73.66 125.73 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "505752f1-52c1-43e5-bcfa-16ffd2c10b54") + ) + (instances + (project "hexagon-schematics" + (path "/06b6e953-64d5-4585-a47a-1bc53a5729bc" + (reference "#PWR020") + (unit 1) + ) + ) + ) + ) + (sheet_instances + (path "/" + (page "1") + ) + ) + (embedded_fonts no) +) diff --git a/hexagon.yaml b/hexagon.yaml new file mode 100644 index 0000000..7d5c737 --- /dev/null +++ b/hexagon.yaml @@ -0,0 +1,246 @@ +# ESP8266 connections: +# D8 -> speaker + +# RX -> neopixel leds data pin +# D0 -> switch +# A0 -> voltage divider between VCC and ground (VCC->10kΩ->A0->10kΩ->GND) +# Please see the complete elecric scheme + +esphome: + name: luna-hexagon + on_boot: + - priority: 600 + # Initial status initialization + then: + - light.turn_on: hexagon_sections + - priority: -100 + # When all is set up. Start the show. + then: + - script.execute: game_ready_animation + +# Variables +globals: + - id: game_selected_section + type: int + restore_value: no + initial_value: '0' + +web_server: + port: 80 + version: 3 + log: False + ota: False + +esp8266: + board: d1_mini_lite + +# Enable logging (for development) +# logger: + +api: + reboot_timeout: 0s + +ota: + - platform: esphome + password: "" + +wifi: + reboot_timeout: 0s + networks: + # Normal connection, for use with home assistant + - ssid: !secret wifi_ssid_1 + password: !secret wifi_password_1 + # Static IP connection, to use with browser: + # in the following example, head to http://192.168.0.42 to see the control interface. + # Modify according to your home wifi configuration. + - ssid: !secret wifi_ssid_2 + password: !secret wifi_password_2 + manual_ip: + static_ip: 192.168.0.42 + gateway: 192.168.0.1 + subnet: 255.255.255.0 + +button: + - platform: template + name: Color wheel + id: color_wheel_button + icon: "mdi:hexagon-slice-6" + on_press: + - script.execute: game_ready_animation + +binary_sensor: + # Buttons (connect to a button that shorts to 3v3) + - platform: gpio + pin: + number: D0 + mode: + input: true + pulldown: true + id: "pull_cord" + internal: True + # Debouncing + filters: + - settle: 10ms + - autorepeat: + time_off: 100ms + time_on: 100ms + on_press: + then: + - script.execute: game_advance_section + on_release: + then: + - script.execute: game_play_section + +sensor: + # Battery level sensor: 560 is 4.0v (battery flat), 740 is 5,2v (battery full) + - platform: adc + pin: A0 + name: "Battery level" + icon: 'mdi:battery' + update_interval: 1min + unit_of_measurement: "%" + raw: true + filters: + - clamp: + min_value: 560.0 + max_value: 740.0 + - calibrate_linear: + - 560.0 -> 0.0 + - 740.0 -> 100.0 + - min: + send_first_at: 3 + +output: + - platform: esp8266_pwm + pin: D8 + id: speaker + +light: + - platform: neopixelbus + variant: WS2812 + method: + type: esp8266_dma + pin: GPIO3 # "RX" pin: see https://github.com/Makuna/NeoPixelBus/wiki/ESP8266-NeoMethods#dma-i2s on why this does not break serial logging + num_leds: 12 + name: "Hexagon Sections" + id: hexagon_sections + +# Component to play Ring Tone Text Transfer Language +# (Nokia ringtone format) on a digital pin +rtttl: + output: speaker + on_finished_playback: + # - script.execute: game_ready_animation + - script.execute: + id: set_section_color + section: !lambda return id(game_selected_section); + r: 1.0 + g: 1.0 + b: 1.0 + + +# ---- Scripts ---- + +script: + # Set section color. Section is 0-5 + - id: set_section_color + parameters: + section: int + r: float + g: float + b: float + then: + - light.addressable_set: + id: hexagon_sections + range_from: !lambda return section * 2; + range_to: !lambda return section * 2 + 1; + red: !lambda return r; + green: !lambda return g; + blue: !lambda return b; + #transition_length: 1s; + + - id: game_ready_animation + then: + - script.execute: + id: set_section_color + section: 0 + r: 1.0 + g: 0.0 + b: 0.0 + - delay: 200ms + - script.execute: + id: set_section_color + section: 1 + r: 0.0 + g: 1.0 + b: 0.0 + - delay: 200ms + - script.execute: + id: set_section_color + section: 2 + r: 0.0 + g: 0.0 + b: 1.0 + - delay: 200ms + - script.execute: + id: set_section_color + section: 3 + r: 1.0 + g: 1.0 + b: 0.0 + - delay: 200ms + - script.execute: + id: set_section_color + section: 4 + r: 1.0 + g: 0.0 + b: 1.0 + - delay: 200ms + - script.execute: + id: set_section_color + section: 5 + r: 0.0 + g: 1.0 + b: 1.0 + - delay: 200ms + + - id: game_advance_section + then: + # Stop playback + - rtttl.stop + # Turn off all sections + - repeat: + count: 6 + then: + lambda: |- + id(set_section_color).execute(iteration, 0, 0, 0); + # Increment section counter + - lambda: if (id(game_selected_section) >= 5) id(game_selected_section) = 0; else id(game_selected_section) += 1; + # Turn on corresponding section + - script.execute: + id: set_section_color + section: !lambda return id(game_selected_section); + r: !lambda if (id(game_selected_section) < 3) return 0.0; else return 1.0; + g: !lambda if (id(game_selected_section) == 0 || id(game_selected_section) == 3 || id(game_selected_section) == 4) return 0.0; else return 1.0; + b: !lambda if (id(game_selected_section) % 2 == 0) return 1.0; else return 0.0; + - logger.log: + format: "Selected section %d" + args: [ 'id(game_selected_section)' ] + - id: game_play_section + then: + - rtttl.play: + rtttl: !lambda |- + switch(id(game_selected_section)) { + case 0: + return "BabyElep:d=8,o=6,b=125:f.,16a5,c,f,a,g,f,d,b5,c,2p.,f.,16a5,c,f,a,g,f,d,2c.,d,1g#5,d,g#5,f5"; + case 1: + return "Moonligt:d=4,o=6,b=160:f.,16p,8f,8f,8g,8f,8e,d.,8p,d.,8p,8e,8e,8f,g.,32p,8f,8g,a,a,8g,8c.,16p,f.,16p,8f,8f,8g,8f,8e,d.,8p,8p,8e,8e,8f,g.,32p,8f,8g,a,a,8g,8c."; + case 2: + return "Smurfs:d=32,o=5,b=200:4c#6,16p,4f#6,p,16c#6,p,8d#6,p,8b,p,4g#,16p,4c#6,p,16a#,p,8f#,p,8a#,p,4g#,4p,g#,p,a#,p,b,p,c6,p,4c#6,16p,4f#6,p,16c#6,p,8d#6,p,8b,p,4g#,16p,4c#6,p,16a#,p,8b,p,8f,p,4f#"; + case 3: + return "SecretOf:d=4,o=5,b=180:8e6,8p,8e6,8g6,8f#6,8e6,d6,2e6,8p,8d6,8p,8d6,8c6,8b,8d6,8c6,8p,8c6,8p,b,p,8e6,8p,e.6,8g6,8f#6,8e6,d6,2e6,8p,8f#6,8g6,8p,8g6,8p,a6,p,f#6,8p,8g6,8f#6,8e6,8d6,8f#6,8g6,8p,8g6,8p,f#6"; + case 4: + return "PinkPanther:d=4,o=5,b=160:8d#,8e,2p,8f#,8g,2p,8d#,8e,16p,8f#,8g,16p,8c6,8b,16p,8d#,8e,16p,8b,2a#,2p,16a,16g,16e,16d,2e"; + case 5: + default: + return "mario:d=4,o=5,b=100:16e6,16e6,32p,8e6,16c6,8e6,8g6,8p,8g,8p,8c6,16p,8g,16p,8e,16p,8a,8b,16a#,8a,16g.,16e6,16g6,8a6,16f6,8g6,8e6,16c6,16d6,8b,16p,8c6,16p,8g,16p,8e,16p,8a,8b,16a#,8a,16g.,16e6,16g6,8a6,16f6,8g6,8e6,16c6,16d6,8b,8p,16g6,16f#6,16f6,16d#6,16p,16e6,16p,16g#,16a,16c6,16p,16a,16c6,16d6,8p,16g6,16f#6,16f6,16d#6,16p,16e6,16p,16c7,16p,16c7,16c7,p,16g6,16f#6,16f6,16d#6,16p,16e6,16p,16g#,16a,16c6,16p,16a,16c6,16d6,8p,16d#6,8p,16d6,8p,16c6"; + } diff --git a/secrets.yaml.example b/secrets.yaml.example new file mode 100644 index 0000000..e97079c --- /dev/null +++ b/secrets.yaml.example @@ -0,0 +1,4 @@ +wifi_ssid_1: "My Wifi Name" +wifi_password_1: "MyWifiPassword!" +wifi_ssid_2: "My Wifi Name" +wifi_password_2: "MyWifiPassword!" \ No newline at end of file