8-bit Knowledge Base

      • MCU RoHS Compliance and Certificate

        ChrisM | 09/260/2015 | 02:44 PM


        How do I determine if a Silicon Labs MCU is RoHS compliant, and where do I view a certified statement of compliance?


        Users can search for specific Silicon Labs MCU part numbers to verify RoHS compliance at the Quality and Environmental page at:



        Perform the following steps to search for a specific part number:

        1. Click Search parts

        2. Click Environmental only

        3. Enter a full or partial part number in the search field

        4. A table will be displayed, showing site information, environmental compliance, and shipping information



        To obtain a signed statement of RoHS compliance, perform the following steps:

        1. Visit the following website:


        2. Sign in using a www.silabs.com account.

        3. Enter a full or partial part number and click the Next button

        4. Select a specific part number from the search results.  Note that a package type with an "R" suffix indicates a reel packaging option such as tape & reel.

        5. Check the requested document from the list:

        Environmental & Regulatory->Product->RoHS Certificate of Compliance


        6. Click the Next button

        7. Click the link under the primary results to download the RoHS certificate of compliance.


        See the following KB article for more information:


      • Outputting a memory usage summary for projects built with Keil PK51

        ChrisM | 09/260/2015 | 02:44 PM

        When building a project with the Keil LX51 linker, the linker outputs a map file with the .m51 file extension.  This map file displays memory usage for functions and modules in the project.




        To aid in the optimization of 8051 programs, users can run the summarize.py Python script to display additional memory use information after building an 8051 project.




        This script searches the current working directory for the first .m51 file and parses the map file to accumulate memory usage statistics by module (source file).


        To add this post build step to your project, perform the following steps:

        1. Download summarize.zip and extract summarize.py to your project debug and release build folders.

        2. Install Python 2.7 or 3.3.

        3. Add a post build step to your project build configuration to run the script using the following command:


        python summarize.py


        If your system PATH variable doesn't contain the path to python.exe, then your command should include the full path to the python.exe executable instead of just "python"


        See the following KB article for more information regarding Simplicity IDE post-build steps:


      • Adding a post build step in Simplicity IDE

        ChrisM | 09/260/2015 | 02:44 PM


        How can I configure a build configuration to perform an operation after the build has completed?


        In Simplicity IDE, add commands to the pre-build and post-build steps to execute a command before or after building the project configuration:

        1. Right click on the project in the Project Explorer view and select Properties.

        2. Navigate to C/C++ Build->Settings and select the Build Steps page.

        3. Add your commands to the Pre-build steps Command or Post-build steps Command text box.

        4. For example, to execute a python script after the build process completes, enter python <name_of_script.py>


      • Test/Burn-In socket manufacturers and part numbers

        MitchC | 09/259/2015 | 11:30 AM

        For use in programming and testing of MCU devices in various packages and pin counts, here is a list of sockets with manufacturer and part number information for a wide range of package types.  These parts are available and current as of September 2015.


        Package Pin Count IC Dimensions Manufacturer Mfg Part Number Package/Pin
        TQFP 48 7x7x0.5 Enplas OTQ-48-0.5-11 TQFP48
        TQFP 64 12x12x0.5 Enplas OTQ-64-0.5-04-00 TQFP64
        TQFP 100 14x14x0.5 Enplas OTQ-100-0.5-11 TQFP100
        QSOP 24 8.65x6.0x.635 Wells-CTI 656-4242211-001 QSOP24
        QFN 20 3x3x0.5 PLASTRONICS 20QN50K13030 QFN20
        QFN 24 3x3x0.4 PLASTRONICS 24QHMA13030 QFN24
        QFN 24 4x4x0.5 PLASTRONICS 24QN50K14040 QFN24
        QFN 24 5x5x0.65 PLASTRONICS 24QN65S25050 QFN24
        QFN 28 5x5x0.5 3M 228-5204-01 QFN28
        QFN 32 4x4x0.4 PLASTRONICS 32QN40AH24040 QFN32
        QFN 32 6x6x0.65 Plastronics 32QH65A16060 QFN32
        QFN 64 9x9x0.5mm Wells-CTI / Sensata? 790-42064-101G QFN64
        LQFP 32 9x9x0.8mm Enplas OTQ-32-0.8-02 LQFP32
        CSP 36 2.89x3.02x0.4P Contech Solutions Incorporated CSCSP36-0.4-KG1-SLB1 CSP36
        CSP 81 4.355x4.275x0.4 Contech Solutions Incorporated CSCSP81-0.4-KG1-SLB1 CSP81
        BGA 48 4x4x0.5 PLASTRONICS 48BHC50A01 BGA48
        BGA 112 10x10x0.8 PLASTRONICS 112SBAA21321 BGA112
        BGA 120 7x7x0.5 PLASTRONICS S129BHM50A01G BGA120
      • How to find EFM8 schematics, BOMs, and assembly files

        MitchC | 09/259/2015 | 11:28 AM


        Where can I find schematics, BOMs, and assembly files for the EFM8 starter kits?


        You can easily access the kit documentation for all of the EFM8 STKs using the main launch screen of Simplicity Studio.  From this screen, click the Kit Documentation tile. 



        This will cause the Kit Documentation dialog box to pop up.  In the filter field, type EFM8.  A list of available EFM8 kits will appear, with options to view kit documentation including assembly drawings, BOMs, schematics, User Guides, and Quick Start Guides.



        Double-click on the desired documentation to display.

      • Minimum VIO on fixed-function devices

        MitchC | 09/259/2015 | 11:27 AM


        Can I operate the CP2108 USB-to-UART device with a VIO of 1.8 V?  Is there another product providing 4 UARTs and USB that can operate with a VIO of 1.8 V?


        No, the minimum VIO for the CP2108 is 3.0 V.

      • Maximum Realizable SPI Clock Speeds on 8-bit MCU Devices

        MitchC | 09/259/2015 | 11:24 AM


        What is the maximum SPI clock frequency I can achieve using the 8-bit MCU devices?


        When configured as an SPI master device, the maximum C8051 SPI clock frequency that can be realized is dependent on the system clock frequency (SYSCLK).  For most devices, the maximum SPI clock frequency is one half of the system clock, but cannot exceed 12.5 MHz.  Thus, as long as system clock frequency is 25 MHz or higher, the SPI clock can operate up to 12.5 MHz, and at system clock speeds below 25 MHz, the maximum SPI clock rate is SYSCLK/2. 


        When the SPI is configured in slave mode (i.e. the SCK is driven by the master), the maximum data transfer rate is 1/10 of the slave system clock frequency for most devices, provided that the SPI clock, NSS, and data lines are driven synchronously by the master.  If these signals are asynchronous with respect to the slave device, the data transfer rate must be less than 1/10 the system clock frequency of the slave device.


        For specific information on a device, consult the SPI documentation in the device data sheet or reference manual.

      • Capacitive sensing on a metallic overlay

        jstine | 09/257/2015 | 04:29 PM


        Is it possible to use capacitive sensing to detect touch on or through a metallic overlay?


        It is possible to detect a touch on a metal surface, but not through it.  A metal overlay would be a single sensor and could not provide multiple touch inputs.  To use an overlay as a capacitive sensing sensor, connect the overlay directly to the capsense pin.

      • C_START symbol in Keil startup code

        jstine | 09/257/2015 | 04:25 PM


        The instruction "AJMP ?C_START " appears at the end of STARTUP.A51.  Where is this symbol defined and what does it mean?


        The ?C_START symbol points to the start of the main() function in your project. This is automatically created by the Keil compiler when you compile and link your project.  For more information, see the Keil documentation: http://www.keil.com/support/docs/1296.htm.

      • Pre-Programmed Parts

        jstine | 09/257/2015 | 04:22 PM


        Can I order fixed-function or MCU parts from Silicon Labs that have been pre-programmed (firmware, or VID, PID and vendor strings)?


        Yes.  This process is handled by our sales team.  The process consists of filling out a form that will be sent to a team that provides first articles programmed based on the form. Once the first articles have been approved, you will be given a custom part number and can order parts. This process can take several weeks. Contact sales for more information.