From 4cd106f478cc88a024cfb0e10c3cef2af84d9940 Mon Sep 17 00:00:00 2001 From: Francois Cartegnie Date: Sun, 14 Jan 2024 20:48:08 +0100 Subject: initial documentation update --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 6 deletions(-) (limited to 'README.md') diff --git a/README.md b/README.md index 6a558db..0359931 100644 --- a/README.md +++ b/README.md @@ -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) + -- cgit v1.2.3