Comprehensive guide covering all features, planning workflow,
and time-saving automation tools.
February 2026
FiberWeave is a QGIS plugin that provides a complete fiber optic network planning and management solution. It integrates directly with QGIS to combine geospatial mapping with ITU-T compliant FTTX/FTTH design, power budget calculations, inside plant management, bill of materials generation, and automated reporting.
FiberWeave stores all network data in a PostgreSQL/PostGIS database using the fttx schema, giving you full spatial query capabilities and multi-user collaboration.
| Component | Requirement |
|---|---|
| QGIS | Version 3.16 or later (up to 3.99) |
| PostgreSQL | Version 12 or later with PostGIS extension |
| PostGIS | Version 3.0 or later |
| Python | 3.x (bundled with QGIS) |
| Python packages | psycopg2 (PostgreSQL driver) |
| Optional | pgRouting extension (for future route optimization) |
| Optional | openpyxl (for Excel BOM export) |
FiberWeave models a Passive Optical Network (PON) with the following hierarchy:
| Layer | Schema Table | Purpose |
|---|---|---|
| Fiber Cables | fttx.itu_fiber_cables | Physical fiber cable runs (backbone, distribution, drop) |
| ODN Nodes | fttx.itu_odn_nodes | Network nodes: splitters, splice points, access points |
| ONU Equipment | fttx.itu_onu_equipment | Optical Network Units at customer premises |
| OLT Equipment | fttx.itu_olt_equipment | Optical Line Terminals at central office |
| PON Ports | fttx.itu_pon_ports | Individual PON ports on OLT equipment |
| Cable Routes | fttx.itu_cable_routes | Infrastructure paths: conduit, aerial, underground |
| Buildings | fttx.buildings | Physical buildings for inside plant management |
FiberWeave and the URL:https://qgis.devitt.co.za/plugins.xmlhttps://qgis.devitt.co.za/plugins/fiberweave.zipAfter installation, the FiberWeave toolbar will appear in the QGIS interface.
FiberWeave requires a PostgreSQL database with PostGIS enabled. You can set this up using the built-in Database Installer.
| Field | Default | Description |
|---|---|---|
| Host | localhost | Database server address |
| Port | 5432 | PostgreSQL port |
| Connect to Database | postgres | Initial connection database |
| Username | postgres | PostgreSQL superuser |
| Password | (enter yours) | Database password |
| New Database Name | fiberweave_network | The database to create |
The installer will automatically:
fiberweave_network databasefttx schemaThe FiberWeave toolbar is organized into five groups:
| Group | Button | Function |
|---|---|---|
| Connection | Setup Database | Open the Database Installer to create or update the FiberWeave database |
| Connect Database | Connect to an existing FiberWeave database | |
| Load Layers | Load all 7 core database layers into the QGIS project | |
| Apply Styles | Apply categorized symbology and form configuration to all layers | |
| Design | Planning Wizard | Guided 4-step network design wizard |
| Add PON Port | Create a new PON port on an existing OLT | |
| Inside Plant | Manage buildings, rooms, racks, and equipment | |
| Tools | Calculators | Dropdown: Power Budget, Cable Tension, Aerial Slack/Sag |
| Analysis | Dropdown: Network Dashboard, OTDR Analyzer, Splice Diagram, Butterfly Closure, Fiber Color Reference | |
| Automation | AI Optimize | AI-powered route optimization (Phase 2 — future release) |
| Processing Toolbox | Opens QGIS Processing Toolbox filtered to FiberWeave algorithms | |
| Documentation | Reports | Dropdown: BOM Generator, Documentation Generator, Label Generator, Import Data, Generate Sample Data |
| About | Plugin version and information |
localhost (or your server address)5432fiberweave_networkbudget_user (or your configured user)After connecting to the database:
fttx schema.To explore FiberWeave before working with real data, generate a sample network:
The sample data generator creates a complete GPON network with the following components in 10 automated steps:
FiberWeave provides a structured workflow for planning a fiber optic network from scratch. Following these steps ensures your design is complete, compliant, and validated.
Before placing equipment, identify your target area:
The Planning Wizard automates the initial network design calculations:
Place your central office equipment on the map:
| Class | Standard | Min Loss (dB) | Max Loss (dB) | Use Case |
|---|---|---|---|---|
| A | ITU-T G.984.2 | 5 | 20 | Short reach, low split |
| B | ITU-T G.984.2 | 10 | 25 | Medium reach |
| B+ | ITU-T G.984.2 | 13 | 28 | Standard GPON deployment |
| C | ITU-T G.984.2 | 15 | 30 | Extended reach |
| C+ | ITU-T G.984.2 | 17 | 32 | Long haul GPON |
| C++ | XG-PON | 20 | 35 | 10G-PON, maximum reach |
Create the physical infrastructure paths and fiber cable runs:
underground_conduit — Buried conduitaerial — Pole-to-pole overheaddirect_buried — Direct-buried cablemicro_trench — Micro-trenchingbackbone — High-count trunk cables from OLT to distribution pointsdistribution — Mid-count cables from splitters to drop areasdrop — Low-count cables from access points to individual premisesindoor — Inside building cablessplitter and choose the split ratio:
1:2, 1:4, 1:8, 1:16, 1:32, or 1:64| Split Ratio | Insertion Loss (dB) |
|---|---|
| 1:2 | 3.5 |
| 1:4 | 7.0 |
| 1:8 | 10.5 |
| 1:16 | 13.5 |
| 1:32 | 17.0 |
| 1:64 | 21.0 |
splice_closure) where cables are joined.access_point) where drop cables branch off.active, planned, provisioned, suspended).Once your network design is complete, validate it:
FiberWeave includes a full inside plant management system for tracking physical infrastructure within buildings. Access it via Design > Inside Plant on the toolbar.
The Inside Plant Manager uses a hierarchical structure:
The Buildings tab allows you to:
Within each building, manage rooms and their rack contents:
The equipment and port tracking integrates with the OLT and ONU layers in the database, allowing you to correlate geospatial network elements with their physical rack positions.
Access all calculators from Tools > Calculators on the toolbar.
The Power Budget Calculator verifies that the optical signal can travel from the OLT to the ONU with sufficient margin, per ITU-T G.984.2.
| Section | Parameter | Default | Description |
|---|---|---|---|
| Transmitter | OLT TX Power | 5.0 dBm | Optical output power of the OLT |
| ONU TX Power | 1.0 dBm | Optical output power of the ONU | |
| Receiver | ONU Sensitivity | -28.0 dBm | Minimum receive power for the ONU |
| OLT Sensitivity | -28.0 dBm | Minimum receive power for the OLT | |
| Loss Parameters | Fiber Length | 10.0 km | Total fiber path length |
| Fiber Attenuation | 0.35 dB/km | Loss per kilometer of fiber | |
| Splitter Ratio | 1:32 | Optical splitter configuration | |
| Connectors | 4 | Number of connectors (0.5 dB each) | |
| Splices | 2 | Number of fusion splices (0.1 dB each) |
Calculates the maximum pulling tension during cable installation to prevent damage.
| Parameter | Default | Description |
|---|---|---|
| Cable Weight | 0.5 kg/m | Linear weight of the cable |
| Maximum Rated Tension | 2700 N | Manufacturer's maximum tensile rating |
| Pull Length | 100 m | Total length of the pull |
| Friction Coefficient | 0.5 | Coefficient of friction in conduit |
| Number of Bends | 2 | Number of bends in the route |
| Bend Angle | 90° | Average angle of each bend |
| Elevation Change | 0 m | Vertical rise (positive) or fall (negative) |
Calculates cable sag and required slack for aerial (pole-to-pole) installations.
| Parameter | Default | Description |
|---|---|---|
| Span Length | 50 m | Distance between poles |
| Pole Height Difference | 0 m | Height difference between poles |
| Cable Weight | 0.3 kg/m | Cable linear density |
| Ice Loading | 0 kg/m | Additional weight from ice buildup |
| Wind Loading | 0 N/m | Lateral wind force per meter |
| Temperature Range | -10 to 40 °C | Operating temperature extremes |
Access these tools from Tools > Analysis on the toolbar.
The Network Dashboard provides a real-time overview of your fiber network by querying the database:
Click Refresh to update statistics after making changes to your network.
The OTDR (Optical Time Domain Reflectometer) Analyzer lets you manage test results:
View splice closure fiber assignments from the database:
View a graphical representation of butterfly-type splice closures:
Quick reference for fiber identification with three standards:
| Tab | Standard | Description |
|---|---|---|
| TIA-598 | US Standard | 12-fiber color code used in North America (Blue, Orange, Green, Brown, Slate, White, Red, Black, Yellow, Violet, Rose, Aqua) |
| IEC 60304 | International | 12-fiber international color code |
| Buffer Tubes | Tube Colors | Color coding for buffer tubes in multi-tube cables |
Each tab displays a visual color swatch alongside the fiber/tube number and color name.
Access via Documentation > Reports on the toolbar.
The Bill of Materials Generator produces itemized cost reports for your fiber network.
| Option | Values | Description |
|---|---|---|
| Scope | Entire Network / Project / Area | What portion of the network to include |
| Status Filter | All / Active / Planned / Completed | Filter equipment by deployment status |
| Labor Cost per Item | Configurable (default: 0) | Installation labor cost to add per item |
| Contingency | 0-50% (default: 10%) | Percentage added for unexpected costs |
| Markup | 0-100% | Markup percentage on materials |
| Discount | 0-50% | Discount percentage applied |
| Currency | USD / EUR / GBP / ZAR | Currency for pricing |
openpyxl)Generate professional network documents by querying the live database. Four document types are available:
| Document Type | Contents | Use Case |
|---|---|---|
| Network Design | Network topology overview, equipment specifications, capacity planning, design assumptions and standards | Planning phase — present to stakeholders or clients |
| As-Built | Actual installed equipment, measured cable lengths, splice records, test results | Post-construction handover documentation |
| Test & Acceptance | OTDR test results, power meter readings, acceptance criteria, pass/fail summary | Quality assurance and customer acceptance |
| Maintenance Guide | Equipment inventory, replacement procedures, troubleshooting checklist, contact information | Ongoing operations and maintenance teams |
Each document is generated as an HTML report that can be saved or printed to PDF.
Generate standardized labels for field identification. Access via Reports > Label Generator.
| Tab | Generated For | Label Contains |
|---|---|---|
| Cable Labels | Fiber cables | Cable ID, type, fiber count, route, endpoints |
| Equipment Labels | OLTs, ONUs, splitters | Equipment ID, model, serial number, location |
| Port Labels | PON ports, patch panel ports | Port number, connected cable, OLT name, status |
| Splice Labels | Splice closures | Closure ID, fiber assignments, cable IDs |
Features:
Access via Reports > Import Data on the toolbar.
| Format | Extension | Notes |
|---|---|---|
| CSV | .csv | Comma-separated values with header row |
| Excel | .xlsx, .xls | Requires openpyxl |
| Shapefile | .shp | ESRI Shapefile with geometry |
| KML / KMZ | .kml, .kmz | Google Earth format |
| GeoJSON | .geojson, .json | Open standard geospatial format |
| QGIS Layer | — | Any currently loaded QGIS layer |
| PostGIS | — | Direct import from another PostGIS database |
| Oracle Spatial | — | Import from Oracle database |
| AutoCAD DXF | .dxf | CAD drawing files |
The Data Import Manager uses a 4-step wizard:
| Target Table | Description |
|---|---|
itu_fiber_cables | Fiber cable records |
itu_odn_nodes | Splitters, splice points, access points |
itu_onu_equipment | Customer premises equipment |
itu_olt_equipment | Central office equipment |
itu_cable_routes | Infrastructure routes |
buildings | Building records |
rooms | Room records within buildings |
racks | Rack records within rooms |
rack_equipment | Equipment mounted in racks |
FiberWeave registers three algorithms in the QGIS Processing Toolbox under the FiberWeave provider. Access them via Automation > Processing Toolbox on the toolbar, or from the QGIS menu Processing > Toolbox.
Performs a comprehensive 9-point validation of your network design:
| # | Check | What It Verifies |
|---|---|---|
| 1 | OLT Check | At least one OLT exists in the network |
| 2 | PON Port Check | PON ports exist and are assigned to OLTs |
| 3 | ONU Check | ONUs exist and have valid connections |
| 4 | Orphaned ONU Check | No ONUs are disconnected from the network |
| 5 | Splitter Check | Splitters exist with valid split ratios |
| 6 | Cable Check | Fiber cables exist with valid attributes |
| 7 | Topology Check | Network topology is connected and consistent |
| 8 | Power Budget Check | All paths meet ITU-T G.984.2 minimum 3 dB margin |
| 9 | Data Integrity | No duplicate serial numbers or conflicting records |
The output is a detailed text report listing each check with PASS/FAIL status and specific issues found.
Calculates power budgets for all active ONUs in the network in a single operation:
itu_power_budget tableGenerates a comprehensive text report covering:
The report is saved as a text file at a location you specify.
When you click Apply Styles, FiberWeave applies categorized symbology to all layers:
| Layer | Categorized By | Color Scheme |
|---|---|---|
| Fiber Cables | Cable Type | Orange (backbone), Green (distribution), Cyan (drop), Purple (indoor), Blue (trunk), Teal (feeder) |
| ODN Nodes | Node Type | Red (splitter), Yellow (splice closure), Green (access point), Blue (handhole), Purple (manhole), Teal (cabinet) |
| ONU Equipment | Status | Green (active), Blue (planned), Orange (provisioned), Red (suspended), Gray (inactive) |
| OLT Equipment | Fixed | Blue hexagon |
| PON Ports | Status | Green (active), Orange (provisioned), Blue (planned) |
| Buildings | Service Status | Green (connected), Orange (in progress), Red (not connected), Blue (planned) |
| Cable Routes | Infrastructure Type | Brown (underground conduit), Green (aerial), Gray (direct buried), Cyan (micro trench) |
FiberWeave configures QGIS attribute forms for each layer with:
cable_type appears as "Cable Type").planned for status fields and today's date for date fields.$length)Apply Styles also configures snapping automatically:
FiberWeave is designed to automate repetitive tasks and reduce manual data entry. Here is a summary of the key time-saving features:
| Feature | Manual Approach | FiberWeave Automation |
|---|---|---|
| Planning Wizard | Manually calculate OLT count, PON port requirements, and splitter cascade from customer count | Enter customer count and split ratio; wizard calculates everything automatically |
| Sample Data Generation | Manually create each OLT, port, cable, splitter, and ONU record for testing | Generate a complete 10-step GPON network with up to 500 ONUs in seconds |
| Auto-calculated Fields | Measure cable lengths manually; look up splitter loss values in spec sheets | Cable length calculated from drawn geometry; splitter loss auto-filled from ratio |
| One-click Style Application | Manually configure symbology, forms, snapping, and dropdowns for 7 layers | Single click applies styles, forms, value maps, and snapping to all layers |
| BOM Generator | Manually count equipment, measure cable, and calculate costs in a spreadsheet | Queries database automatically; applies markup, discount, contingency, and labor costs |
| Batch Power Budget | Calculate power budget for each ONU path individually in a spreadsheet | Processes all active ONUs in one click; stores results in the database |
| Network Validation | Manually check for orphaned equipment, topology gaps, and compliance issues | 9-point automated validation with detailed pass/fail report |
| Label Generation | Manually type labels for each cable, port, equipment, and splice closure | Batch-generate labels for all items; export to CSV for label printers |
| Documentation Generator | Write network design, as-built, and test documents from scratch in a word processor | Generate 4 document types directly from live database data |
| Data Import | Manually enter data from CSV, Shapefile, or CAD files record by record | 4-step wizard with auto field mapping, CRS transform, and batch processing from 9 formats |
| Form Configuration | Create dropdown menus, default values, and calculated fields manually for each layer | All forms pre-configured with standardized code lists and intelligent defaults |
| Problem | Solution |
|---|---|
| Cannot connect to database | Verify PostgreSQL is running. Check host, port, username, and password. Ensure the fiberweave_network database exists. Test with psql -h localhost -U postgres -d fiberweave_network |
| PostGIS extension not found | Install PostGIS: sudo apt install postgresql-14-postgis-3 (adjust version for your system). Then run CREATE EXTENSION postgis; |
| Permission denied | Ensure your database user has appropriate privileges. For setup, use the postgres superuser. For daily use, create a role with read/write access to the fttx schema. |
| Problem | Solution |
|---|---|
| Layers not loading | Ensure you are connected to the database first (Connect Database). The fttx schema must exist with tables created by the Database Installer. |
| Features not snapping | Click Apply Styles to re-apply snapping configuration. Verify snapping is enabled in the QGIS snapping toolbar (magnet icon). |
| Styles not appearing | Click Apply Styles again. Ensure layers are loaded from the PostGIS database (not from file). |
| Cable length shows 0 | The auto-calculated length field uses $length which requires the layer CRS to be set correctly. Reproject to a projected CRS (e.g., UTM) for accurate measurements. |
| Problem | Solution |
|---|---|
| Power budget shows FAIL | Check: fiber length too long, too many splitters, high connector/splice count, or wrong budget class. Reduce path loss or use a higher budget class (B+ or C+). |
| Cable tension exceeds maximum | Reduce pull length, minimize bends, use conduit lubricant (lower friction coefficient), or split the pull into sections. |
A: Yes. FiberWeave uses PostgreSQL, which supports concurrent connections. Multiple QGIS users can connect to the same database. Use PostgreSQL's built-in locking to prevent edit conflicts.
A: PostGIS stores geometry in the CRS defined when you create the tables. For accurate cable length calculations, use a projected CRS appropriate for your region (e.g., UTM zone). The data import wizard can reproject data from any source CRS.
A: Yes. The Data Import Manager supports CSV, Excel, Shapefile, GeoJSON, KML/KMZ, AutoCAD DXF, QGIS layers, PostGIS, and Oracle Spatial. The wizard handles field mapping and CRS transformation.
A: AI-powered route optimization is planned for Phase 2 and is not yet available in the current release. This feature will provide automated route optimization using network analysis algorithms.
A: Use standard PostgreSQL backup tools: pg_dump fiberweave_network > backup.sql for a full database backup. Schedule regular backups for production networks.
A: No. FiberWeave requires PostgreSQL with the PostGIS extension for spatial data storage and queries. PostGIS Topology is also required. pgRouting is optional.
FiberWeave's power budget calculations comply with ITU-T G.984.2, which defines the optical interface specifications for Gigabit-capable Passive Optical Networks (GPON).
| Parameter | Standard Value | FiberWeave Default |
|---|---|---|
| Downstream wavelength | 1490 nm | Used in power budget calculations |
| Upstream wavelength | 1310 nm | Used in power budget calculations |
| Fiber attenuation (1310 nm) | 0.35 dB/km | 0.35 dB/km |
| Fiber attenuation (1490 nm) | 0.25 dB/km | 0.35 dB/km (conservative) |
| Connector loss | ≤ 0.5 dB | 0.5 dB |
| Splice loss | ≤ 0.1 dB | 0.1 dB |
| Minimum system margin | 3 dB | 3 dB |
| Maximum split ratio | 1:64 | Configurable up to 1:64 |
| Split Ratio | Theoretical Loss (dB) | FiberWeave Default (dB) | Notes |
|---|---|---|---|
| 1:2 | 3.0 | 3.5 | Includes excess loss |
| 1:4 | 6.0 | 7.0 | Includes excess loss |
| 1:8 | 9.0 | 10.5 | Includes excess loss |
| 1:16 | 12.0 | 13.5 | Includes excess loss |
| 1:32 | 15.0 | 17.0 | Includes excess loss |
| 1:64 | 18.0 | 21.0 | Includes excess loss |
| Code | Description |
|---|---|
backbone | High-count trunk cables from CO to distribution points |
distribution | Mid-count cables from splitters to service areas |
drop | Low-count cables from access points to customer premises |
indoor | Inside-building cables |
trunk | Main trunk cable (alternative to backbone) |
feeder | Feeder cable in the distribution network |
| Code | Description |
|---|---|
splitter | Passive optical splitter (1:N) |
splice_closure | Fiber splice enclosure |
access_point | Network access point / tap |
handhole | Underground access handhole |
manhole | Underground access manhole |
cabinet | Street cabinet / cross-connect cabinet |
| Code | Description |
|---|---|
planned | Design phase, not yet deployed |
active | Installed and operational |
provisioned | Installed, pending activation |
suspended | Temporarily deactivated |
inactive | Permanently decommissioned |