Skip to content
UCAO-TECH Team

Test 3 Electronic: Output Test - Mechanical 7-segment display with servomotors ​

Mechanical 7-segment display reinvented using servomotors - A fusion of digital logic and mechanical movement.

Project context ​

In a world dominated by digital screens and LEDs, the Tekbot Robotic Challenge 2025 launches a bold challenge: reinvent the 7-segment display by giving it a mechanical soul.

Initial concept

Project origin: TEKBOT ROBOTIC CHALLENGE 2025


Project objectives ​

Main objectives ​

  • Design a fully mechanical 7-segment display
  • Precisely control 7 servomotors with a microcontroller
  • Implement cyclic counting 0→9→0

Secondary objectives ​

  • Reduce the number of pins by using integrated circuits
  • Document the development process
  • Validate the solution by simulation

Part 1: Physical implementation ​

Used components ​

ComponentReferenceQuantityRole
MicrocontrollerATmega328P1System brain
ServomotorsSG907Segment control
RegulatorLM780515V regulation
BatteryLi-ion 7.4V1Power supply
Capacitors100nF, 1000μF, 10µF4Filtering
Crystal16MHz1Clock

Electronic schematic ​

Complete electronic schematic

Description:

  • Overload protection
  • Direct servo connection to PWM pins
  • Reset circuit with push button

Physical schematic 1

Physical schematic 2

Power supply ​

The power supply system includes:

  • Li-ion 7.4V 2S battery: Main energy source
  • LM7805 regulator: Stabilization at 5V for components
  • Filtering capacitors: 100nF and 10μF to smooth the power supply

PCB realization ​

PCB front view

PCB back view

Characteristics:

  • Designed with KiCad
  • Double-sided
  • 0.6 mm tracks
  • Optimized spacing for connectors

📥 Download PCB files

Arduino code ​

Excerpt from the main code using millis() for non-blocking timing:

cpp
// Progressive servo initialization
if (!initTerminee) {
  if (millis() - debutInit >= 100) { // Delay between servos
    debutInit = millis();
    servoEnCours++;
    
    if (servoEnCours < 7) {
      segments[servoEnCours].attach(brochesServos[servoEnCours]);
      segments[servoEnCours].write(90);
    } else {
      initTerminee = true;
      afficher(chiffreActuel); // Initial display 0
    }
  }
}

Part 2: Theoretical innovation ​

Key concepts ​

  • Precise angular control: Each servo must reach a specific angle to display each segment correctly.
  • Servo synchronization: Servos must be synchronized to avoid display errors.

Theoretical challenges ​

  • Calculate optimal delays for servo control.
  • Model the dynamic behavior of the system for predictive control.

Comparison and advantages ​

CriterionTraditional 7-segment display7-segment display with servomotors
FlexibilityLowHigh
Control complexityLowHigh
CostLowHigh
MaintenanceSimpleComplex
InnovationStandardHigh

Problems encountered ​

  • Problem: Difficulty synchronizing servos for precise display.
    • Solution: Adjustment of delays in the code and use of millis() function for non-blocking timing.

Technical references ​

  1. SG90 Servomotors - Specifications
  2. ATmega328P - Datasheet
  3. LM7805 Regulator - Information

Conclusion ​

This project allowed exploring the limits of the traditional 7-segment display by integrating mechanical elements. Although challenges remain, particularly in terms of cost and complexity, the results obtained pave the way for new innovations in the field of digital displays.