Skip to the content
PCBKitNew board
2 layers50 × 50 mmEyore test, the printed circuit board in 3D

ESP8266 hardware test assembly for esp-open-rtos

Size
50 × 50 mm
Copper layers
2
Thickness
1.6 mm
Parts
36
Nets
46
Pads
187
Tracks, vias
952, 141
Pours
3
Routed
Yes
KiCad
KiCad 4
Created
29 Oct 2015
Updated
1 Mar 2016

Overview

Eyore test is an open-source printed circuit board by projectgus, from the projectgus/eyore-test repository on GitHub. It is a 2-layer board of 50 × 50 mm with 36 parts on 46 nets, routed with 952 tracks and 141 vias.

It is built around the STM32F072C8T6, ESP-12E and LD1117S33CTR-HXY, with the BLM18KG121TN1D among its other parts. Its parts include 11 capacitors, 7 resistors, 4 ICs, 3 connectors and 3 inductors. It belongs with the ESP8266 and STM32 boards of this library.

Main components

4

README

README.md

Eyore-Test

A hardware design for running automated tests against the esp-open-rtos ESP8266-based software framework.

Major Components

  • 2x ESP-12E ESP8266 processor modules, to run tests on. Named A & B.
  • 1x STM32F072C8 Cortex M0 microcontroller - acts as USB serial for programming & monitoring, also provides a "programmable peripheral" to test against.
  • Host computer with esp-open-rtos source tree, including host test program (test_runner.py).

Cost

Aim is for total BOM cost under $12US for small quantities, all inclusive.

Functional Description

Programming/Initialisation

STM32F072 acts as USB device (dual CDC ACM serial port). STM32 USART1 connects to ESP A's TX/RX pins, USART2 to ESP B TX/RX pins.

Other STM32 I/O pins are wired to drive RESET and GPIO0 on both ESP A & ESP B. This allows the STM32 to reset the ESPs & select either serial bootloading or normal operation.

The USB CDC interface provides a "NodeMCU-compatible" reset protocol that works with esptool.py - asserting DTR pulls down GPIO0, asserting RTS pulls down RESET, but asserting both DTR and RTS together does nothing.

ESP A / ESP B Connections

These connections match the "dual" configuration mentioned in the esp-open-rtos test_setup docs. These allow the ESPs to interact with each other during tests.

This part of the test setup can be reproduced on a breadboard fairly easily.

ESP A & B have the following interconncted pins, all via 220 ohm resistors for short circuit protection:

ESP A | ESP B | Function ----- | ------ -------- 2 | 2 | 4 | 4 | 5 | 5 | 12 | 12 | 13 | 15 | ESP UART RX/TX "swapped" 15 | 13 | ESP UART TX/RX "swapped" 14 | 14 |

Note that GPIOs on ESP A are also connected to the STM32.

ESP A / STM32 Connections

To allow peripheral testing between ESP A and an independent microcontroller, some STM32 peripherals are connected to ESP A peripherals:

ESP A InterfaceESP GPIOsSTM32 InterfaceESP Pins
Software i2c4, 5I2C1PB6, PB7 [1]
HSPI12-15SPI1PA4-PA7
I2S Input14(WS),13(BCK),12(DAT)I2S1PA15, PB3, PB5
I2S Output2(WS),3(DAT),14(CLK)N/A (bit-bang)PB11, PA9, PA4 [2]
SPI (flash intf)SPI2PB12..PB15 [3]
ADC (TOUT)TOUTGPIO (bit-bang)PA0 & PB4 [4]

[1] I2C1 slave is the only STM32 interface enabled after reset, and is the protocol used for the ESP itself to configure the STM32 as a "programmable peripheral".

[2] ESP I2S output is not wired to a I2S peripheral on the STM32. However STM32 can bit-bang reading of the I2S output (at slow clock speeds).

[3] Not used due to hardware bug: On Rev 1.0 of eyore-test the SPI2 NSS pin (slave select) is wired to the CS line of the ESP module, which is the CS line for the ESP's SPI flash. The other SPI2 NSS pin is not connected in this revision.

