Skip to the content
2 layers47.5 × 30 mmDriver CMS, the printed circuit board in 3D

ENSEA's projet - Realising a rubik's cube resolver with a group of 6

Size
47.5 × 30 mm
Copper layers
2
Thickness
1.6 mm
Parts
25
Nets
17
Pads
75
Tracks, vias
155, 10
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
28 Mar 2025
Updated
25 Jun 2025

Overview

Driver CMS is an open-source printed circuit board by Mate-bert, from the Mate-bert/Rubik-s-cube-resolver repository on GitHub. It is a 2-layer board of 47.5 × 30 mm with 25 parts on 17 nets, routed with 155 tracks and 10 vias.

It is built around the L298P. Its parts include 14 diodes, 4 resistors, 3 connectors, 2 capacitors and 1 IC.

Main components

1

README

README.md

Rubik's Cube Resolver 🧩

Projet collaboratif visant à développer un système capable de résoudre un Rubik's Cube à partir d'une image capturée.


🛠️ Stack technique

  • Langages : C / C++ / Python
  • Plateforme : Zybo / PC
  • Bibliothèques : OpenCV, etc.
  • Versioning : Git + GitHub

🧩 Organisation du projet

Le projet est divisé en plusieurs sous-parties gérées par différentes équipes :

  • 🎨 Détection des couleurs
  • 📷 Gestion des caméras
  • 🤖 Pilote des moteurs
  • 🧠 Algorithme de résolution
  • 🧰 Intégration FPGA (Zybo 7010)
  • 🖨️ Impression 3D du support

📁 Arborescence du projet

text
.
├── interfacage_FPGA_SOC/     # Interface FPGA-SoC (Zybo)
│   # Contient les fichiers du projet Vivado, les IP cores, le bitstream et le code C pour la communication.
│   ├── project_rubik/       # Projet Vivado
│   ├── ip_catalog/         # IP cores personnalisés utilisé dans le projet vivado
│   ├── bitstream/          # Fichier de bistream envoyé sur la zybo
│   └── C/                  # Code C pour envoyer des données entre le SOC et le FPGA
│
├── ihm/                    # Interface Homme-Machine
│   # Contient le code source, les fichiers d'en-tête, les ressources et les exécutables de l'interface utilisateur.
│   ├── src/               # Code source
│   ├── include/           # Fichiers d'en-tête
│   ├── data/              # Ressources (images, etc.)
│   └── bin/               # Exécutables compilés
│
├── detection_resolution/   # Détection et résolution du cube
│   # Contient le code pour la détection des couleurs, l'algorithme de résolution, les utilitaires et scripts, et les modèles d'IA.
│   ├── src/               # Code source
│   ├── include/           # Fichiers d'en-tête
│   ├── utils/             # Utilitaires
│   ├── scripts/           # Scripts de test et d'automatisation
│   ├── IA/                # Modèles d'IA pour la détection
│   └── code_zybo/         # Code spécifique à la Zybo
│

🧪 Contribution rapide

Chaque membre travaille sur une branche personnelle à partir de dev, en suivant la convention :

text
feature/<prenom>_<fonction>

Exemples :

  • feature/gad_detection_couleur
  • feature/rayane_resolveur_cube

📌 Les détails complets du workflow Git, des conventions de branche et de la gestion de la documentation sont disponibles ici :

👉 Guide de contribution – CONTRIBUTING.md


📋 Documentation et suivi


Merci à tous pour vos contributions ! 🚀

Parts

25
QtyValueFootprintReferences
8DDiode_SMD:D_SOD-323D1, D2, D3, D4, D5, D6, D7, D8
4LED_BlueLED_SMD:LED_0603_1608MetricD15, D16, D17, D18
310KResistor_SMD:R_0603_1608MetricR4, R5, R6
2LED_YellowLED_SMD:LED_0603_1608MetricD14, D19
2Screw_Terminal_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ1, J2
1
1100nFCapacitor_SMD:C_0603_1608MetricC1
12.2KResistor_SMD:R_0603_1608MetricR3
1L298PPackage_SO:HSOP-20-1EP_11.0x15.9mm_P1.27mm_SlugDownU2
1Screw_Terminal_01x03Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ3
1~Capacitor_SMD:C_Elec_6.3x7.7C2

More from Mate-bert/Rubik-s-cube-resolver

1
  • 2 layers56.3 × 27.8 mmAlimentation DC DC, the printed circuit board in 3D

    Alimentation DC DC

    Mate-bert/Rubik-s-cube-resolver

    ENSEA's projet - Realising a rubik's cube resolver with a group of 6

    16 parts

Similar boards

  • 2 layers172 × 230 mmIndegoMower, the printed circuit board in 3D

    IndegoMower

    MS71/IndegoRover

    new MainBoard for Indego Lawn Mower

    34 parts7
  • 2 layers121.5 × 115 mmIrrigationController, the printed circuit board in 3D

    IrrigationController

    alorcs/Irrigation-System-v2

    The external footprints used can be found in the Imports folder.

    115 partsApache-2.0
  • 2 layersSwervePCB, the printed circuit board in 3D

    SwervePCB

    andrewccard/SwervePCB

    pcb for small scale swerve drive robot

    79 parts
  • 4 layers83.2 × 78.1 mmShield offset, the printed circuit board in 3D

    Shield offset

    apmarshall3/general-purpose-robotics-shield

    125 parts
  • 2 layers49 × 110.5 mmPcb suiveur, the printed circuit board in 3D

    Pcb suiveur

    bejaouihamza/CUSTOM_ROBOT_PCB_WITH_ESP32

    Key Features 🚀 Core Components ESP32-C3-WROOM-2 – RISC-V-based MCU with WiFi 4 & Bluetooth 5 (BLE)

    60 parts
  • 2 layersMicromouse, the printed circuit board in 3D

    Micromouse

    cep-micromouse/schematics

    Schematics for Chuck

    28 partsMIT
  • 2 layers100 × 88 mmArduinoDCC++, the printed circuit board in 3D

    ArduinoDCC++

    danielvilas/DigitalTrains

    Digital Trains

    94 partsMIT

Questions

How big is the Driver CMS PCB?

It measures 47.5 × 30 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Driver CMS use?

25 parts, built around the L298P. 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 Driver CMS KiCad files?

From the Mate-bert/Rubik-s-cube-resolver repository on GitHub, at the commit this page was made from: the board is PCB_Kicad/Driver_CMS/Driver_CMS.kicad_pcb and its schematic PCB_Kicad/Alimentation/Alimentation_DC_DC/Alimentation_DC_DC.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Driver CMS design in my own project?

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