This article will cover the hardware aspect of using the EFM8 series of microcontrollers from Silicon Labs. We will start from the basics of what is needed to get started with the EFM8 and how to program the EFM8.
Why use an EFM8 MCU
The great thing about the EFM8 line from Silicon Labs is that they’re very inexpensive. A look at Mouser will show that the EFM8BB10F2G in QFN20 is the lowest cost MCU on the market in singles and in-quantity for the average engineer and maker. It is very hard to beat the EFM8BB10F2G with 16 GPIOS, built in configurable 12bit ADC, 4 16-bit timers, comparators, UART, SPI, 2kB of program space, 256 bytes of ram, and on-chip debugging. Also, the EFM8 line is very easy to get working as it needs very little support hardware. And for a few cents more, you can get even more ram and program space.
Prerequisites for the EFM8
To program the EFM8 chips you will need a USB Debug Adapter for C8051 MCUS from Silicon Labs (See Figure 1). Mouser also stocks this adapter for $35 (at the time of this article). Since I am a fan of Tag-Connect cables, I will be using the SiLabs2TC board. Figure 2 shows how the SiLabs2TC board works. This board connects the USB Debug Adapter and an external power source to a Tag-Connect TC2030 cable. I will be designing the EFM8 example board with the SiLabs2TC board in mind. There is a factory bootloader but we will cover that at another time.
Example board for the EFM8
Most EFM8 MCUs just need two bypass capacitors of 1μF and 0.1μF and a 10K ohm pull-up on the reset line to get it working. The internal oscillator clocks at 24.5 MHz with a ±2% accuracy which is fine for most applications. For the board, I decided to go as minimalistic as possible. The board has just 1 extra LED and resistor to provide an on-board debug LED. Figure 3 and Figure 4 show the schematic and board layout for the example board.
I designed the example board to fit on a bread board. The spacing between the rows of headers is 400mils which is the standard for most DIP IC packages. You can download the files for this board at this GitHub repository.
Using the EFM8_Tag-Connect example board
That will conclude the basics of getting an EFM8 based MCU project working hardware-wise. The next article in the series will be on how to use Silicon Labs Simplicity Studio to get the built on LED on the EFM8_Tag-Connect example board to blink.