<!--
Reference Design
HVAC / Building Automation Controller

 

 HAVC / Building Automation System Controller Reference Design Using OSD335x System-in-Package

Customer authored four part series incorporates the Texas Instruments AM335x based OSD335x family of System-in-Package products in both C-SiP or SM versions.  Deep industry knowledge provides a flexible and modular design for a variety of industrial system control applications, such as HVAC. 
<!--

-->

Part 1:  Design Requirements and Baseboard Overview

Overview of the Open-Hardware HVAC/Building Automation Controller including background, the evaluation of the controller board processor system, and design specifications.

Reference Design Part 1

Part 2:   Communications and Input/Output of the System

In addition to adding RS-485 and CAN Bus, the system needs to be flexible due to ever changing standards and increasing capabilities of communication protocols.

Reference Design Part 2

Part 3:  Power and Protection Considerations 

Identifying vital power considerations for the system controller such as designing the power supply sub-system and implementing protection circuitry .
 

Reference Design Part 3

Part 4: Designing for System Deployment

Final design steps and discussion of board layout including designing for modularity and expansion to other applications, mass installation and power-loss contingencies.
 

Reference Design Part 4
Download the Reference Design Files

About our Guest Author

This reference design material was guest written by Calvin Slater who is a senior controls engineer that has spent eight years in the Building Automation System Control Industry and is highly interested in embedded hardware as well as open-source building automation frameworks. He is also a contributing editor for AutomatedBuildings.com where he has authored a series of articles on the system edge controller.

<!--

-->

Subscribe To Our Mailing List:

"*" indicates required fields

Name*
Hidden
Hidden
Hidden
This field is for validation purposes and should be left unchanged.

document.getElementById( "ak_js_9" ).setAttribute( "value", ( new Date() ).getTime() );

/* = 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_3');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_3').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_3').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_3').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_3').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_3').val();gformInitSpinner( 3, 'https://octavosystems.com/octavosystems.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [3, current_page]);window['gf_submitting_3'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_3').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [3]);window['gf_submitting_3'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_3').text());}else{jQuery('#gform_3').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "3", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_3" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_3"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_3" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( 'gform_post_render', [3, current_page] ); gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 3, currentPage: current_page } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} ); /* ]]> */