Skip to the content
PCBKitNew board
2 layers65 × 56 mmRobocarsHat, the printed circuit board in 3D

The Hat combines : - LM2596 or xl4005 DSN5000 based DC/DC converter to power everything from a single battery (7-15V, NiMh or LiPo 2S/3S), through GPIO or through dedicated connector.

Size
65 × 56 mm
Copper layers
2
Thickness
1.6 mm
Parts
39
Nets
31
Pads
165
Tracks, vias
503, 12
Pours
4
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
6 Oct 2021
Updated
29 Nov 2021

Overview

RobocarsHat is an open-source printed circuit board by btrinite, from the btrinite/robocars_hat_hw repository on GitHub, published under the MIT licence. It is a 2-layer board of 65 × 56 mm with 39 parts on 31 nets, routed with 503 tracks and 12 vias.

It is built around the LM2596S-5.0, BSS138 and WS2812B. Its parts include 11 resistors, 6 connectors, 2 ICs, 2 transistors and 1 capacitor. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

3

README

README.md

This repository contains the hardware part of the DIYRobocarsFr Hat.

Intro

This Hat is designed for Raspberry Pi 3/4, Jetson Nano or any other SBC implementing the well known 'rpi' GPIO connector. This Hat provides various interfaces between SBC (Single Board Controler) and hardware to easely build an autonomous small scale RC-style car. A typical example of such build is the Donkey car

DIY Robocars FR Hat

The Hat combines :

  • LM2596 or xl4005 DSN5000 based DC/DC converter to power everything from a single battery (7-15V, NiMh or LiPo 2S/3S), through GPIO or through dedicated connector.
  • Arduino pro mini 5V 16Mhz, which drive I/O (PWM Inpput/output, Ultrasonic sensor, RPM sensor, ...). 5V version is prefered since most of the sensors works at 5v.
  • Serial communication link between Arduino and SBC through GPIO pin 8 and 10, with level shift 5v/3.3V
  • Tension divider bridge for Battery monitoring
  • RBG Led to display status
  • compatibility (stackable) with Arducam CamArray

The Hat has the following I/O :

  • 40 pin header GPIO compatible with Raspberry PI and Nvidia Jetson with UART0 wired to the arduino through level shift
  • 3 Battery power in connectors (2 wires, 3 wires or 4 wires)
  • 2 PWM Inputss to connect RC Receiver (Throttle and Steering input)
  • 2 PWM Outputs to connect drive train (ESC and Servo, for Throttle and Steering output)
  • 2 PWM Aux Inputs/Outputs
  • 1 input for RPM sensor
  • 1 input for UltraSOund sensor
  • Aux connector for additional power output (5V and 3.3V) and to stack ArduCam CamArray
  • WS2812B compatible output to control more RGB Led

The follwing jumpers are provided for convenience :

  • 5V to GPIO : to inject 5V power supply to the Host through GPIO connector (to power Raspberry or Jetson Nano from the main Battery). For other Hosts, please check documentation
  • UART0 RX/TX Jumper : Usually, you need those jumpers since all communication between Host and Hat goes through this UART. Removing those jumpers could be needed to isolate Arduino UART while re-flashing it (especially if Host is powered on at flahsing time).

Wiring

A typical wiring of the Hat is shown below :

Hat Wiring

Schematic

Consult Schematics.pdf

Note on PWM Block

Power supply

Hat does not provide power supply through PWM Inputs/Outpus. It is usualy duty of the motor controller (ESC) which feature a BEC. This is to avoid mixing logic and actuators on the same power source. It means that as long as ESC is not connected and switchded on, Servo and RX Receiver will not be powered.

output Idle signal

In the current implementation,

  • First, as soon as the Hat is powered, a default Idle signal is driven (1,5ms pulse width) This default idle signal could differ from the one you could have when doing calibration.

  • Second, many ESC will autocalibrate to this idle signal at startup time (when switched on)

If you are in that case, it is recommanded to switch on the ESC only after the main application is up and running.

Dependencies

Third party components libraries needed :

Firmware

Source

Firmware to upload to the Arduino ca be found here

Flash firmware

To flash firmware, you need to connect a 5V FTDI adaptor featuring DTR signal and use Arduino IDE to flash/upload the content. Do not forget to solder Pin header connector on Arduino Pins dedicated for uploading/flash purpose. You can find more informations here

Troubleshooting

Loopback test (only applicable when using SimpleSerial protocol version of the firmware)

SimpleSerial protocol messages that carry throttle and steering are almost symetrical. Thus, if you loopback the serial comunication (RX wired to TX), the Hat will work in loopback mode. Throttle/Steering orders received from RX Receiver will be used to drive Throttle/Steering output.

