EJA M v1.0 - Schematic and PCB Design

A project log for 2021 HDP Dream Team: EJA

Learn more about Team EJA's intelligent buoy, and how their solution will help the global fight against ghost gear.

Leonardo WardLeonardo Ward 09/15/2021 at 16:430 Comments

We have a brand new PCB design, the EJA M v1.0 will replace our previous designs, it can be used as the Buoy or as the Onboard Gateway. The design includes the following features:

The design can be found in the following Github repository.

This log contains a more detailed description about the implementation of the different features in the design.

USB C Port with Electromagnetic Compatibility (EMC)

Everything starts with the USB C port, we have chosen this type of USB because it's size and because of the growing trend of using this port to charge and communicate with portable devices. 

We have included Transient Voltage Suppression (TVS) diodes and Ferrite Beads to reduce the Electromagnetic Interference (EMI). These protections for the USB port will add compliance with the EMC regulations and standards from the  Federal Communications Commission (FCC) and the European Union.   


The design includes the FT260S-U, a USB TO UART/I2C FTDI that will be used to program the ESP32.

Auto Reset Circuit for the ESP32 

The design includes an auto reset circuit that uses RTS and DTR to reset and put in bootloader mode the ESP32. For more information about this circuit, these blogs [1] [2] can be useful.


The main microcontroller in the PCB is the ESP32, the following image shows the signals dedicated to the different pins. The ESP32 is connected to the FTDI, a GPS, a LoRa transceiver, a connector for a servo motor, a real-time clock, a circuit to measure the battery level, a connector for an accelerometer, and a few headers to provide access for the unused peripherals.


The selected GPS is the ATGM332D-5N31, one the modules tested previously in our Development Board for GPS Modules. The schematic is very simple, it has a decoupling capacitors (C2), a U.FL connector for an external antenna (J4) and a Coin Cell Battery Holder (J2).


The selected LoRa transceiver is the RFM95W-915S2, the same module tested in our Development Board for LoRa. The schematic contains a U.FL connector for an external antenna (J9).

Real-time Clock (RTC)

The design includes a dedicated RTC, the DS3231M.

Servo Motor Connector

There is a 1x3 header connector for a Servo Motor, the 5V for the servo is provided by a 5V 2A Stepup.

5V 2A Stepup

The design includes the TPS61030PWR, a boost converter with a 4A switch current, to provide the 5V for the Servo motor. The schematic contains the components for a 5V 2A output, following the design procedure that starts on the page 13 in the datasheet. 

Accelerometer Connector

There is a connector for the ADXL343 3 axis accelerometer, a 1x9 header was used even though it only manages the signals VDD, GND, SCL and SDA, in case we want to use more connections for the accelerometer in future versions.

Battery Charging Circuit 

To charge the 3.3V battery the design includes the TP4056, a 1A Standalone Linear Li-lon Battery Charger. The schematic includes a green led to show the user that the battery is charged and a red led to show the user that the battery is charging. There is a Battery Holder for a 18650 battery (J5) and an additional 1x2 header (J7) in case we want to use a different 3.3V battery.  There is also a 1x2 header (J3) to use a different type of connection for the charger (instead of the USB C), for example we can connect and test a QI Wireless Charger.

Battery Level

The design contains a circuit to measure a battery level, it is a simple resistor divider calculated for a range of 2.7V to 4.2V, the normal range for the 18650 Li-Ion Battery that will be used in the design.

Those values for the resistor divider give the following range for the ADC:

That means that the ADC from the ESP32 will be reading analog values from 1.92V to 2.99V from the battery measurement circuit.

For more information about measuring lithium battery voltage visit the following link.

3.3V 3A SEPIC Converter

Since the voltage of the battery can change from 2.7V (discharged) to 4.2V (charged), a SEPIC converter is included to provide a constant 3.3V to the digital circuits regardless of the changes in the input voltage from the battery. The selected SEPIC converter is the LTC3113EFE#TRPBF.

Note: The resistor R32 is a jumper that connects VDD to 3V3. R33 is a jumper that connects VDD to the battery. Do not solder both at the same time, it will create a short circuit between 3.3V from the SEPIC and the voltage from the battery. R32 and R33 are included just in case the SEPIC converter doesn't work and we have to connect the circuit directly to the battery.

Summary: Do not solder R33.


There is  Green Led that turns on with the 3.3V from the SEPIC converter, it will notify the user/developer that the device is ON or OFF.

ON/OFF Button Circuit

The design contains a LTC2954ITS8-1#TRPBF, a pushbutton ON/OFF controller that manages the power supply (enables the 3.3V SEPIC) via a pushbutton interface.

Extra Header

The design includes an 1x06 header to provide access for some of the unused pins in the ESP32.

PCB Dimensions and Boundaries

The dimensions of the PCB are dictated by the maximum available space inside the buoy, from the enclosure design we where able to define the size of the PCB: 97.5 mm x 51.2 mm. 

In the back layer there is a restricted region, that can't contain any components because the PCB is directly in contact with the enclosure in that region, those are the boundaries of the back layer. Through hole footprints where not be placed in that section, even if the footprint is placed in the front layer.

Final PCB

The following images show the front and back layers of the PCB.