This content is preliminary and subject to change
The imp006 Breakout Board provides a full product evaluation, code development and product prototyping platform for the imp006 module. It includes not only comprehensive power management circuitry and a set of temperature, humidity and motion sensors, but also a user-controllable LED for visual feedback. In addition almost all of the imp006’s GPIO pins and standard buses are exposed on 0.1" headers.
The imp006 Breakout Board provides cellular connectivity through a Quectel BG96 chip cellular modem and the impCellular™ service. It also includes both 802.11a/b/g/n/ac dual-band (2.4GHz and 5GHz) WiFi local-area networking and Bluetooth 4.1 personal-area networking thanks to the inclusion of a Murata LBEE5HY1MW wireless module.
Note Images may not represent the current version of the design.
Please see our generic setup guide for step-by-step guidance on connecting a new board to the Electric Imp impCloud™ and adding it to your Electric Imp account.
|Important If you are using 2G networks — and this will be the case with EU-region boards — you will either need to have a Li-Ion battery, or power the board via the primary cell input on J16 (and set W5/W6/W7 appropriately) — it is not possible to supply 2G current peaks directly from the USB PMU path. Connect a wire between J13 + and J16 + to, then set W5/W6/W7 appropriately, to power the primary cell path from the USB jack.|
The imp006 Breakout Board includes a mini USB port, a standard JST Li-Ion/Li-Poly battery connector (J5 on the board) and a two-pin header (J16) to which you can connect a non-rechargeable primary battery running at between 4 and 17V. The board will run without a battery attached when using the included power adaptor.
The power circuits are heavily optimized for each battery type and voltage range, allowing the breakout board to be used to accurately determine power usage in a final product design using the selected architecture.
Depending on which of these power sources you select, you will need to set the jumpers appropriately:
|Board Marker||LiIon Rechargeable||Primary Cell 4-10V||Primary Cell 10-17V|
|W5||Position 1-2||Position 2-3||Position 2-3|
|W7||Position 1-2||Position 2-3||Position 1-2|
|W6||Not fitted||Not fitted||Fitted|
Jumper W5 is be used to route power from the LiIon battery or a primary battery too the board’s WiFi, Bluetooth and cellular radios, and, optionally, the imp006's 3v3 supply via jumper W7. When fitted 1-2, the radios are powered from VSYS, the system rail from the Li-Ion PMU. When fitted 2-3, the radios are powered by the 3v8 buck U2.
Jumper W7 is used to route power to the imp006's 3v3 buck (U12) from the output of jumper W5 or directly from the primary battery — as the ultra-low Iq buck can only be used with input voltages up to 10v, higher voltages will need to be brought down to a suitable range by the 3v8 buck U2 before they can be fed to the 3v3 buck. When fitted 1-2, the 3v3 buck is powered by VMOD (the radio supply, which is selected by W5). When fitted 2-3, the buck is powered by the primary cell directly.
When W7 is fitted 1-2 and a high voltage battery is used, the 3v8 buck U2 will need to run continuously and hence W6 will need to be fitted (see below).
For a single cell Li-Ion power architecture, W7 is fitted 1-2 and U2 is not used at all.
Jumper W6 is used to force the primary buck on, whether the imp006 wants either radio to be powered or not. It is used when W7 is set to position 1-2, so that the primary buck will run continuously to provide the MCU with power, or when power needs to be preserved to the BG96 when the system is asleep (eg. for GPS state preservation). If the primary cell delivers 4-10V (ie. W7 is hence set to position 2-3), the primary buck will only run when required and W6 is not fitted.
The primary battery’s voltage can be measured using imp006 pins YG and XD. To do, connect the board solder bridges W9 and W12, drive pi YG HIGH. Pin XD’s input will now scale with the batter voltage.
A Maxim Integrated MAX17055 single-cell gas gauge IC and a Texas Instruments BQ24295 power management unit are included on the board. These components allow the board to manage an attached LiIon/LiPoly battery and monitor its charge level.
Charge/power management is automatic, so with a battery fitted the device will run the load from the input power directly, with any unused power within the input current limit being used to charge the battery. If the load is higher than the input current limit, power will be drawn from both the external input and the battery.
The default configuration for the charger is a 2A charge rate, assuming that the USB D+/D- lines advertise this. You can short W1 to enable a 3A current limit on the USB input if the supply you are using does not configure D+/D- for charger brick identify.
As such, a 2000mAh or larger 1S Li-Ion/Li-Poly battery should be used unless you are either using a limited power source, or reprogram the charge rate at startup. Libraries for these two components are linked at the bottom of this page, and they are accessed via the imp006’s hardware.i2cLM bus:
The imp006 Breakout Board includes an I²C isolator (U14) to ensure that the MAX17055 and BQ24295 do not load the hardware.i2cLM bus when a primary battery is being used in place of a LiIon power source.
Solder board bridge W3 if you wish to connect the BQ24295’s IRQ pin to the imp006’s XM pin.
Solder board bridge W10 if you wish to allow the imp006’s YC pin to control the BQ24295’s 5V0 boost output.
The bridges are marked below:
A suitable battery can be obtained from a wide variety of online resellers, for example Adafruit.
The imp006 module supports the connection of an external communications unit through a dedicated SDIO bus. The imp006 Breakout Board uses this to provide 802.11a/b/g/n/ac WiFi through a Murata LBEE5HY1MW radio module. This incorporates a single antenna to deliver peak throughput of up to 433Mb/s.
The board’s WiFi interface is controlled generically through impOS. It may be used as the board’s primary connection to the impCloud, as a secondary interface backing up the cellular connection, or as an interface for local networking using the User Datagram Protocol (UDP). The imp006 can use WiFi to connect to the impCloud while also connecting to local devices using UDP — these are not mutually exclusive roles.
WiFi only draws power when your application requests a WiFi connection; it draws <1μA when shut down due to the power gating arrangement, which is controlled automatically by impOS.
The Murata LBEE5HY1MW radio module incorporates Bluetooth 5.0, connected to the imp006 via a dedicated UART which is not exposed to Squirrel. This functionality can be accessed through impOS’ hardware.bluetooth API.
Calling hardware.bluetooth.open() on the imp006 requires no arguments (an exception will be thrown if any are passed). Therefore you do not need to provide a UART, modem firmware or optional settings as you do with the imp0004m:
// BLE on imp006 #require "bt_firmware.lib.nut:1.0.0" ble <- hardware.bluetooth.open();
Additionally, you do not need to assign imp006 GPIO pins to modem LPO_IN and REG_ON, which you may expect to do if you have worked with Bluetooth on the imp004m. You are not able to apply an alternative MAC address, or HCI baud rate.
BT only draws power when your application opens the hardware.bluetooth object; it draws <1μA when shut down due to the power gating arrangement, which is controlled automatically by impOS.
The imp006 Breakout Board provides LTE Cat. M1 and Cat. NB1 cellular connectivity using the Quectel BG96 cellular modem. It can fall back to quad band 2G as required and as available in the territory in which it is operating.
The BG96 connects to the imp006 via a dedicated USB channel and a UART. Connectivity to the impCloud is managed by impOS, but can be managed by the application.
An LED (D4) on the board provides network status information:
The LED is marked below:
The board includes a circuit which detects when the radio is powered and radio power source drops below 3.3V. If this happens, LED D5 is illuminated, indicating a possible supply issue. This usually indicates insufficient current available, especially on 2G networks. This circuit is provided to help diagnose issues with supplies feeding the breakout board during development, and generally would not be used on a production device.
If board solder bridge W11 is connected then the imp006 can monitor radio power status by reading pin XL. W11 is marked in the image below:
The indication is cleared by a reset.
The imp006 Breakout Board includes the following sensors:
|Sensor||Measured Quantity||I²C Address (8-bit)||Library||Datasheet||Example|
|HTS221||Temperature, humidity||0xBE||HTS221.device.lib.nut||Link||Sample Code|
|LIS2DH12||Motion in three axes||0x32*||LIS3DH.class.nut||Link|
* This is not the sensor’s default I²C address, so you will need to add its address into the class constructor of its Electric Imp library.
All of the sensors can be easily accessed in application code using the Electric Imp libraries named in the table above. Click the library links for the latest version.
Note The LIS2DH12 intentionally makes use of the LIS3DH library as these two devices are functionally equivalent. These sensors are accessed via the imp006’s hardware.i2cLM bus.
Note The board’s built-in will be on the same I²C bus as the MikroBUS connector, so please check for I²C address clash if you are using more than one of these peripherals.
The imp006 Breakout Board incorporates two Grove System-compatible headers, each of which connects to a four-wire cable with two data wires (yellow and white) plus 3V3 (red) and GND (black). For information about the Grove System, please see the Seeed Wiki.
Power to both Grove headers is gated by pin XU, which must be set HIGH to power Grove peripherals. Alternatively, solder bridge W2 on the board to force Grove power on.
One header, marked J9, is intended for Grove Analog and/or Grove Digital peripherals: its A0/D0 (yellow) and A1/D1 (white) lines are connected, respectively, to the imp006’s pins N and XN.
The other header, J6, can be used to drive a variety of Grove-compatible devices which operate over I²C. When configured for I²C, devices are accessed using the imp006’s hardware.i2cTU bus. The yellow wire provides the clock line; the white wire the data line. Only 3V3 I²C devices are supported.
The imp006 Breakout Board provides an optional header pins to allow you to install a mikroBUS connector. Such a connector allows you to fit Click boards (not included) from MikroElectronica. Click is an ecosystem of available modules which can be used to add a wide variety of peripherals.
SPI, UART and I²C interfaces are available through the mikroBUS header, and additional Click control signals are connected to the imp006 GPIO and can be controlled via firmware. 3.3V power to the Click board is gated by pin XU, which must be set HIGH to enable the power supply. The supply is gated to allow low power sleeping even with high current Click boards fitted. Solder bridge W2 on the board to force Mikrobus power on.
Note that though 5V is available on this connector (connected to the USB host connector 5V rail), all the I/Os are 3.3v only. Please ensure that the Clicks you fit are 3.3V compatible.
Note If board switch W4 is set in the 1-2 position, the board can be powered from a suitable Click. By default, W4 is set to 2-3: 5V power comes from the board’s PMU.
|Click Pin No.||Click Name||Description||imp006 Pin|
|3||CS||SPI Chip Select||H|
|5||MISO||SPI Master In||F|
|6||MOSI||SPI Master Out||E|
|13||TX||UART TX (to Click)||XE|
|14||RX||UART RX (from Click)||XF|
|16||PWM||Pulse Width Modulation signal to Click||XG|
Note The mikroBUS connector is connected to the same I²C bus as the Breakout Board’s integrated sensors, so please check for I²C address clash if you are using more than one of these peripherals.
The imp006 Breakout Board provides two further headers adjacent to the Mikrobus headers. These extra headers, J7 and J15, are not required by the Mikrobus, but are included to facilitate easy access to a number of the imp0006’s GPIO pins from connected Clicks.
|J7 Pin No.||imp006 Pin|
|J15 Pin No.||imp006 Pin|
The imp006 Breakout Board’s GPIO pins are broken out to two rows of header pins, J11 and J12. The GPIO to which each pin is connected is printed on the board. Please see the imp006 Pin Mux page for information on all of the many GPIO pins and standard buses made available by the module and exposed via the Breakout Board.
In addition to the primary GPIO breakout, headers J7 and J15 break out hardware.uartXEFG and hardware.uartYJKLM, respectively. These may be used for any UART applications, but are primarily intended for custom mikroBUS Click modules.
The imp006 Breakout Board’s user-controllable LED can display 7 colors with static pin drive (compatible with the imp shallow sleep modes, so the imp can drop into shallow sleep with the LED lit) and any number of colors when the pins are set as PWM (not compatible with the imp shallow sleep mode).
It is controlled on pins R (red), XA (green) and XB (blue). Set any or all of these pins HIGH to enable the relevant color, or use PWM_OUT as appropriate.