Loopback mode is achieved by :

  • removing Rx/Tx jumpers to decouple UART signal from Host
  • Wiring Rx and Tx together

This is illsutrated below :

DIY Robocars FR Hat

Example of integration

Modified Donkeycar software with integration of the DIYRobocarsFr Hat is available here

Credits

Based on https://github.com/devbisme/RPi_Hat_Template

Parts

39
QtyValueFootprintReferences
8Conn_01x03_MaleConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalAux1, Aux2, InSpeed1, InSteer1, InThro1, OutLED1, OutSteer1, OutThro1
4RPi_Hat:RPi_Hat_Mounting_Hole, , ,
410KResistor_SMD:R_0603_1608MetricR1, R6, R9, R11
3100kResistor_SMD:R_0603_1608MetricR2, R5, R8
310kResistor_SMD:R_0603_1608MetricR4, R7, R10
2BSS138Package_TO_SOT_SMD:SOT-23Q1, Q2
2Conn_01x02_MaleConnector_PinHeader_2.54mm:PinHeader_2x01_P2.54mm_VerticalJ4, J5
1100nFCapacitor_SMD:C_0805_2012MetricC3
1150RResistor_SMD:R_0603_1608MetricR3
1Arduino_Pro_MiniArduino:Arduino_Pro_MiniU3
1Conn_01x02_MaleConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ6
1Conn_01x04_MaleConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalInUS1
1LM2596LM2596:YAAJ_DCDC_StepDown_LM2596U2
1PWOutPin_Headers:Pin_Header_Straight_2x03_Pitch2.54mmJ3
1PWOut/CamarrayPin_Headers:Pin_Header_Straight_2x03_Pitch2.54mmJ2
1PWR1Connector_Wire:SolderWirePad_1x02_P5.08mm_Drill1.5mmPWR1
1PWR2Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_VerticalBal2C1
1PWR3Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_VerticalBal3C1
1RPi_GPIORPi_Hat:Pin_Header_Straight_2x20J1
1WS2812BLED_SMD:LED_WS2812B_PLCC4_5.0x5.0mm_P3.2mmD1

Questions

How big is the RobocarsHat PCB?

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

What parts does the RobocarsHat use?

39 parts, built around the LM2596S-5.0, BSS138 and WS2812B. 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 RobocarsHat KiCad files?

From the btrinite/robocars_hat_hw repository on GitHub, at the commit this page was made from: the board is RobocarsHat.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the RobocarsHat design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers172.5 × 392 mmEsp32 midi, the printed circuit board in 3D

    Esp32 midi

    0xFEEDC0DE64/esp-midi-board

    ESP32 usb midi controller

    444 parts1
  • 4 layers95 × 95 mmCube motherboard, the printed circuit board in 3D

    Cube motherboard

    willem-pennings/balancing-cube

    A cube that balances itself in a corner or edge using reaction wheels

    52 parts1.1kGPL-3.0
  • 4 layers100 × 49.8 mmExpansion board, the printed circuit board in 3D

    Expansion board

    reubenstr/zuko

    A quadruped robot dog!

    75 parts51MIT
  • 2 layers100 × 100 mmLed controller v5, the printed circuit board in 3D

    Led controller v5

    jacob-jarick/esp-solar-contoller

    esp8266 and esp32 based solar controllers targetting fronius inverter users

    119 parts5GPL-3.0
  • 2 layers75.9 × 42 mmDecoder esp32 rev1, the printed circuit board in 3D

    Decoder esp32 rev1

    jelgerlemmens/ToyTrainESP32

    ESP32-C3 WiFi DCC decoder firmware and KiCad PCB design

    53 parts
  • 6 layers150 × 130 mmRadCheck SDRAM, the printed circuit board in 3D

    RadCheck SDRAM

    jmh8231-Dev/agissat-hw-2025

    AgisSAT-Hardware

    323 parts
  • 2 layers167 × 117 mmPCB Capstone, the printed circuit board in 3D

    PCB Capstone

    Minh-Nguyen-CEAA/PCB-Capstone-Project-Kicad

    Design and development of a 24VDC motor control board using STM32F411, integrated with ESP32 communication, ICM-20948 IMU sensor, UWB positioning module, and dual buck converters (5V & 3.3V) for embedded robotic…

    47 parts
  • 2 layers86 × 117 mmMotherBoard V2.1, the printed circuit board in 3D

    MotherBoard V2.1

    Montufar/Hexagro_MBV2.1

    Schematic, BOM and PCB layout of V2.1 Motherboard

    183 parts