Monthly Archives: November 2019

Bringup of ESP32 Gateway Board

Arduino

Introduction

Here is one more blog where the ESP32 Gateway bring up is displayed along with a video.

The ESP32 Gateway Board described here would be tested and its bring-up would be shown. Here is the block diagram of the board:

Block diagram gateway

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bringup Steps

Here are some of the bring-up steps followed for testing:
1. Visual inspection: Quick check to ensure that all components are soldered as per the orientation and visual shorts exist.
2. Power and clock check: Quick power test on the PCB to check for open short test. Using the multimeter to quickly test the 3.3V and 5V supply. The clock output from the oscillator was tested at 50Mhz.
3. USB connection: USB cable was connected to the J10 port. 5V and 3.3V supply was good on the board and coming at test points. Checked on oscilloscope to measure voltage ripple which is under 5%.
4. Reset check: The reset was asserted and de-asserted by TPS3895 as expected.
5. USB to UART connections: An external board was used to connect the ESP32 UART port to USB Port on the board.
6. ESP32 detection: The factory programmed ESP32 comes with the Wifi stack and can be easily detected as the WIFI host with the name ESP32. If the ESP32 is out of reset it would show esp32 wifi LAN which can be connected to. It again indicates it is alive and functional.
7. LED programming: Ardunio was selected to test the board as it is easy to program and most of the drivers are easily available. Programmed the LED program to test the led and also testing the programming sequence of JP1.
8. Switch detection: Next quick program which detects switch press and led lighting up.
9. Mounting the Click board: Mounted the ADXL345 accelerometer from Mikro Electronica on the click connector. The LED on accel click switches on and the supply stays stable for 3.3v and 5v.
10. Testing of i2c interface: Detected the device at 0x1d and 0x51. Read through the register values and moved the boards to check the accelerometer output.

i2c_scanner_Gatway

 

 

 

 

 

 

 

 

 

 

11. Testing of spi interface: Changed the Mikroe Accell click board to spi mode and tested the spi operation on the board using ESP32 module.
12. Testing other examples with esp32: The board was tested with other software examples specified at the Sparkfun website to check for power, operation, and functionality.
13. Testing of LAN8710 device. The device was detected using the MDC/MDIO pins. Ethernet cord was connected to the port and the activity led blink was observed. More tests are underway on the board.

Here is the link to the video of the board displaying power-up status detecting i2c devices on board and on module. The next video would contain some additional tests with ethernet port. Arduino code used with the esp32 rapid development click board is available at link.

Additional read:

  1. ESP32 Gateway Board Design using Circuit Tree
  2. Custom board development with Arduino.

Bringup of ESP32 Click Board

Introduction

In this blog, we describe how are our boards are hardware tested after prototypes are available. This testing is done to ensure that the boards designed work and work as per requirements.

The ESP32 click Board described here would be tested and its bring-up would be shown. Here is the block diagram of the board:

ESP32 Block diagram

ESP32 Block diagram

 

 

 

 

 

 

 

 

 

 

 

 

 

Bringup Steps

Here are some of the bring-up steps followed for testing:
1. Visual inspection: Quick check to ensure that all components are soldered as per the orientation and visual shorts exist.
2. Power check: Quick power test on the PCB to check for open short test. Using the multimeter to quickly test the 3.3V and 5V supply.
3. USB connection: USB cable was connected to the J10 port. 5V and 3.3V supply was good on the board and coming at test points. Checked on oscilloscope to measure voltage ripple which is under 5%.
4. Reset check: The reset was asserted and de-asserted by TPS3895 as expected.
5. FT232 Driver detection: The device was quickly found on the laptop and the driver was easily found on the web. This indicates that the USB to UART device ft232 is functioning correctly.
6. ESP32 detection: The factory programmed ESP32 comes with the Wifi stack and can be easily detected as the WIFI host with the name ESP32. If the ESP32 is out of reset it would show esp32 wifi LAN which can be connected to. It again indicates it is alive and functional.
7. LED programming: Ardunio was selected to test the board as it is easy to program and most of the drivers are easily available. Programmed the LED program to test the led and also testing the programming sequence of JP1.
8. Switch detection: Next quick program which detects switch press and led lighting up.
9. Mounting the Click board: Mounted the ADXL345 accelerometer from Mikro Electronica on the click connector. The LED on accel click switches on and the supply stays stable for 3.3v and 5v.
10. Testing of i2c interface: Detected the device at 0x1d. Read through the register values and moved the boards to check the accelerometer output.

i2c_device_detected

 

 

 

 

 

 

 

 

 

 

 

 

11. Testing of spi interface: Changed the Mikroe Accell click board to spi mode and tested the spi operation on the board using ESP32 module.
12. Testing other examples with esp32: The board was tested with other software examples specified at the Sparkfun website to check for power, operation, and functionality.
13. Testing of battery charging and functionality. The battery of 220mA was connected to the battery connector and charged. The voltage was measured on the port. Shortly afterward the battery-powered operation was tested.

Bring up and the testing of the board were fun and quite enriching as with each board it brings pleasure to see circuit tree platform getting mature.

Here is the link to the video of the board displaying power-up status reading accelerometer data from the module. Arduino code used with the esp32 rapid development click board is available at link

Additional read:

  1. ESP32 Rapid Development Kit Design using Circuit Tree
  2. Custom board development with Arduino.

Custom ESP32 Board bringup with Ardunio

Challenges:

Ever wondered how you would support the Arduino platform bring up when your custom board is different than the ExpressIF devC board. If you have just started working on the platform here are the top three challenges you would come across:
1. Arduino pin numbers mapping with board pins.

Ardunio maps the pins based on the GPIO’s of the ESP32. Many a time young engineers get stuck when they create software and it does not work.

2. Program and reset the assertion sequence on the board.

ESP32 needs the GPIO0 set to low so that ESP32 can enter in the program state. This is done at power-up and after programming, the GPIO0 pins need to be driven high.

Failed_to_connect_to_ESP32

 

 

 

 

 

 

 

3. Pins numbers different than Ardunio standard pins.

Ever wondered if the i2c pins or other function pins are different than the Arduino defined pins on board. For instance, esp32 assumes that the i2c pins are set at 5, 6 by default always. Most of the young engineers do wonder how they would connect the pins which in case of esp32 click board was on 22 and 23. For i2c the code attached can be used to quickly scan the i2c bus.