The purpose of this page is to provide documentation and tutorials for a custom expansion board designed to connect to the STK3700 Starter Kit from Silicon Labs.
Silicon Labs has a number of Starter Kits available to evaluate their EFM32 microcontrollers. These Starter Kits all have a right-angle expansion connector that allows you to connect a custom board to the EFM32 microcontroller. Although this connector doesn't provide access to all of the microcontroller pins, it does provide access to SPI, USART, LE UART, and I2C communication ports as well as multiple ADC and Analog Comparator channels. It also provides access to the 3.3V, 5.0V, MCU Voltage, and Ground planes. The custom board presented on this page was designed specifically for the EFM32GG-STK3700 evaluation board. It provides the user with an analog source, a SPI target, an I2C target, and a UART connector, as well as 2 user LEDs. The board only uses the 3.3V voltage plane from the STK3700. The 5.0V and MCU Voltage planes are not available.
Custom Board Features
- Access to Expansion Port pins through two 10-pin breakout headers
- 10k thumbwheel potentiometer for analog evaluation
- Small breadboard for use with breakout headers
- 2 user LEDs
- 2MB SPI Flash target
- 8KB I2C EEPROM target
- UART connector for external device (for use with FTDI cable TTL-232R-3V3)
The schematic for the custom board is shown below.
Connecting/Powering the Board
To connect the board to the STK3700 Starter Kit, simply plug the 20-pin right angle side connector into the expansion port of the STK3700. If the STK3700 is powered up, the custom board will draw power from the 3.3V plane of the STK3700.
The thumbwheel potentiometer provides a controllable analog voltage source that varies between 0~3.3V. The center tap of the potentiometer is connected to PD6 which is Channel 6 of ADC0 on the microcontroller. Since the analog voltage range is 0~3.3V, the reference voltage of the MCU should be set to Vdd (3.3V) when using this potentiometer as the ADC source.
The board uses W25X20CL from Winbond as an onboard SPI target. The SPI port of the Flash IC is mapped to pins PD[3:0] through the Expansion header. PD5 controls the active low Write Protect pin, and PD4 controls the active low Hold pin. The Hold signal also has an onboard pull-up so you don't need to actively set PD4 high. A 2-pin jumper, JP1, allows the user to disconnect power from the IC if desired. This can be helpful since these pins are shared with the breakout headers. If you wish to use any of the pins PD[5:0] for breadboarding purposes, you can disengage the SPI Flash from the circuit by opening JP1.
The board uses 24AA08 from Microchip as an onboard I2C target. The I2C port of the EEPROM IC is mapped to pins PC[5:4] through the Expansion header. The SCL and SDA lines have onboard 10k pull-up resistors already connected. A 2-pin jumper, JP2, is also available to remove power from the EEPROM in the event the user wishes to use PC[5:4] for breadboarding purposes.
UART / FTDI Connector
J3 makes the UART port (Location #1 - PD0, PD1) available to the outside world and works great with the TTL-232R-3V3 smart cable from FTDI. The FTDI cable creates an interface between the USB port of a PC and the UART port of the micro, enabling direct communication through a terminal emulator program (like Tera Term). The UART port shares data lines with the SPI port – PD[1:0]. The slide switch allows the user to decide which target to connect to the microcontroller – either the SPI Flash, or the external UART device.
Using the LEDs
The LEDs are not hard-wired to any pin of the expansion port. They can be accessed by running a jumper wire from the LED pins of the Breakout headers (pin 10 of each header) to any other pin of the Breakout headers. These LEDs are active high and have 165 Ohm series resistors which limit the current to 20mA.
See the Getting Started with EFM32 Giant Gecko Arm Cortex-M3 page for tutorials using this expansion board. The page includes tutorials for:
- Using the UART port
- Communicating with the SPI Flash IC
- Communicating with the I2C EEPROM
- Taking ADC readings from the thumbwheel potentiometer
The entire board (Schematic/Layout) was designed using KiCad. The following .zip file includes Gerber files for the top and bottom copper layers, top and bottom silkscreen, top and bottom soldermask, and board outline, as well as the NC drill file and drill map (pdf) for the custom expansion board. OSH Park is a very inexpensive PCB supplier with quick turn around and could very easily build this board for you. This board meets all design requirements for OSH Park. However, this board has a blank silkscreen on the bottom side. Therefore, if ordering from OSH Park, you may need to remove the bottom silkscreen file from the .zip folder before uploading.
Bill of Materials
The following table is a complete listing of the components needed for the board, as well as some additional helpful items.
|Ref Des||Board Function||Quantity||DK Part Number||Part Description|
|Solderless Breadboard||1||700-00012-ND||BREADBOARD SOLDERLESS|
|C1||Vin Cap||1||490-7201-1-ND||CAP CER 10UF 16V 20% X5R 0603|
|C2, C3||Decoupling caps for ICs||2||587-1248-1-ND||CAP CER 1UF 25V 10% X5R 0603|
|D1, D2||User LEDs||2||475-2558-1-ND||LED CHIPLED 587NM YLW 0603 SMD|
|D3||Reverse Cable Protection||1||DZ2W03300LCT-ND||DIODE ZENER 3.3V 1W MINI2|
|J1, J2||10-pin B/O Headers||2||S7008-ND||CONN HEADER FEMALE 10POS.1" TIN|
|J3||FTDI Connector||1||S1111EC-06-ND||CONN HEADER .100" SNGL R/A 6POS|
|J4||EFM32 Exp Header||1||S5563-ND||CONN FMALE 20POS DL .1" R/A GOLD|
|JP1, JP2||IC power jumpers||2||609-3500-ND||BERGSTIK II .100" SR STRAIGHT|
|SH1, SH2||shunts for the jumpers||2||3M9580-ND||SHUNT JUMPER .1" BLACK GOLD|
|R1, R4, R5||10k pull-ups||3||RMCF0603FT10K0CT-ND||RES 10K OHM 1/10W 1% 0603|
|R2, R3||LED current setting res||2||RMCF0603FT165RCT-ND||RES 165 OHM 1/10W 1% 0603|
|RV1||User potentiometer||1||3352T-103LF-ND||POT 10K OHM THUMBWHEEL CERM ST|
|SW1||Slide switch||1||401-2001-ND||SW SLIDE DPDT 6VDC 0.3A PCMNT|
|U1||SPI Flash||1||W25X20CLSNIG-ND||IC FLASH 2MBIT 50MHZ 8SOIC|
|U3||I2C EEPROM||1||24AA08T-I/OTCT-ND||IC EEPROM 8KBIT 400KHZ SOT23-5|
- All of the components on this board use the 3.3V supply from the STK3700. MCU voltage should be set to 3.3V when using this expansion board.
- If using FTDI cable TTL-232R-3V3 for external UART communication, this cable should only be connected after the MCU is powered up. Otherwise, the PD0 and PD1 (UART RX and TX) on the MCU will see 3.3V while the MCU supply voltage is 0. When disconnecting power from the MCU, be sure to disconnect the FTDI cable first.
- The flow control pins (CTS and RTS) and Vcc of the FTDI cable are not routed.
- The Zener diode (D3) is meant to protect against backwards FTDI cable connection. If connected backwards, 5.0V will be connected to UART TX pin. The Zener protects PD1 against this overvoltage condition.
- The thumbwheel potentiometer outputs a variable voltage in the range 0~3.3V. If using this as the source to the ADC, the reference voltage of the ADC should be set to Vdd (3.3V).
This board provides a number of ways to expand functionality of the STK3700 development board at minimal cost. Feel free to use the Gerber files above to build this board for your own application development. It works great if you follow the precautions I mentioned above, but the project falls under the umbrella of "use at your own risk". Feel free to contact me with any feedback, questions, or concerns at firstname.lastname@example.org. I hope you are successful in your project development!