Skip to main content

Designing Hardware With The imp002

Required Components, Board Layout Recommendations And Best Practices

The imp002 solder-down module makes designing your Internet-connected hardware very simple. The imp002 contains the processor, WiFi SoC and antenna. Your design needs to include a few inexpensive components, and make some simple layout and routing rules. If you follow these guidelines, you can expect excellent, reliable WiFi performance.

Important The imp002 is now no longer in production. For detailed information on migrating your imp002-based design to a more modern imp module, please see ‘Transitioning your product from the imp002’, or contact Electric Imp Sales for more information.


Required Components

Your design will require the following in addition to the imp002 module:

1. Phototransistor to sense the BlinkUp™ signal used to configure WiFi

The required circuit is very simple: you just need a phototransistor and a resistor.

  • Your phototransistor must be able to sense visible light. Do not use a phototransistor with a visible-light filter. Refer to the imp002 datasheet for a list of recommended parts.

  • The value of the bias resistor used in the BlinkUp detection circuit will depend greatly on your mechanical design and on the opto-electrical components you have selected. This value will need to be tuned to suit your design, by following the BlinkUp Tuning Guide. A larger value for RBIAS will result in a larger signal during BlinkUp, but also makes your design more susceptible to saturation from ambient light. A smaller value reduces sensitivity to ambient light, but will produce a smaller signal during BlinkUp. A 22kΩ to 68kΩ resistor is a good place to start tuning.

2. Bi-color (Red/Green) LED to allow the imp002 to show users its WiFi status

This LED uses different color patterns to show different status conditions (see the BlinkUp codes guide for more information).

  • Your LED configuration needs to be able to produce three colors: red, green and amber. Most designs use a single bicolor LED to acheive this; some use two discrete LEDs and a lightpipe.

  • You may use either a common-cathode or a common-anode LED in your design; the imp002 will detect the LED polarity automatically. Two-pin (“either-or”) bicolor LEDs are not supported: it must be possible to turn red and green on at the same time. A list of recommended bicolor LEDs is available in the imp002 datasheet.

  • A 10kΩ resistor in parallel with the red side of the bicolor LED to allow the imp to detect LED polarity.

BlinkUp detection and bicolor LED circuit

3. 1µF bypass capacitor and 100pF filter capacitor on each VDD pin

These capacitors are required to prevent noise from coupling into the imp002’s power supply and to help buffer the power supply rail during load spikes caused by running the radio. Including these components is critical for meeting FCC and other wireless certification requirements for a manufactured product.

Important Design Considerations

The imp002’s IO pins can only source or sink up to 8mA each

Applying more load than this to the imp002’s pins will damage the module. If your design requires you to move more current around, use an imp pin to switch a FET or transistor.

The imp002 is not 5V tolerant

Your design must not expose any of the imp002’s pins to a voltage greater than VDD (the supply voltage provided to the module). Consult the imp002 datasheet for more information on electrical characteristics and absolute maximum ratings.

VDDA must be connected

The VDDA pin on the imp002 is used to provide the power supply used for the imp’s analog-to-digital converters, which are used during BlinkUp and whenever squirrel application code requires them. Most designs can simply connect VDDA to VDD. Some designs might wish to use a separate supply rail for better isolation and reduced noise, like the Lala reference design. If a separate supply is used, it must be able to source 500µA, and must not exceed VDD at any time. Note that this means that during power-on, the VDDA rail must not come up faster than VDD.


Use external pull-up or pull-down resistors to set a default statefor nets that must not float

The imp002’s internal pull-up or pull-down resistors will be cleared when the imp reboots, and these nets will be tri-stated.

PCB Layout Guidelines

It’s very important that your design follow a few simple rules when it comes time to place and route your printed circuit board in order to take advantage of the imp002’s simplicity and to maximize performance.

Minimize impedance to ground

