Single Wire Bootloader Software Architecture for Microcontrollers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing bootloader technologies for microcontrollers are expensive, require multiple interconnections, and are impractical for upgrading firmware in shipped products due to the need for specialized programmer applications and hardware communication modules, especially in low-cost, low-pin-count devices.

Innovation Solution

A single-wire bootloader software architecture that uses a single general-purpose I/O pin for communication, eliminating the need for hardware modules like TWI, SPI, or UART, and allowing bootloading through a software-implemented UART, enabling bootloading without additional pins or hardware resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional bootloader hardware modules (TWI, SPI, UART) are used, then reliable communication is achieved, but device complexity and pin count increase

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidhardware module complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces hardware communication modules (mechanical/electrical systems) with a software-implemented UART that uses bit-banging on a general-purpose I/O pin. This substitution eliminates the need for dedicated hardware communication modules while maintaining the essential function of serial communication for bootloader operations

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent makes a general-purpose I/O pin perform the function of a dedicated UART pin through software implementation. The same GPIO pin can be configured as input or output as needed, and the bit-banging UART software allows the pin to serve communication purposes without requiring specialized hardware, thus achieving multi-functionality

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

2Manufacturing precision

If specialized programmer applications are used for programming, then accurate programming is achieved, but cost and accessibility increase

Engineering Contradiction:
Improveprogramming accuracyVSAvoidprogramming accessibility
Core Design Contradiction:
Manufacturing precisionVSEase of manufacture

Solution Approach 1:

The patent enables any host device with a serial port or USB-serial connection to function as a programmer through the text command-based protocol. This universal compatibility allows standard computers to perform programming tasks that previously required specialized expensive programmer devices, maintaining programming accuracy while dramatically improving accessibility

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

Solution Approach 2:

The patent implements a simplified communication protocol that copies the essential functionality of specialized programmer applications into a text-based command interface. This allows the bootloader to understand and execute programming commands through simple text protocols, replicating the core functionality of expensive programmer software in a lightweight, universally accessible format

Inventive Principle:
Principle #26Copying

3Reliability

If multiple interconnections are used for programming, then reliable programming is achieved, but ease of operation decreases

Engineering Contradiction:
Improveprogramming reliabilityVSAvoidconnection simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent extracts the essential communication function from complex multi-pin connections and implements it using a single general-purpose I/O pin. By taking out only the necessary data transmission function and implementing it through software bit-banging, the system achieves reliable programming with significantly simplified single-wire connections

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent merges the functions of multiple dedicated communication pins into a single general-purpose I/O pin. Through software implementation, the same pin handles both transmit and receive operations sequentially, combining what would traditionally require separate hardware lines into a single versatile connection point

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9063751B2Single wire bootloader for target device with self-programming capability
Publication Date: 2015.06.23 ATMEL CORP
  • US9063751B2 patent drawing
  • US9063751B2 patent drawing
  • US9063751B2 patent drawing

AI summary

A single-wire bootloader software architecture is disclosed that interfaces with any host device that has a serial port to program memory of a target device using only a single general-purpose I/O pin. The single-wire bootloader does not require any chip hardware resource modules. Instead, the single-wire bootloader implements a single-wire UART in software that monitors a single general-purpose I/O pin for commands from the host device.