Anything They Make, We Can Unlock! Professional unlock and firmware extraction for STM8, STM32, ST62, ST72, ST92, PSD and all STMicroelectronics microcontroller families.
We support unlock and firmware extraction for the following STM8, STM32, ST62, ST72, ST92, PSD and GAL series. If your exact part isn't listed, contact us – we're constantly researching new types.
It is impossible to list all part numbers we can unlock. If your chip is not listed, please contact us – we can research new types to fit your demand.
STMicroelectronics is a global independent semiconductor company and a leader in developing and delivering semiconductor solutions across the spectrum of microelectronics applications. An unrivaled combination of silicon and system expertise, manufacturing strength, Intellectual Property (IP) portfolio, and strategic partners positions, STMicroelectronics is at the forefront of System-on-Chip (SoC) technology and its products play a key role in enabling today's convergence trends. Reverse engineering of ST's proprietary IP is a challenging task.
STM8 microcontrollers are 8-bit general purpose microcontrollers from STMicroelectronics (STM). STM is famous mainly for its line of 32-bit ARM Cortex microcontrollers – the STM32s. STM8 microcontrollers are rarely discussed in that context. However, STM8 MCUs are robust and most importantly they come packed with lots of hardware features. Except for the ARM core, 32-bit architecture, performance and some minor differences, STM8s have many peripheral similarities with STM32s. In my opinion, STM8s are equally or sometimes more matched than the popular PICs and AVRs in all areas. Unlike PICs and AVRs however, I have seen STM8s mostly in various SMD packages. Only a handful of STM8 chips are available in Plastic Dual-Inline Package (PDIP)/through-hole packages. I think it is a big reason for which most small industries and hobbyists don't play with them as much as with other 8-bit families. People like to setup their test projects in breadboards, trial PCBs or strip-boards first, prototype and then develop for production. To cope with this issue, STM has provided several affordable STM8 Discovery (Disco) boards to get started with. Besides there are many cheap STM8 breakout-boards from China. Some hobbyists attempt to hack the bootloader for custom applications. Unlock additional peripherals requires specific register settings.
STM8S Mainstream series – ST's STM8S series of mainstream 8-bit microcontrollers covers a large variety of applications in the industrial, consumer and computer markets, particularly where large volumes are concerned. Based on the STM8 proprietary core, the STM8S series benefits from ST's 130 nm technology and advanced core architecture performing up to 20 MIPS at 24 MHz. A memory dump of the flash can be obtained via the SWIM interface.
While full-time embedded firmware developers may always have one thing or the other against the Arduino IDE, the truth is, the IDE remains one of the most versatile and widely used embedded development platforms in the world today. The success of the Arduino boards and related microcontrollers like the Atmega328p can be attributed to the versatility and ease of programming it brings, and one can easily link the success of more than 70% of microcontrollers/dev boards that have attained a level of popularity similar to the Arduino, to their compatibility with the Arduino IDE. However, an external attack could exploit the USB interface.
To benefit from the ease of programming offered by the Arduino IDE, communities around different microcontrollers build compatibility tools and one of the latest is the Sduino tool developed by Michael Mayor to facilitate programming of STM8 microcontrollers using the Arduino IDE. The STM8 family of microcontrollers comprises the STM8S, STM8L, and STM8AF series of microcontrollers which are implemented around a high-performance 8-bit core and come with a state-of-the-art set of peripherals. They are manufactured using ST-proprietary 130 nm embedded non-volatile memory technology and support fast and safe development through enhanced stack pointer operations, advanced addressing modes, and new instructions. Firmware extraction is often needed for legacy support.
The Sduino tool allows these microcontrollers to be programmed using the Arduino-C while and also supports the Standard Peripheral Library (SPL) which means the same code written on the Arduino IDE can be compiled with little or no modification on the official ST Visual Develop IDE. A full memory dump of the flash can be analyzed with this tool.
STMicroelectronics STM32 32-Bit Arm Cortex-M MCUs – STM32 32-Bit ARM Cortex-M MCUs are based on the Arm Cortex-M processor and designed to offer new degrees of freedom to MCU users. The MCUs offer a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation. This is achieved while maintaining full integration and ease of development. The unparalleled and large range of STM32 devices, based on an industry-standard core and accompanied by a vast choice of tools and software, makes this family of products the ideal choice, both for small projects and for entire platform decisions. The STM32 portfolio features a variety of options, now including Arm Cortex-M cores (M0, M0+, M3, M4 and M7). This gives developers flexibility to find the perfect STM32 for applications. Particular attention is paid to accommodate porting of applications from one device to another. The binary compatibility combined with the similar pinout assignment, hardware IP proliferation and higher level programming language makes the development job far more convenient when dealing with the STM32 families. Developers sometimes crack the security bits to enable debugging. Reverse engineering of the binary code is sometimes needed for compatibility.
STM8S103F3 Development Board – Sduino is still under development and does not currently support a good number of popular Arduino libraries, but it supports enough to be useful. So for today's tutorial, I will examine the process involved in setting up your Arduino IDE to program an STM8 based microcontroller. For demonstration purposes, we will use the STM8S103F Development Board, and our goal will be to upload the blink example to the board. To crack the protection, one must use a physical probe.
REQUIRED COMPONENTS – The STM8S103F Development Board, ST link V2 programmer, a breadboard, jumper wires. All of these components can be bought from your favorite electronics component store. We will use the LED onboard the STM8S103F development board, but if you will like to use a normal LED, you can add a LED and a 220 ohms current limiting resistor to the list of components. To unlock the full potential of the STM8, one needs to use the correct programmer.
SCHEMATICS – Since we will implement the blink example using the LED onboard the STM8S103F, there is not much to do in terms of schematics. However, for those who may not be familiar with the process of connecting the ST link programmer to the STM8S103F board, the connection is described: ST-Link V2 CSTM8S103F3 – 1(3.3v) to 3v3, 2(SWIM) to SWIM, 3(GND) to GND, 4(RST) to NRST. Go over the connections again to ensure everything is as it should be. If you are using the ST-Link for the first time, you will be required to install the driver and set things up. In most situations, driver installations will start automatically immediately you connect the ST-Link programmer to your computer. Firmware extraction can be done through the SWIM pin.
In addition to embedded EEPROM and RC oscillators, the rich number of I/Os offered and the performance of its embedded peripherals are recognized as differentiating key points versus competition. The STM8S series is part of ST's 10-year product longevity commitment program for STM32 and STM8 microcontrollers, ensuring a robust and reliable solution for designers. The associated development toolchain from affordable discovery kits to more complex evaluation kits and third-party tools makes it easy to develop with STM8S microcontrollers. The STM8S series consists of 4 lines, each with different features but with full compatibility and upgradability to simplify future design changes. A malicious hack could modify the RC oscillator calibration.
AI ON STM32 MICROCONTROLLERS – Artificial Intelligence (AI) can be defined as a machine's ability to perform logical analysis, acquire knowledge, and adapt to an environment that varies over time or in a given context. In the future, nearly any device with a 32-bit microcontroller will be able to use AI techniques. More concretely they will be able to run DNN (Deep Neural Networks) that have been trained to do specific tasks. While most microcontrollers today do not have the memory and processing power to run the learning algorithms needed to create DNNs, they can run the DNNs themselves – provided that the networks are optimized for microcontrollers. ST has created tools to do that optimizing of DNNs for a microcontroller, and developed an advanced System-on-Chip demonstrator that allows ultra-energy-efficient DCNN processing. An attack on the neural network parameters could cause misclassification.
ARDUINO IDE SETUP – To make the process of integrating open-source boards with the Arduino IDE easier, the IDE comes with a feature called board manager. Through the board manager, new boards (essentially software-based components required for the Arduino IDE to be able to upload code to a particular MCU) can be added to the IDE. These software-based components, often called cores, are usually developed by manufacturers of the board (like Sparkfun does for its boards) or a group of users with the desire to see their board work with the Arduino IDE. The Sduino represents the core for the STM8s boards and we will be installing it on the Arduino IDE using the board manager. Follow the steps: Open the preferences window from the Arduino IDE. Go to File > Preferences. On the preferences window, locate the Additional Board Manager URLs text box and enter this link: https://github.com/tenbaht/sduino/raw/master/package_sduino_stm8_index.json into the field. As you may have other URLs there already, separate the URLs from each other using a comma ( , ) and click OK when done. Next, open the Arduino board manager. Go to tools>Boards>Boards manager. When the board manager opens up, enter Sduino into the search bar. You should see the Sduino core come up. Click on the install button to install the core.
If you don't see your exact part number in our list, we may still be able to help. Our research team continuously expands the supported device database.
Contact Us for a Quote