

Road marking robot circuits
Automated road marker project
- Size
- 114.2 × 189.8 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 65
- Nets
- 122
- Pads
- 262
- Tracks, vias
- 635, 51
- Pours
- 184
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 13 Nov 2024
- Updated
- 11 May 2025
Overview
Road marking robot circuits is an open-source printed circuit board by bytecod3, from the bytecod3/automated-road-marker repository on GitHub, published under the MIT licence. It is a 2-layer board of 114.2 × 189.8 mm with 65 parts on 122 nets, routed with 635 tracks and 51 vias.
Its parts include 12 connectors, 11 diodes, 9 capacitors, 7 resistors and 6 switches. It belongs with the robots and motor control boards and the AVR (ATmega, ATtiny) boards of this library.
README
README.mdautomated-road-marker
Automated road marker project
Battery sizing and component voltages
| Component | Voltage rating (V) | Current rating |
|---|---|---|
| Arduino MEGA 2560 | 7-12 | - |
| TT 130 accelerator/decelerator motor | 3-6 | 170mA(at 4.5V) |
| HC-SR04 ultrasonic sensor | 5 | 4mA |
| 12V Solenoid valve G1/2 DN15 BSPP Pressure Type | 12 | 416mA |
| 12V DC 385 high temperature water pump | 12 | 400mA |
| YF-S401 Water Flow Sensor | 5 | 15 mA (at 5V) |
Recomended Battery = 12V >2000mAh
firmware dependencies
The following libraries need to installed in Arduino
- LiquidCrystal I2C library by Frank de Brabander
- I2Cdev
Following a straight line
The robot follows a heading that is referenced to where it starts. To do this,
-
place the robot on the surface you want to paint
-
press the reset button WHILE THE ROBOT IS STATIONARY! There should be no movements or shaking.
-
The robot should follow a straight heading.
-
To stop the robot, press the ON/OFF button, or disconenct the battery
-
If using LCD, the screen should show the flow rate.
Paint system
The paint sequence is as follows:
- Once the robot is turned on, it paints at intervals of 5 seconds( this can be changed in the code. See code!). This paint sequence produces a dotted line
- Pump 1, pump 2 and solenoid are turned on at the same time.
- Flow rate is measured and displayed.
- Process repeats.
- You can increase the length of the dotted line by increasing the paint interval. (Again, see code comments for this)
ultrasonic designations
US1 -> Front ultrasonic US2 -> Right ultrasonic US3 -> Left ultrasonic US4 -> Resorvoir level ultrasonic
Ultrasonic Conclusion
Ultrasonic avidance is not necesssary in the real-world. Why are you painting a road with obstacles??
Flow meter interrupt pin change
The schematic show flow meter signal connected to pin 10. From tests, pin 10 cannot support interrupts. Please use pin 2 for the flow meter signal.( See code on flow meter Pin -> in defines. h. If you wish to change the pin to pin number 3).
Only pin 2 and 3 can be used for the flow meter.
LCD library installation
If you cannot find the Arduino-LiquidCrystal-I2C on Arduino Library manager, copy the Arduino-LiquidCrystal-I2C folder into your Arduino installation folder. You should be able to compile the code with no errors.
Parts
65| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 10uf Capcaitor | Capacitor_THT:CP_Radial_D4.0mm_P2.00mm | C1, C2, C3, C4, C5, C6, C7, C8 |
| 6 | 500R resistor | Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_Horizontal | R1, R2, R3, R5, R6, R7 |
| 5 | 1N4001 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D1, D3, D4, D10, D14 |
| 4 | 3mm Red LED | LED_THT:LED_D3.0mm | D11, D12, D13, D15 |
| 4 | BC547 transistor | Package_TO_SOT_THT:TO-92_Inline_Wide | Q1, Q2, Q3, Q4 |
| 4 | Heat sink | Heatsink:Heatsink_Stonecold_HS-S02_13.21x9.53mm | HS1, HS2, HS3, HS4 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 4 | SugarCube relay | Relay_THT:Relay_SPDT_Finder_36.11 | K1, K2, K3, K4 |
| 3 | 2PIN terminal block | TerminalBlock:TerminalBlock_bornier-2_P5.08mm | J8, J12, J13 |
| 2 | 3mm Green LED | LED_THT:LED_D3.0mm | D2, D5 |
| 1 | 100nF | Capacitor_THT:CP_Radial_D4.0mm_P2.00mm | C9 |
| 1 | 10K resistor | Resistor_THT:R_Axial_DIN0309_L9.0mm_D3.2mm_P12.70mm_Horizontal | R4 |
| 1 | 2 pin Terminal block | TerminalBlock:TerminalBlock_bornier-2_P5.08mm | J9 |
| 1 | 2pin terminal block | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | SW1 |
| 1 | 3PIN Terminal block | TerminalBlock:TerminalBlock_bornier-3_P5.08mm | J7 |
| 1 | Arduino_Mega2560_R3_Shield | PCM_arduino-library:Arduino_Mega2560_R3_Shield | A1 |
| 1 | Buzzer | Buzzer_Beeper:Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | DC Barrel Jack THT | Connector_BarrelJack:BarrelJack_Horizontal | J1 |
| 1 | LM7805_TO220 | Package_TO_SOT_THT:TO-220-3_Vertical | U3 |
| 1 | LM7806_TO220 | Package_TO_SOT_THT:TO-220-3_Vertical | U4 |
| 1 | LM7812_TO220 | Package_TO_SOT_THT:TO-220-3_Vertical | U2 |
| 1 | LM7909_TO220 | Package_TO_SOT_THT:TO-220-3_Vertical | U1 |
| 1 | MOTOR_DRIVER | TerminalBlock:TerminalBlock_Xinya_XY308-2.54-8P_1x08_P2.54mm_Horizontal | J14 |
| 1 | NE06M GPS Module | my-modules:NEO-6M-GPS-MODULE | U5 |
| 1 | mpu6050 | MPU6050-MODULE:GY-521 | ACC1 |
| 1 | push button pin | Button_Switch_THT:SW_Tactile_Straight_KSA0Axx1LFTR | SW2 |
| 1 | u-sonic-1 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J2 |
| 1 | u-sonic-2 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J3 |
| 1 | u-sonic-3 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J4 |
| 1 | u-sonic-4 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J5 |
| 1 | u-sonic-5 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J6 |
Questions
How big is the Road marking robot circuits PCB?
It measures 114.2 × 189.8 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Road marking robot circuits use?
65 parts. 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 Road marking robot circuits KiCad files?
From the bytecod3/automated-road-marker repository on GitHub, at the commit this page was made from: the board is hardware-design/road-marking-robot-circuits/road-marking-robot-circuits.kicad_pcb and its schematic hardware-design/road-marking-robot-circuits/road-marking-robot-circuits.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Road marking robot circuits 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 layers42 × 67 mm

- 2 layers198.1 × 30.5 mm

Splitflap driver
drandyhaas/KiCadRoutingTools
A set of Python/Rust tools to aid routing in KiCad
65 parts744MIT - 2 layers74.8 × 32.5 mm

- 2 layers60 × 100 mm

V3 Connector Only
PiTracLM/PiTrac
Launch monitor using low-cost raspberry pi and camera hardware to determine ball launch speed, angles and spin. See https://discord.gg/vGuyAAxXJH (permalink)
65 parts439GPL-2.0 - 2 layers45 × 58.2 mm

- 2 layers27.9 × 101.6 mm

- 2 layers40 × 120 mm

Photodiode board v3
0x23/nmWave-Interferometer
An Open Source Interferometer for Accurate Distance Measurements
65 parts151MIT - 2 layers78 × 130 mm

Lofence
kiu/lofence
LoFence is a LoRaWAN capable IoT electric fence monitoring system running on the The Things Network.
65 parts142MIT