['name'=>'Products','singular_name'=>'Product'], 'public'=>true,'show_ui'=>true,'show_in_rest'=>true, 'menu_icon'=>'dashicons-battery', 'supports'=>['title','editor','excerpt','thumbnail','custom-fields'], 'rewrite'=>['slug'=>'products','with_front'=>false], 'has_archive'=>'products' ]); register_taxonomy(self::BRAND, self::TYPE, [ 'labels'=>['name'=>'Brands','singular_name'=>'Brand'], 'public'=>true,'show_ui'=>true,'show_in_rest'=>true, 'rewrite'=>['slug'=>'brands','with_front'=>false], 'hierarchical'=>false ]); register_taxonomy(self::PTYPE, self::TYPE, [ 'labels'=>['name'=>'Product Types','singular_name'=>'Product Type'], 'public'=>true,'show_ui'=>true,'show_in_rest'=>true, 'rewrite'=>['slug'=>'product-types','with_front'=>false], 'hierarchical'=>true ]); $fields = [ 'model','sku','status','official_url','amazon_url','affiliate_url','image_url', 'capacity_wh','continuous_w','surge_w','battery_chemistry','solar_input_w', 'weight_lb','compatibility','not_compatible','required_cables','evidence_status', 'source_urls','best_for','index_status','replacement_for','replaced_by' ]; foreach ($fields as $f) { register_post_meta(self::TYPE, 'bbb_'.$f, [ 'type'=>'string','single'=>true,'show_in_rest'=>true, 'sanitize_callback'=>'sanitize_textarea_field', 'auth_callback'=>function(){ return current_user_can('edit_posts'); } ]); } } public static function rest_fields() {} private static function meta($id,$key){ return trim((string)get_post_meta($id,'bbb_'.$key,true)); } private static function list_items($v){ return array_values(array_filter(array_map('trim', preg_split('/[\n|]+/', (string)$v)))); } public static function seo_title($title) { if (!is_singular(self::TYPE)) return $title; $id=get_queried_object_id(); $brand = wp_get_post_terms($id,self::BRAND,['fields'=>'names']); $brand = $brand ? $brand[0] : ''; return trim(get_the_title($id) . ($brand && stripos(get_the_title($id),$brand)===false ? ' by '.$brand : '') . ' | Specs, Compatibility & Accessories'); } public static function seo_description($desc) { if (!is_singular(self::TYPE)) return $desc; $id=get_queried_object_id(); $best=self::meta($id,'best_for'); $cap=self::meta($id,'capacity_wh'); $out=self::meta($id,'continuous_w'); $bits=[]; if($cap) $bits[]=$cap.'Wh capacity'; if($out) $bits[]=$out.'W output'; if($best) $bits[]='best for '.$best; $bits[]='compatibility, cables, accessories and buying options'; return 'See '.get_the_title($id).': '.implode(', ',$bits).'.'; } public static function robots($robots) { if (!is_singular(self::TYPE)) return $robots; $v=self::meta(get_queried_object_id(),'index_status'); if ($v==='noindex') return ['noindex'=>'noindex','follow'=>'follow']; return $robots; } public static function render_content($content) { if (!is_singular(self::TYPE) || !in_the_loop() || !is_main_query()) return $content; $id=get_the_ID(); $m=[]; foreach(['model','sku','status','official_url','amazon_url','affiliate_url','image_url','capacity_wh','continuous_w','surge_w','battery_chemistry','solar_input_w','weight_lb','compatibility','not_compatible','required_cables','evidence_status','best_for','replacement_for','replaced_by'] as $k) $m[$k]=self::meta($id,$k); $brand = wp_get_post_terms($id,self::BRAND,['fields'=>'names']); $brand=$brand?$brand[0]:''; $types = wp_get_post_terms($id,self::PTYPE,['fields'=>'names']); $type=$types?$types[0]:''; $cta = $m['affiliate_url'] ?: $m['amazon_url']; ob_start(); ?>

Verified specifications, compatibility, required cables, related accessories and buying options.

'.esc_html($b).''; ?>
Check current price Official specifications
<?pmp echo esc_attr(get_the_title().' product image'); ?>
🔋
$m['model'],'SKU / Part #'=>$m['sku'],'Capacity'=>$m['capacity_wh']?$m['capacity_wh'].' Wh':'','Continuous output'=>$m['continuous_w']?$m['continuous_w'].' W':'','Surge output'=>$m['surge_w']?$m['surge_w'].' W':'','Battery chemistry'=>$m['battery_chemistry'],'Max solar input'=>$m['solar_input_w']?$m['solar_input_w'].' W':'','Weight'=>$m['weight_lb']?$m['weight_lb'].' lb':'','Evidence'=>$m['evidence_status']]; foreach($specs as $label=>$v) if($v) echo '
'.esc_html($label).'
'.esc_html($v).'
'; ?>
'Compatible with','not_compatible'=>'Not compatible with','required_cables'=>'Required / useful cables']; foreach($sections as $k=>$label){ $items=self::list_items($m[$k]); if($items){ echo '

'.esc_html($label).'

'; foreach($items as $it) echo '
✓ '.esc_html($it).'
'; echo '
'; } } ?>

Product overview

Evidence status: . Compatibility and specifications should be confirmed against current manufacturer documentation before purchase or installation.
self::BRAND,'field'=>'name','terms'=>$brand]; if ($ptype) $tax_query[] = ['taxonomy'=>self::PTYPE,'field'=>'name','terms'=>$ptype]; if (count($tax_query)>1) $tax_query['relation']='AND'; $args=['post_type'=>self::TYPE,'post_status'=>'publish','posts_per_page'=>200,'orderby'=>'title','order'=>'ASC','s'=>$search]; if ($tax_query) $args['tax_query']=$tax_query; $items=get_posts($args); $brands=get_terms(['taxonomy'=>self::BRAND,'hide_empty'=>true]); $types=get_terms(['taxonomy'=>self::PTYPE,'hide_empty'=>true]); status_header(200); nocache_headers(); ?>> <?pmp echo esc_html(($brand ?: $ptype ?: 'Backup Power Product Database').' | Best Battery Backups'); ?>
← Best Battery BackupsBest Picks
Structured backup-power catalog

Find exact models, compatible expansion batteries, solar panels, chargers, replacement batteries, kits, cables and accessories. matching records.

'.esc_html($t->name).' ('.intval($t->count).')'; ?>
ID; $b=wp_get_post_terms($id,self::BRAND,['fields'=>'names']); $b=$b?$b[0]:''; $t=wp_get_post_terms($id,self::PTYPE,['fields'=>'names']); $t=$t?$t[0]:''; $cap=self::meta($id,'capacity_wh'); $out=self::meta($id,'continuous_w'); $st=self::meta($id,'status'); echo '
'.esc_html(trim($b.' · '.$t,' ·')).'

'.esc_html(get_the_title($id)).'

'; if($cap) echo ''.esc_html($cap).'Wh'; if($out) echo ''.esc_html($out).'W'; if($st) echo ''.esc_html($st).''; echo '

'.esc_html(get_the_excerpt($id)).'

View specs & compatibility
'; } ?>
'names']); $brand=$brand?$brand[0]:''; $data=[ '@context'=>'https://schema.org','@type'=>'Product','name'=>get_the_title($id), 'url'=>get_permalink($id),'description'=>self::seo_description(''), 'brand'=>$brand?['@type'=>'Brand','name'=>$brand]:null, 'model'=>self::meta($id,'model') ?: null, 'sku'=>self::meta($id,'sku') ?: null, 'image'=>self::meta($id,'image_url') ?: null ]; $data=array_filter($data,fn($v)=>$v!==null && $v!==''); echo ''; } } BBB_Product_Catalog::init(); register_activation_hook(__FILE__, function(){ BBB_Product_Catalog::register(); flush_rewrite_rules(); }); register_deactivation_hook(__FILE__, 'flush_rewrite_rules'); How to Connect Solar Panels to a Charge Controller (MPPT vs…
How to Connect Solar Panels to a Charge Controller (MPPT vs PWM)

How to Connect Solar Panels to a Charge Controller (MPPT vs PWM)

How to Connect Solar Panels to a Charge Controller (MPPT vs PWM)

Connecting solar panels to a charge controller is simple once you understand voltage, wiring, and the difference between MPPT and PWM controllers. The wiring order matters, the voltage limits matter, and the controller type determines whether you should wire panels in series or parallel.

This guide gives you a clean, step‑by‑step method for connecting solar panels to MPPT and PWM controllers safely and efficiently.

Quick Take: Always connect the battery to the controller first, then connect the solar panels. MPPT prefers series wiring; PWM prefers parallel wiring.

MPPT vs PWM: What’s the Difference?

Feature MPPT Controller PWM Controller
Efficiency 95–99% 70–80%
Best Wiring Series or series‑parallel Parallel only
Panel Voltage Can be higher than battery voltage Must match battery voltage
Cost Higher Lower
Best For Large arrays, cold climates, long wire runs Small systems, budget builds

Rule of thumb: If you have more than 200W of solar, MPPT is almost always the better choice.


Correct Connection Order (Very Important)

Charge controllers must be connected in the correct order to avoid damage.

  1. Connect battery → charge controller
  2. Connect solar panels → charge controller
  3. Connect load (optional)

Never connect solar panels to the controller before the battery. The controller needs battery voltage to boot safely.


How to Connect Solar Panels to an MPPT Charge Controller

🔵 MPPT Wiring

MPPT controllers convert excess panel voltage into usable charging current. This means you can wire panels in series for higher voltage and lower current (less loss).

Steps:

  1. Connect battery to the MPPT controller (battery terminals)
  2. Wire solar panels in series or series‑parallel
  3. Connect the panel positive (+) and negative (–) to the MPPT PV input
  4. Confirm voltage is within the controller’s PV input range
  5. Check the controller display for charging watts

Series Example:

PanelsResult
2 × 100W (18V, 5.5A)36V, 5.5A
4 × 100W72V, 5.5A

Why MPPT loves series: Higher voltage stays above the battery voltage even in low light, improving winter and cloudy‑day performance.


How to Connect Solar Panels to a PWM Charge Controller

🟢 PWM Wiring

PWM controllers simply “pulse” the panel voltage down to battery voltage. This means panel voltage must match the battery voltage, so parallel wiring is required.

Steps:

  1. Connect battery to the PWM controller
  2. Wire solar panels in parallel using MC4 Y‑branch connectors
  3. Connect the combined positive and negative to the PWM PV input
  4. Ensure panel voltage matches battery voltage (12V panels for 12V batteries)
  5. Check the controller for charging amps

Parallel Example:

PanelsResult
2 × 100W (18V, 5.5A)18V, 11A
4 × 100W18V, 22A

Why PWM requires parallel: It cannot step down high voltage like MPPT can.


Series vs Parallel for Charge Controllers

Wiring Type Voltage Amperage Best For
Series Increases Same MPPT controllers, long wire runs, winter
Parallel Same Increases PWM controllers, low‑voltage solar generators

How to Check Voltage Before Connecting

Use a multimeter to confirm:

  • Open‑circuit voltage (Voc) of your panel string
  • It must be below the controller’s max PV voltage

Cold weather increases Voc, so leave 10–20% safety margin.


Full Connection Diagram (Text Version)

MPPT Setup:

  • Panels (series) → PV input on MPPT
  • Battery → Battery terminals on MPPT
  • Inverter (optional) → Battery

PWM Setup:

  • Panels (parallel) → PV input on PWM
  • Battery → Battery terminals on PWM
  • Inverter (optional) → Battery

Common Mistakes When Connecting Panels to Controllers

  • Connecting solar before the battery (can fry the controller)
  • Exceeding PV voltage on MPPT inputs
  • Using series wiring on PWM (won’t charge properly)
  • Mismatched panels in series (voltage mismatch wastes power)
  • Undersized wire causing voltage drop

FAQ: Connecting Solar Panels to Charge Controllers

Can I mix different solar panels?

Only if voltage and current match closely. Otherwise, the array will down‑rate to the weakest panel.

Can I use MPPT with low‑voltage solar generators?

Yes, but only if the generator supports external MPPT charging.

Do I need fuses?

Yes—parallel strings should be fused to prevent back‑feeding.

Can I connect an inverter to the charge controller?

No—connect the inverter directly to the battery, not the controller.



🔆 Explore More Solar Wiring Guides

Pair your charge controller with the right wiring, angles, and panel sizing for maximum efficiency.



As an Amazon Associate, we earn from qualifying purchases. This does not affect our reviews or product recommendations.

Continue your research

Related battery backup guides

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top