Advanced rectangular patch antenna design with enhanced material database and automated Gerber generation.
- Project Overview
- Key Features
- Quick Start
- Examples
- Documentation
- Student & Hobbyist Applications
- Community & Support
- Contributing
- Authors
- License
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.
- 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
- 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
pip install patch-antenna-designer
Or install with development dependencies:
pip install patch-antenna-designer[dev]
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')
# 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}")
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}")
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')
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")
Complete documentation and examples available in the GitHub repository.
Educational tutorials and student guides coming soon!
- 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
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!
We welcome contributions from students, hobbyists, and RF enthusiasts! Here's how you can help:
- π 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
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Add tests if applicable
- Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow PEP 8 standards
- Add docstrings to new functions
- Keep student-friendly commenting style
- Test your changes before submitting
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!"
This project is licensed under the MIT License - see the LICENSE file for details.