Compare commits
5 Commits
JLCPCB-VES
...
JLCPCB
| Author | SHA1 | Date | |
|---|---|---|---|
| 220fd22594 | |||
|
|
64b39a29d5 | ||
|
|
9cd6574abf | ||
| 379b28ef50 | |||
| ea01ed80f0 |
50
README.md
50
README.md
@@ -8,56 +8,70 @@ Community Telegram channel [Ninebot Bridges](https://t.me/NinebotBridges)
|
|||||||
|
|
||||||
Also check out this repository which is used to drive the lights on your X3 Series Scooter [LightBoard](https://gitea.overkill.cc/morss12/LightBoard.git)
|
Also check out this repository which is used to drive the lights on your X3 Series Scooter [LightBoard](https://gitea.overkill.cc/morss12/LightBoard.git)
|
||||||
|
|
||||||
# Features & Abilities
|
## Additional material needed for the bridge (Spintend Ubox)
|
||||||
|
|
||||||
|
Battery voltage to 12V 5A DC DC converter (Power for bridge, display and lights)
|
||||||
|
|
||||||
|
1x JST GH 1.25 7pin (Ignition port)
|
||||||
|
|
||||||
|
1x JST GH 1.25 6pin (LightBoard data and 5V supply)
|
||||||
|
|
||||||
|
1x JST GH 1.25 5pin (Canbus)(If you have 2 Motors you need two)
|
||||||
|
Dont forget to swap the 5V pin with the PWR.ON if running two VESCS
|
||||||
|
|
||||||
|
1x JST GH 1.25 4pin (LightBoard 12V supply)
|
||||||
|
|
||||||
|
## Features & Abilities
|
||||||
|
|
||||||
A simple overview of everything the VESC2G3Bridge can do.
|
A simple overview of everything the VESC2G3Bridge can do.
|
||||||
|
|
||||||
## What Is It?
|
### What Is It?
|
||||||
|
|
||||||
The VESC2X3Bridge is a project I started at the end of 2025. It aims to integrate the X3 Scooter Series from Ninebot into the world of VESC, an open-source project by Benjamin Vedder.
|
The VESC2X3Bridge is a project I started at the end of 2025. It aims to integrate the X3 Scooter Series from Ninebot into the world of VESC, an open-source project by Benjamin Vedder.
|
||||||
The VESC2G3Bridge is a small computer that sits between your scooter's motor controller (VESC) and its dashboard (G3). Without it, the dashboard and the motor controller don't understand each other — the bridge acts like a translator so they can work together.
|
The VESC2G3Bridge is a small computer that sits between your scooter's motor controller (VESC) and its dashboard (G3). Without it, the dashboard and the motor controller don't understand each other — the bridge acts like a translator so they can work together.
|
||||||
|
|
||||||
## What It Does
|
### What It Does
|
||||||
|
|
||||||
### Shows Your Speed
|
#### Shows Your Speed
|
||||||
The device reads how fast the motor is spinning and works out your actual riding speed. It then sends that number to the dashboard so you can see it while you ride.
|
The device reads how fast the motor is spinning and works out your actual riding speed. It then sends that number to the dashboard so you can see it while you ride.
|
||||||
|
|
||||||
### Shows Battery Level
|
#### Shows Battery Level
|
||||||
It checks how much battery you have left and tells the dashboard, so you always know when to charge.
|
It checks how much battery you have left and tells the dashboard, so you always know when to charge.
|
||||||
|
|
||||||
### Controls the Lights
|
#### Controls the Lights
|
||||||
- Turns on the **rear light** just like the stock X3 Series.
|
- Turns on the **rear light** just like the stock X3 Series.
|
||||||
- Flashes the **left and right indicators** (turn signals) when you signal a turn.
|
- Flashes the **left and right indicators** (turn signals) when you signal a turn.
|
||||||
- Supports **horn** activation from the dashboard button (GT3).
|
- Supports **horn** activation from the dashboard button (GT3).
|
||||||
|
|
||||||
### Switches Ride Profiles
|
#### Switches Ride Profiles
|
||||||
The scooter can have different power modes (WALK,ECO,NORMAL,SPORT). The bridge listens to the dashboard buttons and tells the VESC which mode to switch to. You can also set it to block the switching of modes when the battery is low, bypassing the dashboards auto apply of a slow profile.
|
The scooter can have different power modes (WALK,ECO,NORMAL,SPORT). The bridge listens to the dashboard buttons and tells the VESC which mode to switch to. You can also set it to block the switching of modes when the battery is low, bypassing the dashboards auto apply of a slow profile.
|
||||||
|
|
||||||
### Controls the Throttle and Brake
|
#### Controls the Throttle and Brake
|
||||||
By running a small script on the VESC, the VESC can directly read the inputs from the dashboard, giving the VESC full control over how you accelerate and slow down.
|
By running a small script on the VESC, the VESC can directly read the inputs from the dashboard, giving the VESC full control over how you accelerate and slow down.
|
||||||
|
|
||||||
### Updates Itself Over Wi-Fi
|
#### Updates Itself Over Wi-Fi
|
||||||
The device creates its own Wi-Fi network and you can upload new firmware right from your phone or computer's web browser.
|
The device creates its own Wi-Fi network and you can upload new firmware right from your phone or computer's web browser.
|
||||||
|
|
||||||
### Has a Built-In Settings Page
|
#### Has a Built-In Settings Page
|
||||||
Connect to its Wi-Fi and open a web page to change settings. [Config page](https://192.168.5.1/)
|
Connect to its Wi-Fi and open a web page to change settings. [Config page](https://192.168.5.1/)
|
||||||
|
|
||||||
### Works With Different Battery Systems
|
#### Works With Different Battery Systems
|
||||||
Some scooter battery packs have their own battery management board (BMS). The bridge can read battery info from:
|
Some scooter battery packs have their own battery management board (BMS). The bridge can read battery info from:
|
||||||
- The VESC itself
|
- The VESC itself
|
||||||
- The Ninebot Original BMS
|
- The Ninebot Original BMS
|
||||||
- A JBD (Xiaoxiang) BMS
|
- A JBD (Xiaoxiang) BMS
|
||||||
|
|
||||||
### Supports Two Board Versions
|
#### Supports Two Board Versions
|
||||||
There are two hardware versions of the board (V1.0 and V2.1+). You pick which one you have in the settings page and the device automatically uses the right pins.
|
There are two hardware versions of the board (V1.0 and V2.1+). You pick which one you have in the settings page and the device automatically uses the right pins.
|
||||||
|
|
||||||
### Tracks Multiple Motor Controllers
|
#### Tracks Multiple Motor Controllers
|
||||||
If your scooter has more than one VESC (e.g. dual motors), the bridge reads speed data from all of them and averages the values together for a smooth, accurate speed reading.
|
If your scooter has more than one VESC (e.g. dual motors), the bridge reads speed data from all of them and averages the values together for a smooth, accurate speed reading.
|
||||||
|
|
||||||
## Quick Summary Table
|
### Quick Summary Table
|
||||||
|
|
||||||
| Feature | What it means |
|
| Feature | What it means |
|
||||||
|---|---|
|
|---|---|
|
||||||
|
| Designed for Spintend Ubox series | Supports 85V150A, 100V100A, 85V240A, 126V160A, 85V250A |
|
||||||
| X3 Series Support | Supports G3, ZT3 and GT3* |
|
| X3 Series Support | Supports G3, ZT3 and GT3* |
|
||||||
| Speed display | Shows km/h on the dashboard |
|
| Speed display | Shows km/h on the dashboard |
|
||||||
| Battery display | Shows battery % on the dashboard |
|
| Battery display | Shows battery % on the dashboard |
|
||||||
@@ -76,7 +90,7 @@ If your scooter has more than one VESC (e.g. dual motors), the bridge reads spee
|
|||||||
*This device was originally developed for the G3
|
*This device was originally developed for the G3
|
||||||
---
|
---
|
||||||
|
|
||||||
## How to create a PCB from the files
|
### How to create a PCB from the files
|
||||||
|
|
||||||
1. Clone this repository and open it with KiCad.
|
1. Clone this repository and open it with KiCad.
|
||||||
2. Use the **"Fabrication Outputs"** option to generate the required files for your PCB manufacturer.
|
2. Use the **"Fabrication Outputs"** option to generate the required files for your PCB manufacturer.
|
||||||
@@ -86,12 +100,12 @@ If your scooter has more than one VESC (e.g. dual motors), the bridge reads spee
|
|||||||
3. Upload the files to a PCB manufacturer (for example, JLCPCB) and choose a 2-layer PCB board.
|
3. Upload the files to a PCB manufacturer (for example, JLCPCB) and choose a 2-layer PCB board.
|
||||||
4. Once you receive your PCB, development can begin. :)
|
4. Once you receive your PCB, development can begin. :)
|
||||||
|
|
||||||
## Firmware flashing
|
### Firmware flashing
|
||||||
|
|
||||||
1. The board uses an **ESP32-S3-WROOM-1** chip, which has exposed USB D+, D-, and GND pins on the PCB.
|
1. The board uses an **ESP32-S3-WROOM-1** chip, which has exposed USB D+, D-, and GND pins on the PCB.
|
||||||
2. Use these pins to connect a USB cable to your computer and flash your firmware.
|
2. Use these pins to connect a USB cable to your computer and flash your firmware.
|
||||||
|
|
||||||
## Flashing Service
|
### Flashing Service
|
||||||
|
|
||||||
We offer a PCB flashing service for those who prefer a ready-to-use board:
|
We offer a PCB flashing service for those who prefer a ready-to-use board:
|
||||||
|
|
||||||
@@ -103,7 +117,7 @@ This service is optional — you can still build and flash the PCB yourself if y
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# License
|
## License
|
||||||
This PCB design is released under the [CC BY-NC-SA 4.0 License](https://creativecommons.org/licenses/by-nc-sa/4.0/).
|
This PCB design is released under the [CC BY-NC-SA 4.0 License](https://creativecommons.org/licenses/by-nc-sa/4.0/).
|
||||||
|
|
||||||
## What you can do
|
## What you can do
|
||||||
|
|||||||
BIN
VESC2X3Bridge-backups/VESC2X3Bridge-2026-03-20_183313.zip
Normal file
BIN
VESC2X3Bridge-backups/VESC2X3Bridge-2026-03-20_183313.zip
Normal file
Binary file not shown.
BIN
VESC2X3Bridge-backups/VESC2X3Bridge-2026-03-20_215325.zip
Normal file
BIN
VESC2X3Bridge-backups/VESC2X3Bridge-2026-03-20_215325.zip
Normal file
Binary file not shown.
BIN
VESC2X3Bridge-backups/VESC2X3Bridge-2026-03-20_220259.zip
Normal file
BIN
VESC2X3Bridge-backups/VESC2X3Bridge-2026-03-20_220259.zip
Normal file
Binary file not shown.
BIN
VESC2X3Bridge-backups/VESC2X3Bridge-2026-03-22_140506.zip
Normal file
BIN
VESC2X3Bridge-backups/VESC2X3Bridge-2026-03-22_140506.zip
Normal file
Binary file not shown.
BIN
VESC2X3Bridge-backups/VESC2X3Bridge-2026-03-22_141542.zip
Normal file
BIN
VESC2X3Bridge-backups/VESC2X3Bridge-2026-03-22_141542.zip
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -15,6 +15,7 @@
|
|||||||
"vias": 1.0,
|
"vias": 1.0,
|
||||||
"zones": 0.6
|
"zones": 0.6
|
||||||
},
|
},
|
||||||
|
"prototype_zone_fills": false,
|
||||||
"selection_filter": {
|
"selection_filter": {
|
||||||
"dimensions": true,
|
"dimensions": true,
|
||||||
"footprints": true,
|
"footprints": true,
|
||||||
@@ -107,6 +108,7 @@
|
|||||||
"filter_text": "",
|
"filter_text": "",
|
||||||
"group_by_constraint": false,
|
"group_by_constraint": false,
|
||||||
"group_by_netclass": false,
|
"group_by_netclass": false,
|
||||||
|
"show_time_domain_details": false,
|
||||||
"show_unconnected_nets": false,
|
"show_unconnected_nets": false,
|
||||||
"show_zero_pad_nets": false,
|
"show_zero_pad_nets": false,
|
||||||
"sort_ascending": true,
|
"sort_ascending": true,
|
||||||
@@ -117,6 +119,7 @@
|
|||||||
"files": []
|
"files": []
|
||||||
},
|
},
|
||||||
"schematic": {
|
"schematic": {
|
||||||
|
"hierarchy_collapsed": [],
|
||||||
"selection_filter": {
|
"selection_filter": {
|
||||||
"graphics": true,
|
"graphics": true,
|
||||||
"images": true,
|
"images": true,
|
||||||
@@ -124,6 +127,7 @@
|
|||||||
"lockedItems": false,
|
"lockedItems": false,
|
||||||
"otherItems": true,
|
"otherItems": true,
|
||||||
"pins": true,
|
"pins": true,
|
||||||
|
"ruleAreas": true,
|
||||||
"symbols": true,
|
"symbols": true,
|
||||||
"text": true,
|
"text": true,
|
||||||
"wires": true
|
"wires": true
|
||||||
|
|||||||
@@ -3,6 +3,8 @@
|
|||||||
"3dviewports": [],
|
"3dviewports": [],
|
||||||
"design_settings": {
|
"design_settings": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
"apply_defaults_to_fp_barcodes": false,
|
||||||
|
"apply_defaults_to_fp_dimensions": false,
|
||||||
"apply_defaults_to_fp_fields": false,
|
"apply_defaults_to_fp_fields": false,
|
||||||
"apply_defaults_to_fp_shapes": false,
|
"apply_defaults_to_fp_shapes": false,
|
||||||
"apply_defaults_to_fp_text": false,
|
"apply_defaults_to_fp_text": false,
|
||||||
@@ -77,6 +79,7 @@
|
|||||||
"extra_footprint": "warning",
|
"extra_footprint": "warning",
|
||||||
"footprint": "error",
|
"footprint": "error",
|
||||||
"footprint_filters_mismatch": "ignore",
|
"footprint_filters_mismatch": "ignore",
|
||||||
|
"footprint_symbol_field_mismatch": "warning",
|
||||||
"footprint_symbol_mismatch": "warning",
|
"footprint_symbol_mismatch": "warning",
|
||||||
"footprint_type_mismatch": "ignore",
|
"footprint_type_mismatch": "ignore",
|
||||||
"hole_clearance": "error",
|
"hole_clearance": "error",
|
||||||
@@ -94,6 +97,7 @@
|
|||||||
"mirrored_text_on_front_layer": "warning",
|
"mirrored_text_on_front_layer": "warning",
|
||||||
"missing_courtyard": "ignore",
|
"missing_courtyard": "ignore",
|
||||||
"missing_footprint": "warning",
|
"missing_footprint": "warning",
|
||||||
|
"missing_tuning_profile": "warning",
|
||||||
"net_conflict": "warning",
|
"net_conflict": "warning",
|
||||||
"nonmirrored_text_on_back_layer": "warning",
|
"nonmirrored_text_on_back_layer": "warning",
|
||||||
"npth_inside_courtyard": "ignore",
|
"npth_inside_courtyard": "ignore",
|
||||||
@@ -113,9 +117,12 @@
|
|||||||
"too_many_vias": "error",
|
"too_many_vias": "error",
|
||||||
"track_angle": "error",
|
"track_angle": "error",
|
||||||
"track_dangling": "warning",
|
"track_dangling": "warning",
|
||||||
|
"track_not_centered_on_via": "ignore",
|
||||||
|
"track_on_post_machined_layer": "error",
|
||||||
"track_segment_length": "error",
|
"track_segment_length": "error",
|
||||||
"track_width": "error",
|
"track_width": "error",
|
||||||
"tracks_crossing": "error",
|
"tracks_crossing": "error",
|
||||||
|
"tuning_profile_track_geometries": "ignore",
|
||||||
"unconnected_items": "error",
|
"unconnected_items": "error",
|
||||||
"unresolved_variable": "error",
|
"unresolved_variable": "error",
|
||||||
"via_dangling": "warning",
|
"via_dangling": "warning",
|
||||||
@@ -228,17 +235,28 @@
|
|||||||
"zones_allow_external_fillets": false
|
"zones_allow_external_fillets": false
|
||||||
},
|
},
|
||||||
"ipc2581": {
|
"ipc2581": {
|
||||||
|
"bom_rev": "",
|
||||||
"dist": "",
|
"dist": "",
|
||||||
"distpn": "",
|
"distpn": "",
|
||||||
"internal_id": "",
|
"internal_id": "",
|
||||||
"mfg": "",
|
"mfg": "",
|
||||||
"mpn": ""
|
"mpn": "",
|
||||||
|
"sch_revision": ""
|
||||||
},
|
},
|
||||||
"layer_pairs": [],
|
"layer_pairs": [],
|
||||||
"layer_presets": [],
|
"layer_presets": [],
|
||||||
"viewports": []
|
"viewports": []
|
||||||
},
|
},
|
||||||
"boards": [],
|
"boards": [],
|
||||||
|
"component_class_settings": {
|
||||||
|
"assignments": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 0
|
||||||
|
},
|
||||||
|
"sheet_component_classes": {
|
||||||
|
"enabled": false
|
||||||
|
}
|
||||||
|
},
|
||||||
"cvpcb": {
|
"cvpcb": {
|
||||||
"equivalence_files": []
|
"equivalence_files": []
|
||||||
},
|
},
|
||||||
@@ -428,11 +446,14 @@
|
|||||||
"duplicate_sheet_names": "error",
|
"duplicate_sheet_names": "error",
|
||||||
"endpoint_off_grid": "warning",
|
"endpoint_off_grid": "warning",
|
||||||
"extra_units": "error",
|
"extra_units": "error",
|
||||||
|
"field_name_whitespace": "warning",
|
||||||
"footprint_filter": "ignore",
|
"footprint_filter": "ignore",
|
||||||
"footprint_link_issues": "warning",
|
"footprint_link_issues": "warning",
|
||||||
"four_way_junction": "ignore",
|
"four_way_junction": "ignore",
|
||||||
"global_label_dangling": "warning",
|
"global_label_dangling": "warning",
|
||||||
|
"ground_pin_not_ground": "warning",
|
||||||
"hier_label_mismatch": "error",
|
"hier_label_mismatch": "error",
|
||||||
|
"isolated_pin_label": "warning",
|
||||||
"label_dangling": "error",
|
"label_dangling": "error",
|
||||||
"label_multiple_wires": "warning",
|
"label_multiple_wires": "warning",
|
||||||
"lib_symbol_issues": "warning",
|
"lib_symbol_issues": "warning",
|
||||||
@@ -455,6 +476,7 @@
|
|||||||
"similar_power": "warning",
|
"similar_power": "warning",
|
||||||
"simulation_model_issue": "ignore",
|
"simulation_model_issue": "ignore",
|
||||||
"single_global_label": "ignore",
|
"single_global_label": "ignore",
|
||||||
|
"stacked_pin_name": "warning",
|
||||||
"unannotated": "error",
|
"unannotated": "error",
|
||||||
"unconnected_wire_endpoint": "warning",
|
"unconnected_wire_endpoint": "warning",
|
||||||
"undefined_netclass": "error",
|
"undefined_netclass": "error",
|
||||||
@@ -487,13 +509,14 @@
|
|||||||
"priority": 2147483647,
|
"priority": 2147483647,
|
||||||
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
"track_width": 0.2,
|
"track_width": 0.2,
|
||||||
|
"tuning_profile": "",
|
||||||
"via_diameter": 0.6,
|
"via_diameter": 0.6,
|
||||||
"via_drill": 0.3,
|
"via_drill": 0.3,
|
||||||
"wire_width": 6
|
"wire_width": 6
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": 4
|
"version": 5
|
||||||
},
|
},
|
||||||
"net_colors": null,
|
"net_colors": null,
|
||||||
"netclass_assignments": null,
|
"netclass_assignments": null,
|
||||||
@@ -515,6 +538,10 @@
|
|||||||
},
|
},
|
||||||
"schematic": {
|
"schematic": {
|
||||||
"annotate_start_num": 0,
|
"annotate_start_num": 0,
|
||||||
|
"annotation": {
|
||||||
|
"method": 0,
|
||||||
|
"sort_order": 0
|
||||||
|
},
|
||||||
"bom_export_filename": "${PROJECTNAME}.csv",
|
"bom_export_filename": "${PROJECTNAME}.csv",
|
||||||
"bom_fmt_presets": [],
|
"bom_fmt_presets": [],
|
||||||
"bom_fmt_settings": {
|
"bom_fmt_settings": {
|
||||||
@@ -586,6 +613,7 @@
|
|||||||
"sort_asc": true,
|
"sort_asc": true,
|
||||||
"sort_field": "Reference"
|
"sort_field": "Reference"
|
||||||
},
|
},
|
||||||
|
"bus_aliases": {},
|
||||||
"connection_grid_size": 50.0,
|
"connection_grid_size": 50.0,
|
||||||
"drawing": {
|
"drawing": {
|
||||||
"dashed_lines_dash_length_ratio": 12.0,
|
"dashed_lines_dash_length_ratio": 12.0,
|
||||||
@@ -593,6 +621,7 @@
|
|||||||
"default_line_thickness": 6.0,
|
"default_line_thickness": 6.0,
|
||||||
"default_text_size": 50.0,
|
"default_text_size": 50.0,
|
||||||
"field_names": [],
|
"field_names": [],
|
||||||
|
"hop_over_size_choice": 0,
|
||||||
"intersheets_ref_own_page": false,
|
"intersheets_ref_own_page": false,
|
||||||
"intersheets_ref_prefix": "",
|
"intersheets_ref_prefix": "",
|
||||||
"intersheets_ref_short": false,
|
"intersheets_ref_short": false,
|
||||||
@@ -616,6 +645,7 @@
|
|||||||
"net_format_name": "",
|
"net_format_name": "",
|
||||||
"page_layout_descr_file": "",
|
"page_layout_descr_file": "",
|
||||||
"plot_directory": "",
|
"plot_directory": "",
|
||||||
|
"reuse_designators": true,
|
||||||
"space_save_all_events": true,
|
"space_save_all_events": true,
|
||||||
"spice_current_sheet_as_root": false,
|
"spice_current_sheet_as_root": false,
|
||||||
"spice_external_command": "spice \"%I\"",
|
"spice_external_command": "spice \"%I\"",
|
||||||
@@ -624,13 +654,28 @@
|
|||||||
"spice_save_all_dissipations": false,
|
"spice_save_all_dissipations": false,
|
||||||
"spice_save_all_voltages": false,
|
"spice_save_all_voltages": false,
|
||||||
"subpart_first_id": 65,
|
"subpart_first_id": 65,
|
||||||
"subpart_id_separator": 0
|
"subpart_id_separator": 0,
|
||||||
|
"top_level_sheets": [
|
||||||
|
{
|
||||||
|
"filename": "VESC2X3Bridge.kicad_sch",
|
||||||
|
"name": "VESC2X3Bridge",
|
||||||
|
"uuid": "6d3f2fcd-699e-4cab-a29d-29e0e0aa88b8"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"used_designators": "",
|
||||||
|
"variants": []
|
||||||
},
|
},
|
||||||
"sheets": [
|
"sheets": [
|
||||||
[
|
[
|
||||||
"6d3f2fcd-699e-4cab-a29d-29e0e0aa88b8",
|
"6d3f2fcd-699e-4cab-a29d-29e0e0aa88b8",
|
||||||
"Root"
|
"VESC2X3Bridge"
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
"text_variables": {}
|
"text_variables": {},
|
||||||
|
"tuning_profiles": {
|
||||||
|
"meta": {
|
||||||
|
"version": 0
|
||||||
|
},
|
||||||
|
"tuning_profiles_impedance_geometric": []
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
1
fabrication-toolkit-options.json
Normal file
1
fabrication-toolkit-options.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"ARCHIVE_NAME": "VESC2X3Bridge V2.3", "EXTRA_LAYERS": "", "ALL_ACTIVE_LAYERS": false, "EXTEND_EDGE_CUT": false, "ALTERNATIVE_EDGE_CUT": false, "AUTO TRANSLATE": true, "AUTO FILL": true, "EXCLUDE DNP": false, "OPEN BROWSER": true, "NO_BACKUP_OPT": false}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
117062066228469
|
117063765842045
|
||||||
JBD2X3Bridge
|
JBD2X3Bridge
|
||||||
39288040
|
39288040
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user