Zeba Academy Circuit UI

A Flutter package that brings the aesthetics of electronic circuits and PCB (Printed Circuit Board) designs into your applications.

zeba_academy_circuit_ui provides a collection of circuit-inspired widgets including PCB backgrounds, LED indicators, digital displays, electronic switches, and animated circuit flow effects, making it easy to build futuristic dashboards, IoT interfaces, electronics-themed applications, and cyberpunk-inspired user experiences.


Features

✨ PCB-inspired backgrounds

✨ LED status indicators

✨ Digital display widgets

✨ Electronic toggle switches

✨ Circuit flow animations

✨ Lightweight and dependency-free

✨ Fully customizable colors and styling

✨ Responsive across mobile, tablet, desktop, and web


Installation

Add the package to your pubspec.yaml:

dependencies:
  zeba_academy_circuit_ui: ^1.0.0

Then run:

flutter pub get

Import the package:

import 'package:zeba_academy_circuit_ui/zeba_academy_circuit_ui.dart';

Components

PCBBackground

Creates a circuit-board inspired background.

const PCBBackground()

Example:

Scaffold(
  body: Stack(
    children: [
      const Positioned.fill(
        child: PCBBackground(),
      ),
    ],
  ),
);

LEDIndicator

A glowing LED-style status indicator.

LEDIndicator(
  isOn: true,
)

Example:

const LEDIndicator(
  isOn: true,
)

DigitalDisplay

Displays values using a digital electronics-inspired style.

const DigitalDisplay(
  value: '1024',
)

ElectronicSwitch

A customizable electronic switch component.

ElectronicSwitch(
  value: isEnabled,
  onChanged: (value) {},
)

CircuitFlowAnimation

Creates an animated electrical signal flowing through a circuit path.

const SizedBox(
  width: 300,
  height: 80,
  child: CircuitFlowAnimation(),
)

Complete Example

import 'package:flutter/material.dart';
import 'package:zeba_academy_circuit_ui/zeba_academy_circuit_ui.dart';

void main() {
  runApp(const CircuitDemo());
}

class CircuitDemo extends StatefulWidget {
  const CircuitDemo({super.key});

  @override
  State<CircuitDemo> createState() => _CircuitDemoState();
}

class _CircuitDemoState extends State<CircuitDemo> {
  bool ledOn = true;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Stack(
          children: [
            const Positioned.fill(
              child: PCBBackground(),
            ),
            Center(
              child: Column(
                mainAxisSize: MainAxisSize.min,
                children: [
                  LEDIndicator(
                    isOn: ledOn,
                  ),
                  const SizedBox(height: 20),

                  const DigitalDisplay(
                    value: '1024',
                  ),

                  const SizedBox(height: 20),

                  ElectronicSwitch(
                    value: ledOn,
                    onChanged: (value) {
                      setState(() {
                        ledOn = value;
                      });
                    },
                  ),

                  const SizedBox(height: 40),

                  const SizedBox(
                    width: 300,
                    height: 80,
                    child: CircuitFlowAnimation(),
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Use Cases

  • Electronics-themed applications
  • IoT dashboards
  • Hardware monitoring interfaces
  • Embedded system simulators
  • Cyberpunk UI designs
  • Educational electronics apps
  • Futuristic control panels
  • Maker and robotics projects

Roadmap

Future planned additions include:

  • Seven-segment displays
  • LCD display widgets
  • Oscilloscope widgets
  • Rotary knobs
  • DIP switches
  • Push buttons
  • Voltage meters
  • Frequency counters
  • Animated PCB traces
  • Advanced electronic dashboards

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).

You are free to use, modify, and distribute this software under the terms of the GPL-3.0 License.

See the LICENSE file for complete details.


About Me

✨ I’m Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.

You can learn more about me and my work at:


Your All-in-One Learning Hub!

🚀 Explore courses and resources in coding, technology, and development at Zeba Academy.

Empower yourself with practical skills through curated tutorials, real-world projects, and hands-on learning experiences.

Zeba Academy

➡ Visit our main site: https://zeba.academy

➡ Explore courses and resources: https://code.zeba.academy

➡ YouTube Channel: https://www.youtube.com/@zeba.academy

➡ Instagram: https://www.instagram.com/zeba.academy/


Made with ❤️ by the Zeba Academy community.

Thank you for visiting and supporting open-source software!