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.