Awesome Open Source
Awesome Open Source

Build Status Coverage Status PyPI version

stcgal - STC MCU ISP flash tool

stcgal is a command line flash programming tool for STC MCU Ltd. 8051 compatible microcontrollers.

STC microcontrollers have an UART/USB based boot strap loader (BSL). It utilizes a packet-based protocol to flash the code memory and IAP memory over a serial link. This is referred to as in-system programming (ISP). The BSL is also used to configure various (fuse-like) device options. Unfortunately, this protocol is not publicly documented and STC only provide a (crude) Windows GUI application for programming.

stcgal is a full-featured Open Source replacement for STC's Windows software; it supports a wide range of MCUs, it is very portable and suitable for automation.


  • Support for STC 89/90/10/11/12/15/8 series
  • UART and USB BSL support
  • Display part info
  • Determine operating frequency
  • Program flash memory
  • Program IAP/EEPROM
  • Set device options
  • Read unique device ID (STC 10/11/12/15/8)
  • Trim RC oscillator frequency (STC 15/8)
  • Automatic power-cycling with DTR toggle or a custom shell command
  • Automatic UART protocol detection


Install stcgal (might need root/administrator privileges):

pip3 install stcgal

Call stcgal and show usage:

stcgal -h

Further information


How to use stcgal

Frequently Asked Questions

List of tested MCU models


stcgal is published under the MIT license.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (49,921
microcontroller (77
mcu (32

Find Open Source By Browsing 7,000 Topics Across 59 Categories