Skip to the content
4 layers63 × 72.8 mmSide Project, the printed circuit board in 3D

A compact vehicle-mounted prototype that uses LiDAR ranging and wireless communication to warn a driver when an object is detected ahead.

Size
63 × 72.8 mm
Copper layers
4
Thickness
1.6 mm
Parts
38
Nets
53
Pads
150
Tracks, vias
285, 29
Pours
3
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
20 Jul 2026
Updated
28 Aug 2026

Overview

Side Project is an open-source printed circuit board by gmalberico, from the gmalberico/Vehicle-Forward-Warning-Sensor-Project repository on GitHub. It is a 4-layer board of 63 × 72.8 mm with 38 parts on 53 nets, routed with 285 tracks and 29 vias.

It is built around the NRF24L01P-MODULE-PCB, BQ25306RTER and MAX706RESA+T, with the TMUX1574DYY and OSTTC022162 among its other parts. Its parts include 16 resistors, 7 capacitors, 4 ICs, 1 diode and 1 connector. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

5

README

README.md

Wireless Forward-Obstacle Warning System

A compact vehicle-mounted prototype that uses LiDAR ranging and wireless communication to warn a driver when an object is detected ahead.

The system is split into two units:

  • A sensor/transmitter unit mounted toward the front of the vehicle
  • A receiver/warning unit located near the driver

The sensor unit measures distance using a TF-Luna LiDAR, processes the reading with an Arduino Nano, and transmits warning data over an nRF24L01 radio link. The receiver listens for the message and activates an indicator when an obstacle is inside the configured warning range.

Status: Active hardware and firmware development


System Overview

text
TF-Luna LiDAR
      |
      | I2C
      v
Arduino Nano
      |
      | SPI
      v
nRF24L01 Transmitter
      |
      | 2.4 GHz wireless link
      v
nRF24L01 Receiver
      |
      | SPI
      v
Arduino Nano
      |
      v
Warning Indicator

The sensor node is intended to operate from a rechargeable battery charged by a small solar panel.


Features

  • Forward distance measurement using a TF-Luna LiDAR
  • Wireless warning transmission using nRF24L01 modules
  • Arduino Nano-based control on both ends
  • Packet acknowledgement support
  • Configurable distance threshold
  • Receiver-side warning LED
  • Solar-assisted battery charging
  • Custom PCB development in KiCad
  • Separate radio, LiDAR, power, and firmware test configurations

Hardware

Sensor / Transmitter Unit

  • Arduino Nano V3
  • DFRobot TF-Luna ToF Micro Single-Point Ranging LiDAR
  • nRF24L01 2.4 GHz transceiver
  • TI BQ25306 battery charger
  • Two-cell rechargeable battery system
  • DFRobot FIT0330 9 V, 600 mA solar panel
  • 3.3 V regulation for the radio
  • External LiDAR connector
  • Charging-status LED
  • Custom PCB

Receiver Unit

  • Arduino Nano V3
  • nRF24L01 2.4 GHz transceiver
  • Warning LED or other indicator
  • Regulated power source

Electrical Interfaces

TF-Luna LiDAR

The TF-Luna is used as an off-board sensor head.

SignalConnection
Power5 V
GroundGND
SDAArduino Nano A4
SCLArduino Nano A5

The I2C bus uses approximately 3 kΩ pull-up resistors to 3.3 V.

nRF24L01

The nRF24L01 communicates with the Arduino Nano over SPI.

nRF24L01 PinArduino Nano
VCCRegulated 3.3 V
GNDGND
CEFirmware-defined GPIO
CSNFirmware-defined GPIO
SCKD13
MOSID11
MISOD12
IRQOptional

The nRF24L01 must be powered from a stable 3.3 V rail. A local bypass capacitor should be placed close to the module.

Do not connect 5 V directly to the nRF24L01 VCC pin.


Battery Charging System

The sensor node uses a TI BQ25306 charger configured for a two-cell Li-ion battery.

Current design values include:

ParameterValue
Charge voltageApproximately 8.4 V
Feedback upper resistor1.33 MΩ
Feedback lower resistor200 kΩ
BAT-to-FB capacitor470 pF
Inductor2.2 µH
BAT capacitor10 µF
PMID capacitor10 µF
VBUS capacitor2.2 µF
REGN capacitor2.2 µF
Charge-current resistor78.7 kΩ

The selected 9 V, 600 mA solar panel is electrically compatible with the charger, but available charging current depends strongly on lighting conditions and panel orientation.


Firmware Operation

Transmitter

The transmitter firmware is intended to:

  1. Initialize the TF-Luna and nRF24L01.
  2. Read the measured distance.
  3. Compare the distance with the warning threshold.
  4. Transmit the distance and warning state.
  5. Check for a returned acknowledgement.
  6. Indicate successful or failed transmission when required.

Receiver

The receiver firmware is intended to:

  1. Initialize the nRF24L01.
  2. Listen for incoming packets.
  3. Validate received data.
  4. Activate the warning indicator when the warning condition is true.
  5. Turn the indicator off when the path is clear.
  6. Enter a safe state when received data becomes stale.

Current Development Priorities

  • Improve packet and acknowledgement reliability
  • Confirm stable 3.3 V radio power during transmission
  • Finalize CE and CSN pin assignments
  • Validate TF-Luna communication on the completed PCB
  • Add packet timeout and fail-safe behavior
  • Measure total current consumption
  • Test solar charging under realistic conditions
  • Confirm connector and 30 AWG wire compatibility
  • Complete enclosure and weather-resistance design
  • Perform controlled vehicle-mounted testing

