Freenove ESP32 Development Board is our top choice for the Best 32-Bit Microcontroller, offering a versatile dual-core foundation that balances high-speed processing with integrated Wi-Fi and Bluetooth capabilities for IoT development. For those prioritizing advanced industrial applications, the XFCZMG STM32F407G-DISC1 provides a robust Cortex-M4 platform, while the MusRock STM32F103C8T6 Development Kit serves as a reliable, cost-effective entry point for embedded control tasks.
Selecting the right hardware requires balancing raw computational throughput against the specific peripheral needs of your project. While high-performance chips are ideal for signal processing, simpler modules often provide better power efficiency and easier integration for basic automation or sensor-based tasks.

10 Best 32-Bit Microcontroller in 2026 Reviews
Quick Comparison
| Product | Best For | Key Strength | Score |
|---|---|---|---|
| Freenove ESP32 Development Board | Best Overall | Dual-core 32-bit microprocessor reaching 240 MHz for high-speed processing. | 4.9 |
| XFCZMG STM32F407G-DISC1 Board | Advanced Cortex-M4 Development Platform | Integrated Arm Cortex-M4 with FPU core for high-performance computing. | 4.4 |
| MusRock STM32F103C8T6 Development Kit | Reliable Entry-Level Industrial Control | Wide voltage input range (4.5V–36V) with step-down module support. | 4.3 |
| Generic GD32F303CCT6 MCU Chip | High-Speed M4 Processing Power | Features a high-performance ARM Cortex-M4 32-bit core. | 4.9 |
| Bloepum PY32F030 Development Board | Efficient Low-Power Embedded Design | 32-bit ARM Cortex-M0+ core for efficient processing. | 4.4 |
| Generic STM32F722RET6 MCU Chip | High-Performance M7 Architecture | High-performance ARM Cortex-M7 architecture for demanding computational tasks. | 4.9 |
| Waveshare ESP32-S3 AMOLED Watch Board | Wearable Prototyping With Display | Powerful ESP32-S3R8 dual-core processor for demanding wearable tasks. | 4.7 |
| Freenove ESP32-S3 Display Board | Integrated AI-Ready Visual Interface | High-performance ESP32-S3 dual-core processor with 16 MB flash and 8 MB PSRAM. | 4.7 |
| XYGStudy STLINK-V3MINIE Debugger | Essential STM32 Programming Tool | Compact, stand-alone design for high portability. | 4.4 |
| P98LJZQ TMS320F28034 MCU Chip | Precision Real-Time Signal Control | High-precision real-time signal control capabilities. | 4.5 |
How We Chose
Evaluating a 32-bit microcontroller requires a technical assessment of its core architecture and peripheral flexibility. We prioritize boards that offer a balance between raw performance and practical usability, ensuring that developers have the necessary interfaces and software support to move efficiently from prototyping to functional deployment in embedded systems.
- Processing architecture and clock speed capabilities
- Onboard memory capacity for code and data storage
- Peripheral availability including I2C, SPI, and UART interfaces
- Power consumption profiles for active and sleep modes
- Development ecosystem support and documentation accessibility
1 Freenove ESP32 Development Board — Versatile Dual-Core IoT Foundation
The Freenove ESP32 Development Board serves as a versatile foundation for IoT projects, centered around a powerful dual-core 32-bit microprocessor capable of reaching clock speeds up to 240 MHz. This board integrates essential connectivity features, including onboard 2.4 GHz Wi-Fi and Bluetooth 4.2 (LE), making it a capable choice for wireless data transmission and remote control applications.
Equipped with 4 MB of flash memory and 520 KB of SRAM, this microcontroller provides sufficient resources for complex code execution. The platform is designed for accessibility, featuring a USB code uploader that simplifies the programming process. Users can connect the board directly to a computer with an installed IDE and driver to begin development immediately.
Flexibility in programming is a core design choice, as the board supports both MicroPython and C. This dual-language compatibility allows developers to choose between the classic structure of C or the popular, high-level syntax of Python. To assist with the learning curve, the kit includes a detailed tutorial and several example projects with complete code and explanations.
The package includes two boards, providing a practical setup for multi-node testing or simultaneous project development. While the provided documentation is comprehensive, it is important to note that the tutorial is digital and accessed via a link on the product packaging rather than through printed materials.
Best for: Developers and hobbyists seeking a dual-core 32-bit platform for IoT projects with integrated Wi-Fi and Bluetooth connectivity.
Skip if: Users who require a board with specific industrial-grade certifications or those who prefer traditional printed paper manuals over digital tutorials.
- Dual-core 32-bit microprocessor reaching 240 MHz for high-speed processing.
- Integrated 2.4 GHz Wi-Fi and Bluetooth 4.2 for wireless connectivity.
- Supports both MicroPython and C programming languages.
- Includes detailed tutorials and example projects to assist with development.
- No printed tutorial included; requires digital access via the provided link.
- Requires external IDE and driver installation on a computer for operation.
2 XFCZMG STM32F407G-DISC1 Board — Advanced Cortex-M4 Development Platform
The XFCZMG STM32F407G-DISC1 Board serves as a comprehensive development platform, centered around the high-performance STM32F407VGT6 microcontroller. This 32-bit device utilizes an Arm Cortex-M4 core with FPU, providing the computational power necessary for demanding embedded applications. With 1-Mbyte of Flash memory and 192-Kbyte of RAM, it offers sufficient headroom for complex firmware development.
Designed for versatility, the board integrates several hardware peripherals to facilitate rapid prototyping. It includes USB OTG FS connectivity, allowing for flexible communication interfaces. For sensor-based projects, the platform features an onboard ST MEMS 3-axis accelerometer, enabling motion-sensing capabilities right out of the box.
Audio processing is a key strength of this development board. It is equipped with an ST-MEMS omni-directional digital microphone and an Audio DAC with an integrated class D speaker driver. These components allow developers to experiment with audio input and output functions without requiring additional external hardware.
The board is housed in an LQFP100 package, balancing pin density with accessibility for various circuit designs. By consolidating processing, sensing, and audio capabilities onto a single unit, it provides a streamlined environment for engineers working with the Best 32-Bit Microcontroller architecture.
Best for: Developers and engineers seeking an all-in-one platform for prototyping audio, sensor, and USB-based applications using the STM32F407 architecture.
Skip if: Users who require a minimalist microcontroller board without integrated audio and sensor peripherals will find this platform unnecessarily complex.
- Integrated Arm Cortex-M4 with FPU core for high-performance computing.
- Includes onboard ST MEMS sensors and audio hardware for immediate prototyping.
- Generous 1-Mbyte Flash and 192-Kbyte RAM capacity.
- Built-in USB OTG FS support for versatile connectivity.
- The LQFP100 package and integrated features may be excessive for simple, low-power projects.
3 MusRock STM32F103C8T6 Development Kit — Reliable Entry-Level Industrial Control
The MusRock STM32F103C8T6 Development Kit provides a robust foundation for embedded systems, featuring the original STMicroelectronics chip capable of 72MHz processing. This board is engineered for versatility, supporting overclocking up to 128MHz and accommodating a wide 4.5V–36V DC input range, making it a practical choice for industrial control, robotics, and complex sensor integration.
Designed for durability in challenging environments, this microcontroller operates reliably across a temperature range of -40°C to +105°C. It includes 64KB of Flash memory and 20KB of SRAM, with a rated endurance of 100,000 erase cycles. The board integrates essential communication interfaces, including 3 USARTs, 2 SPIs, 2 I²C ports, and a CAN 2.0B interface, ensuring it can handle demanding data exchange requirements.
Efficiency is a core strength of this module, which consumes only 38mA in active mode and drops to 1.8µA during deep sleep, ideal for battery-operated projects. It features an 8MHz high-precision crystal oscillator and a 32.768kHz RTC for accurate timing. The inclusion of an onboard USB-to-serial chip simplifies the firmware update and debugging process for developers.
To ensure signal integrity, the board utilizes an isolated analog power supply and digital noise suppression techniques, passing rigorous EFT tests. With 16-channel PWM output and dual 12-bit ADCs, it provides the precision necessary for motor control and analog signal processing, maintaining ±1LSB ADC linearity for consistent performance in industrial automation applications.
Best for: Engineers and hobbyists requiring a reliable, industrial-grade 32-bit microcontroller for embedded control and communication projects.
Skip if: Users who require a platform with built-in Wi-Fi or Bluetooth connectivity, as this board focuses strictly on wired communication protocols.
- Wide voltage input range (4.5V–36V) with step-down module support.
- Industrial-grade temperature tolerance from -40°C to +105°C.
- Comprehensive peripheral support including CAN 2.0B, SPI, I²C, and USART.
- Energy-efficient operation with a 1.8µA deep sleep mode.
- Lacks integrated wireless connectivity such as Wi-Fi or Bluetooth.
- Requires external hardware for advanced debugging beyond basic serial connections.
4 Generic GD32F303CCT6 MCU Chip — High-Speed M4 Processing Power
The Generic GD32F303CCT6 MCU Chip provides a high-performance solution for embedded systems requiring the processing capabilities of an ARM Cortex-M4 core. This 32-bit microcontroller is designed for applications where efficient data handling and high-speed execution are critical, offering a robust foundation for complex control tasks.
Engineered in an LQFP-48 package, this unit balances compact physical dimensions with the necessary pin count for versatile peripheral connectivity. The GD32F303CCT6 architecture is optimized for developers who need reliable, scalable computing power in a small form factor, making it suitable for a wide range of industrial and consumer electronics projects.
This package includes 2 pieces, providing a practical quantity for prototyping or small-batch production runs. By utilizing the M4 processing architecture, the chip supports advanced instruction sets that facilitate faster computation compared to standard 8-bit or 16-bit alternatives, ensuring that your hardware can keep pace with demanding software requirements.
When integrating this microcontroller into a design, users should ensure their development environment supports the specific GD32F303 series instruction sets. Its design prioritizes efficiency and integration, allowing for streamlined implementation in custom circuit boards where space and performance are primary constraints.
Best for: Developers and engineers building high-speed embedded systems that require the advanced processing power of an ARM Cortex-M4 core.
Skip if: Users who require a simpler, lower-power 8-bit architecture or those who need a different package type than the LQFP-48.
- Features a high-performance ARM Cortex-M4 32-bit core.
- Compact LQFP-48 package ideal for space-constrained designs.
- Includes 2 pieces per order for convenient prototyping.
- Offers high-speed processing capabilities for complex tasks.
- Requires specific development environment compatibility for the GD32F303 series.
5 Bloepum PY32F030 Development Board — Efficient Low-Power Embedded Design
The Bloepum PY32F030 Development Board serves as a versatile foundation for embedded projects, featuring 26 IO ports conveniently led out via pin headers for straightforward prototyping. At its heart lies the PY32F030K28U6TR chip, which integrates a 32-bit ARM Cortex-M0+ core capable of reaching a maximum operating frequency of 48 MHz.
Engineered for efficiency, this microcontroller includes 64KB of FLASH memory and 8KB of RAM to support various code-heavy tasks. The hardware is designed with a wide voltage operating range, providing flexibility for diverse power environments. For energy-conscious designs, the main chip supports dedicated sleep and stop low-power working modes, which are essential for battery-operated or always-on applications.
This board is well-suited for a broad spectrum of development tasks, ranging from industrial controllers and GPS platforms to PC peripherals and handheld gaming devices. Its compact design and accessible pinout make it a practical choice for developers looking to integrate a 32-bit architecture into custom DIY designs without unnecessary complexity.
While the board offers robust core performance, users should note that it is a development module intended for integration into larger systems. The reliance on pin headers requires careful wiring and external component management, making it most effective for those comfortable with breadboarding or custom PCB assembly.
Best for: Developers and hobbyists seeking a compact, low-power 32-bit ARM Cortex-M0+ platform for custom embedded projects.
Skip if: Users who require a pre-assembled, plug-and-play consumer device rather than a development board that necessitates manual wiring and programming.
- 32-bit ARM Cortex-M0+ core for efficient processing.
- Low-power sleep/stop modes for energy-sensitive applications.
- 26 accessible IO ports via pin headers for easy DIY integration.
- 48 MHz operating frequency with 64KB FLASH memory.
- Requires manual wiring and external component integration.
- Development-focused design lacks a protective enclosure.
6 Generic STM32F722RET6 MCU Chip — High-Performance M7 Architecture
The Generic STM32F722RET6 MCU Chip utilizes the advanced ARM Cortex-M7 architecture to provide high-performance computing capabilities for embedded systems. This 32-bit microcontroller is housed in an LQFP-64 package, making it a compact solution for developers requiring significant processing power in a space-constrained design.
Engineered for demanding applications, the STM32F722RET6 leverages the M7 core to handle complex tasks that require high clock speeds and efficient instruction execution. Its integration into the LQFP-64 form factor ensures that it remains accessible for standard PCB assembly processes while maintaining the robust feature set expected of the STM32F7 series.
This microcontroller serves as a versatile foundation for projects ranging from industrial control systems to advanced consumer electronics. By providing a high-performance M7 architecture in a widely used package, it allows for scalable development across various hardware platforms without necessitating a complete redesign of the physical interface.
When selecting this component, consider the specific requirements of your project regarding peripheral support and memory needs. The Generic STM32F722RET6 is designed to balance computational throughput with the physical limitations of a 64-pin configuration, offering a reliable choice for engineers focused on high-speed data processing.
Best for: Developers building high-performance embedded systems that require the processing power of an ARM Cortex-M7 core within an LQFP-64 footprint.
Skip if: Projects that require a higher pin count for extensive peripheral connectivity or those that can be adequately served by lower-power M0 or M3 series microcontrollers.
- High-performance ARM Cortex-M7 architecture for demanding computational tasks.
- Compact LQFP-64 package suitable for space-constrained PCB designs.
- Versatile 32-bit processing capability for diverse embedded applications.
- Limited pin count compared to higher-density packages like LQFP-100 or BGA.
- Requires specific development tools and knowledge of the STM32 ecosystem.
7 Waveshare ESP32-S3 AMOLED Watch Board — Wearable Prototyping With Display
Developing high-performance wearable technology requires a platform that balances compact form factors with robust processing capabilities. The Waveshare ESP32-S3 2.06inch AMOLED Touch Watch Development Board provides a specialized foundation for such projects, centered around the ESP32-S3R8 Xtensa 32-bit LX7 dual-core processor capable of reaching a 240MHz maximum frequency.
This development board integrates a vibrant 2.06-inch AMOLED capacitive touch display with a resolution of 410×502 pixels, supporting 16.7 million colors for high-fidelity visual output. Designed for dynamic applications, it includes an onboard dual digital microphones array and a built-in audio codec, alongside a 6-axis IMU for precise motion tracking and a PCF85063 RTC chip for accurate timekeeping.
Connectivity and power management are handled through integrated hardware, including 2.4GHz Wi-Fi (802.11 b/g/n) and Bluetooth 5 (LE). The board utilizes the AXP2101 power management IC to regulate voltage and battery charging, requiring a 3.7V lithium battery (sold separately) for operation. Developers can expand functionality via the TF card slot, I2C, UART, and USB interfaces.
As a DIY module, this board is intended for tech enthusiasts and developers who require a flexible prototyping environment. It is not a pre-configured smartwatch, meaning users must develop their own applications to leverage the hardware. Waveshare provides official Wiki resources to assist with the integration of these advanced components into custom wearable designs.
Best for: Developers and hobbyists looking to prototype custom wearable applications with high-resolution AMOLED displays and motion-sensing capabilities.
Skip if: Users seeking a pre-configured, ready-to-use smartwatch or those who do not have experience with programming and hardware development.
- Powerful ESP32-S3R8 dual-core processor for demanding wearable tasks.
- High-resolution 2.06-inch AMOLED capacitive touch display.
- Comprehensive sensor suite including 6-axis IMU and dual digital microphones.
- Efficient AXP2101 power management IC for optimized battery usage.
- Requires separate purchase of a 3.7V lithium battery.
- DIY module requiring custom software development to function.
8 Freenove ESP32-S3 Display Board — Integrated AI-Ready Visual Interface
The Freenove ESP32 Display Board integrates a 2.8-inch IPS TFT screen directly onto a powerful ESP32-S3 dual-core 32-bit microprocessor, offering a specialized platform for projects requiring both computational logic and visual output. Operating at clock speeds up to 240 MHz, this board provides the necessary overhead for complex tasks, including potential interaction with AI large language models via third-party services.
Engineered for versatility, the board features a robust hardware suite including 16 MB of flash memory, 8 MB of PSRAM, and 512 KB of SRAM. Connectivity is managed through onboard 2.4 GHz Wi-Fi and Bluetooth 5 (LE), while the 240×320 resolution display utilizes 4-wire SPI communication to deliver wide viewing angles. The inclusion of a USB-C code uploader simplifies the development process for those working with C-based projects.
Hardware expansion is supported by a comprehensive array of ports, including I2C, serial, and dedicated I/O pin headers. The board also incorporates a memory card slot, a microphone, and a speaker port—with a speaker included—facilitating audio-visual applications. Power management is addressed through an integrated battery port, complemented by physical BOOT and RESET keys for manual control.
While the board is designed for advanced hobbyist and engineering applications, it relies on external resources for its AI capabilities, requiring users to register with third-party services. The provided tutorial materials are accessible via a link on the product packaging, ensuring users have a starting point for their development without relying on paper documentation.
Best for: Developers and hobbyists seeking an integrated, AI-ready 32-bit microcontroller platform with a built-in display for custom IoT or visual interface projects.
Skip if: Users who require a high-resolution touch-screen interface or those who prefer a platform with pre-installed, offline AI processing capabilities.
- High-performance ESP32-S3 dual-core processor with 16 MB flash and 8 MB PSRAM.
- Integrated 2.8-inch IPS display with wide viewing angles and SPI communication.
- Comprehensive I/O options including microphone, speaker, and memory card support.
- USB-C interface for modern, reliable code uploading and power.
- Non-touch screen limits user interaction to external inputs or programmed logic.
- AI functionality is dependent on external third-party services and requires active internet connectivity.
9 XYGStudy STLINK-V3MINIE Debugger — Essential STM32 Programming Tool
The STLINK-V3MINIE serves as a compact, stand-alone in-circuit debugger and programmer specifically engineered for STM32 microcontrollers. By utilizing an onboard JTAG/SWD interface, this tool facilitates efficient communication with target hardware while maintaining a portable form factor suitable for diverse development environments.
Designed for versatility, the device supports high-speed debugging with JTAG communication reaching up to 21 MHz and SWD/SWV communication up to 24 MHz. It connects to a host PC via a USB 2.0 high-speed interface and is powered directly through a USB Type-C connector, simplifying the setup process for developers.
Beyond basic programming, the STLINK-V3MINIE provides a virtual COM port, allowing the host PC to communicate with the target microcontroller through a single UART connection. The unit also supports drag-and-drop Flash programming of binary files, streamlining the workflow for updating firmware on supported Arm Cortex-M STM32 32-bit microcontrollers.
The hardware includes two-color LEDs to indicate power and communication status, providing immediate visual feedback during operation. With updatable probe firmware via USB, this tool remains adaptable to evolving development requirements while offering a dedicated solution for those working within the STM32 ecosystem.
Best for: Developers requiring a portable, USB-powered debugging and programming solution for STM32 32-bit microcontrollers.
Skip if: Users who require support for non-STM32 microcontroller architectures or those needing interfaces beyond JTAG/SWD and UART.
- Compact, stand-alone design for high portability.
- USB Type-C connectivity with self-powered operation.
- High-speed communication up to 24 MHz for SWD/SWV.
- Virtual COM port support for simplified UART communication.
- Limited to STM32 microcontrollers.
- No legacy connector support without specific adapters.
10 P98LJZQ TMS320F28034 MCU Chip — Precision Real-Time Signal Control
The P98LJZQ TMS320F28034 MCU Chip is a specialized 32-bit microcontroller engineered specifically for high-precision, real-time signal control applications. By leveraging a robust 32-bit architecture, this component provides the deterministic computational power required for complex control loops and industrial signal management where timing accuracy is paramount.
This microcontroller serves as a dedicated processing unit for embedded systems that demand reliable, low-latency feedback mechanisms. Unlike general-purpose computing platforms, the TMS320F28034 architecture is purpose-built to handle sophisticated signal processing tasks, making it a focused solution for engineers developing hardware that requires consistent, high-speed performance without unnecessary overhead.
Available in multi-pack configurations, this chip offers practical flexibility for both prototyping and production scaling. Whether you are developing automotive control systems or industrial automation hardware, the chip allows for modular integration into designs that prioritize efficiency and signal integrity over broad-spectrum versatility.
When integrating this component, engineers must account for the specific pinout and electrical requirements inherent to the TMS320F28034 series. While it excels in demanding signal control environments, it is a specialized tool that necessitates technical expertise for implementation, representing a trade-off between its high-performance capabilities and the requirement for a more focused, purpose-driven design approach.
Best for: Engineers and developers requiring a high-precision, 32-bit microcontroller for real-time signal control and industrial processing tasks.
Skip if: Users seeking a general-purpose microcontroller for simple hobbyist projects or those who require extensive integrated wireless connectivity and high-level operating system support.
- High-precision real-time signal control capabilities.
- Robust 32-bit architecture for complex processing.
- Available in multiple pack sizes for flexible project scaling.
- Requires specialized technical knowledge for implementation.
- Limited to specific signal control use cases.
Best 32-Bit Microcontroller Buying Guide
Core Architecture and Performance
The shift to a 32-bit architecture significantly expands the addressable memory space and computational efficiency compared to 8-bit alternatives. When selecting a board, consider the processor core, such as ARM Cortex-M series or Xtensa, as these determine the instruction set compatibility and overall execution speed.
Clock frequency is a primary indicator of how quickly a device can handle complex calculations or real-time tasks. Higher frequencies are beneficial for signal processing, but they often come with increased power demands that may not be suitable for battery-operated devices.
Connectivity and Peripheral Integration
Modern projects often require communication with external sensors, displays, or network protocols. Ensure your chosen board includes the necessary hardware interfaces like I2C, SPI, and UART, which are essential for connecting to common peripheral modules.
For IoT-focused designs, integrated wireless capabilities such as Wi-Fi and Bluetooth are invaluable. These features reduce the need for external radio modules, simplifying the physical design and reducing the overall footprint of your embedded project.
Memory and Storage Considerations
Flash memory determines the size of the firmware you can deploy, while SRAM is critical for managing variables and runtime data. If your application involves heavy data logging or complex graphical user interfaces, prioritize boards with larger memory capacities.
Some advanced development boards include external PSRAM or SD card slots to augment internal storage. Assessing these expansion options is vital if your project requirements might grow beyond the initial scope of the onboard memory.
Power Management and Efficiency
Power efficiency is a decisive factor for portable or remote applications. Look for microcontrollers that offer multiple low-power modes, allowing the device to enter deep sleep states while maintaining essential functions like real-time clock tracking.
Review the voltage requirements and power regulation circuitry on the development board. Efficient power management ICs can significantly extend battery life, making the difference between a project that lasts days versus one that lasts months.
Development Ecosystem and Support
The availability of libraries, tutorials, and community support can drastically reduce development time. Boards that support popular IDEs and languages like C or MicroPython are generally more accessible for both beginners and experienced engineers.
Check for the quality of documentation provided by the manufacturer. A well-maintained wiki or a set of example projects can provide a clear roadmap for implementing complex features, saving you from troubleshooting basic configuration issues.
Frequently Asked Questions
What is the main advantage of a 32-bit microcontroller over an 8-bit one?
A 32-bit microcontroller can process larger data chunks in a single cycle, leading to faster execution speeds and the ability to handle more complex algorithms and larger memory addresses.
Do I need a specific debugger to program these boards?
Many modern development boards include onboard USB-to-serial converters, allowing for direct programming. However, professional-grade boards often require external debuggers like the ST-LINK for advanced features like in-circuit debugging.
Can I use Python on all 32-bit microcontrollers?
Support for Python, specifically MicroPython or CircuitPython, depends on the specific microcontroller architecture and the availability of a firmware port. Always verify compatibility before starting your project.
How do I choose between an ESP32 and an STM32 board?
ESP32 boards are generally better for IoT applications due to built-in wireless connectivity, while STM32 boards are preferred for industrial control and applications requiring high-precision peripherals and real-time performance.
Are these boards suitable for beginners?
Yes, many of these boards are designed for educational use and include extensive tutorials. Starting with a board that has a large community and clear documentation is recommended for those new to embedded systems.
Conclusion: Our Top Pick
Our top pick is Freenove ESP32 Development Board. Choosing the right 32-bit microcontroller depends on your specific project goals, whether you are building a connected IoT device or a high-precision industrial controller. Prioritize boards that offer the right balance of processing power, peripheral connectivity, and software support to ensure a smooth development process.
By evaluating the core architecture and power requirements against your intended use case, you can select a platform that provides both reliability and room for future expansion. Investing time in understanding these technical trade-offs will lead to more robust and efficient embedded designs.