Skip to content

Firmware m1100

mefistotelis edited this page Jul 18, 2021 · 18 revisions

Table of Contents

Target
Purpose
Versions
Structure
OS and Libraries
Flashing
Interfaces

Target

The module contains battery firmware. Depending on hardware generation, the module programs either the Battery Management System chip itself, or application part of a small micro-controller connected to the BMS chip.

When a platform supports several types of batteries, or firmware for both BMS and uC is provided, then more m11?? modules can exist.

Location of target chip:

  • in P3X, P3S, P3C and P3XW, the target MSP430 uC is on P3 Battery Intelligent board
  • in other products, it is also within case containing battery cells

Purpose

The programming monitors the battery by reading temperature sensor and measuring cell voltages. It also remembers history of the battery, like the amount of discharges. These information are sent on request to the flight controller via serial interface.

Versions

There are multiple versions, always unencrypted.

Marking Packages Timestamp Overview
00.01.0797 MATRICE600_FW_V01.00.00.27_nw 2016-08-18
00.01.0799 MATRICE600_FW_V01.00.00.28 2016-05-05
00.01.0801 MATRICE600PRO_FW_V01.00.00.01 MATRICE600PRO_FW_V01.00.00.51 MATRICE600PRO_FW_V01.00.00.53 MATRICE600PRO_FW_V01.00.00.54 MATRICE600PRO_FW_V01.00.00.55 MATRICE600_FW_V01.00.00.39 MATRICE600_FW_V01.00.00.39_nw MATRICE600_FW_V01.00.00.42 MATRICE600_FW_V01.00.00.43 MATRICE600_FW_V01.00.00.44 MATRICE600_FW_V01.00.00.51 MATRICE600_FW_V01.00.00.53 MATRICE600_FW_V01.00.00.54 MATRICE600_FW_V01.00.0090 MATRICE600_FW_V02.00.00.21 MATRICE600_FW_V02.00.00.95(polar) 2016-06-08 ... 2016-11-20
01.01.0783 MATRICE600_FW_V01.00.00.27 2016-04-18
01.01.0802 MATRICE600_FW_V01.00.00.56 2016-12-06
01.01.0803 MATRICE600PRO_FW_V01.00.00.60 MATRICE600PRO_FW_V01.00.00.61 MATRICE600PRO_FW_V01.00.00.62 MATRICE600PRO_FW_V01.00.00.63 MATRICE600PRO_FW_V01.00.00.64 MATRICE600PRO_FW_V01.00.00.80 MATRICE600_FW_V01.00.00.60 MATRICE600_FW_V01.00.00.80 2016-12-14 ... 2017-01-04
01.06.0000 P3C_FW_V01.00.0014_Beta P3S_FW_V01.01.0008 P3S_FW_V01.01.0009 P3S_FW_V01.02.0007 P3S_FW_V01.02.0008 P3X_FW_V01.01.0006 P3X_FW_V01.01.0008 P3X_FW_V01.01.0009 P3X_FW_V01.01.1003 P3X_FW_V01.01.1007 P3X_FW_V01.02.0006 2015-04-30 ... 2015-07-21
01.07.0000 P3C_FW_V01.00.0017_Beta P3C_FW_V01.00.0020 P3C_FW_V01.01.0030 P3C_FW_V01.02.0040 P3S_FW_V01.03.0020 P3S_FW_V01.04.0010 P3S_FW_V01.05.0030 P3XW_FW_V01.01.0000 P3X_FW_V01.03.0020 P3X_FW_V01.04.0005 P3X_FW_V01.04.0010 P3X_FW_V01.05.0030 2015-07-24 ... 2015-12-15
01.07.3841 P3S_FW_V01.06.0040 P3S_FW_V01.07.0060 P3S_FW_V01.08.0080 P3X_FW_V01.06.0040 P3X_FW_V01.07.0043_beta P3X_FW_V01.07.0060 P3X_FW_V01.08.0080 2015-12-22 ... 2016-04-05
01.08.0000 P3C_FW_V01.03.0050 P3C_FW_V01.04.0060 P3C_FW_V01.04.0060 P3C_FW_V01.05.0070 P3C_FW_V01.05.0074 P3C_FW_V01.06.0083 P3C_FW_V01.06.0086 P3C_FW_V01.07.0082 P3C_FW_V01.07.0084 P3C_FW_V01.07.0086 P3C_FW_V01.07.0090 P3S_FW_V01.09.0060 P3S_FW_V01.10.0090 P3XW_FW_V01.02.0010 P3XW_FW_V01.03.0020 P3XW_FW_V01.04.0030 P3XW_FW_V01.04.0036 P3XW_FW_V01.05.0040 P3X_FW_V01.09.0060 P3X_FW_V01.10.0090 2015-12-21 ... 2016-11-08
02.54.63081 MG1S_FW_V01.00.00.02 2016-11-29
03.08.3844 MATRICE100_FW_V01.02.00.60 MATRICE100_FW_V01.02.00.70 MATRICE100_FW_V01.02.00.80 MATRICE100_FW_V01.02.00.90 2016-02-18 ... 2016-04-01
03.09.0000 MATRICE100_FW_V01.03.01.00_pc MATRICE100_FW_V01.03.02.55_pc WM610_FC350Z_FW_V01.09.01.40 WM610_FC550_FW_V01.08.00.92 WM610_FW_V01.08.00.92 2016-03-24 ... 2016-11-09

Structure

TODO

OS and Libraries

TODO

Flashing

TODO

Interfaces

The connections to other components are listed below.

Li-Po Cells interface

Each Lithium-Polymer battery cell is connected to an ADC which reads voltage during operation, and provides balancing capabilities when the battery is being charged. There is also a current sensing ADC.

Serial interface to FC

The battery communicates with the Flight Controller via serial interface. In P3X and P3S, it is connected to ESC Center Board. The transmission parameters are 115200 8N1, and the messages are sent as binary packets.

Temperature sensor interface

This interface isn't well known.

Clone this wiki locally