|
Bogdan Timofte
authored
2 weeks ago
|
1
|
# Project History
|
|
|
2
|
|
|
|
3
|
## Origin
|
|
|
4
|
|
|
|
5
|
This project started as a proof of concept for reverse engineering three Bluetooth-enabled USB meters sold under the Ruideng name:
|
|
|
6
|
|
|
|
7
|
- `UM25(C) V2.0`
|
|
|
8
|
- `UM34(C) V2.3`
|
|
|
9
|
- `TC-66C`
|
|
|
10
|
|
|
|
11
|
## Initial Goal
|
|
|
12
|
|
|
|
13
|
The original goal was to discover how these devices expose their data over Bluetooth and to build a working software prototype capable of reading and displaying that data.
|
|
|
14
|
|
|
|
15
|
## Progress Reached
|
|
|
16
|
|
|
|
17
|
The project progressed to the point where data could be obtained from the devices.
|
|
|
18
|
|
|
|
19
|
At that stage, active work stopped.
|
|
|
20
|
|
|
|
21
|
## Current Knowledge Gaps
|
|
|
22
|
|
|
|
23
|
At this point, the exact status of the reverse engineering effort is not fully known:
|
|
|
24
|
|
|
|
25
|
- it is not clear which payload fields were fully decoded
|
|
|
26
|
- it is not clear which payload fields remain unknown
|
|
|
27
|
- it is not clear how complete the protocol understanding is for each model
|
|
|
28
|
|
|
|
29
|
The project code itself is now the main surviving reference for what was achieved.
|
|
|
30
|
|
|
|
31
|
## Available Resources
|
|
|
32
|
|
|
|
33
|
The original external research resources are no longer available, except for what is already included in this repository.
|
|
|
34
|
|
|
|
35
|
Because of that, the project should treat the existing source code and notes as the baseline for rebuilding protocol knowledge.
|
|
|
36
|
|
|
|
37
|
## Current Direction
|
|
|
38
|
|
|
|
39
|
The next stage is not to restart reverse engineering from scratch, but to document what is already present in the codebase and collect newly discovered materials in a structured way.
|
|
|
40
|
|
|
|
41
|
That includes:
|
|
|
42
|
|
|
|
43
|
- manuals
|
|
|
44
|
- specifications
|
|
|
45
|
- payload observations
|
|
|
46
|
- protocol notes
|
|
|
47
|
- reverse engineering findings for each supported meter model
|