initial documentation update

This commit is contained in:
Francois Cartegnie
2024-01-14 20:48:08 +01:00
parent cf739dc50a
commit 4cd106f478
2 changed files with 48 additions and 6 deletions

5
CH582.md Normal file
View File

@@ -0,0 +1,5 @@
# CH582
* [CH583 Evaluation Board SDK](https://github.com/openwch/ch583)
* [Open Source Toolchain for CH582/CH583](https://github.com/cjacker/opensource-toolchain-ch32và

View File

@@ -1,5 +1,6 @@
# badgemagic-firmware
Hardware details and information to build an open firmware for LED badge
Hardware details and information to build an open firmware for Bluetooth LED badges, compatible with [Badge Magic app](https://github.com/fossasia/badge-magic-android)
## Hardware Information
@@ -11,17 +12,53 @@ Bluetooth LE and low power consumption.
The design relies on a single MCU.
MCU type has changed depending on manufacturer batches.
* ARM M0 variant based on MM32W062
* RISC-V variant based on CH582
* ARM M0 variant based on [MM32L062PF](http://www.mindmotion.com.cn/en/download.aspx?cid=2564)
* ARM M0 variant based on [MM32W062](http://www.mindmotion.com.cn/en/download.aspx?cid=2564)
* RISC-V variant based on [CH582](https://www.wch.cn/products/CH583.html)
See specific pages regarding each version of the hardware below
### Display
The custom 11x44 LED dot matrix is using persistence of vision.
(assets/dotmatrix.png)
The custom 11x44 LED dot matrix displays using persistence of vision.
Bitmaps are drawn using all the pins (11) vertically, resulting in a single diagonal scanline with high refresh rate.
![This is an alt text.](assets/dotmatrix.png)
## Firmware
Manufacturer firmware is closed source. Creating an open source compatible firmware is the goal of this project.
### Functionalities
The badge stores bitmaps in
The badge stores bitmaps with preconfigured animation sequences.
It uses 8 memory banks that can be used alternatively.
The 2 buttons configuration:
* Top button
* Switches device on or off (long press)
* Changes to Bluetooth upload mode (short press when on)
* Bottom button
* Switches to badge display instead of charging screen when plugged with USB
* Switches memory bank when displayed
* Changes brightness level (long press)
### Upload Protocol
Sorry, you'll have to dive into code here :/
See original [led-name-badge-ls32](https://github.com/fossasia/led-name-badge-ls32) for USB update protocol reverse engineering
See [Badge Magic app](https://github.com/fossasia/badge-magic-android) for Bluetooth update protocol
## Variant Specific Instructions
Currently, only the RISC-V version is targeted as it seems the only one produced at the moment.
### RISC-V CH582 Instructions
Please go to [CH582 Badge Instructions and Reverse Engineering](CH582.md)