The imp’s ground pins should have a clear path back to ground, without running through many narrow traces or bottlenecking at a single via. While a via may be rated for much more DC current than your design calls for, the impedance of the ground path needs to be as low as possible to prevent noise from becoming a problem in your design. This applies to other parts of your design as well, so minimize ground impedance everywhere.

  • Use Ground Pours Flood ground on the top and bottom of your PCB to provide a good ground path to all components. The imp002’s antenna tuning ‘expects’ a ground pour under the non-antenna portion of the module. If the ground pour is omitted, the antenna will be de-tuned, which will negatively impact range and performance, and may prevent your product from passing wireless certification.

  • Stitch ground planes around the edge of your board and throughout the interior of the board. Use more vias than you need for the DC current your circuit requires; this will lower the impedance of the ground paths and reduce noise.

Do not place copper or FR4 under the antenna region of the imp

The antenna comes pre-tuned for best performance, but the tuning is applied with just air under the antenna. If you place anything under the antenna, you will de-tune the imp and reduce WiFi performance and range. Your ground pour should not go past pads 1 and 35 on the imp002 footprint.

Place bypass and filter capacitors as close to VDD pin as possible

Your bypass capacitor will dump noise to ground, but if the trace on the filtered side is long, it presents an opportunity for that trace to pick up noise again.

Stitch the ground planes together in a line underneath the imp002

This provides shielding for the imp002 antenna and helps acheive optimum WiFi performance. Stitching vias should be spaced at 200mil or less. You should pour ground across the imp002 footprint between pads 1 and 35, and keep all copper behind this line.

2D Close-up of the Nora reference design, showing stitching vias,
bypass and filter capacitors, and antenna keepout


3D Close-up of the Nora reference design, showing stitching vias,
bypass and filter capacitors, and antenna keepout


A poorly-routed switching power supply will send noise all over the board and severely impact performance and range. This is easily avoided by following the recommended layout in the datasheet for nearly any switching power supply IC.

Recommended Layout for the TPS62172 Buck Regulator, as shown in TI’s datasheet

Noise on your board directly diminishes your WiFi performance, and can prevent you from passing FCC and other certifications. Keep all noisy parts (switching power supplies, high-speed signaling) as far from the imp’s antenna as possible.

Prioritize your signal routings

Routing signals in the correct order can significantly simplify a design:

  • Route high-speed signals directly and avoid vias By keeping the path between devices that communicate over a high-speed interface such as SPI direct and short, you minimize the possibility that noise will couple into the line, or that the signals on the line will couple into other parts of your design as noise.

  • Place your power supply and route VDD It’s generally a good idea to avoid vias on your power supply rail; these increase the impedance of the trace and create an opportunity for noise to impact your design.

  • Keep analog signals clear of noisy digital signals, and route them as directly as you can Routing an analog signal right next to a digital signal creates an opportunity for digital noise to couple into the analog signal. Keep them apart and pour ground in between to provide some shielding.

  • Route GPIOs last A signal which is simply used to poll a button or toggle an LED does not need special considerations. If a GPIO signal crosses a higher-priority signal such as a SPI bus or an analog line, the lower-priority signal should via around the higher-priority one.

imp002 Design Checklist

  • BlinkUp phototransistor has clear lens
  • BlinkUp RBIAS value tuned for best performance
  • Status LED uses a supported bicolor LED
  • Status LED has 10kΩ resistor in parallel with red LED for polarity detection
  • Bypass capacitor (1.0µF) and filter capacitor (100pF) placed immediately next to each VDD pin on imp002
  • VDDA connected and properly sequenced
  • No imp002 pins exposed to voltages exceeding VDD
  • No imp002 pins sourcing or sinking more than 8mA per pin
  • Switching power supply has been routed according to manufacturer’s recommendation
  • Power lines routed cleanly and directly, with high-speed lines routed at next-highest priority
  • Ground pours included on top and bottom layers
  • Ground pours stitched together around board edge, especially across the line between pad 1 and pad 35 on the imp002 footprint
  • No PCB material under imp002 antenna
  • No copper past pads 1 and 35 on imp002 socket on any layer