{"id":36375,"date":"2025-11-11T09:59:11","date_gmt":"2025-11-11T09:59:11","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=36375"},"modified":"2026-02-16T10:31:58","modified_gmt":"2026-02-16T10:31:58","slug":"programmable-controller-selection","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection","title":{"rendered":"Comparison of imperix programmable controllers"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-right-text counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\/#Products-presentation\" >Products presentation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\/#B-Box-family\" >B-Box family<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\/#B-Board-PRO\" >B-Board PRO<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\/#TPI-8032\" >TPI 8032<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\/#B-Box-devices\" >B-Box devices<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\/#IO-specifications\" >I\/O specifications<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\/#Computational-capability\" >Computational capability<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\/#Supported-communication-protocols\" >Supported communication protocols<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\/#Software-independent-protections\" >Software-independent protections<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\/#Application-based-selection-guide\" >Application-based selection guide<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>This article explores imperix&#8217;s portfolio of programmable controllers, highlighting how each device is optimized for specific power-electronics applications.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Products-presentation\"><\/span>Products presentation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>All imperix controllers use a DSP + FPGA architecture that is fully programmable by the user. This shared architecture is the cornerstone of extensive hardware abstraction, which in turn authorizes excellent interoperability and compatibility across devices and generations.<\/p>\n\n\n\n<p>From a software perspective, all programmable controllers are identical, as they can be programmed from the same Simulink\/PLECS control model with only a few parameter changes. They also support the same workflow and provide the same runtime monitoring and tuning capabilities via Cockpit. At the hardware level, however, the controllers may exhibit somewhat different characteristics, notably tied to their I\/O resources, each optimized explicitly for a particular use case.<\/p>\n\n\n\n<p>Overall, imperix offers three distinct types of programmable controllers, as shown below:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"984\" height=\"330\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/ix_Controllers.png\" alt=\"various types of imperix programmable controllers\" class=\"wp-image-36730\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/ix_Controllers.png 984w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/ix_Controllers-300x101.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/ix_Controllers-768x258.png 768w\" sizes=\"auto, (max-width: 984px) 100vw, 984px\" \/><\/figure>\n<\/div>\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-success\" role=\"alert\"><strong>Did you know?<br><\/strong>Here are the key differences between imperix controllers and general-purpose prototyping systems:<br>&#8211; Complimentarity among PWM signal pairs is <strong>guaranteed during 100% of the time<\/strong>. No 1:1 state can ever happen, including during boot time, during FPGA flashing, during power supply fault, etc. Most competing solutions produce potentially destructive signals during these brief but special conditions.<br>&#8211; Cockpit offer a simple <strong>enable\/disable mechanism<\/strong> for PWM outputs. This is key to distinghuish the starting\/stopping of the code from that of the application (start\/stop of the whole power converter). The implementation of protections does also depend from that mechanism.<br><strong>&#8211; Protections are fully independent<\/strong> from the user application (including inside the FPGA). This guarantees that any mistake or bug at the application level can never interfere with safety.<br>&#8211; <strong>Synchronous sampling<\/strong> is guaranteed across all channels (and all units accross the control network). Specifications are guaranteed accordingly. Sampling is also synchronized with modulation by default, with multiple advanced options available.<br>&#8211; <strong>Low-latency<\/strong> and deterministic timings are 100% guaranteed. Sampling to CPU, and CPU to modulators update is generally below 200ns (except for complex applications). This performance level is simply unachievable over PCIe (i.e. with all systems based on the x86 architecture).<br>&#8211; <strong>There is no pipelining<\/strong> during data aquisition or transfers. Acquisition, control and modulation can be executed within one sampling period, even at the maximum control rate. <strong>Hard real-time execution<\/strong> is guaranteed. Over-run is simply impossible (software fault).<\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"B-Box-family\"><\/span>B-Box family<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The B-Box family comprises devices optimized for laboratory applications, where performance and flexibility are the main priorities. B-Box controllers are plug-&amp;-play with imperix power modules (<a href=\"https:\/\/imperix.com\/doc\/example\/single-phase-pv-inverter-with-fictive-axis-emulation?currentThread=single-phase-pv-inverter-with-ficitve-axis-emulation\">example<\/a>) but are also flexible enough to be easily used with custom power hardware (e.g.  <span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><a href=\"https:\/\/imperix.com\/doc\/implementation\/single-phase-totem-pole-pfc-rectifier?currentThread=on-board-charger-obc-for-electric-vehicles\" target=\"_blank\" rel=\"noreferrer noopener\">TN107)<\/a><\/span>. The differences between B-Box controllers are summarized <a href=\"#BBOXCOMPARISON\">below<\/a>. Details specific to hardware protections are provided in <a href=\"https:\/\/imperix.com\/doc\/help\/over-current-and-over-voltage-protection\">PN257<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"B-Board-PRO\"><\/span>B-Board PRO<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The B-Board PRO is the control board present in the B-Box RCP and B-Box micro. It is also available as a standalone control board. Its typical applications include industrial use or research, where the programmable controller must be embedded directly in the power converter. In such a case, the main benefit of using B-Board PRO lies in its ability to facilitate the transition between the development and production phases, thanks to immediate portability from the B-Box RCP. More information can be found on its <a href=\"https:\/\/imperix.com\/products\/control\/inverter-control-board\/\">product page.<\/a><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"424\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/FE6D998A-8F20-4244-B4D4-6C5ADA06A900-1024x424.png\" alt=\"The B-Board PRO programmable controller is part of the B-Box RCP\" class=\"wp-image-37128\" style=\"aspect-ratio:2.4151639108140808;width:655px;height:auto\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/FE6D998A-8F20-4244-B4D4-6C5ADA06A900-1024x424.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/FE6D998A-8F20-4244-B4D4-6C5ADA06A900-300x124.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/FE6D998A-8F20-4244-B4D4-6C5ADA06A900-768x318.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/FE6D998A-8F20-4244-B4D4-6C5ADA06A900.png 1108w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"TPI-8032\"><\/span>TPI 8032<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The TPI 8032 is the only imperix product that combines the power and control stages into a single unit. Standing for Three-Phase Inverter, the TPI 8032 is a fully programmable inverter optimized for maximum flexibility on the software side, but in experiments where the topology remains constant. Typical applications include grid-connected inverters and the emulation of DERs in lab-scale microgrid applications. More information on the TPI 8032 can be found on its <a href=\"https:\/\/imperix.com\/products\/power\/programmable-inverter\/\">product page.<\/a><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th>B-Box controllers<\/th><th>B-Board PRO<\/th><th>TPI 8032<\/th><\/tr><\/thead><tbody><tr><td><strong>Application target<\/strong><\/td><td>Modular power electronic systems<\/td><td>Integration within custom converters<\/td><td>Easy-to-use programmable inverter<\/td><\/tr><tr><td><strong>Plug &amp; play with modules and sensors<\/strong><\/td><td>YES<\/td><td>NO<\/td><td>YES, but only sensors:<br>4x analog inputs (RJ45)<\/td><\/tr><tr><td><strong>Processing<\/strong><\/td><td>B-Box 4: <br>4&#215;1.5GHz + 504K FPGA <br>Gen. 3: <br>2&#215;1.0GHz + 125K FPGA<\/td><td>2&#215;1.0GHz + 125K FPGA<\/td><td>2&#215;1.0GHz + 125K FPGA<\/td><\/tr><tr><td><strong>Analog I\/Os<\/strong><\/td><td>RJ45 for analog inputs<\/td><td>On high-density connectors (bottom side)<\/td><td>4x analog inputs on RJ45<\/td><\/tr><tr><td><strong>Digital I\/Os<\/strong><\/td><td>Optical fibers for PWMs<br>VHDCI connectors for other digital I\/Os<\/td><td>On high-density connectors (bottom side)<\/td><td>8x GPIO as 5\/12V electrical signals.<\/td><\/tr><tr><td><strong>Software environments<\/strong><\/td><td>ACG SDK or CPP SDK<br>Free FPGA programming<\/td><td>ACG SDK or CPP SDK<br>Free FPGA programming<\/td><td>ACG SDK or CPP SDK<br>Free FPGA programming<\/td><\/tr><tr><td><strong>SW-independent protections<\/strong><\/td><td>YES<\/td><td>NO<\/td><td>YES <br>(not configurable)<\/td><\/tr><\/tbody><tfoot><tr><td><strong>Product datasheet<\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_4_Datasheet.pdf\"><\/a><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_4_Datasheet.pdf\">B-Box 4<\/a><\/strong> <br><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_Datasheet.pdf\">B-Box 3 (RCP)<\/a><\/strong><br><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_micro_Datasheet.pdf\">B-Box micro<\/a><\/strong><\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Board_Datasheet.pdf\">B-Board PRO<\/a><\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/TPI8032_Datasheet.pdf\">TPI8032<\/a><\/strong><\/td><\/tr><\/tfoot><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"BBOXCOMPARISON\"><span class=\"ez-toc-section\" id=\"B-Box-devices\"><\/span>B-Box devices<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Within the B-Box family, imperix controllers share the same I\/O interfaces: RJ45 connectors for analog inputs and plastic optical fibers (POF) for PWM outputs. Cross-compatible digital I\/Os are also available on the rear side of the devices in electrical form.<\/p>\n\n\n\n<p>On the other hand, the specificities of each programmable controller offer freedom of choice regarding:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>I\/O count and related performance<\/strong>. The bandwidth and sampling rate of analog inputs, as well as the PWM resolution of digital outputs, differ significantly across devices.<\/li>\n\n\n\n<li><strong>Computing performance<\/strong>. The B-Box 4 embeds a significantly more powerful processing system.<\/li>\n\n\n\n<li><strong>Oscilloscoping capabilities<\/strong>. The B-Box 4 supports the so-called <a href=\"https:\/\/imperix.com\/software\/cockpit\/\">oversampling technology<\/a>.<\/li>\n\n\n\n<li><strong>Networking options<\/strong>. The B-Boxes 4 and 3 can be stacked for high-performance I\/O extension, unlike the B-Box micro.<\/li>\n<\/ul>\n\n\n\n<p>This results in the following product positioning:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>B-Box 4<\/strong>: Flagship controller with the most extensive set of capabilities and the highest performance. Commercialized since 2026.<\/li>\n\n\n\n<li><strong>B-Box RCP 3<\/strong>: High-performance controller with full support for networked control and direct portability to B-Board PRO. Commercialized since 2019.<\/li>\n\n\n\n<li><strong>B-Box micro<\/strong>: Cost-optimized, teaching-oriented system with limited I\/Os. Networked control is, however, not supported.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"942\" height=\"264\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/B-Box-Family.png\" alt=\"Each programmable controller has specific I\/Os\" class=\"wp-image-36731\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/B-Box-Family.png 942w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/B-Box-Family-300x84.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/B-Box-Family-768x215.png 768w\" sizes=\"auto, (max-width: 942px) 100vw, 942px\" \/><\/figure>\n<\/div>\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"IO-specifications\"><\/span>I\/O specifications<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th><\/th><th>B-Box 4<\/th><th>B-Box 3<\/th><th>B-Box micro<\/th><\/tr><\/thead><tbody><tr><td><strong>Analog inputs<\/strong><\/td><td><strong>24x RJ45 ports<\/strong><br>&#8211; Resolution: 16-bit<br>&#8211; Simult. Fs: 20Msps<br>&#8211; Bandwidth: 2.7MHz<br>&#8211; Impedance: 5k\u03a9<sup>1<\/sup><br>&#8211; Auto-ID: YES<br>&#8211; Pre-amp gain: 1x<br>&#8211; LPF: digital (precision ++) <br>&#8211; Oversampling: YES<\/td><td><strong>16x RJ45 ports<\/strong><br>&#8211; Resolution: 16-bit<br>&#8211; Simult. Fs: 0.5Msps<br>&#8211; Bandwidth: 400kHz<br>&#8211; Impedance: 3k\u03a9\/100\u03a9<br>&#8211; Auto-ID: NO<br>&#8211; Pre-amp gain: 1x,2x,4x,8x<br>&#8211; LPF: analog <br>&#8211; Oversampling: NO<\/td><td><strong>8x RJ45 ports<\/strong><br>&#8211; Resolution: 16-bit<br>&#8211; Simult. Fs: 2Msps<br>&#8211; Bandwidth: 1.3MHz<br>&#8211; Impedance: 20k\u03a9<br>&#8211; Auto-ID: NO<br>&#8211; Pre-amp gain: 2x<br>&#8211; LPF: NO <br>&#8211; Oversampling: NO<\/td><\/tr><tr><td><strong>PWM outputs<\/strong><\/td><td><strong>48x fiber\/VHDCI outputs<\/strong><br>&#8211; 24x optic.\/elec. + 24x elec.<br>&#8211; 250ps resolution<br>&#8211; Oversampling: YES<\/td><td><strong>32x fiber\/VHDCI outputs<\/strong><br>&#8211; 16x optic.\/elec. + 16x elec.<br>&#8211; 4ns resolution<br>&#8211; Oversampling: NO<\/td><td><strong>8x fiber outputs<\/strong><br>&#8211; 8x optical only<br>&#8211; 4ns resolution<br>&#8211; Oversampling: NO<\/td><\/tr><tr><td><strong>Analog outputs<\/strong><\/td><td><strong>24x RJ45 ports<\/strong><br>&#8211; Resolution: 12-bit<br>&#8211; Update rate: 500 ksps<br>&#8211; Shared with inputs <\/td><td><strong>4x SMA ports<\/strong><br>&#8211; Resolution: 16-bit<br>&#8211; Update rate: 50 ksps<br> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><\/td><td><strong>Unavailable<\/strong><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><\/td><\/tr><tr><td><strong>GPO<\/strong><\/td><td><strong><strong>48x fiber\/VHDCI outputs<\/strong><br><\/strong>&#8211; 24x optic.\/elec. + 24x elec.<br>&#8211; Logic level: 3.3V\/5V<\/td><td><strong>16x VHDCI outputs<\/strong><br>&#8211; Logic level: 3.3V\/5V<br><\/td><td><strong>8x PCB header outputs<\/strong><br>&#8211; Logic level: 5V<br><\/td><\/tr><tr><td><strong>GPI<\/strong><\/td><td><strong>24x VHDCI inputs<\/strong><br>&#8211; Logic level: 3.3V\/5V<\/td><td><strong>16x VHDCI inputs<\/strong><br>&#8211; Logic level: 3.3V\/5V<\/td><td><strong>8x PCB header inputs<\/strong><br>&#8211; Logic level: 5V<\/td><\/tr><tr><td><strong>USR<\/strong><\/td><td><strong>36x VHDCI pins<\/strong><br>&#8211; Logic level: 3.3V<\/td><td><strong>36x VHDCI pins<\/strong><br>&#8211; Logic level: 3.3V<\/td><td><strong>36x VHDCI pins<\/strong><br>&#8211; Logic level: 3.3V<\/td><\/tr><\/tbody><tfoot><tr><td><strong>Product datasheet<\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_4_Datasheet.pdf\">B-Box 4<\/a><\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_Datasheet.pdf\">B-Box 3<\/a><\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_micro_Datasheet.pdf\">B-Box micro <\/a><\/strong><\/td><\/tr><\/tfoot><\/table><\/figure>\n\n\n\n<p class=\"has-small-font-size\" style=\"margin-top:-30px;margin-bottom:-30px\"><sup>1<\/sup> Low-impedance adapter available for purchase<\/p>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-success\" role=\"alert\">The B-Box 4 and B-Box 3 controllers can expand their I\/O count through master-slave operation. However, the B-Box micro is not compatible with optical fiber networking. <\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Computational-capability\"><\/span>Computational capability<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Computational capability differs only across generations. While Generation 3 controllers are powerful enough for most typical applications, with achievable maximum CPU control frequencies in the range of 250 kHz, the B-Box 4 is considerably more powerful and can run 4x more complex code at a given control frequency.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th>Generation 4<\/th><th>Generation 3<\/th><\/tr><\/thead><tbody><tr><td><strong>SoC architecture<\/strong><\/td><td>Zynq Ultrascale+<\/td><td>Zynq 7000<\/td><\/tr><tr><td><strong>Processing system<\/strong><\/td><td>&#8211; 4x 1.5GHz AMD Cortex A53 -3<br>&#8211; 8GB DDR4<\/td><td>&#8211; 2x 1.0GHz AMD Cortex A9 -3<br>&#8211; 1GB DDR3<\/td><\/tr><tr><td><strong>FPGA<\/strong><\/td><td>Kintex US+ 504K<br>&#8211; 350K programmable logic cells<\/td><td>Kintex 7 125K<br>&#8211; 62K programmable logic cells<\/td><\/tr><\/tbody><tfoot><tr><td><strong>Product datasheet<\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_4_Datasheet.pdf\">B-Box 4<\/a><\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_Datasheet.pdf\">B-Box RCP<\/a><\/strong><br><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_micro_Datasheet.pdf\">B-Box micro<\/a><\/strong><\/td><\/tr><\/tfoot><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"COMMPROTOCOL\"><span class=\"ez-toc-section\" id=\"Supported-communication-protocols\"><\/span>Supported communication protocols<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Each controller supports various communication protocols. The more research-oriented devices (B-Box 4 and B-Box RCP) support many more protocols than the teaching-oriented device (B-Box micro).<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th>B-Box 4<\/th><th>B-Box 3<\/th><th>B-Box micro<\/th><\/tr><\/thead><tbody><tr><td><strong>Ethernet-based<\/strong><\/td><td><strong>1x Ethernet port<\/strong><br>&#8211; UDP\/IP<br>&#8211; OPC-UA<br>&#8211; Modbus TCP<\/td><td><strong>1x Ethernet port<\/strong><br>&#8211; UDP\/IP<br>&#8211; OPC-UA<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><\/td><td><strong>1x Ethernet port<\/strong><br>&#8211; UDP\/IP<br>&#8211; OPC-UA<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><\/td><\/tr><tr><td><strong>High-performance<\/strong><\/td><td><strong>4x QSFP+ 40Gbit\/s<\/strong><br>&#8211; RealSync<br>&#8211; Aurora<br>&#8211; Custom protocol<\/td><td><strong>3x SFP+ 10Gbit\/s<\/strong><br>&#8211; RealSync<br>&#8211; Aurora<br>&#8211; Custom protocol<\/td><td><strong>Unavailable<\/strong><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><\/td><\/tr><tr><td><strong>CANBUS<\/strong><\/td><td><strong>2x CANBUS ports<\/strong><br>&#8211; CAN FD<br>&#8211; CAN 2.0A<br>&#8211; CAN 2.0B<\/td><td><strong>1x CANBUS ports<\/strong><br>&#8211; CAN 2.0A<br>&#8211; CAN 2.0B<br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><\/td><td><strong>Unavailable<\/strong><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><\/td><\/tr><tr><td><strong>Serial communication<\/strong><\/td><td><strong>2x serial ports<\/strong><br>&#8211; RS422\/RS485<br>&#8211; BISS-C\/SSI\/Endat 2.0<\/td><td><strong>Unavailable<\/strong><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><\/td><td><strong>Unavailable<\/strong><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><br><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-palette-9-color\">spaceholder<\/mark><\/td><\/tr><\/tbody><tfoot><tr><td><strong>Product datasheet<\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_4_Datasheet.pdf\">B-Box 4<\/a><\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_Datasheet.pdf\">B-Box 3<\/a><\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_micro_Datasheet.pdf\">B-Box micro<\/a><\/strong><\/td><\/tr><\/tfoot><\/table><\/figure>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-success\" role=\"alert\">The third- and fourth-generation controllers are cross-compatible for distributed control and modulation implementations using <a href=\"https:\/\/imperix.com\/technology\/low-latency-communication\/\">RealSync<\/a>. <\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Software-independent-protections\"><\/span>Software-independent protections<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The software-independent protections available on most imperix controllers have slightly different characteristics, which are summarized in the table below. Further details are given in <a href=\"https:\/\/imperix.com\/doc\/help\/over-current-and-over-voltage-protection\" type=\"link\" id=\"https:\/\/imperix.com\/doc\/help\/over-current-and-over-voltage-protection\">PN257<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><\/th><th>B-Box 4<\/th><th>B-Box 3<\/th><th>B-Box micro<\/th><\/tr><\/thead><tbody><tr><td><strong>Implementation<\/strong><\/td><td>Protected FPGA firmware<\/td><td>Hardware comparators<\/td><td>Protected FPGA firmware<\/td><\/tr><tr><td><strong>Scaling<\/strong><\/td><td>Identified sensor: <br>true value<br>Third-party sensor:<br>ADC value<\/td><td>ADC value<\/td><td>ADC value<\/td><\/tr><tr><td><strong>Response speed<\/strong><\/td><td>Ultra: &lt;800ns<br>Fast: 1.6\u00b5s<\/td><td>Fast: 1.6\u00b5s<\/td><td>Fast: 1.5\u00b5s<\/td><\/tr><tr><td><strong>Configuration<\/strong><\/td><td>In Cockpit<\/td><td><a href=\"https:\/\/imperix.com\/doc\/help\/analog-front-end-configuration-on-b-box-rcp?currentThread=b-box-rcp-3-0\">using the front panel<\/a><sup>1<\/sup><\/td><td>in Cockpit<\/td><\/tr><\/tbody><tfoot><tr><td><strong>Product datasheet<\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_4_Datasheet.pdf\">B-Box 4<\/a><\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_Datasheet.pdf\">B-Box 3<\/a><\/strong><\/td><td><strong><a href=\"https:\/\/imperix.com\/wp-content\/uploads\/document\/B-Box_micro_Datasheet.pdf\">B-Box micro<\/a><\/strong><\/td><\/tr><\/tfoot><\/table><\/figure>\n\n\n\n<p class=\"has-small-font-size\" style=\"margin-top:-30px;margin-bottom:-30px\"><sup>1<\/sup> Saving\/restoring the protection configuration requires a USB key on the B-Box RCP3.0, as it\u2019s entirely independent of Cockpit.<\/p>\n\n\n\n<div style=\"height:60px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Application-based-selection-guide\"><\/span>Application-based selection guide<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Every imperix controller can run most control algorithms with excellent closed-loop performance. Nonetheless, imperix&#8217;s controller portfolio aims to provide solutions optimized for each use case.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">When to select a B-Box controller<\/h4>\n\n\n\n<p>When comparing imperix products, the primary motivations for choosing a B-Box controller is the versatility offered by its modular design and plug-and-play compatibility with imperix power modules. This enables changing the controlled topology in a couple of minutes by simply rewiring the power stage and changing the I\/O mapping. The selection of the specific B-Box type depends on user requirements:<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Selecting the B-Box 4<\/h5>\n\n\n\n<p>The B-Box 4 is imperix&#8217;s flagship controller. Apart from offering the highest number of I\/Os, it also provides access to oversampled ADC and PWM data, enabling their scoping directly in Cockpit. This makes it the first-choice controller for easily researching and debugging high-performance applications. Examples where this would prove particularly useful include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/imperix.com\/doc\/example\/single-phase-pv-inverter-with-fictive-axis-emulation?currentThread=single-phase-pv-inverter-with-ficitve-axis-emulation\">Single-phase PV inverter (AN003)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/example\/on-board-charger-for-electric-vehicles\">Onboard battery charger for electric vehicles (AN010)<\/a><\/li>\n<\/ul>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-success\" role=\"alert\">All the examples on the imperix knowledge base, initially written for third-generation controllers, are compatible with the B-Box 4 with minimal (if any) modifications.<\/div>\n\n\n<style>.kb-row-layout-id36375_dc3386-c9 > .kt-row-column-wrap{align-content:start;}:where(.kb-row-layout-id36375_dc3386-c9 > .kt-row-column-wrap) > .wp-block-kadence-column{justify-content:start;}.kb-row-layout-id36375_dc3386-c9 > .kt-row-column-wrap{column-gap:var(--global-kb-gap-md, 2rem);row-gap:var(--global-kb-gap-md, 2rem);padding-top:var(--global-kb-spacing-sm, 1.5rem);grid-template-columns:repeat(2, minmax(0, 1fr));}.kb-row-layout-id36375_dc3386-c9 > .kt-row-layout-overlay{opacity:0.30;}@media all and (max-width: 1024px){.kb-row-layout-id36375_dc3386-c9 > .kt-row-column-wrap{grid-template-columns:repeat(2, minmax(0, 1fr));}}@media all and (max-width: 767px){.kb-row-layout-id36375_dc3386-c9 > .kt-row-column-wrap{grid-template-columns:minmax(0, 1fr);}}<\/style><div class=\"kb-row-layout-wrap kb-row-layout-id36375_dc3386-c9 alignnone wp-block-kadence-rowlayout\"><div class=\"kt-row-column-wrap kt-has-2-columns kt-row-layout-equal kt-tab-layout-inherit kt-mobile-layout-row kt-row-valign-top\">\n<style>.kadence-column36375_3ae294-db > .kt-inside-inner-col,.kadence-column36375_3ae294-db > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column36375_3ae294-db > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column36375_3ae294-db > .kt-inside-inner-col{flex-direction:column;}.kadence-column36375_3ae294-db > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column36375_3ae294-db > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column36375_3ae294-db{position:relative;}@media all and (max-width: 1024px){.kadence-column36375_3ae294-db > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column36375_3ae294-db > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column36375_3ae294-db\"><div class=\"kt-inside-inner-col\">\n<h5 class=\"wp-block-heading\">Selecting the B-Box RCP<\/h5>\n\n\n\n<p>As the previous flagship of the imperix controller portfolio, the B-Box RCP is a highly capable device that performs well across a wide range of applications. Its only limitations are the comparatively lower processing power and the lack of oversampling. Usage examples are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/imperix.com\/doc\/example\/three-phase-pv-inverter\">Three-phase PV inverter (AN006)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/example\/wind-turbine-generator-control-using-a-sensorless-algorithm?currentThread=wind-turbine-generator-control-using-a-sensorless-algorithm\">Wind turbine generator control (AN012)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/implementation\/getting-started-npc-converter?currentThread=neutral-point-clamped-inverter-npc\">NPC multilevel inverter (TN132)<\/a><\/li>\n<\/ul>\n<\/div><\/div>\n\n\n<style>.kadence-column36375_6d7342-32 > .kt-inside-inner-col,.kadence-column36375_6d7342-32 > .kt-inside-inner-col:before{border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;}.kadence-column36375_6d7342-32 > .kt-inside-inner-col{column-gap:var(--global-kb-gap-sm, 1rem);}.kadence-column36375_6d7342-32 > .kt-inside-inner-col{flex-direction:column;}.kadence-column36375_6d7342-32 > .kt-inside-inner-col > .aligncenter{width:100%;}.kadence-column36375_6d7342-32 > .kt-inside-inner-col:before{opacity:0.3;}.kadence-column36375_6d7342-32{position:relative;}@media all and (max-width: 1024px){.kadence-column36375_6d7342-32 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}@media all and (max-width: 767px){.kadence-column36375_6d7342-32 > .kt-inside-inner-col{flex-direction:column;justify-content:center;}}<\/style>\n<div class=\"wp-block-kadence-column kadence-column36375_6d7342-32\"><div class=\"kt-inside-inner-col\">\n<h5 class=\"wp-block-heading\">Selecting the B-box micro<\/h5>\n\n\n\n<p>The B-Box micro is as computationally capable as the B-Box RCP but has fewer I\/Os (and a lower cost!). This makes it the ideal controller for teaching various concepts in power electronics that do not require a large number of I\/Os. Usage examples are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/imperix.com\/doc\/implementation\/interleaved-buck-converter?currentThread=fast-electric-vehicle-charger-with-intermediate-energy-storage\">Interleaved buck converter (TN122)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/implementation\/dab-converter-control?currentThread=fast-electric-vehicle-charger-with-intermediate-energy-storage\">DAB converter control (TN115)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/implementation\/single-phase-totem-pole-pfc-rectifier?currentThread=on-board-charger-obc-for-electric-vehicles\">Single-phase totem pole PFC (TN113)<\/a><\/li>\n<\/ul>\n<\/div><\/div>\n\n<\/div><\/div>\n\n\n<h4 class=\"wp-block-heading\">When to select the TPI8032<\/h4>\n\n\n\n<p>The TPI8032 is the preferred controller\/converter for lab-scale experiments on microgrids and distributed generation, as it combines the programmability of the B-Board PRO with an all-in-one integrated two-level three-phase inverter with grid connection filters included. This makes it the perfect solution when flexibility in topology is not required, but flexibility in control behavior is. The inverter can be programmed in various ways, and can also be paralleled for increased power. Usage examples are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/imperix.com\/doc\/implementation\/grid-forming-inverter?currentThread=solid-state-transformer-sst-for-mc-lv-smart-grid\">Grid-Forming Inverter (TN168)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/implementation\/grid-following-inverter?currentThread=static-synchronous-compensator-statcom\">Grid-Following Inverter (TN167)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/imperix.com\/doc\/implementation\/active-front-end?currentThread=active-front-end-afe\">Active Front End (TN166)<\/a><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">When to select the B-Board PRO<\/h4>\n\n\n\n<p>The B-Board PRO is specifically designed to be embedded into a pre-implemented or custom-designed power stage. It optimizes for better packaging at the expense of the flexibility and plug-&amp;-play capability offered by B-Box controllers. Usage examples are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/imperix.com\/doc\/uncategorized\/control-of-a-sinamics-s120-using-a-b-board-pro\">Control of a Sinamics S120<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.mersen.com\/sites\/default\/files\/medias\/files\/2025-04\/BR-Mersen-1.2kV-SiC-Power-Stack-Evaluation-Kit-Mersen-V2.0.pdf\">Mersen power stack<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article explores imperix&#8217;s portfolio of programmable controllers, highlighting how each device is optimized for specific power-electronics applications. Products presentation All imperix controllers use a&#8230;<\/p>\n","protected":false},"author":16,"featured_media":38963,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[3],"tags":[],"software-environments":[105,103,104],"provided-results":[],"related-products":[31,32,92,166,110],"guidedreadings":[],"tutorials":[],"user-manuals":[],"coauthors":[83,69],"class_list":["post-36375","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-help","software-environments-c-plus-plus","software-environments-matlab","software-environments-plecs","related-products-b-board-pro","related-products-b-box-rcp","related-products-b-box-micro","related-products-b-box-rcp-3-0","related-products-tpi"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Comparison of imperix programmable controllers - imperix<\/title>\n<meta name=\"description\" content=\"This note offers guidance for selecting the best possible programmable controller for power electronic applications.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comparison of imperix programmable controllers - imperix\" \/>\n<meta property=\"og:description\" content=\"This note offers guidance for selecting the best possible programmable controller for power electronic applications.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-11T09:59:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-16T10:31:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/how-to-choose-between-imperix-controllers.png\" \/>\n\t<meta property=\"og:image:width\" content=\"500\" \/>\n\t<meta property=\"og:image:height\" content=\"334\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Dhruv Kansara, Nicolas Cherix\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dhruv Kansara, Nicolas Cherix\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection\"},\"author\":{\"name\":\"Dhruv Kansara\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/8981f571c5b6b5d0c1e704ad3a0e2c3e\"},\"headline\":\"Comparison of imperix programmable controllers\",\"datePublished\":\"2025-11-11T09:59:11+00:00\",\"dateModified\":\"2026-02-16T10:31:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection\"},\"wordCount\":1986,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/how-to-choose-between-imperix-controllers.png\",\"articleSection\":[\"Product notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection\",\"name\":\"Comparison of imperix programmable controllers - imperix\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/how-to-choose-between-imperix-controllers.png\",\"datePublished\":\"2025-11-11T09:59:11+00:00\",\"dateModified\":\"2026-02-16T10:31:58+00:00\",\"description\":\"This note offers guidance for selecting the best possible programmable controller for power electronic applications.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/how-to-choose-between-imperix-controllers.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/how-to-choose-between-imperix-controllers.png\",\"width\":500,\"height\":334},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/programmable-controller-selection#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Knowledge base\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product notes\",\"item\":\"https:\\\/\\\/imperix.com\\\/doc\\\/category\\\/help\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Comparison of imperix programmable controllers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"name\":\"imperix\",\"description\":\"power electronics\",\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/imperix.com\\\/doc\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\",\"name\":\"imperix\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/imperix_logo.png\",\"width\":350,\"height\":120,\"caption\":\"imperix\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/8981f571c5b6b5d0c1e704ad3a0e2c3e\",\"name\":\"Dhruv Kansara\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5177b76b676316ca954ce5c5859d8e679b4bf5a1acc1493b201d30c8247cbdb3?s=96&d=mm&r=ge04adfb613db95f027bb28eca0b834a4\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5177b76b676316ca954ce5c5859d8e679b4bf5a1acc1493b201d30c8247cbdb3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5177b76b676316ca954ce5c5859d8e679b4bf5a1acc1493b201d30c8247cbdb3?s=96&d=mm&r=g\",\"caption\":\"Dhruv Kansara\"},\"description\":\"Dhruv is a power electronics engineer. At imperix, he is mostly involved with sales and customer-specific engineering projects. On the knowledge base, he is also the author of multiple technical notes and application examples.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/dhruvkansara6\\\/\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/kansara\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Comparison of imperix programmable controllers - imperix","description":"This note offers guidance for selecting the best possible programmable controller for power electronic applications.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection","og_locale":"en_US","og_type":"article","og_title":"Comparison of imperix programmable controllers - imperix","og_description":"This note offers guidance for selecting the best possible programmable controller for power electronic applications.","og_url":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection","og_site_name":"imperix","article_published_time":"2025-11-11T09:59:11+00:00","article_modified_time":"2026-02-16T10:31:58+00:00","og_image":[{"width":500,"height":334,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/how-to-choose-between-imperix-controllers.png","type":"image\/png"}],"author":"Dhruv Kansara, Nicolas Cherix","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Dhruv Kansara, Nicolas Cherix","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection"},"author":{"name":"Dhruv Kansara","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/8981f571c5b6b5d0c1e704ad3a0e2c3e"},"headline":"Comparison of imperix programmable controllers","datePublished":"2025-11-11T09:59:11+00:00","dateModified":"2026-02-16T10:31:58+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection"},"wordCount":1986,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/how-to-choose-between-imperix-controllers.png","articleSection":["Product notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/help\/programmable-controller-selection#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection","url":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection","name":"Comparison of imperix programmable controllers - imperix","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/how-to-choose-between-imperix-controllers.png","datePublished":"2025-11-11T09:59:11+00:00","dateModified":"2026-02-16T10:31:58+00:00","description":"This note offers guidance for selecting the best possible programmable controller for power electronic applications.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/help\/programmable-controller-selection"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/how-to-choose-between-imperix-controllers.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2025\/11\/how-to-choose-between-imperix-controllers.png","width":500,"height":334},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/help\/programmable-controller-selection#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Knowledge base","item":"https:\/\/imperix.com\/doc\/"},{"@type":"ListItem","position":2,"name":"Product notes","item":"https:\/\/imperix.com\/doc\/category\/help"},{"@type":"ListItem","position":3,"name":"Comparison of imperix programmable controllers"}]},{"@type":"WebSite","@id":"https:\/\/imperix.com\/doc\/#website","url":"https:\/\/imperix.com\/doc\/","name":"imperix","description":"power electronics","publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/imperix.com\/doc\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/imperix.com\/doc\/#organization","name":"imperix","url":"https:\/\/imperix.com\/doc\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2021\/03\/imperix_logo.png","width":350,"height":120,"caption":"imperix"},"image":{"@id":"https:\/\/imperix.com\/doc\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/8981f571c5b6b5d0c1e704ad3a0e2c3e","name":"Dhruv Kansara","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5177b76b676316ca954ce5c5859d8e679b4bf5a1acc1493b201d30c8247cbdb3?s=96&d=mm&r=ge04adfb613db95f027bb28eca0b834a4","url":"https:\/\/secure.gravatar.com\/avatar\/5177b76b676316ca954ce5c5859d8e679b4bf5a1acc1493b201d30c8247cbdb3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5177b76b676316ca954ce5c5859d8e679b4bf5a1acc1493b201d30c8247cbdb3?s=96&d=mm&r=g","caption":"Dhruv Kansara"},"description":"Dhruv is a power electronics engineer. At imperix, he is mostly involved with sales and customer-specific engineering projects. On the knowledge base, he is also the author of multiple technical notes and application examples.","sameAs":["https:\/\/www.linkedin.com\/in\/dhruvkansara6\/"],"url":"https:\/\/imperix.com\/doc\/author\/kansara"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/36375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=36375"}],"version-history":[{"count":62,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/36375\/revisions"}],"predecessor-version":[{"id":42912,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/36375\/revisions\/42912"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/38963"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=36375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=36375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=36375"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=36375"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=36375"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=36375"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=36375"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=36375"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=36375"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=36375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}