Compare commits

..

No commits in common. "9e7ea3eace0d432f42b20909e2244afa841ba592" and "cb325dcab7a3d3958c60b3364b882116e11f0441" have entirely different histories.

8 changed files with 31824 additions and 45410 deletions

View File

@ -1,11 +1,3 @@
v1
==
changes:
- make capabilities more compact
- add interpretation purpose part
v0
==

View File

@ -1,6 +1,6 @@
# project file name (use for schematic and board layout)
NAME ?= usb-microbc_cable_tester
SUBSHEET ?= usb-microbc_cable_tester-mcu
SUBSHEET ?=
# path to KiCad CLI
KICAD = kicad-cli
# path to qeda

View File

@ -1,5 +1,5 @@
The USB micro-B and C cable tester identifies capabilities supported by USB cables and deduces it's purpose.
It helps figuring out if a USB cable is for charging or to transfer data, and at which speed.
The USB micro-B and C cable tester identifies functionalities supported by USB cables.
It helps figuring out if a USB cable is for charging or to transfer data.
It supports type A to micro-B, A to C, and C to C USB cables.
usage
@ -8,10 +8,7 @@ usage
- ensure the tester has a non-empty battery in the CR2032/2025, or is externally powered through the USB power port
- plug one end of the cable in one of the host ports
- plug the other end of the cable in one of the devices ports
- the tester will identify the cable's capabilities, on the left side
- the tester will then show the cable's purpose, on the right side
To understand further the capabilities and purpose of a cable, I recommend reading the USB specification, mainly the one for the [type-C connector](https://www.usb.org/document-library/usb-type-cr-cable-and-connector-specification-release-23).
- the tester will identify the cable's capabilities
design choice
=============
@ -27,8 +24,7 @@ do:
- C to C: often used for high power charging of phones and laptops
- battery operated: it's a very simple device, and this avoids needing to require external power
- power port: in case you have no battery or it runs out
- USB 3.0: because it is hard to identify if C-C cable support SuperSpeed
- purpose: deduce from capabilities
- USB 3.0: because it is hard to identify if C-C cable support Super-Speed
don't:
@ -36,29 +32,11 @@ don't:
- A or micro-B 3.0: the connectors that support it are obvious, and it's rare they are used for anything else than Super-Speed transfer (plus they are less common or problematic)
- Power Delivery capabilities: this requires complex host software communicating with the eMarker chip in the cable
- OTG: even if detecting this functionality is easy, micro-B OTG adapters are not popular anymore
- impedance: only the presence of wires is tester, not their impedance
mode of operation
-----------------
future:
Most of the tests just verify if the wires corresponding to capabilities are present in the cable.
Some additional tests verify the resistances in the plugs.
For more details, check the schematic, and refer to [type-C specification](https://www.usb.org/document-library/usb-type-cr-cable-and-connector-specification-release-23).
The left side identifies the capabilities.
Based on that, a micro-controller (MCU) with map the combination into a purpose on the right side.
The left side if independent of the MCU and right side.
limitation
----------
The tester does not:
- verify the resistance of wires, particularly the power ones
- verify the impedance of wires, particularly the differential ones
- verify if the shield(s) is more than just a wire
- read out capabilities from electronically marked cables
- guarantee USB cable compliance or conformity, as this is [very complex](https://www.usb.org/documents?search=&category%5B%5D=49&type%5B%5D=56&tid_2%5B%5D=41&items_per_page=50)
- interpret the supported functionalities to show the cable purpose
- show a simple cable type result, and not just the individual capabilities
alternatives
------------

@ -1 +1 @@
Subproject commit e5b0ca3a0f7bb2f5766f3702089849c8915a0f99
Subproject commit 99148daea6eacd9607034755cb8d5db6fa9cbac7

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -34,9 +34,9 @@
"other_text_thickness": 0.15,
"other_text_upright": false,
"pads": {
"drill": 0.0,
"height": 0.75,
"width": 1.0
"drill": 0.65,
"height": 0.7,
"width": 0.7
},
"silk_line_width": 0.15,
"silk_text_italic": false,
@ -63,18 +63,11 @@
"annular_width|32670000|70600000|a72b5202-181f-4e4c-a40a-cdf8811d8a01|00000000-0000-0000-0000-000000000000",
"annular_width|32670000|88400000|7301d50f-d65c-4e64-90a2-d8f3fedd0daf|00000000-0000-0000-0000-000000000000",
"annular_width|32670000|95600000|83c036fc-3aa6-46cd-8211-d3f21666bddc|00000000-0000-0000-0000-000000000000",
"annular_width|35900000|95700000|1234f73d-e1bf-4ce6-bffd-9f6c9baa31d4|00000000-0000-0000-0000-000000000000",
"annular_width|91900000|39300000|d1240d82-304e-402f-9e07-e8a9bfa24077|00000000-0000-0000-0000-000000000000",
"hole_clearance|29200000|78500000|03d8bccf-b8af-4b65-995d-52b211824b79|b273bd28-b735-460e-9629-b604ece021b4",
"hole_clearance|29200000|81500000|16a7760a-223e-48eb-bf4d-64bea57db3b4|3adbbd99-3461-49b5-8b67-f40abd8ab616",
"silk_over_copper|27568860|96059411|225f9512-3655-4795-b3f0-24c50d8a5ffe|00000000-0000-0000-0000-000000000000",
"silk_overlap|100950000|62500000|fe74f87c-10c4-4721-bbb5-e5e742d532e8|c153cf67-da70-4c55-98c9-8be8c4b037f3",
"silk_overlap|102650000|62500000|2314bd4b-c854-4d1b-abec-a7f4d072c1bc|2a409a1d-ba32-4712-9c37-504509868479",
"starved_thermal|103850000|54050000|0f274f56-d43e-4e24-9b15-8ed27e8fe292|de489e6b-d04b-4d54-ba09-fb6662ddad3e|F.Cu",
"silk_over_copper|31397832|93276086|225f9512-3655-4795-b3f0-24c50d8a5ffe|00000000-0000-0000-0000-000000000000",
"starved_thermal|33230000|68250000|0f274f56-d43e-4e24-9b15-8ed27e8fe292|ca46053d-5407-4cdd-80ad-957e35d3d2b4|F.Cu",
"starved_thermal|33230000|69750000|0f274f56-d43e-4e24-9b15-8ed27e8fe292|8ce723e8-2734-414b-b386-f7496794b674|F.Cu",
"starved_thermal|97350000|50550000|0f274f56-d43e-4e24-9b15-8ed27e8fe292|9f531913-b953-4aae-b2db-a4cd2ebc9eeb|F.Cu",
"starved_thermal|99350000|45550000|0f274f56-d43e-4e24-9b15-8ed27e8fe292|60b7eee2-7611-48f9-8a01-048fac39241a|F.Cu"
"starved_thermal|33230000|69750000|0f274f56-d43e-4e24-9b15-8ed27e8fe292|8ce723e8-2734-414b-b386-f7496794b674|F.Cu"
],
"meta": {
"version": 2
@ -518,10 +511,6 @@
{
"netclass": "Thick",
"pattern": "GNDPWR"
},
{
"netclass": "Thick",
"pattern": "VCC"
}
]
},
@ -584,10 +573,6 @@
[
"43fc3289-82a7-492c-a423-3030e10115dc",
""
],
[
"aff934c6-d889-4e87-9eff-11f437174b1f",
"interpret"
]
],
"text_variables": {}

File diff suppressed because it is too large Load Diff