Reverse Engineering BQ27500EVM Kit and the EV2300
In this repository, I will do reverse engineering for the BQ27500EVM and the EV2300 Kit.
The EV2300 is a USB to I²C/SMBus converter and it has interface program ( Works only on Windows XP ), so I had an old computer laying around, I installed windows XP and had a tests over the EV3200 with this setup like below:
Here is a screenshot for the software:
The program worked fine and communicated with the BQ27500 kit.
Next, I will connect (Saleae 8 Logic Analyzer) inline with the I²C/SMBus and have a look while the program reading the data from the BQ27500EVM.
The saved capture for Logic 1.2.18 program : 24 MHz, 480 M Samples [3].logicdata, you could open it and enable the I²C analysis, for more data captures visit this folder (Logic_Analyzer_Data_Capture)
Here is a screenshot for the Logic 1.2.18 program.
From the reverse engineering we get this info:
BQ27500 I²C Address: 0x55
I²C Frequency: 40KHz
- slua448.pdf Quick Start Guide for bq2750x Family Gas Gauge.
- slus914a.pdf bq27500 System-Side Impedance Track Fuel Gauge Datasheet.
- sluu159e.pdf EV2300 EVM Interface Board User Manual.
- sluu287a.pdf bq2750xEVM System Side Single-Cell Impedance Track™ Technology Evaluation Module.
- sluu298.pdf Quick Start Guide for bq27500/1EVM Kit.
After Reading the Datasheet and verifying it with the captured data in the section above, I have written a code for NodeMCU ( Just for concept verification only ) and this is the final setup:
Connection:
NodeMCU's D1 Pin: SCL
NodeMCU's D2 Pin: SDA
** Connecting the GND together **
- ESP8266_BQ27500EVM.ino NodeMCU Arduino Code ( Just for concept verification ).
The Output Data Over The UART:
Device Name: q27500
Pack's Voltage: 4187 mV , 4.19 V
Design Capacity: 2200 mAh
State Of Charge: 100 %
Nominal Available Capacity: 1000 mAh
Nominal Available Capacity: 1000 mAh
Remaining Capacity: 1000 mAh
FullCharge Capacity: 1000 mAh
Average Current: 100 mA
Time To Empty: -1 Minute/(s)
Time To Full: 151 Minute/(s)
Standby Current: -8 mA
Standby Time To Empty: 7500 Minute/(s)
Max Load Current: -1219 mA
Max Load Time To Empty: 49 mA
Available Energy: 3792 mWh
Average Power: 419 mW
Time To Empty At Constant Power: -1 Minute/(s)
Cycle Count: 1 Time/(s)
- STM32 Driver
- Computer Software
- 24/12/2020 -> Started the project and protocol reverse engineering ( Done ).
- 25/12/2020 -> Writing NodeMCU's code for ( Concept Verification ) ( Done ).
- Currently working on designing the embedded system that will communicate with it.
Kindly, if my repository helped you. I need your support by endorsing my LinkedIn skills. (Omar Khaled Mekkawy). Thanks