{"id":12621,"date":"2022-06-03T14:30:30","date_gmt":"2022-06-03T14:30:30","guid":{"rendered":"https:\/\/imperix.com\/doc\/?p=12621"},"modified":"2025-11-25T14:42:23","modified_gmt":"2025-11-25T14:42:23","slug":"build-custom-user-interface","status":"publish","type":"post","link":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface","title":{"rendered":"Design of a custom user interface for power converters"},"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\/build-custom-user-interface\/#Accessing-system-and-user-variables-from-a-custom-user-interface\" >Accessing system and user variables from a custom user interface<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface\/#Converter-automation\" >Converter automation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface\/#Launch-a-user-code-on-start-up\" >Launch a user code on start-up<\/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\/build-custom-user-interface\/#Operational-state-machine-implementation\" >Operational state machine implementation<\/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\/build-custom-user-interface\/#Safety-considerations-when-using-user-interfaces\" >Safety considerations when using user interfaces<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface\/#Custom-user-interface-example\" >Custom user interface example<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>This note outlines the key considerations for developing a custom user interface specifically for the operation of Imperix power converters. Several possibilities are available to users, such as:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Using the <a href=\"https:\/\/imperix.com\/doc\/help\/gui-builder-module\">GUI Builder module<\/a> directly available in <a href=\"https:\/\/imperix.com\/doc\/help\/cockpit-user-guide\">Cockpit<\/a>.<\/li>\n\n\n\n<li>Designing a GUI with <a href=\"https:\/\/imperix.com\/doc\/help\/gui-with-matlab-app-designer\">MATLAB App Designer<\/a> and the <a href=\"https:\/\/imperix.com\/doc\/implementation\/opc-ua-toolbox-for-matlab-and-simulink\">Industrial Communication Toolbox<\/a><\/li>\n\n\n\n<li>Using the <a href=\"https:\/\/open62541.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">open62541<\/a> C\u00a0library and a C++ framework such as\u00a0<a href=\"https:\/\/www.qt.io\/\" target=\"_blank\" rel=\"noreferrer noopener\">Qt<\/a>\u00a0or\u00a0<a href=\"https:\/\/www.wxwidgets.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">wxWidgets<\/a><\/li>\n\n\n\n<li>Working with Python and <a href=\"https:\/\/github.com\/FreeOpcUa\" target=\"_blank\" rel=\"noreferrer noopener\">Freeopcua<\/a> with the <a href=\"https:\/\/docs.python.org\/3\/library\/tkinter.html\" target=\"_blank\" rel=\"noreferrer noopener\">tkinter<\/a> package<\/li>\n<\/ul>\n\n\n\n<p>In this article, the App Designer approach is selected for maximum flexibility. A Graphical User Interface (GUI) for a grid-tied PV inverter is developed as an example, based on advice given in <a href=\"https:\/\/imperix.com\/doc\/help\/gui-with-matlab-app-designer\">PN130<\/a>. The GUI itself, as well as the corresponding Simulink model can be downloaded using the following link.<\/p>\n\n\n\n<div class=\"wp-block-file aligncenter\"><a href=\"https:\/\/cdn.imperix.com\/doc\/wp-content\/uploads\/2022\/06\/GUI_Imperix_Converter.zip\" class=\"wp-block-file__button wp-element-button\" download>Download GUI_Imperix_Converter.zip<\/a><\/div>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"549\" height=\"695\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/07\/image-5.png\" alt=\"\" class=\"wp-image-12790\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/07\/image-5.png 549w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/07\/image-5-237x300.png 237w\" sizes=\"auto, (max-width: 549px) 100vw, 549px\" \/><figcaption class=\"wp-element-caption\">Custom user interface example for a grid-tied PV inverter<\/figcaption><\/figure>\n<\/div>\n\n\n<p>The implementation of such an interface is typically useful in order to manage the run-time execution of a power converter, including for instance:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Status information (running, stopped, discharge, fault, etc.)<\/li>\n\n\n\n<li>Real-time measurements (power flows, voltage, current, etc.)<\/li>\n\n\n\n<li>Fault diagnosis information (log messages, probable causes, etc.)<\/li>\n\n\n\n<li>Operation set points (current, power, etc.)<\/li>\n\n\n\n<li>Commands (start, stop, control mode change, etc.)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-accessing-system-and-user-variables-from-a-custom-user-interface\"><span class=\"ez-toc-section\" id=\"Accessing-system-and-user-variables-from-a-custom-user-interface\"><\/span>Accessing system and user variables from a custom user interface<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Starting with a small reminder on the B-Box RCP&#8217;s OPC UA variable might be useful. There are two types of variables in the B-Box RCP: the Imperix system variables and the user-created variables. The system variables provide configuration and status information about the target. For the user-created variables, when a user code is started, an OPC UA variable is created for each&nbsp;<a href=\"https:\/\/imperix.com\/doc\/software\/probe-variable\">probe variable<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/imperix.com\/doc\/software\/tunable-parameter\">tunable parameter<\/a>&nbsp;present in the user model (Simulink, PLECS or C++). More information on the topic can be found on the page: <a href=\"https:\/\/imperix.com\/doc\/help\/opc-ua\">OPC UA: the communication protocol for industrial automation applications<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-converter-automation\"><span class=\"ez-toc-section\" id=\"Converter-automation\"><\/span>Converter automation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Designing a custom user interface usually translates the desire to automate and simplify the operation of a given system. The two following sections will present how to automatically launch a user code upon powering the B-Box RCP and how to implement a state machine to automate the starting procedure of the power converter. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-launch-a-user-code-on-start-up\"><span class=\"ez-toc-section\" id=\"Launch-a-user-code-on-start-up\"><\/span>Launch a user code on start-up<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>It must be noted that actions such as loading the user code file or a custom FPGA bitstream file into the target or updating the target firmware cannot be performed using OPC UA. Furthermore, a code must be running on the device for a client to be able to access user variables and operate the converter. The user code can then either be manually launched using the usual procedure or launched automatically when powering the target (see procedure below). To check that the code is indeed running on the target, one can access the <code>User CPU state<\/code> system variable. This <code>User CPU state<\/code> variable returns the CPU state which can either be <em>Running <\/em>or <em>Offline<\/em>.<\/p>\n\n\n\n<p>To avoid starting Cockpit every time one wants to operate the converter with a custom user interface, it can be interesting to automatically start a user code when turning on the B-Box RCP. To do so, follow the procedure below:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Launch the user code as usual by pressing Ctrl+B on Simulink or Ctrl+alt+B on PLECS. The Cockpit monitoring software should launch automatically.<\/li>\n\n\n\n<li>Upload the code on your target by entering its IP address.<\/li>\n\n\n\n<li>Once the code is running on the target, open the <em>Target configuration<\/em> window<\/li>\n\n\n\n<li>Click on <em>Save current code<\/em> to save the current code on the SD card inside of the B-Box RCP.<\/li>\n\n\n\n<li>Click on the checkbox <em>Load at startup<\/em> to automatically launch the code when the B-Box is turned-on.<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"369\" height=\"163\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/image-1.png\" alt=\"\" class=\"wp-image-25314\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/image-1.png 369w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2024\/03\/image-1-300x133.png 300w\" sizes=\"auto, (max-width: 369px) 100vw, 369px\" \/><figcaption class=\"wp-element-caption\">Load user code at startup<\/figcaption><\/figure>\n<\/div>\n\n\n<p>This will save the control algorithm on the SD card inside the B-Box RCP. Then, when the B-Box is turned on, it will automatically load and start the code from the SD card.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-operational-state-machine-implementation\"><span class=\"ez-toc-section\" id=\"Operational-state-machine-implementation\"><\/span>Operational state machine implementation<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>The idea here is to be able to start a power converter by pressing a single button. To do so, a state machine can be implemented to automate the start-up and shut-down procedure of a power converter. This can be especially interesting in the case of grid-tied converters that require switching relays in a precise order to properly connect to the grid.<\/p>\n\n\n\n<p>Once the converter is properly started, the PWM signals can be automatically activated using the <a href=\"https:\/\/imperix.com\/doc\/software\/enable-outputs\">Enable PWM outputs<\/a> block. By doing so, Imperix power converter can be up and running with the press of a single button.<\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-danger\" role=\"alert\">Enabling the PWM outputs must be done with the utmost precaution to avoid causing serious damage to the converter. Imperix recommends using the BB Control button when possible.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-safety-considerations-when-using-user-interfaces\"><span class=\"ez-toc-section\" id=\"Safety-considerations-when-using-user-interfaces\"><\/span>Safety considerations when using user interfaces<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>By nature, custom user interfaces are not proper monitoring tools. As a consequence, the user is less aware of what is happening inside the converter. <\/p>\n\n\n\n<div class=\"wp-block-simple-alerts-for-gutenberg-alert-boxes sab-alert sab-alert-info\" role=\"alert\">Imperix strongly recommends using the Cockpit monitoring software during the development stage of power converters or for use cases where performance is important (e.g. data logging).<\/div>\n\n\n\n<p>Safety considerations then need to be taken even more seriously when operating Imperix converts with a custom GUI. Here is a non-exhaustive list of safety measures that can be implemented:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Proper configuration of the B-Box analog front-end protection limits (cf. <a href=\"https:\/\/imperix.com\/doc\/help\/analog-front-end-configuration-on-b-box-rcp\">Analog front-end configuration on B-Box RCP<\/a>).<\/li>\n\n\n\n<li>Wiring of an emergency push button to the interlock connector of the B-Box.<\/li>\n\n\n\n<li>Implementation of software error detection mechanism with a dedicated fault state inside the converter state machine. Logging errors with the <a href=\"https:\/\/imperix.com\/doc\/software\/log-message\">LOG <\/a>block could also be useful.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-custom-user-interface-example\"><span class=\"ez-toc-section\" id=\"Custom-user-interface-example\"><\/span>Custom user interface example<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>In this section, a custom GUI designed for the operation of a grid-tied three-phase PV inverter is given as an example. This GUI was developed using Matlab App Designer. The Simulink model for this example implements an operation state machine, software error detection and logging, and automatic PWM activation. Both the application and the model can be downloaded using the link at the top of the page.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"670\" src=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/07\/image-7-1024x670.png\" alt=\"Grid-tied PV inverter Simulink control model\" class=\"wp-image-12793\" srcset=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/07\/image-7-1024x670.png 1024w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/07\/image-7-300x196.png 300w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/07\/image-7-768x502.png 768w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/07\/image-7-1536x1004.png 1536w, https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/07\/image-7.png 1936w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Grid-tied PV inverter Simulink control model<\/figcaption><\/figure>\n\n\n\n<p>The list of OPC UA user variables is given in the table below:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><tbody><tr><td><strong>Name<\/strong><\/td><td><strong>Data type <\/strong><\/td><td><strong>Description<\/strong><\/td><\/tr><tr><td>Vpv<\/td><td>Single<\/td><td>PV voltage [V]<\/td><\/tr><tr><td>Ipv<\/td><td>Single<\/td><td>PV current [A]<\/td><\/tr><tr><td>Vdc<\/td><td>Single<\/td><td>DC bus voltage [V]<\/td><\/tr><tr><td>Vdc_ref<\/td><td>Single<\/td><td>DC bus voltage reference [V]<\/td><\/tr><tr><td>Vg_a \/ Vg_b \/ Vg_c<\/td><td>Single<\/td><td>Grid voltage (phase A B and C) [V]<\/td><\/tr><tr><td>Ig_a \/ Ig_b \/ Ig_c<\/td><td>Single<\/td><td>Grid current (phase A B and C) [A]<\/td><\/tr><tr><td>theta<\/td><td>Single<\/td><td>Grid angle [rad]<\/td><\/tr><tr><td>w<\/td><td>Single<\/td><td>Grid angular frequency [rad\/s]<\/td><\/tr><tr><td>Vg_d \/ Vg_q<\/td><td>Single<\/td><td>Grid voltage in dq [V]<\/td><\/tr><tr><td>Ig_d \/ Ig_q<\/td><td>Single<\/td><td>Grid current in dq [V]<\/td><\/tr><tr><td>Kp_Vdc \/ Ki_Vdc<\/td><td>Single<\/td><td>PI gains for DC bus controller<\/td><\/tr><tr><td>Kp_Ipv \/ Ki_Ipv<\/td><td>Single<\/td><td>PI gains for PV current controller<\/td><\/tr><tr><td>Kp_Ig \/ Ki_Ig<\/td><td>Single<\/td><td>PI gains for grid current controller<\/td><\/tr><tr><td>precharge_relay<\/td><td>Single<\/td><td>The relay used to precharge the DC bus<\/td><\/tr><tr><td>bypass_relay<\/td><td>Single<\/td><td>The relay used to connect to the grid<\/td><\/tr><tr><td>PV_relay<\/td><td>Single<\/td><td>The relay used to connect the PV panel<\/td><\/tr><tr><td>precharge_state<\/td><td>Single<\/td><td>State of the precharge state machine<\/td><\/tr><tr><td>operation_state<\/td><td>Single<\/td><td>State of the operation state machine<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Table of the OPC UA user variables<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This note outlines the key considerations for developing a custom user interface specifically for the operation of Imperix power converters. Several possibilities are available to&#8230;<\/p>\n","protected":false},"author":11,"featured_media":13013,"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":[103],"provided-results":[],"related-products":[50,31,32,92,166,110],"guidedreadings":[],"tutorials":[],"user-manuals":[],"coauthors":[64],"class_list":["post-12621","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-help","software-environments-matlab","related-products-acg-sdk","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.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Design of a custom user interface for power converters - imperix<\/title>\n<meta name=\"description\" content=\"This note details how to build a custom user interface for Imperix power converters. An application example made in App Designer is provided.\" \/>\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\/build-custom-user-interface\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Design of a custom user interface for power converters - imperix\" \/>\n<meta property=\"og:description\" content=\"This note details how to build a custom user interface for Imperix power converters. An application example made in App Designer is provided.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface\" \/>\n<meta property=\"og:site_name\" content=\"imperix\" \/>\n<meta property=\"article:published_time\" content=\"2022-06-03T14:30:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-25T14:42:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/06\/3_2_ratio_PN175.png\" \/>\n\t<meta property=\"og:image:width\" content=\"450\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jessy An\u00e7ay\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jessy An\u00e7ay\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface\"},\"author\":{\"name\":\"Jessy An\u00e7ay\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#\\\/schema\\\/person\\\/53bdc49b53b03a52afee023feef62ea4\"},\"headline\":\"Design of a custom user interface for power converters\",\"datePublished\":\"2022-06-03T14:30:30+00:00\",\"dateModified\":\"2025-11-25T14:42:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface\"},\"wordCount\":1192,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/3_2_ratio_PN175.png\",\"articleSection\":[\"Product notes\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface\",\"name\":\"Design of a custom user interface for power converters - imperix\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/3_2_ratio_PN175.png\",\"datePublished\":\"2022-06-03T14:30:30+00:00\",\"dateModified\":\"2025-11-25T14:42:23+00:00\",\"description\":\"This note details how to build a custom user interface for Imperix power converters. An application example made in App Designer is provided.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface#primaryimage\",\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/3_2_ratio_PN175.png\",\"contentUrl\":\"https:\\\/\\\/imperix.com\\\/doc\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/3_2_ratio_PN175.png\",\"width\":450,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imperix.com\\\/doc\\\/help\\\/build-custom-user-interface#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\":\"Design of a custom user interface for power converters\"}]},{\"@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\\\/53bdc49b53b03a52afee023feef62ea4\",\"name\":\"Jessy An\u00e7ay\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g3826f6cf12d7359812a917063d7db3c1\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g\",\"caption\":\"Jessy An\u00e7ay\"},\"description\":\"Jessy is a power electronics engineer. At imperix, he is mostly involved with sales and project engineering. On the knowledge base, he is an active contributor to numerous notes and examples on a broad variety of topics.\",\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/jessy-ancay-a47615237\\\/\"],\"url\":\"https:\\\/\\\/imperix.com\\\/doc\\\/author\\\/ancay\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Design of a custom user interface for power converters - imperix","description":"This note details how to build a custom user interface for Imperix power converters. An application example made in App Designer is provided.","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\/build-custom-user-interface","og_locale":"en_US","og_type":"article","og_title":"Design of a custom user interface for power converters - imperix","og_description":"This note details how to build a custom user interface for Imperix power converters. An application example made in App Designer is provided.","og_url":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface","og_site_name":"imperix","article_published_time":"2022-06-03T14:30:30+00:00","article_modified_time":"2025-11-25T14:42:23+00:00","og_image":[{"width":450,"height":300,"url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/06\/3_2_ratio_PN175.png","type":"image\/png"}],"author":"Jessy An\u00e7ay","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jessy An\u00e7ay","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface#article","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface"},"author":{"name":"Jessy An\u00e7ay","@id":"https:\/\/imperix.com\/doc\/#\/schema\/person\/53bdc49b53b03a52afee023feef62ea4"},"headline":"Design of a custom user interface for power converters","datePublished":"2022-06-03T14:30:30+00:00","dateModified":"2025-11-25T14:42:23+00:00","mainEntityOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface"},"wordCount":1192,"commentCount":0,"publisher":{"@id":"https:\/\/imperix.com\/doc\/#organization"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/06\/3_2_ratio_PN175.png","articleSection":["Product notes"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/imperix.com\/doc\/help\/build-custom-user-interface#respond"]}]},{"@type":"WebPage","@id":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface","url":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface","name":"Design of a custom user interface for power converters - imperix","isPartOf":{"@id":"https:\/\/imperix.com\/doc\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface#primaryimage"},"image":{"@id":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface#primaryimage"},"thumbnailUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/06\/3_2_ratio_PN175.png","datePublished":"2022-06-03T14:30:30+00:00","dateModified":"2025-11-25T14:42:23+00:00","description":"This note details how to build a custom user interface for Imperix power converters. An application example made in App Designer is provided.","breadcrumb":{"@id":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imperix.com\/doc\/help\/build-custom-user-interface"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface#primaryimage","url":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/06\/3_2_ratio_PN175.png","contentUrl":"https:\/\/imperix.com\/doc\/wp-content\/uploads\/2022\/06\/3_2_ratio_PN175.png","width":450,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/imperix.com\/doc\/help\/build-custom-user-interface#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":"Design of a custom user interface for power converters"}]},{"@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\/53bdc49b53b03a52afee023feef62ea4","name":"Jessy An\u00e7ay","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g3826f6cf12d7359812a917063d7db3c1","url":"https:\/\/secure.gravatar.com\/avatar\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ee54f075f5969fcfd2bf6f348058cf40ca40d54a6472ac7c0a9855d036190d0a?s=96&d=mm&r=g","caption":"Jessy An\u00e7ay"},"description":"Jessy is a power electronics engineer. At imperix, he is mostly involved with sales and project engineering. On the knowledge base, he is an active contributor to numerous notes and examples on a broad variety of topics.","sameAs":["https:\/\/www.linkedin.com\/in\/jessy-ancay-a47615237\/"],"url":"https:\/\/imperix.com\/doc\/author\/ancay"}]}},"_links":{"self":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/12621","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\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/comments?post=12621"}],"version-history":[{"count":106,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/12621\/revisions"}],"predecessor-version":[{"id":37548,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/posts\/12621\/revisions\/37548"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media\/13013"}],"wp:attachment":[{"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/media?parent=12621"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/categories?post=12621"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tags?post=12621"},{"taxonomy":"software-environments","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/software-environments?post=12621"},{"taxonomy":"provided-results","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/provided-results?post=12621"},{"taxonomy":"related-products","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/related-products?post=12621"},{"taxonomy":"guidedreadings","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/guidedreadings?post=12621"},{"taxonomy":"tutorials","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/tutorials?post=12621"},{"taxonomy":"user-manuals","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/user-manuals?post=12621"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/imperix.com\/doc\/wp-json\/wp\/v2\/coauthors?post=12621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}