Skip to the content
PCBKitNew board
2 layers75.4 × 53.3 mmBE Elec Projet Type Kicad, the printed circuit board in 3D

Système embarqué autonome d'extinction automatique de vidéoprojecteurs : rétro-ingénierie infrarouge (protocole NEC 38 kHz), mode Sniffer d'apprentissage, fusion multi-capteurs (PIR, mmWave, son, VGA) et PCB sur mesure sous KiCad 9 (Raspberry Pi Pico 2WH / MicroPython & C++).

Size
75.4 × 53.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
30
Nets
39
Pads
104
Tracks, vias
143, 0
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
28 Sep 2026
Updated
28 Sep 2026

Overview

BE Elec Projet Type Kicad is an open-source printed circuit board by AurelienCapron, from the AurelienCapron/autonomous-ir-projector-remote repository on GitHub. It is a 2-layer board of 75.4 × 53.3 mm with 30 parts on 39 nets, routed with 143 tracks and 0 vias.

Its parts include 6 resistors, 2 capacitors, 1 IC, 1 diode and 1 connector. It belongs with the sensors and measurement boards and the RP2040 boards of this library.

README

README.md

Télécommande Infrarouge Autonome pour Vidéoprojecteurs (Projet 32)

MCU EDA Protocol Language

Conception matérielle (prototypage sur Arduino Uno puis PCB sur mesure sous KiCad 9), rétro-ingénierie de protocole infrarouge (standard NEC 38 kHz) et développement logiciel embarqué (MicroPython & C++) d'un boîtier autonome destiné à éteindre automatiquement les vidéoprojecteurs de la salle des conseils de Grenoble INP - Phelma lorsqu'elle est inoccupée. Ce système prévient l'usure prématurée des lampes (estimée à 1 250 h/an d'allumage inutile, soit 33 % de leur durée de vie) et réduit la consommation énergétique du bâtiment.


Sommaire

  1. Aperçu matériel : du prototype au produit final
  2. Contexte et cahier des charges (SysML)
  3. Architecture matérielle et carte PCB (KiCad 9)
  4. Rétro-ingénierie du protocole NEC et firmware embarqué
  5. Conception mécanique et intégration du boîtier
  6. Structure du dépôt
  7. Auteurs et encadrement

Aperçu matériel : du prototype au produit final

Phase 1 : Prototypage sur breadboard (Arduino Uno)Phase 2 : Conception PCB sur mesure (KiCad 9 — v1.2)
Prototype Breadboard TinkercadRendu 3D PCB KiCad
Câblage initial sur plaque d'essai : Arduino Uno, 2 capteurs PIR, 4 LDR (A0–A3), récepteur et LED IRCarte finale double face accueillant le Raspberry Pi Pico 2WH, l'étage LDO 5V et les connecteurs dédiés
Assemblage et soudure au laboratoireCâblage interne dans le boîtierPrototype final assemblé et testé
Soudure PCBIntérieur boîtierBoîtier assemblé

Contexte et cahier des charges (SysML)

À l'issue des réunions en salle des conseils, les vidéoprojecteurs restent fréquemment allumés toute la nuit (environ 2 fois par semaine, soit $1,250\text{ h/an}$ sur une durée de vie totale de lampe de $3,000$ à $4,000\text{ h}$). Le système conçu répond à trois niveaux d'exigences fonctionnelles :

  1. Détection de l'état réel des vidéoprojecteurs : Mesure directe de la tension sur les sorties VGA (VGA1, VGA2) couplée à des photorésistances (PGM1201) afin de ne commander l'extinction que si l'appareil ciblé est effectivement sous tension.
  2. Surveillance multi-capteurs de l'occupation : Fusion des informations issues d'un capteur de mouvement infrarouge passif (SBC-PIR), d'un radar de présence à ondes millimétriques (mmWave Gravity SEN0609) et d'un détecteur acoustique (SEN-14262).
  3. Extinction automatique et mode Sniffer d'apprentissage : Émission d'une salve infrarouge d'extinction après $1\text{h}30$ ($5,400\text{ s}$) d'inactivité ou en cas de surchauffe/luminosité excessive, et possibilité de cloner à la volée une nouvelle télécommande par simple appui long (3 secondes) sur le bouton d'apprentissage (GPIO19).

