Skip to content
This repository has been archived by the owner on Feb 25, 2021. It is now read-only.

An IO-PCB (two motor-driver/H-bridge, CAN, RS232, ADS1115, relay, ethernet, ardusimple f9p compatible connector) with an ESP32 for 12V power, three 15V tolerant analog inputs, three 5V tolerant inputs.

License

Notifications You must be signed in to change notification settings

doppelgrau/esp32-f9p-io-board

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP32 F9P IO board

This PCB is a versatile IO plattform that provides computing power (ESP32) and IO interfaces to build GPS/RTK applications.

Hardware Overview

  • Power supply:
    • Input 9V-28V (labeld 12V on the board), external connection on J4.
    • Protected against wrong polarity (Diode D7 parallel to the relay K1)
    • Reduced inrush current (resistors R15/16 in serie with the starting diode D7 before the relay K1 closes and shortens the path).
    • V78E05-1000 (step down converter) PS1 generates 5V
    • AZ1117-3.3 LDO U2 generates 3V from the 5V supply.
    • 12A (slow) fuse soldered on the board. Recommended to use a 10A external fuse.
  • ESP32-WROOM-32 U1 for computing-power, wifi, Bluetooth
  • Arduino headers for the simpleRTK2B-F9P (uart 1 of the F9P connected)
  • Serial interfaces
    • one uart (IO13/14) on the Arduino headers for the F9P
    • one uart (IO0/2) next to the arduino headers on two pins (J2) for the new simpleRTK2Blight. Since the two pins have a special meaning during boot, pulling TX to GND during startup results in the ESP going into programming mode.
    • one uart (IO15/16) for RS232 on the D-Sub connector J16
    • one uart (IO1/3) on the USB-Uart converter (J14) - Also supports programming with "RTS/DTR"
  • I2C (IO32/33)
    • I2C with 3.3V logic level (J8 pin header, J13,17 qwiic connector)
    • I2C with 5V logic level (J7 pin header)
    • internal used adresses:
      • 0x1C - Magnetometer part of the LSM9DS1 (U12)
      • 0x43 - FXL6408 port extender (IC 1)
      • 0x48 - ADS1115 (U4)
      • 0x6A - Accelerometer part of the LSM9DS1 (U12)
  • CAN bus
    • Tranceiver (U2) + ESP32 integrated controler (TX IO5, RX IO35)
    • Termination resistor and sending messages can/must both be enabled with a jumper on J12
    • external connection J18
  • Ethernet:
    • internal MAC, connected to LAN8720A on IO17,18,19,21,22,23,25,26,27
      • IO17 Clock
      • IO18 MDIO
      • IO23 MDC
    • PHY-Reset controlled with FXL6408-GPI01
    • ETH-Address of the LAN8720: 0
  • IMU: 9 Axis, LSM9DS1 (U12). Magnetometer needs iron correction to be usable.
  • Outputs
    • One H-bridge/motordriver with two VNH7070AS (U3/5), (PWM IO4, FXL6408-GPIO6/7 direction). External connected on J4
    • One H-bridge/motordriver with one VNH7070AS (U9), (PWM IO12, FXL6408-GPI04/5 direction), external connected on J3
    • One Relay (K2) controlled on FXL6408-GPI03, external connected on J3
    • One status LED (D2) controlled on FXL6408-GPI02
  • Inputs
    • Three 15V tolerant (analog) inputs IO34, SENSOR_VN/36, SENSOR_VP/39, external connected on J1
    • Three 5V tolerant (analog) inputs on the ADS1115, first two cann be used to measure differential. Number four is hardwired to VCC/5V. External connected on J5
    • One Button (e.g. for entering configuration mode), on FXL6408-GPI00
  • Connectors:
    • J1 - 6 pin PTSM header. 15V tolerant inputs and 12V for easy cabeling if used as switch
    • J2 - 2 Pin Uart
    • J3 - 7 pin PTSM header. Outputs of second H-bridge, two times ground (for using as two half bridges) and the three pins for the relay (comm, no, nc)
    • J4 - 4 pin CCA header. Power input and output of the first motor driver/h-bridge
    • J5 - 5 pin PTSM header. Three ADS1115 inputs, 5V and GND for easy cabeling (e.g. linear potentiometer)
    • J7 - 4 pin header. I2C 5V logic level + GND and 5V
    • J8 - 4 pin header. I2C 3V3 logic level + GND and 3V3
    • J9, J10, J11 - 8 pin header. Socket for the simpleRTK2B F9P
    • J12 - 2x2 horizontal pin header. Used for jumpers to enable CAN termination and/or CAN TX
    • J13, J17 - qwiic connector. I2C 3V3
    • J14 - micro USB connector. Can power 5V and 3V3 part of the PCB. Electricaly not isolated! Used for programming the ESP32
    • J15 - RJ45 ethernet connector
    • J16 - D-Sub connector (male). RS232
    • J18 - 2 pin PTSM header. CAN bus

About

An IO-PCB (two motor-driver/H-bridge, CAN, RS232, ADS1115, relay, ethernet, ardusimple f9p compatible connector) with an ESP32 for 12V power, three 15V tolerant analog inputs, three 5V tolerant inputs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published