Graphical Programming Environment for Microcontroller External Circuit Integration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software engineers face challenges in programming microcontrollers to interface with external circuitry due to the need for custom, detailed code that varies with each circuit, lacking standardized structures, and existing graphical programming environments do not facilitate programming of external circuitry interactions.

Innovation Solution

A graphical programming environment with an abstraction layer and thread that allows users to easily manage and control microcontroller peripherals and external hardware, enabling the creation of executable code for microcontrollers to interface with external circuitry through pre-configured code modules and state machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software engineers write custom code to interface microcontrollers with external circuitry, then the microcontroller can communicate with external hardware, but the programming complexity and time required increase significantly

Engineering Contradiction:
Improvecommunication capabilityVSAvoidprogramming complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an abstraction layer as an intermediary between the microcontroller and external circuitry. This layer provides standardized communication protocols and functions that simplify the interface programming, eliminating the need for engineers to write complex custom code for each external device while maintaining reliable communication capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The abstraction layer implements universal communication functions that can interface with multiple types of external circuitry through standardized methods. This multi-functional approach allows a single set of communication protocols to handle various external devices, reducing programming complexity while maintaining adaptability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If software engineers write detailed custom code for each external circuit, then specific circuit operations can be controlled, but the development time and effort increase

Engineering Contradiction:
Improvecircuit control capabilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements pre-configured communication protocols and abstraction functions that are prepared in advance. These preliminary structures provide ready-to-use templates for interfacing with external circuitry, allowing engineers to quickly adapt to different devices without writing detailed code from scratch, thus reducing development time while maintaining circuit control versatility.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The communication interface is segmented into modular abstraction layers with distinct functions. Each layer handles specific aspects of communication (e.g., data transmission, error handling, protocol management) independently, allowing engineers to selectively implement only the necessary functions for each external circuit while reusing standard components, thereby reducing overall development effort.

Inventive Principle:
Principle #1Segmentation

3Ease of operation

If existing graphical programming environments are used, then programming becomes more visual and accessible, but they cannot facilitate programming of external circuitry interactions

Engineering Contradiction:
Improveprogramming accessibilityVSAvoidexternal circuitry programming capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent merges the advantages of graphical programming environments with the capability to program external circuitry interactions. By integrating visual programming interfaces with the abstraction layer framework, the system provides both ease of graphical programming and the versatility to handle external device communications, eliminating the limitation of existing graphical environments.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240232121A9Systems and methods for graphically programming an application with external integrated circuits
Publication Date: 2024.07.11 REZAEI MOHAMMAD ALI
  • US20240232121A9 patent drawing
  • US20240232121A9 patent drawing
  • US20240232121A9 patent drawing

AI summary

A microcontroller, including an input/output pin in communication with an external circuit and a processor in communication with the external circuit through the I/O pin, the processor configured to run a RTOS comprising code that causes the processor to communicate with the external circuit to perform operations. A computerized method that cause a processor to execute a graphical programming environment for creating an executable computer program for execution by a microcontroller in communication with an external circuit, the graphical programming environment comprising a GUI for graphically specifying at least a portion of the computer program, display, a first and second graphical component of a graphical program in the graphical user interface specifying a first and second operation of the microcontroller, and display a link between the first and second graphical component in the GUI to specify how the first and second operation relate for interfacing with the external circuit.