ST Visual Develop (STVD) includes an STM8 assembly toolchain, so you can write, assemble, link, debug, and program an STM8 project in one development environment. For a first assembly project, use ST’s ST Assembler-Linker, consult the STM8 CPU programming manual for instruction and CPU fundamentals, and follow the manual for your exact board and MCU when connecting and programming hardware.
What you need before starting
- STVD and the ST Assembler-Linker: ST describes STVD as an environment for building and debugging applications and programming microcontrollers; it integrates STM8 C and assembly toolchains, including the ST Assembler-Linker. ST says its MCU toolset is available as a free download. Check the STVD-STM8 product page for current downloads and availability.
- Documentation for the installed tools: ST’s STM8 software development tools documentation index lists the STVD user manual UM0036 and ST Assembler-Linker user manual UM0144. It also lists release notes for STVD 4.3.12 and ST Assembler-Linker ASM 4.52; verify the available release and matching documentation when downloading.
- An STM8 board and a compatible programming/debugging path: The exact MCU, board revision, and programmer or debugger determine compatibility. STVD’s programming interface is based on ST Visual Programmer (STVP) and supports devices and programming tools supported by STVP, but that does not establish compatibility for every STM8 board or programmer.
- Device documentation: Get the target MCU’s datasheet and errata as well as the applicable reference manual. Board documentation helps you identify its connectors, circuitry, and supported programming/debug process.
Choose documentation for the question you are answering
Assembly instructions and CPU behavior are different from peripheral-register behavior. Use the document that matches the problem, then confirm device-specific details against the exact MCU documentation.
| Document | Use it for |
|---|---|
| PM0044, STM8 CPU programming manual | STM8 CPU programming concepts and instruction-set fundamentals. |
| RM0016, STM8S/STM8AF reference manual | Peripheral and register behavior for the covered device families. |
| The exact MCU’s datasheet and errata | Device-specific features, limits, and corrections. Find the applicable documents through ST’s STM8S series documentation index. |
| UM0834, STM8S-DISCOVERY application development and debugging manual | Board-specific development, wiring, programming, and debugging guidance for STM8S-DISCOVERY. Read the UM0834 manual alongside the board’s revision-specific materials. |
Set up an assembly project in STVD
STVD supplies the environment, while the assembler and linker turn assembly source into a program image. Exact menu names and project options can vary by installed version, so use UM0036 and UM0144 from ST’s tool documentation index for version-specific instructions.
- Install STVD and the assembly toolchain. Download the available ST MCU tools from the STVD product page, and confirm that the ST Assembler-Linker component is included or installed. Check release notes and manuals for the versions you obtain.
- Start a project for the exact MCU. Select the target microcontroller corresponding to the board, not just a similar STM8 family member. The MCU selection affects device-specific project settings and the code’s assumptions about available hardware.
- Add assembly source and configure build inputs. Create or add the assembly files through STVD and configure the assembler and linker as described by UM0144. Follow the startup, memory-layout, and project requirements for the selected MCU; do not assume settings from another device are interchangeable.
- Build and resolve errors. Assemble and link the project in STVD. Use assembler or linker diagnostics to find syntax, symbol, or configuration problems, then check the relevant ST assembler documentation rather than guessing at unsupported syntax.
- Connect and program using the board’s documented method. Follow the board manual for the programming/debug interface and connection procedure. Confirm that the programmer/debugger and target are supported by STVP before relying on STVD’s programming interface.
- Debug against the actual hardware. Use the debugging approach supported by the selected board and programmer. Compare observed behavior with PM0044 for CPU behavior and RM0016 plus the MCU datasheet for peripheral behavior.
Use STM8S-DISCOVERY as a documented example
STM8S-DISCOVERY is a concrete option because ST provides board documentation and UM0834, titled “Developing and debugging your STM8S-DISCOVERY application code.” Start with the ST STM8 evaluation-board documentation index and the UM0834 manual. Check that the manual and board revision match the hardware in front of you, and verify the fitted target MCU before selecting a project device or following connection instructions. The existence of a board manual does not make its wiring or programming procedure universal to other STM8 boards.
Recommended Free Tools
#1 Best Overall
- Use STM8S103F3P6 as the master IC
- Support SWIM debug mode
When to consider a different assembler toolchain
Cosmic offers an STM8 toolchain with assembler support and states that it integrates with STVD. It is an alternative to ST’s Assembler-Linker, not a requirement for an assembly-only beginner project. Check Cosmic’s STM8 tools page for current availability and licensing terms; those terms can change.
Quick Recap
Best Value
- Genuine STM8S003F3P6 Chip: This development board features the original STM8S003F3P6 microcontroller, providing reliable performance for a variety of embedded applications and projects.
- Comprehensive Development Platform: Designed for both beginners and experienced engineers, this STM8 development board serves as an excellent resource for learning embedded systems and microcontroller programming.
- Rich Peripheral Connectivity: Equipped with multiple I/O ports, ADC, PWM, and communication interfaces, allowing for easy integration with sensors, displays, and other peripherals for versatile project development.
- User-Friendly Design: The clear layout and intuitive labeling make setup straightforward, ensuring accessibility for users at all skill levels working on DIY electronics projects.
- Extensive Documentation and Community Support: Comes with detailed documentation and access to community resources, providing users with valuable information and troubleshooting assistance throughout their development journey.
Rank #4
- 【High-Performance STM8 Core Board】 STM8S003F3P6 8-bit MCU; 16MHz operating frequency; 8KB flash memory; 1KB SRAM; 128-byte EEPROM; Suitable for embedded learning and small-scale product development
- 【Versatile Power Options】 Supports Type-C interface; 2.95V–5.5V operating voltage; 4.5V–15V extended input via pad; compatible with smartphone data cables for easy power supply
- 【Advanced Debugging and Communication】 Includes SWIM single-wire debug interface; supports UART, SPI (up to 8Mbps), I²C (up to 400Kbps); 10-bit ADC with 5-channel multiplexing for precise signal processing
- 【Robust Reliable Performance】 Operates from -40°C to +85°C; low-power design with 1.8µA sleep mode; high-drive GPIO pins support PWM output and motor control applications
- 【Comprehensive Development Support】 Provides schematic diagrams, test programs, and peripheral routines; 16 multi-function I/O pins with clear labeling; easy integration with for Arduino and for Raspberry Pi systems
Rank #3
- 【High-Performance STM8 Core with Wide Voltage Support】 STM8S103F3P6 microcontroller; 16MHz internal oscillator; 3.3V/5V pin power or 4.5V–15V pad power; Suitable for embedded control and sensor applications
- 【Comprehensive Development Resources for STM8 Projects】 Supports IAR Embedded Workbench and STVD development Settings; includes register and library function examples; suitable for industrial controllers and smart home devices
- 【Advanced ADC and Communication Interfaces for Precision Control】 10-bit ADC with 5 channels; supports UART, SPI, I²C, and PWM; enables accurate data acquisition and real-time communication in automation systems
- 【Reliable Performance with Enhanced EEPROM and Flash Durability】 640-byte EEPROM and 10,000 flash erase cycles; -40°C to +85°C operating range; reliable for long-term development and testing scenarios
- 【Easy Integration with SWIM Debug and Type-C Power Supply】 Single-wire SWIM debug interface; Type-C power input; compatible with for Arduino and for Raspberry Pi platforms; simplifies prototyping and system setup
Rank #2
- 【STM8S003F3P6 8‑Bit MCU Core Board】 Built around the STM8S003F3P6 microcontroller; STM8 core running up to 16 MHz with 8 KB Flash, 1 KB SRAM, and 128 Bytes EEPROM; delivers stable control performance; supports learning, testing, and embedded logic development
- 【Wide 2.95 V To 5.5 V Power Range】 Operates from 2.95 V to 5.5 V DC; compatible with 3.3 V and 5 V power systems; simplifies power design; allows the same board to be used across different voltage environments during prototyping and evaluation
- 【Integrated Peripheral Resources】 Includes UART, SPI, I2C, ADC, and multiple timers; provides flexible hardware support for communication and signal processing; reduces external component needs; helps engineers focus on firmware logic and system behavior
- 【SWIM Programming And Debug Interface】 Supports single‑wire SWIM programming and debugging; enables fast code download and in‑circuit testing; simplifies development workflow; improves learning efficiency when exploring STM8 register and peripheral control
- 【Compact Layout With Easy GPIO Access】 Small core board exposes VCC, GND, NRST, SWIM, TX, RX, and GPIO pins; supports breadboard and jumper wiring; speeds up setup and experiments; compatible with for STM8 development tools and common embedded platforms
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

