• Stars
    star
    284
  • Rank 145,616 (Top 3 %)
  • Language
    C
  • Created almost 3 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Custom BLE firmware for Hanshow E-Paper Shelf Labels / Price Tags

ATC_TLSR_Paper

Custom BLE firmware for Hanshow E-Paper Shelf Labels / Price Tags using the TLSR8359 ARM SOC

Please note that this firmware ONLY works on Price Tags with the TLSR Microcontroller! Make sure to check the list of compatible models.

You can support my work via PayPal: https://paypal.me/hoverboard1 this keeps projects like this coming.

As BLE can be enabled on the Telink TLSR8359 so i decided to make a custom firmware instead of reversing the stock firmware and its 2.4Ghz RF Protocol

This repo is made together with this explanation video:(click on it)

YoutubeVideo

WebSerial Firmware flasher Tool: https://atc1441.github.io/ATC_TLSR_Paper_UART_Flasher.html

WebBluetooth Image Uploader: https://atc1441.github.io/ATC_TLSR_Paper_Image_Upload.html

WebBluetooth Firmware OTA Flashing: https://atc1441.github.io/ATC_TLSR_Paper_OTA_writing.html

Compiling:

Python needs to be installed

Windows:

To compile under windows navigate with a command prompt to the "Firmware" folder

Enter "makeit.exe" and wait till the Compiling is done.

Linux:

Navigate with a Terminal into the "Firmware" Folder

Enter "make" and wait till the Compiling is done.

Flashing:

Open the Compiled .bin firmware with the WebSerial Flasher and write it to Flash.

On first Connection it is needed to Unlock the flash of the TLSR8359

About the display:

The e-ink panel used in this ESL is 250 by 122 pixels, black and white (no gray levels...yet).

Larry Bank added his OneBitDisplay (https://github.com/bitbank2/OneBitDisplay) and TIFF_G4 (https://github.com/bitbank2/TIFF_G4) libraries to make it easy to generate text and graphics. For anyone wanting to write directly to the display buffer, the memory is laid out like a typical 1-bpp bitmap except that it is rotated 90 degrees clockwise. In other words, the display is really 122 wide by 250 tall, but laying on its side. Each byte contains 8 pixels with the most significant bit on the left. Black is 0 and white is 1. Each row of 122 pixels uses 16 bytes. Here is an example function to set a pixel given the x,y of the orientation (portrait) that the display is used:

void SetPixel(int x, int y, uint8_t *pDisplayBuffer)
{
   uint8_t *d = &pDisplayBuffer[(y >> 3) + (249-x)*16];
   *d &= ~(0x80 >> (y & 7)); // set pixel to black
}

The following hardware is currently supported, most displays are detected automatically if that fails you can select the correct one in the OTA flashing tool. The graphical layout is not edited for each screen size and will not fit nicely on all especially the 1.54" Version.

Compatible Hanshow models:

Hanshow explains their naming scheme as follows:

Stellar-XXX E31X
XXX and X stand for hardware, such as Stellar-M3YN@ E31H

  • M = 2.13 inch
  • 3 = three-color display: black/white/red
  • Y = three-color display: black/white/yellow
  • N = NFC chip
  • H = High-resolution
  • A = No reed switch
  • @ = LED light

This firmware requires hardware based on the TLSR8359 chip, which is usually the case for Stellar-xxNx models, but not models without an N.

The following models have been confirmed to work:

Name Display Case front Case back
Stellar-MFN@ E31A 2,13" 212x104
Stellar-M3N@ E31HA 2,13" 250x122
Stellar-MN@ E31H 2,13" 250x122
Stellar-S3TN@ E31HA 1,54" 200x200

More Repositories

1

ATC_MiThermometer

Custom firmware for the Xiaomi Thermometer LYWSD03MMC and Telink Flasher via USB to Serial converter
C
2,682
star
2

E-Paper_Pricetags

C
230
star
3

ESP32_nRF52_SWD

This software brings you the possibility to Read and Write the internal Flash of the Nordic nRF52 series with an ESP32
C++
229
star
4

CH559sdccUSBHost

USB host to Arduino Interface with the Cheap CH559 uC
C++
220
star
5

ATCmiBand8fw

A custom firmware for the Xiaomi Mi Band 8
HTML
186
star
6

ATCwatch

Custom Arduino C++ firmware for the P8 and PineTime plus many more DaFit Smartwatches
C
175
star
7

ZBS_Flasher

Arduino C++ Library and interface to flash the ZBS243 / SEM9110 8051 Microcontroller
C
132
star
8

DaFlasherFiles

Additional files for the DaFlasher App and the ATCwatch Firmware for the P8 Smartwatch
108
star
9

TCSintercomArduino

Arduino C++ interface for the TCS intercom system
C++
69
star
10

NETSGPClient

Arduino Interface for cheap 2.4ghz RF enabled Solar Micro Inverters
C++
60
star
11

ESP_CC_Flasher

Arduino Library and code to flash CC2510, CC1110 or other Texas Instruments CCxxx Microcontroller
C++
55
star
12

DiyArduinoESP232AlarmSystem

Simple Alarmsystem with the ESP8266 or ESP32 and 433mhz sensors
C++
48
star
13

ATC_stc_solder_iron

Custom firmware for cheap STC Based Soldering iron using PlatformIO and SDCC 8051 based
C
44
star
14

atc1441.github.io

HTML
38
star
15

CustomCanDecoderBox

C++
36
star
16

Waveshare_NFC_E-Paper_Display_custom_firmware

A basic custom firmware to show a running example on the TN2115S2 SoC inside of the Passive NFC E-Paper Displays from Waveshare
C++
35
star
17

88MZ100

C++
26
star
18

chflasher

Python
26
star
19

ATC_Wifi_Toothbrush

The fitting firmware to update the Wifi Toothbrush plus an example custom firmware for the ESP32-C3
C
25
star
20

QRcode_clock

64x64 RGB LED Matrix QR code clock using ESP32 and Espruino
JavaScript
25
star
21

CH_HID_Arduino

C++
25
star
22

Disno_band_NRF31512

Hacking of the Disno Band Version 2 and its internal NRF31512
C++
22
star
23

CH55xOneClickCompiler

CH551 to CH554 One Click SDCC Compiler
C
19
star
24

D6Emulator

D6 Fitness Tracker Custom Firmware for Arduino
C++
13
star
25

D6Flasher

Java
11
star
26

ATC_GICISKY_ESL

Informations and Example code to control the GICISKY / PICKSMART E-Paper Shelf Labels
11
star
27

HINKeinkDisplayLibrary

Driver for HINK E-Ink E-Paper Displays Arduino
C++
10
star
28

TI_CC_Ghidra_CPU

Ghidra Plugin for Texas Instrument CC 8051 SOC's especially CC1110 and CC2510
Java
10
star
29

ESP32-I2S-RGB-Matrix-Clock

C++
10
star
30

Magic3_DaFit

Code repo for infos and demos on the DaFit Magic 3 Smartwatch
C
9
star
31

ZBS243_SEM9110_Ghidra_CPU

Ghidra CPU Plugin which makes Reversing of the Samsung ZBS243 8051 SOC more simple
Java
8
star
32

HRS3300-Arduino-Library

Arduino Library for the HRS3300 Heartrate sensor for the nRF52 Bluetooth Micro
C
6
star
33

D6Notification

Companion App for the ATCwatch Arduino Smartwatch Firmware mainly for nRF52832
Java
5
star
34

ArduinoHoverboardAPI

C
2
star
35

smart-watch-socs

A list of smart watches and their corresponding SoC and price (USD)
2
star
36

CH55xDuino

1
star