
Line follower simple
alientanya/line-follower-PCB
A modular PCB platform for Fast Line Follower (FLF) robots, designed to prioritize sensor experimentation and component flexibility.

Over time, every team also writes the same firmware again.
Line follower simple is an open-source printed circuit board by CptEdward-MP, from the CptEdward-MP/RM_Electronics_Central_Library repository on GitHub. It is a 2-layer board of 365.8 × 174 mm with 235 parts on 197 nets, routed with 1,143 tracks and 183 vias.
It is built around the QRE1113GR, TCRT5000L and 74HC4067D, with the XT30UPB-M among its other parts. Its parts include 133 resistors, 35 ICs, 14 connectors, 9 diodes and 9 transistors. It belongs with the STM32 boards of this library.
Every robotics team writes firmware.
Over time, every team also writes the same firmware again.
One person writes a driver.
Another person later writes same driver.
Even when the problem has already been solved, we often solve it again because the previous solution was never designed to be reused.
Eventually, the people who originally wrote the software graduate, projects change, and much of that experience disappears with them.
The next generation starts over.
Not because they have to.
Because there is nothing reliable to build upon.
This repository is an attempt to change that.
Every project teaches us something.
Sometimes we discover a bug.
Sometimes we discover a better design.
Sometimes we discover a limitation that only appears after months of use.
Unfortunately, those lessons usually stay inside a single project.
The next project repeats many of the same mistakes.
The project after that repeats them again.
Over time, we become better engineers, but our software often starts from the same place every year.
That means our experience grows much faster than our codebase.
Instead of treating every project as a completely new beginning, we build a common collection of software that improves continuously.
Whenever we solve a problem well, we preserve that solution.
Whenever we discover a limitation, we document it.
Whenever someone improves a module, the improvement becomes available for every future project.
The goal is not to build software that is perfect.
The goal is to make every version slightly better than the last.
There are many open-source libraries available today.
Many of them are excellent.
Many are also written for different hardware, different constraints, or different goals.
They often solve today's problem, but they do not always become tomorrow's foundation.
Building our own software gives us something equally important:
When appropriate, existing open-source work should absolutely be studied and used as inspiration.
But the software we depend on every season should also be software we understand and can confidently maintain.
No module in this repository should ever be considered "finished."
Every contribution should leave it in a better state than before.
Sometimes that improvement will be a new feature.
Sometimes it will be a bug fix.
Sometimes it will simply be better documentation.
Sometimes it will be removing unnecessary complexity.
Even small improvements matter.
A repository that improves by one percent every season becomes far more valuable than one that is rewritten from scratch every season.
Every module should describe:
Understanding the limitations of a module is often as important as understanding its capabilities.
This allows future contributors to continue improving the software instead of rediscovering the same problems.
The purpose of this repository is not to support a single robot.
It is to create a growing collection of software that future projects can confidently build upon.
As the repository matures, new projects should spend less time rewriting existing software and more time solving new engineering problems.
Success is not measured by how much code this repository contains.
Success is measured by how little code future teams need to write again.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 34 | 150 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R22, R23, R26, R28, R31, R34, R37, R40, R43, R46, R103, R104, R105, R112, R113, R114 +18 |
| 34 | 220 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R19, R20, R21, R30, R33, R36, R39, R100, R101, R102, R109, R110, R111, R118, R119, R120 +18 |
| 34 | 4k7 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R24, R25, R27, R29, R32, R35, R38, R41, R44, R50, R106, R107, R108, R115, R116, R117 +18 |
| 27 | R_Small | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R10, R11, R12, R13, R121, R122, R123, R124, R125, R126, R127, R128, R129, R130, R131, R132 +11 |
| 25 | QRE1113GR | customs:QRE1113-SMD | U10, U11, U12, U13, U14, U15, U16, U17, U18, U21, U22, U23, U24, U25, U26, U27 +9 |
| 12 | MountingHole | customs:2mm hole | H1, H2, H3, H4, H5, H6, H7, H8, H9, H10, H11, H12 |
| 9 | BPW40 | LED_THT:LED_D5.0mm_Clear | Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9 |
| 9 | LED | LED_THT:LED_D5.0mm_Clear | D1, D2, D3, D4, D5, D6, D7, D8, D9 |
| 9 | TCRT5000L | customs:XDCR_TCRT5000L | U2, U4, U5, U6, U7, U8, U9, U19, U20 |
| 5 | Conn_01x20_MountingPin | Connector_FFC-FPC:Amphenol_F32Q-1A7x1-11020_1x20-1MP_P0.5mm_Horizontal | J2, J6, J7, J9, J14 |
| 5 | LOGO | Robo Logo:robo_logo.pretty | G***, G***, G***, G***, G*** |
| 5 | LOGO | LOGO | G***, G***, G***, G***, G*** |
| 4 | Conn_01x13_Pin | Connector_PinHeader_2.54mm:PinHeader_1x13_P2.54mm_Vertical | J10, J11, J12, J13 |
| 3 | 100n | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C1, C2, C10 |
| 3 | 10k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1, R2, R5 |
| 2 | clipboard:121fe10c-235d-4926-a72f-1fa2c98b0cf3 | , | |
| 2 | Conn_01x02_Pin | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J3, J4 |
| 2 | Conn_01x28_Pin | Connector_PinHeader_2.54mm:PinHeader_1x28_P2.54mm_Vertical | J5, J8 |
| 2 | SW_Push | customs:Push button-fp | SW2, SW3 |
| 2 | SW_Push_DPDT | Button_Switch_THT:SW_Push_2P2T_Toggle_CK_PVA2xxH3xxxxxxV2 | SW5, SW6 |
| 1 | 3.3k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R6 |
| 1 | 74HC4067 | customs:74HC4067-Mux | U1 |
| 1 | STM32F411_BP | customs:blackpill_fp | BlackPill1 |
| 1 | XT30UPB-M | Connector_AMASS:AMASS_XT30UPB-M_1x02_P5.0mm_Vertical | J1 |
| 1 | ~ | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | BT2 |
| 1 | ~ | customs:MP1584_fp | MP1 |
| 1 | ~ | customs:TB6612 module | TB1 |

alientanya/line-follower-PCB
A modular PCB platform for Fast Line Follower (FLF) robots, designed to prioritize sensor experimentation and component flexibility.

ThorbenH/ba-thesis-project
This git project is dedicated to a prototype implementation that attempts to track and evaluate the motion of a barbell in the gym.






quibot-dev/QuiBot-3DgesturesApp
🌐 Lloc web del projecte: [https://quibot.upc.edu]
It measures 365.8 × 174 mm and has 2 copper layers, 1.6 mm thick.
235 parts, built around the QRE1113GR, TCRT5000L, 74HC4067D and XT30UPB-M. 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.
From the CptEdward-MP/RM_Electronics_Central_Library repository on GitHub, at the commit this page was made from: the board is pcb file/pcbfiles/Lavender 1.0 (Blackpill vers)/line follower simple.kicad_pcb and its schematic pcb file/pcbfiles/Lavender 1.0 (Blackpill vers)/TCRT_sensors.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask CptEdward-MP before reusing the design.