Skip to content

Tools for patch antenna and antenna array design, including automated Gerber file generation and calculation of key antenna parameters. Forked and greatly enhanced.

License

Notifications You must be signed in to change notification settings

space-comms/patch-antenna-designer

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

43 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Patch Antenna Designer

Advanced rectangular patch antenna design with enhanced material database and automated Gerber generation.

PyPI version Downloads Downloads Python License: MIT GitHub stars GitHub forks GitHub issues GitHub last commit Code style: black Maintained Made with Python For Students RF Design Visitors


Table of Contents

Project Overview

A student-friendly patch antenna design library created by students for students, hobbyists, and RF enthusiasts. This enhanced version of the original library provides comprehensive tools for designing rectangular patch antennas with an intuitive interface and educational focus.

Perfect for: Students learning RF design, hobbyists building antennas, makers exploring wireless projects, and anyone interested in understanding patch antenna fundamentals.

Key Features

  • Student-Friendly Interface: Simple functions like quick_design() for rapid prototyping
  • Educational Material Database: Common PCB substrates with clear explanations
  • Comprehensive Frequency Bands: Pre-defined bands for WiFi, Bluetooth, GSM, and more
  • Automated Design Validation: Helpful warnings and optimization suggestions
  • Professional Documentation: Clear examples and educational comments
  • Direct PCB Export: Generate Gerber files for fabrication
  • Design Comparison Tools: Compare materials and optimize designs
  • Manufacturing Support: Export specifications for PCB fabrication

Technical Capabilities

  • Frequency Range: 1 MHz to 100 GHz (perfect for student projects)
  • Material Support: FR4, Rogers substrates, PTFE, Alumina with educational notes
  • Feed Types: Normal edge feed and inset feed with impedance matching
  • Export Formats: Design summaries, manufacturing specs, Gerber files
  • Validation: Efficiency analysis, manufacturability checks, student-friendly warnings

Quick Start

Installation

pip install patch-antenna-designer

Or install with development dependencies:

pip install patch-antenna-designer[dev]

Basic Usage

import patch_antenna as pa

# Quick design for student WiFi projects
design = pa.quick_design('WIFI_2_4GHZ', 'FR4', 1.6)
print(f"Patch: {design.patch_width*1000:.1f} x {design.patch_length*1000:.1f} mm")

# Generate files for PCB fabrication
pa.export_design_summary(design, 'my_antenna_design.txt')
pa.write_gerber_design(design, 'my_antenna.gbr', 'inset')

For Students & Hobbyists

# Compare different materials for your project
materials = pa.find_best_material(2.4e9, 1.6, target_impedance=50)
print(f"Best material for your project: {materials[0][0]}")

# Design with specific material
design = pa.design_with_material(2.4e9, 'FR4', 1.6)

# Get helpful warnings and tips
warnings = pa.validate_design(design)
for warning in warnings:
    print(f"πŸ’‘ Tip: {warning}")

Examples

WiFi Range Extender Antenna

import patch_antenna as pa

# Design a 2.4GHz patch antenna for WiFi
design = pa.quick_design('WIFI_2_4GHZ', 'FR4', 1.6)
print(f"Antenna size: {design.patch_width*1000:.1f} x {design.patch_length*1000:.1f} mm")

# Check if design is good for manufacturing
warnings = pa.validate_design(design)
if not warnings:
    print("βœ… Design ready for fabrication!")
else:
    for warning in warnings:
        print(f"⚠️ {warning}")

IoT Sensor Node Antenna

import patch_antenna as pa

# Design for 915MHz ISM band (common for IoT)
design = pa.design_for_band('ISM_915', 'FR4', 1.6)

# Export manufacturing files
pa.export_design_summary(design, 'iot_antenna_specs.txt')
pa.export_manufacturing_notes(design, 'manufacturing_guide.txt')
pa.write_gerber_design(design, 'iot_antenna.gbr', 'inset')

Compare Materials for Student Project

import patch_antenna as pa

# Find best material for your budget and performance needs
materials = pa.find_best_material(2.4e9, 1.6, target_impedance=50)

print("Material comparison for your project:")
for i, (material, design, error) in enumerate(materials[:3]):
    print(f"{i+1}. {material}: {error:.1f}Ξ© error, "
          f"Size: {design.patch_width*1000:.1f}x{design.patch_length*1000:.1f}mm")

Documentation

Complete documentation and examples available in the GitHub repository.

Educational tutorials and student guides coming soon!

Student & Hobbyist Applications

  • University RF Labs: Perfect for antenna design coursework
  • Maker Projects: WiFi range extenders, IoT antennas, wireless sensors
  • Ham Radio: Custom patch antennas for amateur radio projects
  • Student Competitions: Robotics competitions, satellite projects
  • DIY Electronics: Home automation, wireless communication projects
  • Learning Platform: Understanding antenna fundamentals and RF design

Community & Support

This project is developed by Space-Comms student community and maintained by Al-Musbahi.

  • πŸŽ“ For Students: Ask questions, share projects, learn together
  • πŸ”§ For Hobbyists: Build cool antennas, experiment with designs
  • πŸ“š Educational Use: Use in courses, workshops, and tutorials
  • 🀝 Contributions: Students and hobbyists welcome to contribute!

Contributing

We welcome contributions from students, hobbyists, and RF enthusiasts! Here's how you can help:

Ways to Contribute

  • πŸ› Report Bugs: Found an issue? Open an issue
  • πŸ’‘ Suggest Features: Have an idea? We'd love to hear it!
  • πŸ“ Improve Documentation: Help make the docs clearer for students
  • πŸ”§ Submit Code: Fix bugs or add new features
  • πŸŽ“ Share Examples: Show your antenna projects to inspire others

Getting Started

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests if applicable
  5. Commit your changes (git commit -m 'Add amazing feature')
  6. Push to the branch (git push origin feature/amazing-feature)
  7. Open a Pull Request

Code Style

  • Follow PEP 8 standards
  • Add docstrings to new functions
  • Keep student-friendly commenting style
  • Test your changes before submitting

Authors

Original Author:
Bhanuchander Udhayakumar (@bhanuchander210)
Original patch antenna design library implementation

Enhanced by:
Al-Musbahi (@al-musbahi) - Space-Comms Community
Student-friendly enhancements, material database, validation, and educational features

Community:
Space-Comms - Student community for space and wireless communication projects


"By students, for students - making RF design accessible to everyone!"

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Tools for patch antenna and antenna array design, including automated Gerber file generation and calculation of key antenna parameters. Forked and greatly enhanced.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%