# Introduction
![intro.png]
A small development board based on STM32G070RB, with ST-Link V2.1 debugger, EYE-SPI-PE display expansion interface and rich peripherals.
STM32G0 is the entry-level product line of STM32. This product line is based on the 32-bit Cortex-M0+ core, with extremely low power consumption, excellent performance (relative to 8-bit machines) and low cost.
STM32G070RB is one of the representative products of STM32G0 series. It provides up to 59 available GPIOs (because there is only one pair of power pins) under the premise of LQFP-64 package, and the price is very cheap (the retail price is about 3~4 yuan/piece at the time of posting).
Because the debugger is on board, there is no need to connect additional debugging equipment during development. At the same time, the on-board debugger also provides USB serial communication and USB storage download functions.
The EYE-SPI-PE interface provides a quick and simple way for the development board to connect various displays or other expansion modules. It refers to Adafruit's EYE-SPI interface and strengthens the power output capability. At the same time, the interface can be compatible with Adafruit's EYE-SPI interface by soldering an 18-pin FPC header (so that it can be natively compatible with all Adafruit's EYE-SPI modules).
# Features
* Basic
* Based on STM32G070RB, with a main frequency of 64MHz, 128KB Flash, 32KB/36KB (with/without HW parity check) SRAM
* Independent LSE (RTC) and HSE crystal oscillators
* Onboard ST-Link v2.1 debugger, providing SWD debugging, virtual serial port and USB storage download functions
* Onboard peripherals
* 1 RGB-LED light
* 3 buttons, 1 for system reset, and the other 2 are user-defined. Among them, KEY-A has a sleep wake-up function and an optional external pull-down resistor
* 1 SPI-FLASH provides general data storage function
* 1 EEPROM provides key data storage function
* Connection capability
* EYE-SPI-PE interface, based on Adafruit's EYE-SPI interface and enhanced power output capability, dedicated to connecting various display expansion modules. It can be compatible with the original EYE-SPI interface by welding the 18pin FPC row seat.
* 1 Micro-SD card slot, using SPI communication
* Reserved CR-1220 battery holder for RTC power supply
* 2 2x20pin standard 2.54 pitch pin headers lead out all IO and provide abundant power pins
* Others
* Double-layer board
* All components are on the same side to facilitate SMT operation and further reduce the difficulty of DIY
* IO has silk screen on both sides
# EYE-SPI-PE
![eye-spi-pe.png]
EYE-SPI-PE stands for EYE-SPI Power Enhanced Connector, which is an interface for Adafruit's EYE-SPI with enhanced power supply capability.
The original EYE-SPI interface is designed by Adafruit to facilitate the connection of various display modules. By using flat cable connection instead of traditional Dupont line connection, the reduced connector size also makes the display module more flexible in design.
The original EYE-SPI provides the following functions through an 18-pin 0.5mm FPC header:
* One SPI signal
* One IIC signal
* Auxiliary signals used by general LCDs (including DCX: data/command selection; LCD-NCS: chip select; LCD-RST: reset)
* General touch screen auxiliary signals (including TP-INT: touch/interrupt signal output, TP-CS: chip select)
* General storage device auxiliary signals (CARD-CS: SD card select, MEM-CS: font/SPI-Flash chip select)
* E-ink screen dedicated signal (BUSY: ink screen refresh/busy signal)
* One PWM signal for backlight
* 2 GPIOs for other optional functions
* 5V power supply
Figure: The original EYE-SPI interface, the picture comes from Adafruit [OLED Breakout Board](https://www.adafruit.com/product/1431)
![adafruit-eye-spi.png]
Although the original version has sufficient functions, the only 5V power supply is obviously not convenient enough for most display modules working at 3.3V (power supply needs to be provided by a built-in buck, which obviously increases the cost and complexity). Moreover, a single 5V power supply line seems to be a bit powerless when facing the high-current backlight required by large displays.
In response to the above problems, I designed the EYE-SPI-PE interface, changing the original 18-pin 0.5mmFPC header to a 22-pin 0.5mmFPC header. The following functions are provided through the extra 4 wires
* Two wires are used for VCC system power output (maximum no more than 0.3A)
* Two wires are used for GND matching power output (return)
In this way, low-power display modules using 3.3V can directly draw power from VCC without having to bring their own buck. Modules with higher energy consumption can draw power from both 5V and VCC power supplies to obtain higher current.
Because the extra 4 wires are distributed in pairs on both sides of the original EYE-SPI interface, if you need to maintain full compatibility with the original EYE-SPI interface, you only need to solder the 18-pin FPC header on the 22-pin FPC header pad. The existing pad design is compatible with these two different widths of FPC headers.
At present, among my personal open source display modules, the following modules have provided EYE-SPI-PE support:
* [2.4-inch TFT touch screen module with font library](https://oshwhub.com/micespring/2R4inch-TFT-Module-T)
# Picture
### Run NES emulator
![G070RB-NES-DEMO.gif]
### 3D rendering test
![G070RB-3D-DEMO.gif]
### EYE-SPI-PE touch screen test
![G070RB-TP-Demo.gif]
### Front of the development board
![front.png]
### The back of the development board
![back.png]