Diagramme des exigences SysML


Architecture matérielle et carte PCB (KiCad 9)

Architecture globale du système

Brochage de la carte électronique (Version 1.2)

La carte électronique double face ($135 \times 130\text{ mm}$) intègre un étage de régulation linéaire 5V (TLV1117-50 alimenté en 12V DC via J1) et centralise l'ensemble des capteurs et actionneurs autour du microcontrôleur Raspberry Pi Pico 2WH :

Connecteur PCBSignal / LabelBroche MCURôle fonctionnel
J_VGA1 / J_VGA2VGA1 / VGA2GPIO3 / GPIO2Lecture de l'état sous tension des vidéoprojecteurs 1 et 2 via leurs ports VGA.
J_Photoresistance1/2ADC0 / ADC1GPIO26 / GPIO27Mesure analogique de luminosité (PGM1201) avec pont diviseur $10\text{ k}\Omega$ (R5, R6).
RV1ADC2GPIO28Potentiomètre CMS Vishay TS53YL ($100\text{ k}\Omega$) d'ajustement dynamique du seuil.
J_DETECTEUR_MOUVEMENT1SIGGPIO16Entrée numérique du capteur de mouvement infrarouge passif (SBC-PIR).
J_DETECTEUR_PRESENCE1VOUTGPIO17Entrée numérique du capteur de présence radar mmWave (SEN0609).
J_CAPTEUR_SONORE1/2ENVELOPE / GATEGPIO20 / GPIO21Acquisition de l'enveloppe acoustique et du seuil binaire (SEN-14262).
J_EMETTEUR1 / 2EMETTEUR1 / 2GPIO7 / GPIO14Commande PWM 38 kHz des 2 émetteurs IR (GT1087) via résistances $220\ \Omega$ (R3, R4).
J_RECEPTEUR1S_OUTGPIO18Réception et apprentissage (Sniffer) de trames infrarouges externes (GT1089).
J_Bouton1BOUTONGPIO19Bouton poussoir (R1381R, PULL_UP) activant le mode apprentissage après 3 s d'appui.
J_LED1 / J_LED2Net-(GPIO0/1)GPIO0 / GPIO1LED témoins en façade (Présence détectée sur GPIO0, Projecteur allumé sur GPIO1).

Nomenclature matérielle (BOM)

ComposantRéférenceQuantitéFonction
MicrocontrôleurRaspberry Pi Pico 2WH (SC1634)1Unité centrale de traitement, PWM 38 kHz et machine d'état
Régulateur LDO 5VTLV1117-50 (SOT-223)1Régulation 12V → 5V (VCC) avec condensateurs CMS $10\ \mu\text{F}$ (C1, C2)
Détecteur sonoreSEN-142621Surveillance de l'activité sonore dans la salle des conseils
Radar de présencemmWave Gravity SEN06091Détection fine de présence humaine statique ou en mouvement
Capteur PIRSBC-PIR1Détection de mouvement thermique dans la salle
PhotorésistancesPGM12014Détection optique complémentaire et sécurité de surchauffe
Émetteurs IRGT10872Émission directionnelle des trames d'extinction à 38 kHz
Récepteur IRGT10891Capture et clonage du signal de la télécommande d'origine
Bouton poussoirR1381R1Déclenchement manuel du mode d'apprentissage infrarouge

Rétro-ingénierie du protocole NEC et firmware embarqué

1. Identification et décodage de la trame à l'oscilloscope

Le signal émis par la télécommande d'origine face au récepteur GT1089 a été capturé à l'oscilloscope numérique Tektronix et décodé via un banc Arduino Uno (firmware/arduino_ir_receiver), révélant une modulation NEC sur porteuse à 38 kHz de valeur hexadécimale brute 0x6F905583 (soit les 4 octets 0x83, 0x55, 0x90, 0x6F transmis LSB-first) :

  • En-tête de synchronisation (AGC Burst) : Impulsion modulée de $9\text{ ms}$ (mark(9000)) suivie d'un silence de $4,5\text{ ms}$ (space(4500)).
  • Bit logique 0 : Impulsion de $562\ \mu\text{s}$ suivie d'un silence de $562\ \mu\text{s}$ (durée totale : $1,125\text{ ms}$).
  • Bit logique 1 : Impulsion de $562\ \mu\text{s}$ suivie d'un silence long de $1,675\ \text{ms}$ (durée totale : $2,25\text{ ms}$).
