iCE40 Ultra™ Mobile Development Platform User Guide
EB90 Version 1.1, June 2015
iCE40 Ultra Mobile Development Platform User Guide
Introduction
This platform is designed to develop and demonstrate various mobile applications using the iCE40 Ultra device.
The board is in the form factor of a bar phone featuring various sensors and connectivity to external mobile software development platforms.
Kit Contents
The following items are included in the development kit:
• Main Board – The main board is mounted in lower plastic enclosures.
• Key Set – The key set includes keys A, B, C, and Custom. Key A is installed on the main unit by default.
• DragonBoard Interface Module
• Interconnecting Cables – The cables include USB mini-B cable, DragonBoard interface ribbon cable, and +5 V
supply flywire.
Variants
The unit is built in two variants with different sets of RGB LED and IR LED parts.
Variant A includes the following parts on the board:
• RGB LED used at D12: AEBMT-RGBZ by Advanced Optoelectronics Technology
• IR LED used at D7: SFH 4645 by Osram Opto Semiconductors
Variant B includes the following parts on the board:
• RGB LED used at D13: APTF1616SEEZGQBDC by Kingbright
• IR LED used at D7: VSMB2948SL by Vishay Semiconductor
The variants can be distinguished through the populated status of D12 and D13.
• Variant A: D12 is populated and D13 is not populated
• Variant B: D12 is not populated and D13 is populated
2
iCE40 Ultra Mobile Development Platform User Guide
MAX44008 (I2C)
RGB ALS
APP PROCESSOR (SPI)
(10 pin CONN)
3.3v
BMP180 (I2C)
Pressure
IR LED (TX)
HIGH POWER
WHITE LED
JUMPER SEL
POOL-B I2C
POOL-A I2C
POWER SUPPLIES
(from USB / Battery)
FT2232H
SPICONFIG FLASH (SPI)
USB
CHEETAH CONN
LSM330DLC (I2C)
Accel. & Gyro
HALL SENSOR
THESE CONNECTIONS VIA INTERCONNECT
[40 pin FPC connector]
TMD27711 (I2C)
Proximity & ALS #2
Key-socket selection
FINGERPRINT SENSORI2S MIC#2
SPI
Li-ion BatteryCHARGER
Key-socket selection
RGB LED
I2S MIC#1 SMA CONN
CURRENT MEASURE
CURRENT
MEASURE
BLE Module
IR RX
LSM303DLHC (I2C)
Magentometer
SHT20 (I2C)
Humidity &Temp.
TMD27711 (I2C)
Proximity & ALS #1
POOL-B I2C
POOL-B I2C
3.3V
3.3V
SMA CONN
Operated together
Optional
CONFIG SPI & BANK 1
BANK 2
BANK 0
iCE5LP4KSWG36
SPI
UART
Demo Board Architecture
Figure 1 shows the demo board architecture. The different I2C sensors are split up and wired on two separate I2C
buses as Pool A and Pool B. The other sensors that are not I2C are either wired separately or are connected
instead of Pool B and other resources on the board. Changes to connectivity are user controllable and achieved by
means of changing the keys – a method to replace using multiple jumpers to re-route wiring to different resources.
Figure 1. Block Diagram
3
Figure 2. Top View of Main Unit
iCE40 Ultra Mobile Development Platform User Guide
Jumper selection between
IR and White High Power LEDs
BMP180
Pressure Sensor
CDONE LED
RGB LED
iCE40 Ultra
27 MHz
Oscillator
Barcode LED
(Red)
Power Switch
Power LED
SMA Footprint
J15 (Jumper
Pool Header)
IR LED (Emitter)
BLE Module
MAX4408 RGB ALS Sensor
High Power White LED
TMD2711 Proximity Sensor
External Power and
Charging Status Indicator
CRST Button
FPC1080A Fingerprint Sensor
TMD2711 Proximity Sensor
AP Connector
IR Rx (TSMP58000)
SHT20 Humidity Sensor
ADMP441 I2S Mic
USB Port
4
Figure 3. Bottom View of Main Unit
ADMP441 I2S Mic
LSM303DLHC
Magnetometer Sensor
LSM330DLC
Accelerometer and
Gyroscope Sensor
iCE40 Ultra Mobile Development Platform User Guide
Key Socket
Battery
Connector
FTDI FT2232H
M25P80
SPI Flash
USB Port
5
iCE40 Ultra Mobile Development Platform User Guide
Features
• Supports BLE (Bluetooth Low Energy) module
• Supports OTA (Over-The-Air) configuration of FPGA
• Form factor similar to mobile phone
Sensor list
The following table lists the different sensors used on the board.
Table 1. Sensor List
NumberSensor FunctionInterfaceSensor Part NumberManufacturer
1RGB LED (Variant 1)DirectAEBMT-RGBZAOT
2RGB LED (Variant 2)DirectAPTF1616SEEZGQBDCKingbright
3High Current IR Tx LED
(Variant A)
4High Current IR Tx LED
(Variant B)
5High Current Visible LEDDirectXBDA WT-00-0000-
6IR RxDirectTSMP58000Vishay Semiconductor
7Proximity Sensor
(Two numbers)
8RGB Light SensorI2CMAX44008Maxim-IC
9Temperature SensorI2CBMP180 (integrated)Bosch
10Barometric PressureI2CBMP180Bosch
11AccelerometerI2CLSM330DLC
12GyroscopeI2C
13MagnetometerI2CLSM303DLHCST Micro
14HumidityI2CSHT20Sensirion
15HallDirectBU52051NV X-TRRohm Semiconductor
16FingerprintSPIFPC1080AFingerprints
17MEMS Mic (Two numbers)I2SADMP441Invensense
DirectSFH4645Osram Opto
DirectVSMB2948SLVishay Semiconductor
Cree Inc.
00000LCE3
I2CTMD27711A MS-TA OS USA Inc
ST Micro
Key-socket Arrangement
Three predefined keys and one user defined key is provided to allow the user to change the wiring of the board
between different sensor sets as described in Table 2. The table also denotes pin assignments to the iCE40 Ultra
FPGA on the board. While selecting and inserting a particular key of choice, ensure that you align the aligning
arrow on the key and on the main PCB. The keys are mechanically delicate, and hence, you must be careful while
inserting and removing the keys. Figure 4 shows the four keys and socket on the main board.
6
iCE40 Ultra Mobile Development Platform User Guide
Orient the direction of the key
using these arrows
Figure 4. Key-socket Arrangement
Pin assignments iCE40 Ultra FPGA
Table 2 lists the complete pin assignments for the iCE40 Ultra FPGA for the different keys and other hard wired
peripherals on the board
Bank 2PoolB_Sensor_SDAFP_MOSI (Fingerprint)ISS_SCK2
Bank 2Spare GPIO on Exp
Pin Assignment for
Default Key A
Header p.16
Header p.20
Pin Assignment for
Key B
FP_CS (Fingerprint)I2S_WS2
FP_MISO (Fingerprint)I2S_CE2
Pin Assignment for
Key C
(Microphone 1)
(Microphone 2)
(Microphone 2)
(Microphone 2)
(Microphone 2)
External Interfacing
The board can be interface to external systems by one of two methods:
• SPI based application processor interface via J16 (AP Conn)
• BLE wireless module
For DragonBoard based SPI based application processor interfacing, a DragonBoard interfacing module and a
connecting ribbon cable are required (provided). Figure 5 shows the interfacing module, connecting cable, and
method to power the module from the DragonBoard.
A BLE module provides a feature on the board for wireless interfacing using Bluetooth Low energy version 4.
8
iCE40 Ultra Mobile Development Platform User Guide
Figure 5. Data and 5 V Wiring from DragonBoard to DB Interface Module
Clocking
The board features an onboard 27 MHz oscillator. When an external clock is required, the SMA footprint can be
populated with a suitable SMA SMD connector (such as Molex part # 732511350). You must depopulate R51 on
the board.
Daisy Chain Interconnect / Expansion Connector
Daisy chain interconnect to the iCE FPGA by means of a connecting cable between two boards is possible via J10
on the main board. Refer to the schematics for the pin assignments of J10. All the pins of the FPGA are accessible
on this connector – and hence also forms a convenient way to tap into, or expand from any pin on the FPGA.
Basic Usage Procedures
Powering the Board
The board may be powered using one of three following methods:
• USB cable: USB A to mini B cable (supplied) connected to a PC may be used to power the board
• +5 V supplied to the DragonBoard interface module used to power the board through the provided ribbon cable.
The +5 V can be tapped from the DragonBoard as indicated in the Figure 5.
• Internal rechargeable battery not supplied with the kit. It must be procured separately. An example is the Nokia
BL-5C Lithium-ion battery shown in Figure 7.
Charging the Battery
The battery is charged when USB power is applied. Glowing of the green LED D3 (CHG) indicates the charging of
the battery. Glowing of the green LED D4 (EPW) indicates that an external charging power (USB) is applied. Glowing D3 indicates that charging is in progress. If D3 does not glow and D4 (EPW) glows, it means that charging is
complete.
9
iCE40 Ultra Mobile Development Platform User Guide
Figure 6. USB Socket Located on the Lower Side
Figure 7. Nokia BL-5C Li-ion Battery Mounted Inside Back-cover of the Main Unit
Configuring the FPGA
The iCE40 Ultra can be configured using one of two methods:
• By programming the on-board SPI Flash U3 (ST Micro's M25P80)
• By directly configuring the FPGA using a processor to configure via iCE40 Ultra's SPI
Configuration by Programming SPI Flash
The SPI Flash (M25P80) can be programmed using the on-board FTDI's FT2232H (USB-SPI FIFO) via USB and
Lattice Diamond
To program the SPI Flash via USB and Lattice Diamond
1. Apply a jumper to FLCS on jumper pool header J15.
2. Connect the USB cable to the demo board.
3. Download the bitstream in SPI Flash (M25P80) using Lattice Diamond Programmer. To download the bitstream:
®
Programmer.
Programmer:
a. Open Diamond Programmer version 3.2 or above and select Create a new blank project as shown in
Figure 8.
10
iCE40 Ultra Mobile Development Platform User Guide
Figure 8. Diamond Programmer Getting Started Dialog Box
b. The Diamond Programmer main interface opens, as shown in Figure 9.
Figure 9. Diamond Programmer Main Interface
c. Select iCE5LP in Device Family and iCE5LP4K in Device, as shown in Figure 10.
11
Figure 10. Device Selection
iCE40 Ultra Mobile Development Platform User Guide
d. Double-click Fast Program and choose the desired *.bin file.
e. In the Device properties dialog box, select the program to be used in programming the device and click
OK, as shown in Figure 11.
Figure 11. Device Properties Dialog Box
12
e. Verify that the operation is completed successfully. In the main interface, INFO: Operation: successful
is displayed in the Output pane.
Figure 12. Verifying Operation
iCE40 Ultra Mobile Development Platform User Guide
Alternatively, the SPI Flash can be programmed using Totalphase's Aardvark or Cheetah. Flash Center GUI flash
programming utility can be hooked up to the J29 (SPI PGM) header on the DragonBoard interfacing module.
To program the SPI Flash using Aardvark/Cheetah:
1. Apply a jumper on FLCS located on jumper pool header J15.
2. Ensure that the ribbon cable is connected between J16 (AP CONN) on main board and J26 (AP Interconnect)
on the DragonBoard interfacing module.
3. Remove shunt on J20 (PGM) header on the DragonBoard interfacing module.
4. Connect Aardvark / Cheetah to the J29 (SPI PGM) header on the DragonBoard interfacing module and its USB
to the PC/Laptop running the Flash Center GUI utility.
5. While operating the CRST button or applying the jumper on CRST of J15 (on the main board), use the Flash
Center GUI and appropriate bitmap to program the M25P80 SPI Flash.
6. After programming, remove the shunts on CRST and PGM.
Direct Configuration by a Processor (Processor Configuration)
The iCE40 Ultra FPGA can be configured directly without using an external SPI Flash. This can be done by the
application processor interfacing with the iCE40 Ultra SPI lines. While using this method appropriate software and
Android Application is required.
To configure the hardware:
1. Remove the jumper shunt on FLCS located on J15 (jumper pool header).
2. Apply a jumper shunt on FTRST located on J15 (jumper pool header).
3. Remove the jumper shunt on CRST located on J15 (jumper shunt header).
13
iCE40 Ultra Mobile Development Platform User Guide
4. Using the ribbon cable provided, connect the main PCB and the DragonBoard through the DragonBoard inter-
facing module.
5. Run the appropriate software / application to configure iCE40 Ultra directly from the DragonBoard processor.
Current Measurements
FPGA currents are measured by inserting ammeters in series with the respective current paths. This is achieved by
means of removing the jumper shunts on the pooled jumper header J15, and replacing those by ammeters. Note
the legends printed across each of the jumpers on the PCB and the corresponding wiring in the schematics around
region of J15 to make the desired measurements. Current measurements for the high power LED (IR or white) can
be done at J9 (LED selecting 3 pin jumper). Note that RGB LED current measurements on J15 (jumper pool
header) is for the common Anode limb of the LED and not individual RGB circuits; Thus appropriate drive must be
made to measure individual RG
Technical Support Assistance
Submit a technical support case via www.latticesemi.com/techsupport