Thornwave Labs Rainbow-7 7 Inch Diagonal 1024×600 Color Touchscreen Development Platform
Specifications
- Display: 7″ diagonal, 1024×600 color touchscreen
- Microcontroller: STM32H753 with 2-Mbyte FLASH
- Memory: 32 Mbytes of SDRAM, 32 Mbytes of external QSPI flash
- Power Supply: 9V to 32V, minimum 0.5A
Product Usage Instructions
Power Supply
The Rainbow-7 platform requires an external power source with a voltage range of 9V to 32V and a minimum current output of 0.5A. Use the provided 2 ft cable with a 2-pin Molex MiniFit Jr connector for power connection.
Crystal Oscillators
The microcontroller contains crystal oscillators for clock sources. Ensure proper functioning of the crystal oscillators for the STM32 MCU, audio codec, Ethernet PHY, and USB PHY.
Internal and External Memory
The system includes internal FLASH and SRAM memory. Additionally, there are external FLASH, SDRAM, EEPROM, and an SD card slot for storage and data access. Refer to the provided code for initialization and usage of these memory components.
Safety Instructions
Read all safety instructions before using the Rainbow-7 platform. Do not use the device for medical purposes, safety applications, or in conditions where equipment failure can cause harm. Avoid submerging the device in liquids and adhere to the specified voltage limits.
FAQ
Q: Can I use the Rainbow-7 platform for medical applications?
A: No, the device should not be used for any medical purposes or life-sustaining equipment.
Q: What is the power supply requirement for the Rainbow-7 platform?
A: The platform requires a power source with a voltage range of 9V to 32V and a minimum current output of 0.5A.
INTRODUCTION
Rainbow-7 is a 7” diagonal, high resolution, 1024×600 color touchscreen complete demonstration and development system for the Iridescence Graphical Framework, designed to simplify user application development. The platform is based on the combination of a 2-Mbyte FLASH STM32H753 microcontroller with 32 Mbytes of SDRAM and 32 Mbytes of external QSPI flash memory. The system can be customized by Thornwave Labs to accommodate various customer needs both in terms of hardware and firmware.
FEATURES
- Based on the STM32H753BIT6, 480MHz, 32- bit ARM Cortex-M7 microcontroller with double-precision FPU
- 2 Mbytes of internal FLASH program memory
- 1 Mbyte of internal SRAM
- 32 Mbytes, 32-bit wide SDRAM that can be used for data storage, frame buffers, or code execution
- 32 Mbytes of QSPI FLASH memory organized as two 16 Mbytes QSPI memories connected in dual flash mode (8-bit access) can be used for read-only data storage, code execution, or read-write persistent storage, optional filesystem
- 256 Kbits (32 k bytes) I2C EEPROM for data/configuration storage
- SD card slot with full SD 4-bit bus
- CR-2032 RTC backup battery
- 7” 1024 x 600 IPS color screen driven in RGB mode
- 7” I2C touchscreen capable of multiple finger touch
- Adjustable LCD backlight current, adjustable LCD VCOM voltage
- High-speed FDCAN bus transceiver with 2 RJ-45 CAN bus connectors and a Molex RV-C connector, capable of up to 5 Mbits/s data rate
- SSM2602 audio codec with stereo headphones and line outputs, and mono microphone input (3.5mm jacks) connected via I2S
- USB 2.0 high-speed PHY and mini USB-B OTG connector (can act as host or peripheral)
- 10-100 Mbits/s Ethernet PHY, magnetics and RJ-45 connector
- WFM200-based WiFi 802.11b/g/n transceiver connected via 4-bit SDIO
- Switching mode power supply capable of operating up to 32V
- Black plastic bezel, panel mountable (access from behind is required)
- Firmware source code provided for all drivers, FreeRTOS integration, and demo/example applications
- Iridescence Graphic Framework provided with watermarking (for licensing, contact Thornwave Labs: sales@thornwave.com)
- Various demonstration applications are provided: a WAV file audio player, Iridescence Graphic Framework demo, picture frame, screen tester, and WiFi manager
SAFETY INSTRUCTIONS
Warning!
Read all the instructions and cautions before using the Rainbow-7 development platform. Thornwave Labs Inc. does not assume responsibility for any injury or property damage caused by improper installation, bad wiring, or use of Rainbow-7 outside of its intended purpose. The device had not been evaluated by the FCC. It should not be sold as a final product. The system was designed to be used as a development platform.
Warning!
The Rainbow-7 device should not be used for any medical purposes, life-sustaining equipment, safety applications, or any application where equipment failure can cause injury, death, fires, or any other hazard.
Warning!
The unit operates with voltages up to 36V which can be lethal or cause serious and permanent injury under the right conditions.
Warning!
Do not submerge under water or other liquids. The device is neither weatherproof nor waterproof.
OVERVIEW
Rainbow-7 is a 7”, high-resolution, 1024×600 color touchscreen development platform. It was designed to facilitate quick product and application development using the Iridescence graphical framework. The board contains a full range of peripherals and communication interfaces: SD card slot, CAN, Ethernet, and WiFi as well as an external FLASH memory, EEPROM, and SDRAM. The board is equipped with a 6-pin TAG-Connect ISP connector. This can be used with any debugger/programmer compatible with the STM32H7 microcontroller. We recommend the Firelink tool developed by Thornwave Labs or the J-Link tool.
Power supply
The development platform is designed to be powered by an external power source capable of providing 9V to 32V and at least 0.5A. Included with the kit is a 2 ft cable with a 2-pin Molex MiniFit Jr connector.
Debug tool
Either the FireLink debug tool or J-Link debug probe can be used for loading and debugging the firmware. Other tools will work as long as they support debugging the STM32H753 MCU via the SWD interface. The 6-pin TAG-Connect connector on board the Rainbow-7 platform provides access to the 3.3V power rail, SWD debug lines, reset, and the debug UART TX line. The FireLink debug tool provides 2 complete UARTs + one debug UART receive line, allowing the Rainbow-7 debug UART line to be monitored directly. O ther debug probes may not provide support for reading the debug UART. For this reason, we recommend using the FireLink tool as it provides more features and less cable clutter.
Crystal oscillators
The STM32 MCU contains a 32 MHz crystal oscillator used as the main clock source and a 32.768Hz RTC crystal oscillator. The audio codec, Ethernet PHY, and USB PHY contain their local crystal oscillator. RTC backup battery The development platform contains a CR-2032 lithium RTC backup battery. If the RTC or backup SRAM aisnot needed, the battery can be omitted. Internal memories. The STM32H753BIT6 microcontroller contains 2 Mbytes of FLASH code memory and 1 Mbyte of SRAM for data. For more information on the microcontroller, please visit www.st.com.
External FLASH
Two 16-Mbyte Quad-SPI FLASH memories are connected to the STM32 MCU quad memory controller in Dual-Flash-Memory (DFM) configuration, allowing 8-bit access to an extra 32 Mbytes of code memory with up to 133 Mbytes/s transfer rate. We provide the code to initialize and use the external QSPI FLASH memory.
External SDRAM 32 Mbytes of SDRAM are connected to the FMC (Flexible Memory Controller) using a 32-bit data bus, offering plenty of memory that can be used for code execution, data storage, frame buffers, or graphical resources. When not used, the SDRAM power can be switched off to save energy. The code to initialize the SDRAM controller is provided.
External EEPROM
An I2C 256-Kbits (32 k bytes) EEPROM memory offers storage for configuration, encryption keys, and so on. We also provide the code to initialize and access the EEPROM memory.
SD card slot
The on-board SD card slot connects straight to the STM32 MCU using all 4 data lines in SD mode. This allows SD cards to be accessed at up to 25MHz. The SD slot is equipped with insertion detection and a current-protected 3.3V power switch that can be controlled from the MCU.
LCD interface
The 7” 1024×600 IPS color touchscreen is connected to the MCUs LTDC controller using full 24-bit RGB color mode. All the required voltages are generated on-board and VCOM can be adjusted under software control. The backlight driver supports current adjustment allowing for brightness control by software.
Touchscreen interface
The touchscreen is based on the FT5x06 chipset and connected to the STM32 MCU via I2C.
USB 2.0 high-speed PHY
The development board includes a 480-MBit/s USB 2.0 PHY and a mini USB-B connector. Both the USB_ID pin and power delivery are supported allowing the Rainbow-7 platform to operate as either a USB host or a USB peripheral device. We are offering software for implementing USB peripheral devices.
FDCAN transceiver
Rainbow-7 includes a 5-Mbit FDCAN transceiver connected to 2 RJ-45 and one 4-pin Molex connector allowing connecting to a CAN bus via UTP twisted cable or RV-C bus.
Ethernet PHY
The KSZ8091RNACA, 100-Mbit/s RMII Ethernet PHY, allows connectivity to any physical LAN bus via twisted pair UTP cable. The PHY supports both 10 and 100 Mbits/s. The Ethernet driver is provided with the Rainbow-7 support firmware. The Ethernet PHY is clocked by a 25 MHz quartz crystal oscillator.
WiFi RF transceiver
The WFM200 chipset provides connectivity to WiFi (802.11b/g/n) at up to 72 MBits/s). The supported firmware contains the WiFi drivers and a fully integrated TCP/IP stack (LwIP)
Audio CODEC
We also included the SSM2602CPZ stereo audio CODEC, connected to the STM32 microcontroller via the SAI interface. This offers an amplified headphones output, a line output, and a microphone input, all routed to 3.5mm connectors. The audio CODEC is wired to its own, dedicated, 24.576MHz crystal clock oscillator
CONNECTIVITY
STM32 GPIO | Peripheral
Connection |
Notes |
General | ||
PA15 | DEBUG_TX | Wired to the TAG-Connect debug ISP connector. Used for
outputting debug messages via UART7. |
PA10 | VCORE_EN | Active high turns on the 1.2V core voltage regulator. Pull-down attached. Not required. If used it can lower
the power consumption. |
PA13 | SWDIO | Wired to the TAG-Connect debug ISP connector |
PA14 | SWDCLK | Wired to the TAG-Connect debug ISP connector |
External QSPI FLASH | ||
PF8 | QSPI_D0 | QSPI FLASH #1 |
PF9 | QSPI_D1 | QSPI FLASH #1 |
PF7 | QSPI_D2 | QSPI FLASH #1 |
PF6 | QSPI_D3 | QSPI FLASH #1 |
PH2 | QSPI_D4 | QSPI FLASH #2 |
PH3 | QSPI_D5 | QSPI FLASH #2 |
PG9 | QSPI_D6 | QSPI FLASH #2 |
PG14 | QSPI_D7 | QSPI FLASH #2 |
PG6 | QSPI_CS | QSPI FLASH #1 & #2 |
PF10 | QSPI_CLK | QSPI FLASH #1 & #2 |
SDRAM | ||
PD14 | SDRAM_D0 | |
PD15 | SDRAM_D1 | |
PD0 | SDRAM_D2 | |
PD1 | SDRAM_D3 | |
PE7 | SDRAM_D4 | |
PE8 | SDRAM_D5 | |
PE9 | SDRAM_D6 | |
PE10 | SDRAM_D7 | |
PE11 | SDRAM_D8 |
PE12 | SDRAM_D9 | |
PE13 | SDRAM_D10 | |
PE14 | SDRAM_D11 | |
PE15 | SDRAM_D12 | |
PD8 | SDRAM_D13 | |
PD9 | SDRAM_D14 | |
PD10 | SDRAM_D15 | |
PH8 | SDRAM_D16 | |
PH9 | SDRAM_D17 | |
PH10 | SDRAM_D18 | |
PH11 | SDRAM_D19 | |
PH12 | SDRAM_D20 | |
PH13 | SDRAM_D21 | |
PH14 | SDRAM_D22 | |
PH15 | SDRAM_D23 | |
PI0 | SDRAM_D24 | |
PI1 | SDRAM_D25 | |
PI2 | SDRAM_D26 | |
PI3 | SDRAM_D27 | |
PI6 | SDRAM_D28 | |
PI7 | SDRAM_D29 | |
PI9 | SDRAM_D30 | |
PI10 | SDRAM_D31 | |
PF0 | SDRAM_A0 | |
PF1 | SDRAM_A1 | |
PF2 | SDRAM_A2 | |
PF3 | SDRAM_A3 | |
PF4 | SDRAM_A4 | |
PF5 | SDRAM_A5 | |
PF12 | SDRAM_A6 | |
PF13 | SDRAM_A7 | |
PF14 | SDRAM_A8 | |
PF15 | SDRAM_A9 | |
PG0 | SDRAM_A10 | |
PG1 | SDRAM_A11 | |
PG4 | SDRAM_BA0 | |
PG5 | SDRAM_BA1 |
PE0 | SDRAM_DQM0 | |
PE1 | SDRAM_DQM1 | |
PI4 | SDRAM_DQM2 | |
PI5 | SDRAM_DQM3 | |
PH5 | SDRAM_WE | |
PF11 | SDRAM_RAS | |
PG15 | SDRAM_CAS | |
PH7 | SDRAM_CLKE | |
PH6 | SDRAM_CS | |
PG8 | SDRAM_CLK | |
PI8 | SDRAM_POWER_EN | Active high turns on the SDRAM power switch. |
EEPROM | ||
PB6 | I2C_SCL | I2C bus shared with audio CODEC |
PB7 | I2C_SDA | I2C bus shared with audio CODEC |
SD Card Slot | ||
PC8 | SDMMC1_D0 | |
PC9 | SDMMC1_D1 | |
PC10 | SDMMC1_D2 | |
PC11 | SDMMC1_D3 | |
PC12 | SDMMC1_CLK | |
PD2 | SDMMC1_CMD | |
PD5 | SD_POWER | Active high, 3.3V SD card power enable |
PD4 | SD_FAULT | Active low FAULT signal from SD power switch. Requires
internal pull-up |
PD3 | SD_DET | Active low DETECT signal from SD card slot. Requires
internal pull-up. |
LCD | ||
PI15 | LCD_R0 | |
PJ0 | LCD_R1 | |
PJ1 | LCD_R2 | |
PJ2 | LCD_R3 | |
PJ3 | LCD_R4 | |
PJ4 | LCD_R5 | |
PJ5 | LCD_R6 |
PJ6 | LCD_R7 | |
PJ7 | LCD_G0 | |
PJ8 | LCD_G1 | |
PJ9 | LCD_G2 | |
PJ10 | LCD_G3 | |
PJ11 | LCD_G4 | |
PK0 | LCD_G5 | |
PK1 | LCD_G6 | |
PK2 | LCD_G7 | |
PJ12 | LCD_B0 | |
PJ13 | LCD_B1 | |
PJ14 | LCD_B2 | |
PJ15 | LCD_B3 | |
PK3 | LCD_B4 | |
PK4 | LCD_B5 | |
PK5 | LCD_B6 | |
PK6 | LCD_B7 | |
PK7 | LCD_DE | |
PI13 | LCD_VSYNC | |
PI12 | LCD_HSYNC | |
PI14 | LCD_CLK | |
PG3 | LCD_DITH | Active high to enable dithering |
PD11 | LCD_RESET | Active low LCD reset signal |
PC7 | LCD_VCOM_ADJ | PWM output to adjust the VCOM voltage. Do not
change. |
PA4 | LCD_BL_EN | Active high backlight power supply enable |
PC6 | LCD_BL_ADJ | PWM output to adjust the backlight current |
PA6 | LCD_POWER_EN | Active high LCD power switch enable |
Touchscreen (FT5x06) | ||
PD12 | TSC_SCL | Dedicated I2C bus |
PD13 | TSC_SDA | Dedicated I2C bus |
PG2 | TSC_INT | TSC Interrupt line (active low) |
PG7 | TSC_RESET | TSC reset line (active low) |
CAN Bus (TJA1057GTK/3Z) | ||
PA11 | CAN_RX | |
PA12 | CAN_TX | |
PA9 | CAN_S | |
USB 2.0 High-Speed PHY (USB3318C-CP) | ||
PA0 | ULPI_RST | |
PA3 | ULPI_D0 | |
PA5 | ULPI_CLK | |
PB0 | ULPI_D1 | |
PB1 | ULPI_D2 | |
PB5 | ULPI_D7 | |
PB10 | ULPI_D3 | |
PB11 | ULPI_D4 | |
PB12 | ULPI_D5 | |
PB13 | ULPI_D6 | |
PC0 | ULPI_STP | |
PH4 | ULPI_NXT | |
PI11 | ULPI_DIR | |
Audio CODEC (SSM2602CPZ) | ||
PB6 | I2C_SCL | I2C bus shared with EEPROM |
PB7 | I2C_SDA | I2C bus shared with EEPROM |
PE3 | AUDIO_OUT | SSM2602: RECDAT |
PE4 | AUDIO_LRC | SSM2602: PBLRC & RECLRC |
PE5 | AUDIO_BCLK | SSM2602: BCLK |
PE6 | AUDIO_IN | SSM2602: PBDAT |
Ethernet PHY (KSZ8091RNACA) | ||
PA1 | ETH_CLK | |
PA2 | ETH_MDIO | |
PA7 | ETH_CRS_DV | |
PB9 | ETH_INT | |
PC1 | ETH_MDC | |
PC4 | ETH_RXD0 | |
PC5 | ETH_RXD1 | |
PG10 | ETH_RESET |
PG11 | ETH_TXEN | |
PG12 | ETH_TXD1 | |
PG13 | ETH_TXD0 | |
WiFi Transceiver (WFM200S022XNA3) | ||
PA8 | WIFI_LPCLK | WFM200: 32,768Hz low power mode clock |
PB3 | SDMMC2_D2 | WFM200: SDIO_D2 |
PB4 | SDMMC2_D3 | WFM200: SDIO_D3 |
PB8 | WIFI_WUP | WFM200: WAKEUP (WUP) |
PC13 | WIFI_RESET | WFM200: RESET |
PB14 | SDMMC2_D0 | WFM200: SDIO_D0 |
PB15 | SDMMC2_D1 | WFM200: SDIO_D1 |
PD6 | SDMMC2_CLK | WFM200: SDIO_CLK |
PD7 | SDMMC2_CMD |
|
CAN Bus – RJ45 Pin | Description |
1,3,5 | GROUND |
2,4,6 | VPWR (9 ~ 32V) |
7 | CAN+ |
8 | CAN- |
2 and 4-pin Molex Mini-Fit Jr. Female Sockets
RV-C Connector Pin | Description |
1 | CAN+ |
2 | CAN- |
3 | GROUND |
4 | VPWR (9 ~ 32V) |
PWR Connector Pin | Description |
1 | GROUND |
2 | VPWR (9 ~ 32V) |
TAG-Connect 6-Pin Debug Connector
Debug Connector Pin | Description |
1 | 3.3V |
2 | SWDIO |
3 | RESET |
4 | SWDCLK |
5 | GROUND |
6 | DEBUG |
FIRMWARE QUICK START
We advise using Ubuntu 24.04 LTS or the earlier 22.04 LTS. It is possible to use Windows but we do not provide support in this case. To build the demo firmware, some tools must be installed.
- Download and install the ARM GCC It can be downloaded from here: https://developer.arm.com/downloads/-/gnu-rm
- Extract the archive to /opt.
cd /opt
tar -xvf <path to ARM gcc archive just downloaded>
- Create a symlink pointing to the ARM GCC compiler folder
ln -sf <name of the folder just extracted> gcc-arm-none-rabi
- Install a few required
apt install build-essential srecord git
- Follow the instructions provided here https://files.thornwave.com/docs/iridescence/iridescence_latest/html/index.html to install the Iridescence tools.
- Retrieve the demo
git clone ssh://git@git.thornwave.com:29418/thornwave/rainbow7_fw.git cd rainbow7_fw git submodule update –init
- Build the fonts
cd fonts make -j32
- Build the firmware demo
cd build make
- The following Makefile targets are valid: clean, flash, erase,
- The following Makefile variables can be defined: RELEASE=yes, DEBUG=yes, USE_FIRELINK=yes
- The Iridescence library provided with the demo firmware is A pre-built firmware image without watermarking is located inside the images directory.
ORDERING
Part Number | Description |
Rainbow-7 | 7” 1024×600 Color Touchscreen Development Platform based on
STM32H753 |
Documents / Resources
![]() |
Thornwave Labs Rainbow-7 7 Inch Diagonal 1024x600 Color Touchscreen Development Platform [pdf] User Manual Rainbow-7, Rainbow-7 7 Inch Diagonal 1024x600 Color Touchscreen Development Platform, 7 Inch Diagonal 1024x600 Color Touchscreen Development Platform, 1024x600 Color Touchscreen Development Platform, Touchscreen Development Platform, Development Platform, Platform |