KiCad Files

The hardware design is developed in KiCad. Important project files include:

text
*.kicad_pro
*.kicad_sch
*.kicad_pcb
*.kicad_sym
*.kicad_mod
*.pretty/

A suggested .gitignore for KiCad is:

gitignore
# KiCad backups and temporary files
*-backups/
_autosave-*
*.lck
*.bak
*.tmp
fp-info-cache

# Operating-system files
.DS_Store
Thumbs.db

Uploading Changes

After editing the project locally:

bash
git status
git add .
git commit -m "Describe the changes"
git push

Before starting work on another computer:

bash
git pull

Safety Notice

This project is an experimental driver-assistance prototype.

It is not a certified automotive safety device and must not be relied upon as the sole method of obstacle detection, collision avoidance, or driver warning. Testing should be performed in a controlled environment before any vehicle-mounted use.


Author

Gianni Alberico

Parts

38
QtyValueFootprintReferences
42kResistor_SMD:R_0805_2012MetricR9, R10, R11, R12
43.3kResistor_SMD:R_0805_2012MetricR13, R14, R15, R16
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_PadH1, H2, H3, H4
210kResistor_SMD:R_0805_2012MetricR3, R6
22.2uFCapacitor_SMD:C_0805_2012MetricC5, C6
23kResistor_SMD:R_0805_2012MetricR1, R2
1.047ufCapacitor_SMD:C_0805_2012MetricC1
11.33MResistor_SMD:R_0805_2012MetricR7
1100nFCapacitor_SMD:C_0805_2012MetricC7
110uFCapacitor_SMD:C_0805_2012MetricC4
110ufCapacitor_SMD:C_0805_2012MetricC2
11291-66footprints:BAT_1291-66BT1
12.2uHInductor_SMD:L_0805_2012MetricL1
1200kResistor_SMD:R_0805_2012MetricR8
1470pFCapacitor_SMD:C_0805_2012MetricC3
160Resistor_SMD:R_0805_2012MetricR5
178.7kResistor_SMD:R_0805_2012MetricR4
1Arduino_Nano_v3.xModule:Arduino_NanoA1
1BM06B-GHS-TBTLFSNNfootprints:CONN_BM06B-GHS-TBT_JSTJ1
1BQ25306RTERFootprints:WQFN16_RTE_TEXU1
1CHRGLED_SMD:LED_0805_2012MetricD1
1MAX706RESA+Tfootprints:21-0041B_8_MXM-LU6
1NRF24L01P-MODULE-PCBFootprints:XCVR_NRF24L01P-MODULE-PCBU2
1OSTTC022162Footprints:CONN_OSTTC022162_OSTSOLAR1
1TMUX1574DYYPackage_SO:Texas_DYY0016A_TSOT-23-16_2x4.2mm_P0.5mmU3
1WDOTestPoint:TestPoint_THTPad_D3.0mm_Drill1.5mmWDO1

More from gmalberico/Vehicle-Forward-Warning-Sensor-Project

1
  • 4 layers67.3 × 68.1 mmBreakout, the printed circuit board in 3D

    Breakout

    gmalberico/Vehicle-Forward-Warning-Sensor-Project

    A compact vehicle-mounted prototype that uses LiDAR ranging and wireless communication to warn a driver when an object is detected ahead.

    8 parts

Similar boards

  • 2 layers313.5 × 113.3 mm.history, the printed circuit board in 3D

    .history

    girishji/tmr-keyboard

    Custom keyboard based on TMR sensor

    437 parts2
  • 4 layers80 × 80 mmCubeSat Thesis MCU V2, the printed circuit board in 3D

    CubeSat Thesis MCU V2

    famesy/CuteSat

    This is an open-source CubeSat printed circuit board (PCB) project that includes both hardware and software components.

    114 parts3
  • 4 layers90 × 96 mmIan OBC Recreation, the printed circuit board in 3D

    Ian OBC Recreation

    UChicago-Space-Program/pulse-hardware

    This is the central repository for documents related to PULSE-A hardware development.

    43 parts1
  • 2 layers101.4 × 58.4 mmD22-sign v2, the printed circuit board in 3D

    D22-sign v2

    bosgood/d14

    Resources for operating and maintaining the Disorient D14 LED sign

    15 parts1
  • 2 layers250 × 250 mmRgb led cube, the printed circuit board in 3D

    Rgb led cube

    antonu17/rgb_led_cube

    98 parts
  • 2 layersMk1, the printed circuit board in 3D

    Mk1

    MASA-Dearborn/CANTestBoard

    27 parts
  • 4 layers31.8 × 130 mmSensify Main Board, the printed circuit board in 3D

    Sensify Main Board

    smvumbaco/Sensify-FA24

    Generate Hardware - Sensify Fall 2024

    146 parts

Questions

How big is the Side Project PCB?

It measures 63 × 72.8 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Side Project use?

38 parts, built around the NRF24L01P-MODULE-PCB, BQ25306RTER, MAX706RESA+T and TMUX1574DYY. 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 Side Project KiCad files?

From the gmalberico/Vehicle-Forward-Warning-Sensor-Project repository on GitHub, at the commit this page was made from: the board is Side Project/Side Project.kicad_pcb and its schematic Breakout/Breakout.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Side Project design in my own project?

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