Principe temporel du protocole NECCapture de la trame IR à l'oscilloscope Tektronix
Protocole NECOscilloscope IR

2. Synthèse PWM 38 kHz et mode Sniffer sous MicroPython (firmware/pico_main/main.py)

Le firmware principal embarqué sur le Raspberry Pi Pico 2WH pilote simultanément les deux émetteurs IR (GPIO7 et GPIO14) via les générateurs PWM matériels cadencés à $38\text{ kHz}$ (rapport cyclique de 50 %, duty_u16(32768)) :

  • Triple tir d'extinction (envoyer_code_nec_universel()) : Envoie 3 trames NEC consécutives espacées de $500\text{ ms}$ pour garantir la prise en compte de l'extinction (y compris sur les projecteurs exigeant une double confirmation).
  • Mode d'apprentissage universel (lancer_mode_apprentissage()) : Un appui de plus de 3 secondes sur le bouton GPIO19 place le boîtier en écoute sur le récepteur GT1089 (GPIO18), mesure à la microseconde les 67 fronts successifs (time.ticks_us()), discrimine les bits 1 ($> 1,200\ \mu\text{s}$) et 0, et met à jour dynamiquement en mémoire les 4 octets NEC_B1 à NEC_B4.

Conception mécanique et intégration du boîtier

Pour protéger la carte électronique de la poussière dans le faux plafond tout en intégrant les passages de câbles et l'interface utilisateur :

  1. Modélisation 3D initiale (CAO 3D) : Conception d'un boîtier perforé et de son couvercle à poignée.
  2. Boîtier en bois découpé au laser (solution retenue) : Conception d'un boîtier assemblé à créneaux ($14 \times 15,5 \times 10\text{ cm}$) généré via boxes.py, adapté en CAO 2D pour les perçages des connecteurs et fabriqué au FabLab de Phelma.
Modélisation 3D de la baseModélisation 3D du couverclePlan 2D de découpe laser (boxes.py)
Base 3DCouvercle 3DPlan découpe laser
Banc de démonstration lors de la soutenance finale
Soutenance

Structure du dépôt

text
autonomous-ir-projector-remote/
├── .gitattributes                            # Détection KiCad / Python / C++ par GitHub Linguist
├── .gitignore
├── README.md
├── assets/
│   ├── arduino_breadboard_prototype.png      # Câblage du prototype initial sur breadboard (Tinkercad)
│   ├── autonomous_remote_demo.mp4            # Vidéo de test d'extinction automatique en salle
│   ├── enclosure_3d_base.jpg                 # Modélisation CAO 3D du boîtier
│   ├── enclosure_3d_lid.jpg                  # Modélisation CAO 3D du couvercle
│   ├── ir_frame_oscilloscope.png             # Acquisition Tektronix de la trame NEC 32 bits
│   ├── laser_cut_layout.jpg                  # Mise à plat 2D pour découpe laser
│   ├── nec_protocol_timing.png               # Chronogramme du protocole NEC
│   ├── pcb_3d_render.png                     # Rendu 3D de la carte PCB sous KiCad 9 (v1.2)
│   ├── pcb_soldering_bench.jpg               # Assemblage et soudure de la carte au laboratoire
│   ├── project_defense_setup.jpg             # Démonstration lors de la soutenance
│   ├── prototype_assembled_box.png           # Boîtier final assemblé et câblé
│   ├── prototype_inside_wiring.png           # Vue intérieure du câblage (Raspberry Pi Pico 2WH)
│   ├── sysml_requirements_diagram.png        # Diagramme des exigences SysML
│   └── system_architecture.svg               # Schéma synoptique vectoriel de l'architecture
├── docs/
│   ├── arduino_prototype_schematic.pdf       # Premier schéma électrique sur Arduino Uno
│   ├── bom_components.csv                    # Nomenclature initiale des composants (CSV)
│   ├── presentation_slides.pdf               # Support de soutenance technique
│   └── project_report.pdf                    # Rapport technique du projet (Grenoble INP - Phelma)

Auteurs et encadrement