[4] TOUT pin is connected directly to STM ADC pin PA0. TOUT is also connected to PB4 via an RC network, so PB4 can be used as a low-fi DAC, PWMing a voltage for the ADC to read.

Programmable Peripheral Interface

As part of each test, ESP A can configure the STM32 peripherals via the I2C interface.

Actual I2C protocol/register details are TBD, likely to be incremental features.

STM32 Firmware

STM32 has a USB DFU bootloader in ROM. "Flash" button and jumper are provided to access this bootloader on power-on. SWD port is also provided for external programming/debugging if necessary.

Name

I've seen esp-open-rtos abbreviated to "e-o-r", and I tend to read that as "Eyore". :)

Parts

36
QtyValueFootprintReferences
522uF X5R 16VFT:1210_CAPC1, C2, C5, C8, C9
4100nF 6.3VFT:0603_CAPC6, C7, C10, C11
3BLM18KG121TN1DFT:0603L1, L2, L3
3TESTPOINTFT:1X01TP1, TP2, TP3
3VAL**Connect:1pin1pin, 1pin, 1pin
210KFT:0603R6, R7
2220RFT:RES_CAY16R3, R5
2ESP-12EESP:ESP-12EU3, U4
2SW_PUSHBUTTONFT:SW_PUSHBUTTON_SMDSW1, SW2
1100KFT:0603R1
1100nFFT:0603_CAPC3
110KFT:RES_CAY16R4
11uF 6.3VFT:0603_CAPC4
147KFT:0603R2
1CONN_01X02FT:1X02P3
1CONN_01X04FT:1X04P2
1LD1117S33CTRSOT-223U1
1STM32F072C8Housings_QFP:LQFP-48_7x7mm_Pitch0.5mmU2
1USB_5PIN_SHELLFT:USB-MICRO-5pin_PTHMOUNTP1

Questions

How big is the Eyore test PCB?

It measures 50 × 50 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Eyore test use?

36 parts, built around the STM32F072C8T6, ESP-12E, LD1117S33CTR-HXY and BLM18KG121TN1D. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Eyore test KiCad files?

From the projectgus/eyore-test repository on GitHub, at the commit this page was made from: the board is eyore-test.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Eyore test design in my own project?

Its repository states no licence, so its author keeps all rights: ask projectgus before reusing the design.

Similar boards

  • 2 layers95.3 × 53.3 mmPoplock v1, the printed circuit board in 3D

    Poplock v1

    fabriciorit/projeto-poplock

    62 partsMIT
  • 2 layers64.8 × 36.8 mmLamps, the printed circuit board in 3D

    Lamps

    rmd6502/NodeMCULights

    Lamp controller using MQTT and NodeMCU

    24 partsMIT
  • 2 layers35 × 57.5 mmEsp 18b20, the printed circuit board in 3D

    Esp 18b20

    eskrut/kicadProject

    14 parts
  • 2 layers36.8 × 41.3 mmEsp8266, the printed circuit board in 3D

    Esp8266

    tuankiet65/pnc-modules

    15 parts
  • 2 layers82.8 × 63 mmBldc BMS, the printed circuit board in 3D

    Bldc BMS

    mpater/bldc-BMS

    Battery management system for a VESC

    175 parts26
  • 2 layers50 × 75 mmLocalTrack, the printed circuit board in 3D

    LocalTrack

    krakrukra/LocalTrack

    OSHW GPS Tracker (Logger)

    63 parts18MIT
  • 2 layers26.1 × 15 mmUsb2can pcb, the printed circuit board in 3D

    Usb2can pcb

    myaki-moe/usb2can

    A compact and low cost open source USB to CAN bus adaptor. 紧凑且低成本的开源USB到CAN总线适配器

    19 parts10GPL-3.0
  • 2 layers50 × 100 mmActiveLoad, the printed circuit board in 3D

    ActiveLoad

    ahessling/ActiveLoad

    Small 12 Watt Active Load (dummy load) with STM32 microcontroller

    83 parts5MIT