STC Microcontrolers – review

STC MCU DIP40I recently discovered STC microcontrollers produced by TSMC (Taiwan Semiconduct Manufacture Company).


These MCUs are based on the 8051 architecture. According to the manufacturer’s website:

  • “STC microcontroller has speed up 8051 mcu dramatically with it’s advanced technologies. Unlike the classic 8051 architechture, the STC 8051 MCU need only 1 or 2 clock to run an instruction (most are 1T)”.
  • “There’re many special features beside standard 80C51:
    Internal Reset, RC Oscillator, WDT, Super Security, stand alone baud generater, low power”
  • “And also several application specified features:
    ADC, PWM/PCA/DAC, SPI, up to 4 UARTs, up to 6 timers”
  • “STC single-cycle 8051 devices can be used in existing 80C51-based applications with binary-level code compatibility while substantially increasing performance by a factor of 6 to 12 times, up to 35MIPS.”

Sounds promising so we went to action. Since the site is about open source / open hardware, I started to set up a chain tools in accordance with this policy.

First we needed a programmer / or development board and related software.

After some searches on google / ebay / AliExpress / I decided to buy this PCB that I ordered on AliExpress at an affordable price of $ 10 / 2 pieces (In fact I reordered ten
pieces of PCB in total and five complete kits for me and my team)
After analyzing circuit I realized that may be used for ATMEGA162, ATMEGA8515, AT89S51, AT89S52 besides STC8051 family and that made it interesting enough to


More information about the board  in our post AVR / STC51 Dev Board (FKECL PCB).

Board can be conenected to PC using Serial Cable or USB-to-Serial converter (for STC Microcontrolers)

Then we needed an open source compiler/IDE. After a short search we stopped at SDCC + MCU 8051 IDE.

Although SDCC compiler natively supports 8051 architecture, to use the new features introduced by STC we create STC_8051_H to be used in projects.

Software for programming flash memory:

Here is the weak point of these microcontrollers. Because the manufacturer has not released the specifications for programming these microcontrollers, the only software available are from original manufacturer.
There is an exception: STCDUDE.

More information about programming software for STC Microcontrollers in our post STC MCU Software.

Updated: August 15, 2014 — 9:36 pm


Add a Comment
  1. is it possible to program a stc12c5a60s2 using MISO, MOSI and SCK from a USBtinyISP? if so how?

  2. Silviu, what do I need to read the source code off an STC 12C5A08S2 in LQFP-44 chip?

    Thank you

    1. You can’t read source code of any microcontroller… Perhaps you think about firmware /binary code…

      It depends on how it is put into operation, You may need a USB to RS232 converter, or RS232 to TTL converter…
      I don’t know what operating system you use… Windows/Linux/Mac… Is this STC12C5A08S2 on a development board or in other device…

      In fact you have to access pins P3.0(pin 6 of IC) and P3.1 (pin 8 of IC) which are RX an TX of first UART of the MCU.

      And if your computer has RS232 (aka serial) connector you can use only a RS232 to TTL converter, otherwise you must use a good USB to RS232 or USB to TTL converter, depends of your board/device (if it already has a MAX232 or similar on board)

      And for the software check this:

      I tried to do my best 🙂


      1. I am back into reading this STC MCU. No, it is not on a board or device and the developer (Chinese guy that speaks only Chinese) told me to copy its firmware on another MCU for a stereo(dual channel) operation (part of a LED VU-meter).

        So I was trying to copy its firmware using a debugger or something and then program another MCU.

        Is that doable with a Windows computer equipped with USB only?

        1. I’m sorry to dissapoint you. You can not read firmware from STC MCUs. Im my previous answer I’ve suggested wrongly that can be read using a programming interface (USB to RS232+MAX232 or USB to TTL).
          I was wrong.(I was thinking at Atmel MCUs…) What I have said is valid only for (re)writing the firmware.

          By design, you can’t read firmware from these MCUs(is the best protection, it seems).

  3. Thank you Silviu.

  4. Good day to you all on the board,

    Im new to the programming.I want to read the hex files from STC12C5A60S2 351-LQFP44G.The MCU is on the Device.Im using Windows XP.Help me to connectg the MCU to my Laptop via USB.Please mentioned the steps in brief for my level of understanding.I dont have any Development Board or USB/Serial Converters.I Have to purchase the requirement kit.

    Thanks in advance.

  5. Hi dear! recently i purchassed stc89c52rc mcu trainer kit to my university and i couldn’t find the related softwares to check its hardware and software part operation and also i don’t have the exact usb-serial driver,and keil c v7.06 freeware so sugest me something. and the kit is also in chinese but i need in english ???

    1. for STC89C52 ther is windows programmer: (in English)

      I have not used Windows for a long time… also I do not use proprietary software…
      so I use STCGAL for upload firmware to MCU

      and I use SDCC as compiler (working on windows)
      and MCU 8051 IDE as IDE (also working on windows)

      everything goes very very well 🙂

      you only need driver for usb-to-serial adapter… if you use one of them (and windows)
      some dev boards use different usb-to-serial chips…
      some dev boards not use any kind of usb to serial adapter, only a rs232 connector…

Leave a Reply

Your email address will not be published. Required fields are marked *

OpenHardware.Ro © 2017 Frontier Theme