Projet réalisé à Grenoble INP - Phelma (Année universitaire 2025–2026 — Projet n°32) :

  • Équipe Partie II (Télécommande autonome) : Aurélien Capron (Chef de projet), Amaury Simonnot, Corentin Pilleux, Corentin Eletti, Reda Lounis.
  • Équipe Partie I (Interface PWM / S.Bus) : Martin Fleury, Mathis Menager, Jules Ancel, Simon Danquigny.
  • Encadrement : Julien Traveaux, Sophie Cornu et l'équipe du FabLab de Grenoble INP - Phelma.

Parts

30
QtyValueFootprintReferences
11Conn_01x02LIB_TR_PHELMA:PinHeader_1x02_P2.54mm_VerticalJ_Bouton1, J_CAPTEUR_SONORE1, J_CAPTEUR_SONORE2, J_EMETTEUR1, J_EMETTEUR2, J_LED1, J_LED2, J_Photoresistance1, J_Photoresistance2, J_VGA1, J_VGA2
4220LIB_TR_PHELMA:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R2, R3, R4
3Conn_01x03LIB_TR_PHELMA:PinHeader_1x03_P2.54mm_VerticalJ_DETECTEUR_MOUVEMENT1, J_DETECTEUR_PRESENCE1, J_RECEPTEUR1
210kLIB_TR_PHELMA:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR5, R6
1100KLIB_CMS_PHELMA:Potentiometer_Vishay_TS53YL_VerticalRV1
110uLIB_CMS_PHELMA:CP_Elec_6.3x5.2C2
110uLIB_CMS_PHELMA:C_1206_3216Metric_Pad1.42x1.75mm_HandSolderC1
1470LIB_CMS_PHELMA:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderRD1
1Barrel_Jack_SwitchLIB_CMS_PHELMA:BarrelJack_CLIFF_FC681465S_SMT_HorizontalJ1
1LEDLIB_CMS_PHELMA:LED_1206_3216Metric_Pad1.42x1.75mm_HandSolderD1
1LOGOLIB_TR_PHELMA:tataG
1LOGOLogo:Phelma2G***
1RaspberryPi_Pico_WModule:RaspberryPi_Pico_Common_THTA1
1TLV1117-50LIB_CMS_PHELMA:SOT-223-3_TabPin2U1

Questions

How big is the BE Elec Projet Type Kicad PCB?

It measures 75.4 × 53.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the BE Elec Projet Type Kicad use?

30 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 BE Elec Projet Type Kicad KiCad files?

From the AurelienCapron/autonomous-ir-projector-remote repository on GitHub, at the commit this page was made from: the board is hardware_kicad/BE-Elec-Projet-Type-Kicad.kicad_pcb and its schematic hardware_kicad/BE-Elec-Projet-Type-Kicad.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the BE Elec Projet Type Kicad design in my own project?

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

Similar boards

  • 2 layers52.2 × 52.2 mmBase promicro, the printed circuit board in 3D

    Base promicro

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    30 parts3kApache-2.0
  • 2 layers40.6 × 15.2 mmVr mmm, the printed circuit board in 3D

    Vr mmm

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    30 parts1.2k
  • 2 layers270 × 11 mmDaylight, the printed circuit board in 3D

    Daylight

    VoronDesign/Voron-Hardware

    Cool Hardware designed by the Voron Design group

    30 parts1.1kGPL-3.0
  • 2 layers65 × 30 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    30 parts1kGPL-3.0
  • 2 layers40.5 × 58 mmInitial v, the printed circuit board in 3D

    Initial v

    tenderlove/initial-v

    It's a BMW shifter converted to a Bluetooth Keyboard that you use with Vim

    30 parts1kApache-2.0
  • 2 layers34.3 × 41.8 mmMotionCubeViewAllForces, the printed circuit board in 3D

    MotionCubeViewAllForces

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    30 parts915
  • 2 layers57.4 × 62 mmPicoWS2812, the printed circuit board in 3D

    PicoWS2812

    ErichStyger/mcuoneclipse

    McuOnEclipse projects and examples

    30 parts765
  • 2 layers52.1 × 46.8 mmFIRE TEST PANEL, the printed circuit board in 3D

    FIRE TEST PANEL

    jrsteensen/OpenHornet

    OpenHornet 1:1 F/A-18C Simulator Repository

    30 parts431