WO2014077867A1 - Construction devices, systems, and methods for using the same - Google Patents

Construction devices, systems, and methods for using the same Download PDF

Info

Publication number
WO2014077867A1
WO2014077867A1 PCT/US2013/000260 US2013000260W WO2014077867A1 WO 2014077867 A1 WO2014077867 A1 WO 2014077867A1 US 2013000260 W US2013000260 W US 2013000260W WO 2014077867 A1 WO2014077867 A1 WO 2014077867A1
Authority
WO
WIPO (PCT)
Prior art keywords
construction device
data
housing
input
connector
Prior art date
Application number
PCT/US2013/000260
Other languages
French (fr)
Inventor
Michael Nathaniel Rosenblatt
Joseph Richard STEINMAN
Daniel STORCH
Richard ROCHE
Roberto Mario AIMI
David Wesley ALLEN
Original Assignee
Seamless Toy Company, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seamless Toy Company, Inc. filed Critical Seamless Toy Company, Inc.
Publication of WO2014077867A1 publication Critical patent/WO2014077867A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/409Mechanical coupling
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K5/00Casings, cabinets or drawers for electric apparatus
    • H05K5/02Details
    • H05K5/0256Details of interchangeable modules or receptacles therefor, e.g. cartridge mechanisms
    • H05K5/026Details of interchangeable modules or receptacles therefor, e.g. cartridge mechanisms having standardized interfaces
    • H05K5/0278Details of interchangeable modules or receptacles therefor, e.g. cartridge mechanisms having standardized interfaces of USB type

Definitions

  • This disclosure relates to construction devices, systems, and methods for making the same.
  • a construction device configured to communicate with a remote component may include a housing having an indicator opening and a connector opening, and a connector at least partially within the housing and at least partially exposed through the connector opening, where the connector is configured to connect to the remote component.
  • the construction device may also include a processor within the housing, where the processor may be electrically coupled to the connector for communicating data with the remote component via the connector.
  • the construction device may also include an indicator at least partially within the housing, where the indicator may be electrically coupled to the processor, and where the indicator is configured to convey interface information that is indicative of the value of the data through the indicator opening to an environment external to the housing.
  • a construction device may include a housing, a device connector configured to communicate data with a remote device, a device indicator configured to convey interface information to an environment external to the housing, and a processor within the housing.
  • the processor may be configured to communicate the data with the device connector, and the interface information may be configured to vary based on a value of the communicated data.
  • FIG. 1 is a schematic view of an illustrative construction device
  • FIG. 1 A is a top view of the construction device of FIG. 1 ;
  • FIG. IB is a front view of the construction device of FIGS. 1 and 1A, taken from line IB-IB of FIG. l A;
  • FIG. 1C is a bottom view of the construction device of FIGS. 1-lB, taken from line IC-IC of FIG. IB;
  • FIG. ID is a rear view of the construction device of FIGS. 1-lC, taken from line ID-ID of FIG. 1C;
  • FIG. IE is a right side view of the construction device of FIGS. 1-l D, taken from line IE-IE of FIG. ID;
  • FIG. IF is a left side view of the construction device of FIGS. 1 -l E, taken from line IF-IF of FIG. ID;
  • FIG. 1G is a top, rear, left side perspective view of the construction device of
  • FIG. 1H is a partially exploded top, rear, left side perspective view of the construction device of FIGS. 1-l G;
  • FIG. II is a partially exploded bottom, rear, left side perspective view of the
  • FIG. 2 is a top view of an illustrative system of multiple construction devices and a controller device
  • FIG. 2 A is a top view of a cable assembly of the system of FIG. 2;
  • FIG. 2B is a front view of the cable assembly of FIGS. 2 and 2A, taken from
  • FIG. 2C is a bottom view of the cable assembly of FIGS. 2-2B, taken from line IIC-IIC of FIG. 2B;
  • FIG. 2D is a rear view of the cable assembly of FIGS. 2-2C, taken from line IID-IID of FIG. 2A;
  • FIG. 2E is a right side view of the cable assembly of FIGS. 2-2D, taken from
  • FIG. 2F is a left side view of the cable assembly of FIGS. 2-2E, taken from line IIF-IIF of FIG. 2 A;
  • FIG. 2G is a bottom, rear, right side perspective view of the cable assembly of
  • FIGS. 2-2F are identical to FIGS. 2-2F;
  • FIG. 2H is a top, front, right side perspective view of another cable assembly coupled to a logic construction device;
  • FIG. 3 is a schematic view of an illustrative sensor construction device;
  • FIG. 3 A is a top view of the sensor construction device of FIG. 3;
  • FIG. 3B is a front view of the sensor construction device of FIGS. 3 and 3 A, taken from line IIIB-IIIB of FIG. 3 A;
  • FIG. 3C is a bottom view of the sensor construction device of FIGS. 3-3B, taken from line IIIC-IIIC of FIG. 3B;
  • FIG. 3D is a rear view of the sensor construction device of FIGS. 3-3C, taken from line IIID-IIID of FIG. 3C;
  • FIG. 3E is a right side view of the sensor construction device of FIGS. 3-3D, taken from line IIIE-IIIE of FIG. 3D;
  • FIG. 3F is a left side view of the sensor construction device of FIGS. 3-3E, taken from line IIIF-IIIF of FIG. 3D;
  • FIG. 3G is a top, front, right side perspective view of the sensor construction device of FIGS. 3-3F;
  • FIG. 3H is a partially exploded top, front, right side perspective view of the sensor construction device of FIGS. 3-3G;
  • FIG. 4 is a schematic view of another illustrative sensor construction device
  • FIG. 4A is a top view of the sensor construction device of FIG. 4;
  • FIG. 4B is a front view of the sensor construction device of FIGS. 4 and 4 A, taken from line IVB-IVB of FIG. 4A;
  • FIG. 4C is a bottom view of the sensor construction device of FIGS. 4-4B, taken from line IVC-IVC of FIG. 4B;
  • FIG. 4D is a rear view of the sensor construction device of FIGS. 4-4C, taken from line IVD-IVD of FIG. 4C;
  • FIG. 4E is a right side view of the sensor construction device of FIGS. 4-4D, taken from line IVE-IVE of FIG. 4D;
  • FIG. 4F is a left side view of the sensor construction device of FIGS. 4-4E, taken from line IVF-IVF of FIG. 4D;
  • FIG. 4G is a top, front, left side perspective view of the sensor construction device of FIGS. 4-4F; [0045] FIG. 4H is a partially exploded top, front, left side perspective view of the sensor construction device of FIGS. 4-4G;
  • FIG. 5 is a schematic view of yet another illustrative sensor construction device
  • FIG. 5 A is a top view of the sensor construction device of FIG. 5;
  • FIG. 5B is a front view of the sensor construction device of FIGS. 5 and 5A, taken from line VB-VB of FIG. 5 A;
  • FIG. 5C is a bottom view of the sensor construction device of FIGS. 5-5B, taken from line VC-VC of FIG. 5B;
  • FIG. 5D is a rear view of the sensor construction device of FIGS. 5-5C, taken from line VD-VD of FIG. 5C;
  • FIG. 5E is a right side view of the sensor construction device of FIGS. 5-5D, taken from line VE-VE of FIG. 5D;
  • FIG. 5F is a left side view of the sensor construction device of FIGS. 5-5E, taken from line VF-VF of FIG. 5D;
  • FIG. 5G is a top, front, right side perspective view of the sensor construction device of FIGS. 5-5F;
  • FIG. 5H is a partially exploded top, front, right side perspective view of the sensor construction device of FIGS. 5-5G;
  • FIG. 6 is a schematic view of an illustrative power construction device
  • FIG. 6A is a top view of the power construction device of FIG. 6;
  • FIG. 6B is a front view of the power construction device of FIGS. 6 and 6 A, taken from line VIB-VIB of FIG. 6A;
  • FIG. 6C is a bottom view of the power construction device of FIGS. 6-6B, taken from line VIC-VIC of FIG. 6B;
  • FIG. 6D is a rear view of the power construction device of FIGS. 6-6C, taken from line VID-VID of FIG. 6C;
  • FIG. 6E is a right side view of the power construction device of FIGS. 6-6D, taken from line VIE-VIE of FIG. 6D;
  • FIG. 6F is a left side view of the power construction device of FIGS. 6-6E, taken from line VIF-VIF of FIG. 6D;
  • FIG. 6G is a top, front, right side perspective view of the power construction device of FIGS. 6-6F;
  • FIG. 6H is a partially exploded top, front, right side perspective view of the power construction device of FIGS. 6-6G;
  • FIG. 7 is a schematic view of another illustrative power construction device
  • FIG. 7A is a top view of the power construction device of FIG. 7;
  • FIG. 7B is a front view of the power construction device of FIGS. 7 and 7A, taken from line VIIB-VIIB of FIG. 7A;
  • FIG. 7C is a bottom view of the power construction device of FIGS. 7-7B, taken from line VIIC-VIIC of FIG. 7B;
  • FIG. 7D is a rear view of the power construction device of FIGS. 7-7C, taken from line VIID-VIID of FIG. 7C;
  • FIG. 7E is a right side view of the power construction device of FIGS. 7-7D, taken from line VIIE-VIIE of FIG. 7D;
  • FIG. 7F is a left side view of the power construction device of FIGS. 7-7E, taken from line VIIF-VIIF of FIG. 7D;
  • FIG. 7G is a top, front, right side perspective view of the power construction device of FIGS. 7-7F;
  • FIG. 7H is a partially exploded top, rear, left side perspective view of the power construction device of FIGS. 7-7G;
  • FIG. 8 is a schematic view of an illustrative logic construction device
  • FIG. 8 A is a top view of the construction device of FIG. 8;
  • FIG. 8B is a front view of the logic construction device of FIGS. 8 and 8A, taken from line VIIIB-VIIIB of FIG. 8 A;
  • FIG. 8C is a bottom view of the logic construction device of FIGS. 8-8B, taken from line VIIIC-VIIIC of FIG. 8B;
  • FIG. 8D is a rear view of the logic construction device of FIGS. 8-8C, taken from line VIIID-VIIID of FIG. 8C;
  • FIG. 8E is a right side view of the logic construction device of FIGS. 8-8D, taken from line VIIIE-VIIIE of FIG. 8D;
  • FIG. 8F is a left side view of the logic construction device of FIGS. 8-8E, taken from line VIIIF-VIIIF of FIG. 8D;
  • FIG. 8G is a top, rear, left side perspective view of the logic construction device of FIGS. 8-8F;
  • FIG. 8H is a partially exploded bottom, rear, left side perspective view of the logic construction device of FIGS. 8-8G;
  • FIG. 9 is a schematic view of another illustrative logic construction device.
  • FIG. 9A is a top view of the construction device of FIG. 9;
  • FIG. 9B is a front view of the logic construction device of FIGS. 9 and 9A, taken from line IXB-IXB of FIG. 8A;
  • FIG. 9C is a bottom view of the logic construction device of FIGS. 9-9B, taken from line IXC-IXC of FIG. 9B;
  • FIG. 9D is a rear view of the logic construction device of FIGS. 9-9C, taken from line IXD-IXD of FIG. 9C;
  • FIG. 9E is a right side view of the logic construction device of FIGS. 9-9D, taken from line lXE-IXE of FIG. 9D;
  • FIG. 9F is a left side view of the logic construction device of FIGS. 9-9E, taken from Hne lXF-IXF of FIG. 9D;
  • FIG. 9G is a top, front, right side perspective view of the logic construction device of FIGS. 9-9F;
  • FIG. 9H is a partially exploded top, front, right side perspective view of the logic construction device of FIGS. 9-9G;
  • FIG. 10 is a schematic view of an illustrative action construction device
  • FIG. 1 OA is a top view of the action construction device of FIG. 10;
  • FIG. 10B is a front view of the action construction device of FIGS. 10 and 10A, taken from line XB-XB of FIG. 10A;
  • FIG. IOC is a bottom view of the action construction device of FIGS. 10-lOB, taken from line XC-XC of FIG. 10B;
  • FIG. 10D is a rear view of the action construction device of FIGS. 10- I OC, taken from line XD-XD of FIG. IOC;
  • FIG. 10E is a right side view of the action construction device of FIGS. 10-lOD, taken from line XE-XE of FIG. 10D;
  • FIG. 1 OF is a left side view of the action construction device of FIGS. 10-lOE, taken from line XF-XF of FIG. 10D;
  • FIG. 10G is a top, front, right side perspective view of the action construction device of FIGS. 10-lOF;
  • FIG. 10H is a partially exploded top, front, right side perspective view of the action construction device of FIGS. 10-lOG;
  • FIG. 1 1 is a schematic view of another illustrative action construction device
  • FIG. 1 1 A is a top view of the action construction device of FIG. 1 1 ;
  • FIG. 1 IB is a front view of the action construction device of FIGS. 1 1 and 1 1 A, taken from line XIB-XIB of FIG. 1 1 A;
  • FIG. 1 1C is a bottom view of the action construction device of FIGS. 1 1-1 IB, taken from line XIC-XIC of FIG. 1 1 B;
  • FIG. 1 ID is a rear view of the action construction device of FIGS. 1 1-1 1C, taken from line XID-XID of FIG. 1 1 C;
  • FIG. 1 IE is a right side view of the action construction device of FIGS. 1 1-1 ID, taken from line XIE-XIE of FIG. 1 1 D;
  • FIG. 1 IF is a left side view of the action construction device of FIGS. 1 1-1 IE, taken from line XIF-XIF of FIG. 1 ID;
  • FIG. 1 1G is a top, rear, right side perspective view of the action construction device of FIGS. 11-1 IF;
  • FIG. 1 1H is a partially exploded top, front, left side perspective view of the action construction device of FIGS. 1 1-1 1G;
  • FIG. 12 is a schematic view of another illustrative action construction device
  • FIG. 12A is a top view of the action construction device of FIG. 12;
  • FIG. 12B is a front view of the action construction device of FIGS. 12 and 12A, taken from line XIIB-XIIB of FIG. 12A;
  • FIG. 12C is a bottom view of the action construction device of FIGS. 12-12B, taken from line XIIC-XIIC of FIG. 12B;
  • FIG. 12D is a rear view of the action construction device of FIGS. 12-12C, taken from line XIID-XIID of FIG. 12C;
  • FIG. 12E is a right side view of the action construction device of FIGS. 12-12D, taken from line XIIE-XIIE of FIG. 12D;
  • FIG. 12F is a left side view of the action construction device of FIGS. 12-12E, taken from line XIIF-XIIF of FIG. 12D;
  • FIG. 12G is a top, rear, right side perspective view of the action construction device of FIGS. 12-12F;
  • FIG. 12H is a partially exploded top, front, left side perspective view of the action construction device of FIGS. 12-12G;
  • FIG. 13 is a schematic view of another illustrative action construction device
  • FIG. 13A is a top view of the action construction device of FIG. 13;
  • FIG. 13B is a front view of the action construction device of FIGS. 13 and 13 A, taken from line XIIIB-XIIIB of FIG. 13 A;
  • FIG. 13C is a bottom view of the action construction device of FIGS. 13-13B, taken from line XIIIC-XIIIC of FIG. 13B;
  • FIG. 13D is a rear view of the action construction device of FIGS. 13-13C, taken from line XIIID-XIIID of FIG. 13C;
  • FIG. 13E is a right side view of the action construction device of FIGS. 13-13D, taken from line XIIIE-XIIIE of FIG. 13D;
  • FIG. 13F is a left side view of the action construction device of FIGS. 13-13E, taken from line XIIIF-XIIIF of FIG. 13D;
  • FIG. 13G is a top, rear, right side perspective view of the action construction device of FIGS. 13-13F;
  • FIG. 13H is a partially exploded top, front, left side perspective view of the action construction device of FIGS. 13-13G;
  • FIG. 14 is a schematic view of the controller device of FIG. 2;
  • FIG. 14A is a top view of the controller device of FIGS. 2 and 14;
  • FIG. 15 is a table of exemplary communication protocol packet types of the system of
  • FIG. 2; [0130J FIGS. 15A-15L are various structures of the communication protocol packet types of the table of FIG. 15;
  • FIGS. 16-16E are various diagrams for various communication processes of the system of FIG. 2;
  • FIGS. 17A-17R are top views of the controller device of FIGS. 2, 14, and 14A illustrating various screens of a graphical user interface
  • FIGS. 18A-18N are top views of various systems of at least one construction device and the controller device of FIGS. 2, 14, 14A, and 17A-17R illustrating various screens of a graphical user interface;
  • FIGS. 19A-19AA illustrate various additional widgets for use in a graphical user interface
  • FIGS. 20A-20Q illustrate various surface portions for various construction devices
  • FIG. 21 A is a top, front, left side perspective view of an illustrative system of multiple construction devices and a mechanical subsystem
  • FIG. 21B is a partially exploded top, front, left side perspective view of the system of FIG. 21 A;
  • FIG. 22A is a top, front, right side perspective view of another illustrative system of multiple construction devices and a mechanical subsystem
  • FIG. 22B is a partially exploded top, rear, right side perspective view of the system of FIG. 22A;
  • FIG. 23A is a top, front, left side perspective view of another illustrative system of multiple construction devices and a mechanical subsystem
  • FIG. 23B is a partially exploded top, front, right side perspective view of the system of FIG. 23 A;
  • FIG. 24A is a top, rear, left side perspective view of another illustrative system of multiple construction devices and a mechanical subsystem.
  • FIG. 24B is a partially exploded top, rear, left side perspective view of the system of FIG. 24A. Detailed Description of the Disclosure
  • Each construction device may have a primary active component (e.g., functional component) that may define the primary function of that device, where each functional component may be the determining factor of the cost to make that device (e.g., the functional component, such as a visible light sensor, may make up more than half the cost of producing the construction device), where the processor, memory, and any other component of the construction device may be rudimentary and not make up more than half the cost of manufacturing the device.
  • a primary active component e.g., functional component
  • each functional component may be the determining factor of the cost to make that device (e.g., the functional component, such as a visible light sensor, may make up more than half the cost of producing the construction device)
  • the processor, memory, and any other component of the construction device may be rudimentary and not make up more than half the cost of manufacturing the device.
  • FIGS. 1 - 11 show an illustrative construction device 100 that may be coupled to at least one other construction device to form a functional system in accordance with some
  • Construction device 100 may be configured to have at least one specific capability, such that when device 100 is communicatively coupled to at least one other device 100 they may form an original system capable of carrying out a combined function. In this way, each construction device 100 may be utilized as a unique building block to be coupled with other building blocks in one of various ways to build things that do things (e.g., to form an original system with a customized functionality).
  • construction device 100 may include a processor component 1 10, a memory component 120, at least one input/output (“I/O") interface (e.g., at least one input I/O interface 150 and/or at least one output I/O interface 160), and a functional component 170.
  • Construction device 100 may also include a bus 1 19 that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 100.
  • Construction device 100 may also be provided with a housing 101 that may at least partially enclose one or more of the components of device 100 for protection from debris and other degrading forces external to device 100.
  • one or more components of electronic device 100 may be combined or omitted.
  • electronic device 100 may include other components not combined or included in FIG. 1 and/or several instances of the components shown in FIG. 1. For the sake of simplicity, only one of each of the components is shown in FIG. 1.
  • Construction device 100 may include at least one input/output (“I/O") interface (e.g., at least one input I/O interface 150 and/or at least one output I/O interface 160) that may be configured to communicate data and/or power with another construction device 100 as well as to convey related information to a user of construction device 100.
  • I/O input/output
  • construction device 100 may include at least one input I/O interface 150, which may include a device input connector component 152 and a device input indicator component 154.
  • Device input connector 152 may be configured to receive data and/or power at construction device 100 that may be communicated from an I/O interface of another construction device, while device input indicator 154 may be configured to convey input user interface information (e.g., visual and/or aural information) to a user of construction device 100, where such input user interface information may be indicative of one or more characteristics of the data and/or power being received by device input connector 152.
  • construction device 100 may include at least one output I/O interface 160, which may include a device output connector component 162 and a device output indicator component 164.
  • Device output connector 162 may be configured to communicate data and/or power from construction device 100 to an I/O interface of another construction device, while device output indicator 164 may be configured to convey output user interface information (e.g., visual and/or aural information) to a user of construction device 100, where such output user interface information may be indicative of one or more characteristics of the data and/or power being communicated from device output connector 162.
  • output user interface information e.g., visual and/or aural information
  • Each I/O interface may include any suitable type of connector that may be configured to transmit data from device 100 to another device and/or to receive data at device 100 from another device.
  • one or both of device connectors 152 and 162 may be configured to communicate data wirelessly between device 100 and another device using any suitable protocol (e.g., BluetoothTM, magnetic field induction, etc.), where one or both of device connectors 152 and 162 may be configured as an antenna.
  • one or both of device connectors 152 and 162 may be configured to communicate data between device 100 and another device via one or more wired connections, where one or both of device connectors 152 and 162 may be configured as a connector port for a wired connection. As shown in FIGS.
  • device input connector 152 may include any suitable number of device input connector contacts (e.g., three device input connector contacts 152a- 152c) that may be exposed through a device input connector housing opening 151 of housing 101 for electrically coupling with contacts of a cable (e.g., cable 55 of FIGS. 2-2G, as described below).
  • device output connector 162 may include any suitable number of device output connector contacts (e.g., three device output connector contacts 162a- 162c) that may be exposed through a device output connector housing opening 161 of housing 101 for electrically coupling with contacts of a cable (e.g., cable 55 of FIGS. 2-2G, as described below).
  • Each I/O interface may include any suitable type of indicator that may be configured to convey any suitable type of user interface information to a user of device 100.
  • one or both of indictors 154 and 164 may be any suitable component configured to convey visual user interface information to a user of device 100 (e.g., a light emitting diode, pixelated display screen, etc.).
  • indictors 154 and 164 may be any suitable component configured to convey aural user interface information to a user of device 100 (e.g., an audio speaker, etc.) and/or any suitable component configured to convey tactile user interface information to a user of device 100 (e.g., a nimbler, vibrator, etc.).
  • device input indicator 154 may include a light guide pipe that may extend from a light source 156 (e.g., at least one light emitting diode (“LED”) or a pixelated display) and that may be exposed through a device input indicator housing opening 155 of housing 101 for conveying visual user interface information from light source 156 to a user external to device 100.
  • a light source 156 e.g., at least one light emitting diode ("LED”) or a pixelated display
  • device input indicator 154 may be a light source itself.
  • device input indicator housing opening 155 and/or at least a portion of device input indicator 154 exposed through opening 155 may be shaped like an arrow facing into device 100 (e.g., in the same direction that a cable may be extending into opening 151 for when coupled to device input connector 152), which may indicate that input indicator 154 is associated with device input connector 152 of input I/O interface 150.
  • input connector 152 and input indicator 154 may be provided on the same housing surface of housing 101 (e.g., openings 151 and 155 may be provided through the same housing surface of housing 101).
  • input connector 152 and input indicator 154 may be provided on adjacent housing surfaces of housing 101 (e.g., opening 151 may be provided through a front surface of housing 101 while opening 155 may be provided proximate to opening 151 but through an adjacent (e.g., perpendicular) top surface of housing 101 (e.g., a top surface of a top housing portion 101t)).
  • adjacent housing surfaces of housing 101 e.g., opening 151 may be provided through a front surface of housing 101 while opening 155 may be provided proximate to opening 151 but through an adjacent (e.g., perpendicular) top surface of housing 101 (e.g., a top surface of a top housing portion 101t)).
  • device output indicator 164 may include a light guide pipe that may extend from a light source 166 (e.g., at least one light emitting diode (“LED”) or a pixelated display) and that may be exposed through a device output indicator housing opening 165 of housing 101 for conveying visual user interface information from light source 166 to a user external to device 100.
  • a light source 166 e.g., at least one light emitting diode ("LED”) or a pixelated display
  • device output indicator 164 may be a light source itself.
  • device output indicator housing opening 165 and/or at least a portion of device output indicator 164 exposed through opening 165 may be shaped like an arrow facing away from device 100 (e.g., in the same direction that a cable may be extending out from opening 161 when coupled to device output connector 162), which may indicate that output indicator 164 is associated with device output connector 162 of output I/O interface 160.
  • output connector 162 and output indicator 164 may be provided on the same housing surface of housing 101 (e.g., openings 161 and 165 may be provided through the same housing surface of housing 101).
  • output connector 162 and output indicator 164 may be provided on adjacent housing surfaces of housing 101 (e.g., opening 161 may be provided through a rear surface of housing 101 while opening 165 may be provided proximate to opening 161 but through an adjacent housing surfaces of housing 101 (e.g., opening 161 may be provided through a rear surface of housing 101 while opening 165 may be provided proximate to opening 161 but through an adjacent housing surfaces of housing 101 (e.g., opening 161 may be provided through a rear surface of housing 101 while opening 165 may be provided proximate to opening 161 but through an adjacent
  • top surface of housing 101 e.g., perpendicular
  • top surface of housing 101 e.g., a top surface of top housing portion 101t
  • Functional component 170 may be any suitable component configured to provide construction device 100 with a unique functionality that may differ from that of other
  • each construction device 100 may be one of various types of construction devices (e.g., sensor construction devices, logic construction devices, action construction devices, power construction devices, etc.), each of which may include various particular functional construction devices with various particular capabilities within a particular type of construction device.
  • Functional component 170 may vastly differ from one construction device 100 to the next, such that when various types of construction devices 100 are coupled together in various ways, various systems may be provided with various system functionalities.
  • Functional component 170 may be provided by any suitable hardware elements, software modules, and/or combinations thereof that may enable device 100 to perform a particular device function or functions.
  • Processor 1 10 may include any processing circuitry that may be operative to control the operations and performance of one or more components of device 100. For example,
  • processor 1 10 may receive input data from device input connector 152 and/or drive output data through device output connector 162. Processor 1 10 may leverage functional component 170 to dictate how to handle data that may have been received by input connector 152 and/or to dictate how to generate data that may be later transmitted from output connector 162. Processor 1 10 may also be configured to generate input user interface information (e.g., visual and/or aural information) to be conveyed to a user of construction device 100 via input indicator
  • input user interface information e.g., visual and/or aural information
  • processor 1 10 may be configured to generate output user interface information (e.g., visual and/or aural information) to be conveyed to a user of construction device 100 via output indicator component 164, where such output user interface information may be indicative of one or more characteristics of the data being transmitted from output connector 162.
  • output user interface information e.g., visual and/or aural information
  • processor 1 10 may be used to run one or more applications, such as an application 1 13.
  • Application 1 13 may include, but is not limited to, one or more operating system applications, firmware applications, media playback applications, or any other suitable applications.
  • processor 1 10 may load application 1 13 to determine how to properly communicate data with other construction devices (e.g., via I/O interfaces) and/or to determine how to properly convert data received by input connector 152 into data usable by functional component 170 and/or to determine how to properly convert data generated by functional component 170 into data transmittable by output connector 162.
  • Application 1 13 may be accessed by processor 1 10 from any suitable source, such as from memory 120 (e.g., via bus 1 19) or from another device (e.g., via input connector 152) or from a server (e.g., via a communications component 140).
  • Processor 110 may include a single processor or multiple processors.
  • processor 1 10 may include at least one "general purpose” microprocessor, a combination of general and special purpose microprocessors, instruction set processors, graphics processors, video processors, and/or related chips sets, and/or special purpose microprocessors.
  • Processor 1 10 also may include on board memory for caching purposes.
  • Processor 1 10 may include at least one universal asynchronous receiver/transmitter ("UART") and/or at least one universal synchronous/asynchronous receiver/transmitter
  • a UART may be configured to communicate data according to 57.6kbaud, 8 data bits, and no parity, for example, where data may be signaled at +3.0 volts, where such a high may be a digital value .
  • Memory 120 may include one or more storage mediums, including for example, a hard-drive, flash memory, permanent memory such as read-only memory (“ROM”),
  • ROM read-only memory
  • Memory 120 may include cache memory, which may be one or more different types of memory used for temporarily storing data for construction device applications. Memory 120 may be fixedly embedded within device 100 or may be incorporated onto one or more suitable types of cards that may be repeatedly inserted into and removed from device 100 (e.g., a subscriber identity module (“SIM”) card or secure digital (“SD”) memory card). Memory 120 may store media data (e.g., music and image files), software (e.g., for implementing functions on device 100), firmware, preference information, any other suitable data, or any combination thereof.
  • media data e.g., music and image files
  • software e.g., for implementing functions on device 100
  • firmware e.g., preference information, any other suitable data, or any combination thereof.
  • construction device 100 may also include a power supply component 130 that can include any suitable circuitry for receiving and/or generating power, and for providing such power to one or more of the other components of device 100.
  • power supply 130 can include one or more batteries for providing power (e.g., when device 100 is acting as a portable device).
  • power supply 130 can be coupled to a power grid (e.g., when device 100 is not acting as a portable device or when a battery of the device is being charged at an electrical outlet with power generated by an electrical power plant).
  • power supply 130 can be configured to generate power from a natural source (e.g., solar power using solar cells).
  • Power supply 130 can include one or more of a battery (e.g., a gel, nickel metal hydride, nickel cadmium, nickel hydrogen, lead acid, or lithium-ion battery), an uninterruptible or continuous power supply (“UPS” or “CPS”), and circuitry for processing power received from a power generation source (e.g., power generated by an electrical power plant and delivered to the user via an electrical socket or otherwise).
  • a battery e.g., a gel, nickel metal hydride, nickel cadmium, nickel hydrogen, lead acid, or lithium-ion battery
  • UPS uninterruptible or continuous power supply
  • circuitry for processing power received from a power generation source e.g., power generated by an electrical power plant and delivered to the user via an electrical socket or otherwise.
  • the power can be provided by power supply 130 as alternating current (“AC”) or direct current (“DC”), and may be processed to transform power or limit received power to particular characteristics.
  • AC alternating current
  • DC direct current
  • the power can be transformed to or from direct current, and constrained to one or more values of average power, effective power, peak power, energy per pulse, voltage, current (e.g., measured in amperes), or any other characteristic of received power.
  • Power supply 130 can be operative to request or provide particular amounts of power at different times, for example, based on the needs or requirements of device 100 or other construction devices that may be coupled to device 100 (e.g., to request more power when charging a battery than when the battery is already charged).
  • power supply 130 may be provided with a button 1 15 that may be exposed to a user external to device 100 (see, e.g., FIG. IE), such that the user may turn device 100 on and off.
  • power supply 130 may be provided with a status indicator 125 (e.g., a light emitting diode (“LED”)) that may be exposed to a user external to device 100 (see, e.g., FIG. IE), such that the user may discern how much charge power supply 130 currently has.
  • a charging element 135 e.g., a micro universal serial bus (“USB”) connector or DC connector for coupling to a charging cable, and/or a cell for receiving solar or wireless power.
  • USB micro universal serial bus
  • construction device 100 may also include a communications component 140 that may be provided to allow device 100 to communicate with one or more remote devices other than another construction device via input connector 152 and/or output connector 162.
  • Communications component 140 may enable any suitable communications using any suitable communications protocol.
  • communications component 140 may support Wi-Fi (e.g., an 802.1 1 protocol), ZigBee (e.g., an 802.15.4 protocol), WiDiTM, Ethernet, BluetoothTM, BluetoothTM Low Energy (“BLE”), high frequency systems (e.g., 900 MHz, 2.4 GHz, and 5.6 GHz communication systems), infrared, transmission control protocol/internet protocol (“TCP/IP”) (e.g., any of the protocols used in each of the TCP/IP layers), Stream Control Transmission Protocol (“SCTP”), Dynamic Host Configuration Protocol ("DHCP”), hypertext transfer protocol (“HTTP”), BitTorrentTM, file transfer protocol (“FTP”), real-time transport protocol (“RTP”), real-time streaming protocol (“RTSP”), real-time control protocol (“PvTCP”), Remote Audio Output Protocol (“RAOP”), Real Data Transport ProtocolTM
  • Wi-Fi e.g., an 802.1 1 protocol
  • ZigBee e.g., an 802.15.4 protocol
  • WiDiTM WiDi
  • RDTP User Datagram Protocol
  • SSH secure shell protocol
  • WDS wireless distribution system
  • CDMA Code Division Multiple Access
  • OFDMA Orthogonal Frequency-Division Multiple Access
  • HSPA high speed packet access
  • 6L0WPAN Wireless Personal Area Network
  • Communications component 140 may also include or be electrically coupled to any suitable transceiver circuitry (e.g., transceiver 145) that can enable device 100 to be communicatively coupled to another device (e.g., a host computer, such as controller device 600 of FIGS. 2, 14, and 14A) and communicate with that other device wirelessly (e.g., where transceiver 145 may include an antenna) or via a wired connection (e.g., where transceiver 145 may include a connector port).
  • transceiver circuitry e.g., transceiver 145
  • transceiver 145 can enable device 100 to be communicatively coupled to another device (e.g., a host computer, such as controller device 600 of FIGS. 2, 14, and 14A) and communicate with that other device wirelessly (e.g., where transceiver 145 may include an antenna) or via a wired connection (e.g., where transceiver 145 may include a connector port).
  • one or more components of device 100 may be electrically coupled to or mechanically supported by a circuit board 1 12, which may incorporate or also support at least a portion of bus 1 19.
  • housing 101 may include two or more housing portions, such as a top housing portion 10 It and a bottom housing portion 101b that may be coupled to each other using any suitable approach for forming combined housing 101.
  • top housing portion 10 a top housing portion 10 It
  • bottom housing portion 101b a bottom housing portion 101b that may be coupled to each other using any suitable approach for forming combined housing 101.
  • housing portion lOlt and bottom housing portion 101b may be coupled to one another via ultrasonic welding or other adhering.
  • housing portions 101b and lOlt may be secured together via one or more mechanical fasteners, such as clamps, snap-fit mechanical features, or screws and threading.
  • mechanical fasteners such as clamps, snap-fit mechanical features, or screws and threading.
  • one or more screws 101s may be fed through respective holes lOlh in bottom housing portion 101b and into respective
  • Device input connector housing opening 151 and device output connector housing opening 161 may each be provided through top housing portion l Olt with open bottoms (see, e.g., FIG. I I), such that when housing portions 101b and 10 It are coupled together, bottom housing portion 101b may form the bottom edge of each connector housing opening 151 and 161.
  • a gap l Olg may be formed along at least a portion of at least one side of housing 101. Gap lOlg may be defined between an external edge of top housing portion lOlt and an external edge of bottom housing portion 101b and may have any suitable depth 10 Id (see, e.g., FIG.
  • top distance 101th between a top surface of top housing portion lOlt and the top of gap 101 g
  • bottom distance lOlbh between a bottom surface of bottom housing portion 101b and the bottom of gap l Ol g
  • gap height lOlgh between the top and bottom of gap lOlg.
  • housing 101 may include one or more ramps or guides for aiding the passage of a mechanical feature into gap 101 g. For example, as shown in FIG.
  • top housing portion lOlt may include one or more top gap guides lOltg that may be sloped from an external side surface of top housing portion l Olt into gap lOlg
  • bottom housing portion 101b may include one or more bottom gap guides lOlbg that may be sloped from an external side surface of bottom housing portion lOlg into gap 101 g.
  • Such gap guides may facilitate the snapping or other positioning of any suitable mechanical feature of any suitable mechanical component (e.g., a user's mechanical toy feature) into or out from gap l Olg.
  • gap 101 g may be a continuous band all the way around a periphery of device 100 (e.g., about front, left, rear, and right side surfaces of a hexahedral housing 101).
  • gap 10 lg may be one or more discrete segments along different portions of housing 101.
  • Various other ratios of heights and multiple gaps may also be used for a housing of a construction device. For example, as shown in FIG. 12D, when top housing portion 501CT and middle housing portion 501CM are coupled together, a first gap 501g may be formed along at least a portion of at least one side of housing 501C of device 500C.
  • Gap 501 g may be defined between an external edge of top housing portion 501 CT and an external edge of middle housing portion 501 CM and may have any suitable depth 50 Id that may be configured to receive any suitable mechanical feature of any other suitable component (e.g., a clamp of a mechanical toy of a user that may be coupled to device 500C). As shown, there may be a top distance 501th between a top surface of top housing portion 501CT and the top of gap 50 lg, a middle distance 501mh between a bottom surface of middle housing portion 501CM and the bottom of gap 50 lg, and a gap height 501gh between the top and bottom of gap 50 lg.
  • top distance 501th may be 4.5 height units
  • middle distance 501 mh may be 6.0 height units
  • gap height 501 gh may be 0.5 height units, where each height unit may be 3.2 millimeters, which may be a base height unit of a popular mechanical building block, such as LegoTM blocks.
  • a second gap 50 lg' may be formed along at least a portion of at least one side of housing 501C of device 500C.
  • Gap 50 lg' may be defined between an external edge of bottom housing portion 501CB and an external edge of middle housing portion 501 CM and may have any suitable depth 50 Id' that may be configured to receive any suitable mechanical feature of any other suitable component (e.g., a clamp of a mechanical toy of a user that may be coupled to device 500C). As shown, there may be a bottom distance 501bh between a bottom surface of bottom housing portion 501CB and the bottom of gap 50 lg', and a gap height 501gh' between the top and bottom of gap 50 l g'.
  • bottom distance 501bh may be 1.0 height units and gap height 501 gh' may be 0.5 height units, where each height unit may be 3.2 millimeters, which may be a base height unit of a popular mechanical building block, such as LegoTM blocks.
  • housing 101 may include one or more ramps or guides for aiding the passage of a mechanical feature into gap lOlg.
  • top housing portion 10 It may include one or more top gap guides lOltg that may be sloped from an external side surface of top housing portion lOlt into gap l Olg
  • bottom housing portion 101b may include one or more bottom gap guides lOlbg that may be sloped from an external side surface of bottom housing portion l Olg into gap 101 g.
  • Such gap guides may facilitate the snapping or other positioning of any suitable mechanical feature of any suitable mechanical component (e.g., a user's mechanical toy feature) into or out from gap lOlg.
  • gap lOlg may be a continuous band all the way around a periphery of device 100 (e.g., about front, left, rear, and right side surfaces of a hexahedral housing 101).
  • gap lOlg may be one or more discrete segments along different portions of housing 101.
  • Various other ratios of heights and multiple gaps may also be used for a housing of a construction device
  • the bottom surface of bottom housing portion 101b may have a width lOl i and a length 1011.
  • width lOli may be 4.0 planar units and length 1011 may be 4.0 planar units, where each planar unit may be 8.0 millimeters, which may be a base planar dimension unit of a popular mechanical building block, such as LegoTM blocks provided by The Lego Group of Billund, Denmark.
  • Different construction devices 100 may be configured to have any suitable length, width, and height, which may be different from those described above.
  • each construction device may be based on (e.g., divisible or a factor of) one or more planar units of a certain dimension, such that all construction devices may facilitate mechanical coupling with certain mechanical components that a user may wish to attach to a construction device along its top or bottom surfaces (e.g., LegoTM building blocks).
  • the height (e.g., 101th, lOlgh, and/or lOlbh) of each construction device may be based on one or more height units of a certain dimension, such that all construction devices may facilitate mechanical coupling with certain mechanical components that a user may wish to attach to a construction device along its height.
  • widths and lengths may also be used for a housing of a construction device.
  • the bottom surface of a housing 201 A of device 200A may have a width 20 li and a length 2011, where width 20 li may be 3.0 planar units and length 1011 may be 4.0 planar units, where each planar unit may be 8.0 millimeters, which may be a base planar dimension unit of a popular mechanical building block, such as LegoTM blocks.
  • FIG. 3C the bottom surface of a housing 201 A of device 200A may have a width 20 li and a length 2011, where width 20 li may be 3.0 planar units and length 1011 may be 4.0 planar units, where each planar unit may be 8.0 millimeters, which may be a base planar dimension unit of a popular mechanical building block, such as LegoTM blocks.
  • FIG. 3C the bottom surface of a housing 201 A of device 200A may have a width 20 li and a length 2011, where width 20 li may be 3.0 plan
  • the bottom surface of a housing 301A of device 300A may have a width 301i and a length 3011, where width 301i may be 5.0 planar units and length 3011 may be 9.0 planar units, where each planar unit may be 8.0 millimeters, which may be a base planar dimension unit of a popular mechanical building block, such as LegoTM blocks. Any other possible ratios are possible, such as 4.0 planar units by 6.0 planar units, as shown by a bottom surface of housing 501C of device 500C of FIG. 12C. As shown, one, some, or all edges between two adjacent surfaces and/or one, some, or all corners between three or more adjacent surfaces of a housing of a construction device may be rounded. Alternatively, one, some, or all edges or corners may be sharp.
  • a recessed structure lOlr may be provided on a bottom surface of bottom housing portion 101b that may be configured to retain one or more mechanical features of any suitable mechanical building block (e.g., one or more studs of one or more LegoTM blocks).
  • recessed structure lOlr may have a width lOlri and a length lOlrl.
  • width lOlri may be 3.0 planar units and length l Olrl may be 3.0 planar units, where each planar unit may be 8.0 millimeters, which may be a base planar dimension unit of a popular mechanical building block.
  • Recessed structure lOlr may be configured to retain one or more mechanical features (e.g., LegoTM studs) between an outer edge of recessed structure l Olr and an inner edge of bottom housing portion 101b and/or to retain one or more mechanical features within two inner edge portions of recessed structure lOlr.
  • the depth of such a recessed structure lOlr may be substantially matched to the geometry of a mechanical feature (e.g., the length of a stud extending from a popular mechanical building block (e.g., a LegoTM stud).
  • two recessed structure lOlr may be configured to retain one or more mechanical features (e.g., LegoTM studs) between an outer edge of recessed structure l Olr and an inner edge of bottom housing portion 101b and/or to retain one or more mechanical features within two inner edge portions of recessed structure lOlr.
  • the depth of such a recessed structure lOlr may be substantially matched to the geometry of a mechanical feature (e.
  • recessed structure 301r may have a width 301ri and a length 301rl, where width 301ri may be 4.0 planar units and length 301rl may be 2.0 planar units, where each planar unit may be 8.0 millimeters, which may be a base planar dimension unit of a popular mechanical building block.
  • Recessed structures 30 lr and 30 lr' may be spaced along the surface of housing 301 A, such that each may be configured to retain one or more mechanical features (e.g., LegoTM studs) of the same or different mechanical blocks. Any other possible ratios are possible, such as 3.0 planar units by 5.0 planar units, as shown by a recessed structure 501r of housing 501C of device 500C of FIG. 12C, or 2.0 planar units by 5.0 planar units, as shown by a recessed structure 50 lr' of housing 501D of device 500D of FIG. 13C. Moreover, with reference back to FIG.
  • one or more adhering patches 101a may be provided along any external portion of housing 101 , such as along a bottom surface of bottom housing portion 101b as shown in FIG. 1 C.
  • Each adhering patch 101a may be made of any suitable material, such as a hook-and-loop fastener
  • Each patch 101a may be shaped to match a shape of a portion of recessed structure lOlr (e.g., scalloped shape) or may be of any other suitable geometry.
  • Such features of housing 101 may be configured to enable a user to easily attach mechanical toys and other components to a device 100.
  • a liquid proof area may be formed about a device connector and its associated indicator.
  • housing 101 may include one or more features that are configured to extend about at least a portion of an indicator and a connector to form a liquid proof area that is distinct from the remainder of device 100 for preventing liquid (e.g., water) from passing therebetween.
  • top housing portion l Olt may include liquid proof housing features 101 w that may extend
  • each liquid proof housing feature 101 w may prevent liquid or other debris external to device 100 from passing through housing feature 101 w and into the remainder of device 100.
  • board 1 12 may be coupled to or supported by bottom housing portion 101b.
  • Board 1 12 may be sized such that holes lOlh and holes lOlpb through bottom housing portion 101b may be unobstructed. While holes lOlh may be provided for enabling screws 101 s to couple top housing portion l Olt and bottom housing portion 101b, holes lOlpb may be provided through both bottom housing portion 101b and holes lOlpt may be provided through top housing portion 10 It for providing one or more passageways lOlp through housing 101.
  • a hole lOlpt through a top surface of top housing portion l Olt may align with a respective hole lOlpb through a bottom surface of bottom housing portion 101b for providing a passageway lOlp through a fully constructed housing 101 of device 100.
  • a passageway may be used for enabling a user to pass thread or any other suitable feature therethrough for any suitable use (e.g., to connect multiple devices 100 together with string).
  • construction device 100 may be any suitable type of construction device, including, but not limited to, a sensor construction device, an action construction device, a logic construction device, and a power construction device.
  • the type of functional component 170 that may be provided within a construction device 100 may be varied to dictate the type of its construction device.
  • a sensor construction device 100 may include any suitable sensor functional component 170, such as an infrared receiver functional component or a motion sensor functional component, that may detect a condition of an environment of that sensor construction device 100 for dictating the data to be transmitted by device output connector 162 of that sensor construction device 100.
  • An action construction device 100 may include any suitable action functional component 170, such as an infrared transmitter functional component or a motor functional component, that may be driven or otherwise controlled by the data that is received by device input connector 152 of that action construction device 100.
  • a logic construction device 100 may include any suitable logic functional component 170, such as an inverter functional component or a splitter functional component, that may apply a specific function to the input data received by device input connector 152 of that logic construction device 100 and then use the result of that function application to dictate the data to be transmitted by device output connector 162 of that logic construction device 100.
  • a power construction device 100 may include a power supply component 130 for providing power to any other construction device that may be coupled to that power construction device 100 via a device input connector 152 and/or a device output connector 162 of that power construction device 100, while that power construction device 100 may loop through any data received at its input
  • any other type of construction device 100 may include its own power supply component 130 and may not need to rely on receiving power from a coupled power construction device.
  • Each construction device 100 may be configured to operate according to at least a default or "NORMAL" communication protocol, where data normally communicated between I/O interfaces of any two different construction devices may follow such a specific NORMAL protocol and may be communicated in one or more NORMAL data packets.
  • a construction device 100 may be configured to communicate data according to at least one protocol or packet type (e.g., a "NORMAL" packet type, a
  • each packet type may include at least one packet format (e.g., at least one of packet formats 750, 755, 760, 765, 770, 775, 780, 785, 790, and 795 of "packet format” column 735 of table 700) for communicating data packets between construction devices.
  • packet formats 750, 755, 760, 765, 770, 775, 780, 785, 790, and 795 of "packet format” column 735 of table 700 for communicating data packets between construction devices.
  • the first byte of each data packet may include a one byte packet header (see, e.g., packet header column 720 of table 700), while any remaining byte or bytes of the data packet may include data that may be manipulatable or consumable by a construction device 100 receiving the data packet (e.g., to carry out a particular function, such as a function of a functional component 170 of that construction device 100), data that may identify the construction device 100 that either generated the data packet or the construction device 100 that is the intended recipient of the data packet, or data that may be utilized for special purposes, as described below.
  • any other suitable configuration of bits and data types may be employed.
  • each construction device 100 may be configured to communicate (e.g., transmit or receive) data according to the NORMAL packet type protocol using a NORMAL_Data_l _Byte packet format 750.
  • NORMAL_Data_ 1 _Byte packet format 750 may include a header (e.g., "NORMAL_Data_l_Byte Header", which may be indicative of this packet format) and a single byte of "NORMAL" data.
  • NORMAL data may be generated, manipulated, or consumed by a construction device 100 and may be interpreted as an integer (e.g., an integer between 0 and 255 for a single byte/8 bits of NORMAL data).
  • a sensor construction device 100 may be configured to generate and transmit through at least one device output connector 162 such NORMAL data of a particular value that may be based on particular sensor data detected/generated by a sensor functional component 170 of that sensor construction device 100, where such NORMAL data may be generated and transmitted repeatedly by a sensor construction device 100 (e.g., every 10 milliseconds, such as when a sensor construction device 100 is in a default mode).
  • a construction device 100 may be configured to be in a default mode upon initial boot up, and may always boot into the default mode.
  • any configuration change of a construction device 100 that may occur during a particular use (e.g., due to a smart mode communication), where such a change may be stored in memory (e.g., non- volatile memory of memory component 120), such changes may be overwritten by the boot sequence of the processor component 1 10 of that device 100 such that device 100 is restored to its initial default mode upon reboot. This may ensure that each time any user attempts to use a construction device 100 of a particular type, it may function as anticipated (e.g., in its default mode) despite any configuration changes that may have taken place during past uses. However, in some embodiments, certain configuration changes, such as calibration changes, that may be made during a particular use of device 100 may be maintained after a reboot.
  • a logic construction device 100 may be configured to receive such NORMAL data (e.g., through at least one device input connector 152 of that logic construction device 100), manipulate such received NORMAL data based on a logical function of a logic functional component 170 of that logic construction device 100, and then transmit such manipulated NORMAL data through at least one device output connector 162 of that logic construction device 100.
  • An action construction device 100 may be configured to receive such NORMAL data (e.g., through at least one device input connector 152) and then consume or otherwise act according to such received NORMAL data using an action functional component 170 of that action construction device 100.
  • NORMAL data of a NORMAL_Data_lJByte packet format 750 may be unsigned such that a construction device 100 receiving such NORMAL data (e.g., at a device input connector 152 of the receiving construction device 100) may not know the type of construction device (e.g., sensor construction device, logic construction device, etc.) that transmitted such NORMAL data (e.g., from a device output connector 162 of a transmitting construction device 100).
  • type of construction device e.g., sensor construction device, logic construction device, etc.
  • NORMAL data of a NORMAL_Data_l_Byte packet format 750 may be configured such that a construction device 100 transmitting such NORMAL data (e.g., from a device output connector 162 of the transmitting construction device 100) may not know the type of construction device (e.g., sensor construction device, logic construction device, etc.) that is to receive such transmitted NORMAL data (e.g., at a device input connector 152 of the receiving construction device 100).
  • Such total abstraction between two construction devices 100 communicating according to the NORMAL packet type protocol may reduce the processing requirements of one or both devices 100 and may reduce the amount of data that may need to be communicated for enabling a functional system of two or more devices 100.
  • each construction device 100 By configuring each construction device 100 to have abstraction with each other construction device 100 that it may communicate with according to the NORMAL packet type protocol may enable any construction device 100 to communicate with any other construction device 100, despite any processing or power differences that the two devices may have. For example, if a newer generation device 100 with a faster processor or advanced functionality is communicatively coupled to a first generation device 100 that may have significantly reduced capabilities, the two devices 100 may be enabled to communicate via the NORMAL protocol due to such abstraction. Such abstraction also enables "gateways" to other systems (e.g., a desktop computer may replace a construction device 100 by emulating the NORMAL protocol via an appropriate interface coupling to a construction device 100).
  • a desktop computer may replace a construction device 100 by emulating the NORMAL protocol via an appropriate interface coupling to a construction device 100).
  • any communicated NORMAL data may be considered "positive" in value (e.g., between 0% and 100% intensity, as proportional to an integer value between 0 and 255 for a single byte/8 bits of NORMAL data) as may be represented by associated user interface information conveyed by an associated I/O indicator 154/164.
  • This user receivable interpretation of NORMAL data via an I/O indicator 154/164 may be very intuitive to a user, where NORMAL data communication may be analogous to water flow whose intensity may be easily represented by user interface information conveyed by an I/O indicator 154/164 (e.g., visually by the brightness of an indicator light or a numeric value of a seven-segment display).
  • Each construction device 100 of a certain function may be calibrated by its
  • device 100 may be configured to function a particular way for each potential value of NORMAL data (e.g., for each integer value between 0 and 255 for a single byte/8 bits of NORMAL data) that may be received and/or transmitted by that device 100.
  • NORMAL data e.g., for each integer value between 0 and 255 for a single byte/8 bits of NORMAL data
  • each sensor functional component 170 of a particular type e.g., a motion sensor functional component 170
  • a sensor construction device 100 and/or its processor 1 10 may be calibrated such that the same motion detected by two different motion sensor functional components 170 of two different motion sensor construction devices 100 may cause the same value of NORMAL data to be generated and transmitted by those two motion sensor construction devices 100 according to the NORMAL protocol.
  • each action functional component 170 of a particular type e.g., an infrared transmitter functional component 170
  • each action functional component 170 of a particular type e.g., an infrared transmitter functional component 170
  • each action functional component 170 of a particular type e.g., an infrared transmitter functional component 170
  • each action functional component 170 of a particular type may be calibrated such that the same NORMAL data value received by two different infrared transmitter functional components 170 of two different infrared transmitter action construction devices 100 may cause each of those two infrared transmitter action construction devices 100 to generate and transmit the same infrared data therefrom. This may ensure consistent functionality when two or more various construction devices 100 are coupled to create a system.
  • such calibration data may be written into the memory (e.g., non-volatile memory of memory component 120) of the construction device 100 and may be configured as part of the default data or default mode of the device 100.
  • the memory e.g., non-volatile memory of memory component 120
  • each construction device 100 may be calibrated (e.g., by the manufacturer or via user interaction) such that it may be configured to generate particular user interface information for each potential value of NORMAL data (e.g., for each integer value between 0 and 255 for a single byte/8 bits of NORMAL data) that may be received and/or transmitted by that device 100.
  • each processor 1 10 and each I/O interface of each type of construction device 100 may be calibrated such that at least one characteristic
  • user interface information e.g., visual and/or aural information
  • two different I/O interfaces of the same construction device 100 or by two different I/O interfaces of two different construction devices 100 may be the same when such user interface information is to be indicative of the same particular
  • each construction device 100 may be configured to convey user interface information (e.g., via an input indicator 154 or via an output indicator 164) in a consistent manner for a particular NORMAL data value.
  • user interface information e.g., via an input indicator 154 or via an output indicator 164
  • a particular NORMAL data value e.g., with an integer value of 213
  • a device input connector 152 or is transmitted by a device output connector 162 of any construction device 100 such device 100 may be calibrated and configured to convey particular user interface information (e.g., of a particular brightness, frequency, volume, etc.) via an appropriate I/O interface indicator (e.g., via an input indicator 154 or via an output indicator 164).
  • This may ensure that consistent user interface information is conveyed by two different construction devices 100 that may be communicating particular NORMAL data with each other in a system. Alternatively or additionally, this may ensure that consistent user interface information is conveyed by two different I/O interfaces of a single construction devices 100 that may be both receiving and transmitting particular NORMAL data.
  • processor component 1 10 may be configured to compute the data value of any communicated NORMAL data to create a pulse-width-modulated ("PWM") waveform or any other suitable user interface information signal that may be used to dictate the user interface information to be conveyed to a user via an appropriate I/O indicator 154/164 (e.g., to adjust the brightness of a light emitting I/O indicator directly proportionally to the data value, where a data value of 0 may result in a user interface information signal that generates no brightness or an off light emitting I/O indicator and where a data value of 255 may result in a user interface information signal that generates maximum brightness or a totally on light emitting I/O indicator).
  • PWM pulse-width-modulated
  • Process component 1 10 may be configured with firmware that may compute any NORMAL data and appropriately scale it to generate appropriate user interface information that may appropriately represent the value of that NORMAL data to a user.
  • a line of bus 1 19 from processor component 1 10 to each I/O indicator 154/164 may be utilized to communicate such user interface information to each I/O indicator.
  • additional packet types of the NORMAL packet type protocol may be provided where more than one byte of NORMAL data may be transmitted per packet.
  • one or more construction devices 100 may be configured to communicate (e.g., transmit or receive) data according to the NORMAL packet type protocol using a NORMAL_Data_2_Bytes packet format 755, where such a NORMAL_Data_2_Bytes packet format 755 may include a header (e.g., "NORMAL_Data_2JBytes Header", which may be indicative of this packet format) and two bytes of "NORMAL" data.
  • a header e.g., "NORMAL_Data_2JBytes Header
  • NORMAL data may be generated, manipulated, or consumed by a construction device 100 and may be interpreted as an integer (e.g., an integer between 0 and 65,535 for two bytes/16 bits of NORMAL data). This may enable certain NORMAL data communications to have additional resolution. Both NORMAL data bit-depth types may be communicated in the same system by a single device 100.
  • Each construction device 100 may be configured to handle NORMAL data of each type and calibrated to generate appropriate user interface information for each type (e.g., the same user interface information may be generated for a NORMAL data value of 0 for both NORMAL_Data_2_Bytes packet format 755 and NORMAL_Data_l_Byte packet format 750 and/or the same user interface information may be generated for a NORMAL data value of 65,535 for
  • NORM AL_Data_2_B te s packet format 755 and a NORMAL data value of 255 for
  • NORMAL_Data_l_Byte packet format 750 Some construction devices 100 may be configured to transmit or act upon appropriately scaled NORMAL data according to the
  • NORMAL_Data_2_Bytes packet format 755 in response to receiving NORMAL data according to the NORMAL Data l Byte packet format 750, while other construction devices 100 may be configured to transmit or act upon appropriately scaled NORMAL data according to the NORJVlAL_Data_l_Byte packet format 750 in response to receiving NORMAL data according to the NORMAL_Data_2_Bytes packet format 755, while other construction devices 100 may be configured to transmit or act upon NORMAL data according to the same packet format 750/755 as any received NORMAL data.
  • multiple construction devices 100 of various types may be coupled to one another for exchanging data (e.g., NORMAL data) so as to form a functional system.
  • data e.g., NORMAL data
  • a system 1 may include multiple construction devices
  • an output connector 262 of a sensor construction device 200 may be coupled to an input connector 352 of a power construction device 300 via a first cable 55 for enabling a first communication 85 therebetween
  • an output connector 362 of power construction device 300 may be coupled to an input connector 452 of a logic construction device 400 via a second cable 55a for enabling a second communication 85a therebetween
  • construction device 400 may be coupled to an input connector 552 of a first action construction device 500 via a third cable 55b for enabling a third communication 85b therebetween.
  • a second output connector 462' of logic construction device 400 may be coupled to an input connector 552' of a second action construction device 500' via a fourth cable 55c for enabling a fourth communication 85c therebetween.
  • each cable 55 may be configured to include one or more lines 59, which may include at least one data line (e.g., data line 59b) and at least one power line (e.g., a ground power line 59a and a +5 volts power line 59c).
  • Sensor construction device 200 of system 1 of FIG. 2 may be substantially similar to construction device 100 of FIGS. 1-11 in various ways.
  • sensor construction device 200 may include a housing 201 that may be similar to housing 101, a processor component 210 that may be similar to processor component 1 10, at least one application 213 that may be similar to application 1 13, a memory component 220 that may be similar to memory component 120, a sensor functional component 270 that may be similar to a sensor functional component 170, and/or at least one output I/O interface 260 that may be similar to output I/O interface 160, where each output I/O interface 260 may include a device output connector 262 and a device output indicator 264 that may be similar to device output
  • Sensor construction device 200 may include any suitable sensor functional
  • sensor functional component 270 such as an infrared receiver functional component or a motion sensor functional component, that may detect a condition of an environment of sensor construction device 200 for dictating the data to be transmitted by device output connector 262 of sensor construction device 200.
  • sensor functional component 270 may be configured to detect a condition of an environment of sensor construction device 200 and accordingly generate sensor data based on that detected condition.
  • sensor construction device 200 may be configured to generate and transmit NORMAL data of a particular value (e.g., through output connector 262 as at least a portion of first communication 85, such as along data line 59b of cable 55) that may be based on the particular sensor data detected/generated by sensor functional component 270.
  • NORMAL data e.g., through output connector 262 as at least a portion of first communication 85, such as along data line 59b of cable 55
  • sensor construction device 200 may be configured to generate and transmit such NORMAL data as at least a portion of first communication 85 to power construction device 300 (e.g., via cable 55) at regular intervals, such as every 10 milliseconds.
  • sensor construction device 200 may be configured to generate and convey user interface information to a user of device 200 via output indicator 264 that may be related to or otherwise indicative of any NORMAL data being transmitted as at least a portion of first communication 85 via output connector 262.
  • Power construction device 300 of system 1 of FIG. 2 may be substantially similar to construction device 100 of FIGS. 1-11 in various ways.
  • power construction device 300 may include a housing 301 that may be similar to housing 101 , a processor component 310 that may be similar to processor component 1 10, at least one application 313 that may be similar to application 1 13, a memory component 320 that may be similar to memory component 120, a power supply component 330 that may be similar to power supply component 130, at least one input I/O interface 350 that may be similar to input I/O interface 150, where each input I/O interface 350 may include a device input connector 352 and a device input indicator 354 that may be similar to device input connector 152 and device input indicator 154, respectively, and/or at least one output I/O interface 360 that may be similar to output I/O interface 160, where each output I/O interface 360 may include a device output connector 362 and a device output indicator 364 that may be similar to device output
  • Power construction device 300 may be configured to loop through any suitable data received at its input connector 352 to its output connector 362 without affecting the function of the data.
  • a bus of power construction component 300 (not shown but similar to bus 1 19 of device 100) may be configured to directly couple at least certain signals
  • NORMAL data signals of first communication 85 which may be on data line 59b of cable 55
  • NORMAL data may then be transmitted from device output connector 362 of power construction device 300 to logic construction device 400 via cable 55a (e.g., as NORMAL data signals that may be at least a portion of second communication 85 a, which may be on data line 59b of cable 55a).
  • a bus of power construction component 300 may be configured to couple at least certain signals (e.g., NORMAL data signals of first communication 85) from device input connector 352 to device output
  • power construction device 300 may be configured to generate and convey user interface information to a user of device 300 via input indicator 354 that may be related to or otherwise indicative of such NORMAL data being received as at least a portion of first communication 85 via input connector 352. Additionally or alternatively, power construction device 300 may be configured to generate and convey user interface information to a user of device 300 via output indicator 364 that may be related to or otherwise indicative of such NORMAL data being transmitted as at least a portion of second communication 85a via output connector 362.
  • Power construction device 300 may also include any suitable power supply
  • a bus of power construction component 300 may be configured to provide power from power supply component 330 of power construction device 300 to any other construction device coupled to any input connector 352 of power construction device 300.
  • power construction device 300 may transmit power from power supply component 330 to sensor construction device 200 (e.g., via input connector 352 of power construction device 300 and cable 55 to output connector 262 of sensor construction device 200) as at least a portion of first communication 85 (e.g., along at least one of power lines 59a and 59c of cable 55), where such power may be suitable for powering sensor construction device 200 to function in at least one mode (e.g., in at least a default normal mode for sensing environmental conditions and generating/transmitting appropriate NORMAL data out through each of its output connectors 262).
  • Such power may be communicated from device 300 to device 200 in the opposite direction along cable 55 as NORMAL data may be communicated from device 200 to device 300.
  • a bus of power construction component 300 may be configured to provide power from power supply component 330 of power construction device 300 to any other construction device coupled to any output connector 362 of power construction device 300.
  • power construction device 300 may transmit power from power supply component 330 to logic construction device 400 (e.g., via output connector 362 of power construction device 300 and cable 55a to input connector 452 of logic construction device 400) as at least a portion of second communication 85a (e.g., along at least one of power lines 59a and 59c of cable 55a), where such power may be suitable for powering logic construction device 400 to function in at least one mode (e.g., in at least a default normal mode).
  • power construction device 300 may also include a communications component 340 that may be similar to communications component 140 and a functional component 370 that may be similar to functional component 170.
  • Logic construction device 400 of system 1 of FIG. 2 may be substantially similar to construction device 100 of FIGS. 1-11 in various ways. For example, as shown, logic
  • construction device 400 may include a housing 401 that may be similar to housing 101 , a processor component 410 that may be similar to processor component 1 10, at least one application 413 that may be similar to application 1 13, a memory component 420 that may be similar to memory component 120, a logic functional component 470 that may be similar to a logic functional component 170, at least one input I/O interface 450 that may be similar to input I/O interface 150, where each input I/O interface 450 may include a device input connector 452 and a device input indicator 454 that may be similar to device input connector 152 and device input indicator 154, respectively, and/or at least one output I/O interface 460 that may be similar to output I/O interface 460, where each output I/O interface 460 may include a device output connector 462 and a device output indicator 464 that may be similar to device output
  • logic construction device 400 may include a first output I/O interface 460, which may include a first device output connector 462 and a first device output indicator 464, as well as a second output I/O interface 460', which may include a second device output connector 462' and a second device output indicator 464'.
  • Logic construction device 400 may include any suitable logic functional
  • logic construction component 400 such as an inverter functional component or a splitter functional component, that may apply a specific function to the input data received by device input connector 452 of logic construction device 400 and then use the result of that function application to dictate the data to be transmitted by at least first device output connector 462 of logic construction device 400.
  • logic construction component 400 may be configured to receive NORMAL data through input connector 452 of logic construction device 400 as at least a portion of
  • logic construction device 400 e.g., in conjunction with processor component 410, application 413, and/or logic functional component 470
  • logic construction device 400 may be configured to manipulate such received NORMAL data based on a logical function of logic functional component 470 and then transmit such manipulated NORMAL data through at least one of first device output
  • second device output connector 462 (e.g., as at least a portion of communication 85b) and second device output connector 462' (e.g., as at least a portion of communication 85c).
  • logic construction device 400 may be configured to generate and convey user interface information to a user of device 400 via input indicator 454 that may be related to or otherwise indicative of any NORMAL data being received as at least a portion of second communication 85a via input connector 452. Additionally or alternatively, logic construction device 400 may be configured to generate and convey user interface information to a user of device 400 via first output indicator 464 that may be related to or otherwise indicative of any NORMAL data being transmitted as at least a portion of third communication 85b via first output connector 462.
  • logic construction device 400 may be configured to generate and convey user interface information to a user of device 400 via second output indicator 464' that may be related to or otherwise indicative of any NORMAL data being transmitted as at least a portion of fourth communication 85c via second output connector 462'.
  • Action construction device 500 of system 1 of FIG. 2 may be substantially similar to construction device 100 of FIGS. 1-11 in various ways.
  • action construction device 500 may include a housing 501 that may be similar to housing 101, a processor component 510 that may be similar to processor component 1 10, at least one application 513 that may be similar to application 1 13, a memory component 520 that may be similar to memory component 120, an action functional component 570 that may be similar to an action functional component 170, at least one input I/O interface 550 that may be similar to input I/O interface 150, where each input I/O interface 550 may include a device input connector 552 and a device input indicator 554 that may be similar to device input connector 152 and device input indicator 154, respectively.
  • Action construction device 500 may include any suitable action functional
  • action construction component 570 such as an infrared transmitter functional component or a motor functional component, that may be driven or otherwise controlled by the input data that is received by device input connector 552 of action construction device 500.
  • action construction component 500 may be configured to receive NORMAL data through input connector 552 of action construction device 500 as at least a portion of communication 85b from first logic device connector 462 of logic construction device 400. Then, action construction device 500 (e.g., in conjunction with processor component 510, application 513, and/or action functional component 570) may be configured to consume or otherwise act according to such received NORMAL data using action functional component 570.
  • action functional component 570 may be configured to act in a particular way in response to action construction device 500 receiving NORMAL data of a particular value.
  • action construction device 500 may be configured to generate and convey user interface information to a user of device 500 via input indicator 554 that may be related to or otherwise indicative of any
  • NORMAL data being received as at least a portion of communication 85b via input
  • action construction device 500' of system 1 of FIG. 2 may be substantially similar to construction device 100 of FIGS. 1-11 in various ways.
  • action construction device 500' may include a housing 501' that may be similar to housing 101 , a processor component 510' that may be similar to processor component 1 10, at least one application 513' that may be similar to application 1 13, a memory component 520' that may be similar to memory component 120, an action functional component 570' that may be similar to an action functional component 170, at least one input I/O interface 550' that may be similar to input I/O interface 150, where each input I/O interface 550' may include a device input connector 552' and a device input indicator 554' that may be similar to device input
  • Action construction device 500' may include any suitable action functional
  • action construction component 570' such as an infrared transmitter functional component or a motor functional component, that may be driven or otherwise controlled by the input data that is received by device input connector 552' of action construction device 500'.
  • action construction component 500' may be configured to receive NORMAL data through input connector 552' of action construction device 500' as at least a portion of communication 85c from second logic device connector 462' of logic construction device 400. Then, action construction device 500' (e.g., in conjunction with processor component 510', application 513', and/or action functional component 570') may be configured to consume or otherwise act according to such received NORMAL data using action functional component 570'.
  • action functional component 570' may be configured to act in a particular way in response to action construction device 500' receiving NORMAL data of a particular value.
  • action construction device 500' may be configured to generate and convey user interface information to a user of device 500' via input indicator 554' that may be related to or otherwise indicative of any
  • NORMAL data being received as at least a portion of communication 85c via input
  • Power may be provided to at least one of action components 500 and 500' from power construction device 300 via logic construction device 400.
  • a bus of power construction component 300 may be configured to provide power from power supply
  • power construction device 400 e.g., via output connector 362 of power construction device 300 and cable 55a to input connector 452 of logic construction device 400
  • second communication 85a e.g., along at least one of power lines 59a and 59c of cable 55a
  • power may be suitable for powering logic construction device 400 to function in at least one mode (e.g., in at least a default normal mode).
  • at least some of such power provided from power construction device 300 to logic construction device 400 may be passed on or otherwise provided from logic construction device 400 to first action construction device 500 (e.g., via first output
  • third communication 85b e.g., along at least one of power lines 59a and 59c of cable 55b
  • power may be suitable for powering first action construction device 500 to function in at least one mode (e.g., in at least a default normal mode).
  • at least some of such power provided from power construction device 300 to logic construction device 400 may be passed on or otherwise provided from logic construction device 400 to second action construction device 500' (e.g., via second output connector 462' of logic construction device 400 and cable 55c to input
  • fourth communication 85c e.g., along at least one of power lines 59a and 59c of cable 55c
  • power may be suitable for powering second action construction device 500' to function in at least one mode (e.g., in at least a default normal mode).
  • sensor construction device 200A One particular example of a sensor construction device that may be used as sensor construction device 200 of system 1 is shown by sensor construction device 200A of
  • sensor construction device 200A may include a housing 201 A that may be similar to housing 201, a processor component 21 OA that may be similar to processor component 210, at least one application 213A that may be similar to application 213, a memory component 220A that may be similar to memory component 220, a sensor functional component 270A that may be similar to sensor functional component 270, and an output I/O interface 260A that may be similar to output I/O interface 260, where output I/O interface 260A may include a device output connector 262A exposed through a housing opening 261 A and a device output indicator 264A exposed through a housing opening 265 A that may be similar to device output connector 262 and device output indicator 264, respectively.
  • sensor construction device 200A may also include a bus 219A, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless
  • one or more components of device 200A may be electrically coupled to or mechanically supported by a circuit board 212 A, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 219A.
  • Sensor construction device 200A of FIGS. 3-3H may include any suitable sensor functional component 270A, such as a visible light sensor functional component, an invisible light sensor functional component, an infrared receiver sensor functional component, and/or a motion sensor functional component, that may detect a condition of an environment of sensor construction device 200A for dictating the NORMAL data to be generated and transmitted by device output connector 262A of sensor construction device 200A to another device (e.g., to power construction device 300 as at least a portion of first communication 85, such as along data line 59b of cable 55).
  • sensor construction device 200A of FIGS. 3-3H may include any suitable sensor functional component 270A, such as a visible light sensor functional component, an invisible light sensor functional component, an infrared receiver sensor functional component, and/or a motion sensor functional component, that may detect a condition of an environment of sensor construction device 200A for dictating the NORMAL data to be generated and transmitted by device output connector 262A of sensor construction device 200A to another device (e.g., to power
  • device 200A may include a window 271 A that may be provided through any portion of housing 201 A (e.g., through a rear wall of housing 201 A).
  • Window 271 A may be configured to allow any appropriate environmental information (e.g., infrared light, visible light, etc.) to pass therethrough and be received by sensor functional component 270 A in order to generate such NORMAL data.
  • window 271 A may be made of any suitable material, such as glass, plastic, and the like, that may enable the passage of such environmental information into housing 201 A and towards sensor functional component 270A, while at the same time may prevent debris and other degrading forces external to device 200A from entering into
  • sensor functional component 270A of sensor construction device 200A of FIGS. 3-3H may be provided as a visible light sensor functional component.
  • a visible light sensor functional component 270A may be configured to detect the intensity of visible light existing in the environment of device 200 A (e.g., the intensity of visible light that may travel through window 271 A and be detected by visible light sensor functional
  • processor component 21 OA may be configured to convert such detected intensity of visible light into a particular value of NORMAL data, which may then be transmitted by device 200A through output connector 262A to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2).
  • the particular value of such generated and transmitted NORMAL data may vary proportionately with the intensity of visible light detected by visible light sensor functional component 270A, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from output indicator 264A to a user of device 200A may vary proportionately with the intensity of visible light detected by visible light sensor functional component 270A and/or proportionately with the particular value of NORMAL data transmitted by output connector 262 A.
  • a particular characteristic of user interface information e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep
  • a visible light sensor construction device 200A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1.
  • visible light sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when visible light sensor functional component 270A detects an absolute dark level (e.g., when window 271 A is completely covered by an opaque element, such as a user's hand).
  • visible light sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when visible light sensor functional component 270A detects an absolute dark level (e.g., when window 271 A is completely covered by an opaque element, such as a user's hand).
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when visible light sensor functional component 270A detects a maximum brightness level (e.g., when a light sensor of component 270A is fully saturated, such as when a user shines a flashlight directly at window 271 A).
  • visible light sensor construction device 200A may be configured to have no more than a 100 millisecond activation latency (e.g., device 200A may be able to generate and transmit an appropriate NORMAL data packet from output
  • visible light sensor construction device 200A may be configured to have no more than a 100 millisecond deactivation latency.
  • a visible light sensor construction device 200A including a visible light sensor functional component 270A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the intensity of visible light detected by visible light sensor functional component 270A.
  • a visible light sensor construction device 200A including a visible light sensor functional component 270A may be utilized in system 1 to allow an exploding device (e.g., a housing separating action construction device 500C) to explode when an intensity of visible light detected by visible light sensor functional component 270A increases above a particular threshold (e.g., when the value of NORMAL data generated and transmitted by visible light sensor construction device 200A is above an integer 127 for a particular NORMAL_Data_l_Byte packet format 750).
  • an exploding device e.g., a housing separating action construction device 500C
  • processor component 21 OA and/or application 213 A of visible light sensor construction device 200A may be specially configured to take into account rate of change of detected visible light when generating appropriate NORMAL data.
  • device 200A may be configured to utilize hysteresis not only to consider the currently detected visible light but also to consider previously detected visible light when generating appropriately valued NORMAL data. That is, rather than generating NORMAL data that is purely proportionate to the currently detected amount of visible light, device 200A may be configured to generate NORMAL data with a value that is based not only on the currently detected amount of visible light but also previous values. This may enable device 200A to generate NORMAL data that is more accurately representative of the conditions in which device 200A is subjected.
  • the resulting NORMAL data generated by device 200A indicative of that new light may be different (e.g., greater, so as to cause an explode device 500C) than the NORMAL data that might be generated by device 200A if it were exposed to that same minimal light (e.g., 500 lumens) after having just been exposed to similar but slightly less light (e.g., 450 lumens).
  • This may enable device 200A to "bump start" an output value by providing weight to previous light readings (e.g., by considering last few functional data samples from functional component 270A for considering rate of change of sensed data).
  • Such positive time-based bias for derivative data processing is just one of countless examples of how the processing capabilities of a processor component (e.g., processor 21 OA) of a
  • construction device may be configured to enable more sophisticated data generation than an otherwise linear functional component (e.g., functional component 270A) might allow.
  • an otherwise linear functional component e.g., functional component 270A
  • sensor functional component 270 A of sensor construction device 200 A of FIGS. 3-3H may be provided as an invisible light sensor functional component.
  • Such an invisible light sensor functional component 270A may be configured to detect the intensity of invisible light existing in the environment of device 200A (e.g., the intensity of infrared light that may travel through window 271 A and be detected by infrared light sensor functional component 270A).
  • such an invisible light sensor construction device 200A may be configured to convert such detected intensity of invisible light into a particular value of NORMAL data, which may then be transmitted by device 200A through output connector 262A to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2).
  • the particular value of such generated and transmitted NORMAL data may vary proportionately with the intensity of invisible light detected by invisible light sensor functional component 270A, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from output indicator 264A to a user of device 200A may vary proportionately with the intensity of invisible light detected by invisible light sensor functional component 270A and/or proportionately with the particular value of NORMAL data transmitted by output connector 262 A.
  • a particular characteristic of user interface information e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep
  • An invisible light sensor construction device 200A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1.
  • invisible light sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when invisible light sensor functional component 270A detects no invisible light.
  • invisible light sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when invisible light sensor functional component 270A detects no invisible light.
  • invisible light sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when invisible light sensor functional component 270A detects a maximum brightness level of invisible light (e.g., when an invisible light sensor of component 270A is fully saturated).
  • Invisible light sensor functional component 270A may be configured to provide an invisible light sensor angle with at least a 30° cone through window 271 A.
  • invisible light sensor construction device 200 A may be configured to have no more than a 100 millisecond activation latency (e.g., device 200A may be able to generate and transmit an appropriate NORMAL data packet from output connector 262A within 100 milliseconds of a particular intensity of invisible light being provided to invisible light sensor functional component 270A).
  • invisible light sensor construction device 200A may be configured to have no more than a 100 millisecond deactivation latency.
  • an invisible light sensor construction device 200A including an invisible light sensor functional component 270A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the intensity of invisible light detected by invisible light sensor functional component 270A.
  • sensor functional component 270A of sensor construction device 200A of FIGS. 3-3H may be provided as an infrared receiver sensor functional component.
  • Such an infrared receiver sensor functional component 270A may be configured to detect an infrared light signal that may include specific data that may be encoded and transmitted via that infrared light signal towards component 270A (e.g., an infrared light signal that may travel through window 271 A and be received by infrared receiver sensor functional
  • such an infrared receiver sensor construction device 200A e.g., processor component 21 OA, application 213 A, and/or infrared receiver sensor functional component 270A
  • processor component 21 OA e.g., processor component 21 OA, application 213 A, and/or infrared receiver sensor functional component 270A
  • NORMAL_Data_l_Byte packet format 750 The particular value of such NORMAL data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) to be transmitted by infrared receiver sensor construction device 200A may be defined by the data encoded in the infrared light signal received by infrared receiver sensor functional component 270A.
  • the entity that transmitted the infrared light signal e.g., an infrared transmitter action construction device 500
  • the particular value of such NORMAL data to be transmitted by infrared receiver sensor construction device 200A e.g., via output
  • any suitable encoding scheme may be utilized by an infrared transmitter action construction device 500 (e.g., by an infrared transmitter action construction device 500A) to encode data in a transmitted infrared light signal, such as Manchester coding, and any respective decoding scheme may be utilized by infrared receiver sensor construction device 200A to decode such data from a received infrared light signal.
  • a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from output indicator 264A to a user of device 200A may vary proportionately with the data encoded in an infrared light signal received by infrared receiver sensor functional component 270A and/or proportionately with the particular value of NORMAL data transmitted by output connector 262A.
  • An infrared receiver sensor construction device 200A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1.
  • An infrared receiver sensor e.g., hardware and/or software elements
  • construction device 200A may not require any particular calibration as there may be no variance between received infrared signals that are encoded with data (e.g., digitally encoded by an infrared transmitter action construction device 500). That is, the data that may be encoded into an infrared signal that may be received and decoded by infrared receiver sensor construction device 200A may have the same resolution of values as NORMAL data of a NORMAL data packet (e.g., integral values 0 to 255 for a particular NORMAL_Data_l_Byte packet
  • An infrared receiver sensor functional component 270A may be configured to provide an infrared light sensor angle with at least a 30° cone through window 271 A and should be robust to visible light (e.g., daylight).
  • an infrared receiver sensor construction device 200A including an infrared receiver sensor functional component 270A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the value of the data encoded into the received infrared light signal.
  • sensor functional component 270A of sensor construction device 200A of FIGS. 3-3H may be provided as a motion sensor functional component.
  • Such a motion sensor functional component 270A may be configured to detect the amount (e.g., speed) of motion existing in a field of view of such a component (e.g., the amount of motion existing in the environment of device 200A that may be detected by such a motion sensor functional component 270A through window 271 A of device 200A).
  • PIR passive infrared sensor
  • such a motion sensor construction device 200A may be configured to convert such detected amount of motion into a particular value of NORMAL data, which may then be transmitted by device 200A through output connector 262A to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2).
  • a particular value of such generated and transmitted NORMAL data may be transmitted by device 200A through output connector 262A to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2).
  • a particular characteristic of user interface information e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep
  • frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep may vary proportionately with the amount of motion detected by motion sensor functional
  • a motion sensor construction device 200A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function
  • motion sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when no motion occurs in a field of view of motion sensor functional component 270A.
  • motion sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when no motion occurs in a field of view of motion sensor functional component 270A.
  • motion sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when no motion occurs in a field of view of motion sensor functional component 270A.
  • motion sensor construction device 200A may be configured or otherwise calibrated to
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when motion sensor functional component 270A detects a maximum amount of movement (e.g., when a user rapidly waves a hand with fingers spread out in front of window 271 A).
  • Motion sensor functional component 270A may be configured to provide a field of view through window 271 A of any suitable angles, such as a 45° angle, such that detected motion must occur substantially in front of window 271 A.
  • motion sensor functional component 270A may be configured to detect motion in any suitable range of distances from window 271 A, such as a range between 10 feet and 40 feet.
  • motion sensor functional component 270A may be configured to detect a small thermal mass, such as a pet, from passing by window 271 A.
  • Motion sensor construction device 200A may be configured to have no more than a 50 millisecond update latency (e.g., device 200A may be able to generate and transmit an appropriate NORMAL data packet from output connector 262A within
  • a motion sensor construction device 200A including a motion sensor functional component 270A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the amount of motion detected by motion sensor functional
  • a motor e.g., an action construction device 500
  • sensor construction device 200B Another particular example of a sensor construction device that may be used as sensor construction device 200 of system 1 is shown by sensor construction device 200B of
  • sensor construction device 200B may include a housing 20 IB that may be similar to housing 201, a processor component 210B that may be similar to processor component 210, at least one application 213B that may be similar to application 213, a memory component 220B that may be similar to memory component 220, a sensor functional component 270B that may be similar to sensor functional component 270, and an output I/O interface 260B that may be similar to output I/O interface 260, where output I/O interface 260B may include a device output connector 262B exposed through a housing opening 261 B and a device output indicator 264B exposed through a housing opening 265B that may be similar to device output connector 262 and device output indicator 264, respectively.
  • sensor construction device 200B may also include a bus 219B, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 200B.
  • a bus 219B which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 200B.
  • one or more components of device 200B e.g., one or more of processor component 21 OB, memory component 220B, sensor functional component 270B, and output I/O interface 260B
  • a circuit board 212B which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion ofbus 219B.
  • Sensor construction device 200B of FIGS. 4-4H may include any suitable user- variable sensor functional component 270B, such as a control knob functional component, that may detect an active selection of a particular value from a user in the environment of sensor construction device 200B for dictating the NORMAL data to be generated and transmitted by device output connector 262B of sensor construction device 200B to another device (e.g., to power construction device 300 as at least a portion of first communication 85, such as along data line 59b of cable 55).
  • a control knob functional component may detect an active selection of a particular value from a user in the environment of sensor construction device 200B for dictating the NORMAL data to be generated and transmitted by device output connector 262B of sensor construction device 200B to another device (e.g., to power construction device 300 as at least a portion of first communication 85, such as along data line 59b of cable 55).
  • such a user-variable sensor construction device 200B may include a sensor user interface element 274B that may extend from within housing 20 IB to a user of device 200B through a sensor housing opening 275B, where opening 275B may be provided through any portion of housing 20 I B (e.g., through a top wall of housing 20 I B, which may also include housing opening 265B for exposing output
  • Sensor user interface element 274B may be configured to allow a user of device 200B to select any particular value of a given range that may be detected by user-variable sensor functional component 270B in order to generate such NORMAL data.
  • sensor user interface element 274B may be a control knob that may be rotated through various positions by a user (e.g., about an axis A of FIGS. 4A and 4B in either a clockwise direction of arrow CW of FIG. 4A or a counterclockwise direction of arrow CCW of FIG. 4A), where such rotation may be detected by a sensor of user-variable sensor functional
  • sensor user interface element 274B may be configured to be moved through various positions in any other suitable manner (e.g., linearly). Additionally or alternatively, sensor user interface element 274B may be moved through various positions by an intermediate element in the environment of device 200B and not directly by a user.
  • the geometry of sensor user interface element 274B may be configured to interact with a mechanical toy element, such as a mechanical spline of a drive shaft of a toy (e.g., a LEGOTM toy system), such that sensor user interface element 274B may move in conjunction with movement of that mechanical toy element.
  • user-variable sensor functional component 270B of user-variable sensor construction device 200B of FIGS. 4-4H may be provided to detect the variable position of sensor user interface element 274B (e.g., a position that may be variable by a user through the rotation or any other suitable movement of sensor user interface element 274B).
  • a user-variable sensor construction device 200B e.g., processor component 21 OB,
  • application 213B, and/or user- variable sensor functional component 270B may be configured to convert such detected position of sensor user interface element 274B into a particular value of NORMAL data, which may then be transmitted by device 200B through output connector 262B to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2).
  • the particular value of such generated and transmitted NORMAL data may vary proportionately with the position of sensor user interface element 274B detected by user-variable sensor functional component 270B, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from output indicator 264B to a user of device 200B may vary proportionately with the position of sensor user interface element 274B selected by the user and detected by user-variable sensor functional component 270B and/or proportionately with the particular value of NORMAL data transmitted by output connector 262B.
  • a particular characteristic of user interface information e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep
  • a user-variable sensor construction device 200B may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1.
  • user-variable sensor construction device 200B may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when user-variable sensor functional component 270B detects sensor user interface element 274B at a first extreme position (e.g., at a position where sensor user interface element 274B may not be rotated any further in a first particular direction, such the clockwise direction of arrow CW of FIG. 4A).
  • user-variable sensor construction device 200B may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when user-variable sensor functional component 270B detects sensor user interface element 274B at a second extreme position (e.g., at a position where sensor user interface element 274B may not be rotated any further in a second particular direction, such the counterclockwise direction of arrow CCW of FIG. 4A).
  • User-variable sensor construction device 200B may be configured to have no more than a 50 millisecond update latency
  • device 200B may be able to generate and transmit an appropriate NORMAL data packet from output connector 262B within 50 milliseconds of a particular position of sensor user interface element 274B being selected by a user).
  • NORMAL data may be generated and transmitting NORMAL data that may be based on the particular user-variable position of sensor user interface element 274B
  • a user-variable sensor construction device 200B including a user-variable sensor functional component 270B may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the particular position of sensor user interface element 274B detected by user-variable sensor functional
  • sensor user interface element 274B may be rotated between two limits (e.g., between 0° and 330°, with a physical stop of about 30° therebetween), where each limit is associated with generation of a respective one of a minimum NORMAL data value and a maximum NORMAL data value.
  • sensor user interface element 274B may be continuously rotated with a variable angular velocity or with a variable angular acceleration that may be associated with generation of a variable NORMAL data value.
  • sensor user interface element 274B may be continuously rotated between discrete positions that may be indexed (e.g., via audible clicks to a user), where alternating positions are associated with associated minimum and maximum NORMAL data values (e.g., rotations between three consecutive discrete positions may generate the minimum NORMAL data value, the maximum NORMAL data value, and then the minimum NORMAL data value).
  • sensor user interface element 274B may be continuously rotated between discrete positions that may be indexed (e.g., via audible clicks to a user), where each movement between two positions is associated with a discrete generation of a maximum NORMAL data value followed by generation of minimum NORMAL data values (e.g., to momentarily pulse an output NORMAL data transmission with each discrete movement of sensor user interface element 274B.
  • sensor construction device 200C of FIGS. 5-5H may be substantially similar to sensor construction device 200 of FIG. 2 in various ways.
  • sensor construction device 200C may include a housing 201C that may be similar to housing 201, a processor component 2 IOC that may be similar to processor component 210, at least one application 213C that may be similar to application 213, a memory component 220C that may be similar to memory component 220, and a sensor functional component 270C that may be similar to sensor functional component 270.
  • Sensor construction device 200C may also include at least a first output I/O interface 260C that may be similar to output I/O interface 260, where first output I/O interface 260C may include a first device output connector 262C exposed through a first housing opening 261C and a first device output indicator 264C exposed through a first housing opening 265C that may be similar to device output connector 262 and device output indicator 264, respectively.
  • sensor construction device 200C may also include at least one additional output I/O interface, such as a second output I/O interface 260C that may be similar to output I/O interface 260, where second output I/O interface 260C may include a second device output connector 262C exposed through a second housing opening 261C and a second device output indicator 264C exposed through a second housing opening 265C that may be similar to device output connector 262 and device output indicator 264, respectively.
  • sensor construction device 200C may also include a bus 219C, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of
  • device 200C e.g., one or more of processor component 2 IOC, memory component 220C, sensor functional component 270C, first output I/O interface 260C, and/or second output I/O
  • circuit board 212C may be similar to circuit board 1 12 of device 100, and which may
  • Sensor construction device 200C of FIGS. 5-5H may include any suitable movement sensor functional component 270C, such as an accelerometer functional component, that may detect one or more types of movement of sensor construction device 200C for dictating the NORMAL data to be generated and transmitted by at least one device output connector
  • movement sensor functional component 270C may include any suitable motion sensor operative to detect one or more types of movement of sensor construction device 200C.
  • movement sensor functional component 270C may include one or more three-axis acceleration motion sensors (e.g., an accelerometer) operative to detect linear acceleration in three directions (i.e., the x- or left/right direction, the y- or up/down direction, and the z- or forward/backward direction).
  • movement sensor functional component 270C may include one or more single-axis or two-axis acceleration motion sensors, which may be operative to detect linear acceleration only along each of the x- or left/right direction and the y- or up/down direction, or along any other pair of directions.
  • movement sensor functional component 270C may include an electrostatic capacitance (e.g., capacitance-coupling) accelerometer that is based on silicon micro-machined micro electro-mechanical systems (“MEMS”) technology, including a heat-based MEMS type accelerometer, a piezoelectric type accelerometer, a piezo-resistance type accelerometer, or any other suitable accelerometer.
  • MEMS micro-machined micro electro-mechanical systems
  • Movement sensor functional component 270C may be operative to directly or indirectly detect rotation, rotational movement, angular displacement, tilt, position, orientation, motion along a non-linear (e.g., arcuate) path, or any other non-linear motions of movement sensor construction device 200C.
  • movement sensor functional component 270C may alternatively or additionally include one or more gyro-motion sensors or gyroscopes for detecting rotational movement.
  • movement sensor functional component 270C may include a rotating or vibrating element.
  • such a movement sensor construction device 200C may be configured to convert such detected movement of device 200C into one or more particular values of NORMAL data, which may then be transmitted by device 200C through one or more output connectors (e.g., one or more of output connectors 262C and 262C) to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2).
  • NORMAL data may then be transmitted by device 200C through one or more output connectors (e.g., one or more of output connectors 262C and 262C) to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2).
  • a particular characteristic of user interface information e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep
  • an output indicator e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep
  • output indicator 264C and/or output indicator 264C may vary proportionately with the direction and/or magnitude of a movement detected by movement sensor functional component 270C and/or proportionately with the particular value of NORMAL data transmitted by an output connector (e.g., one or more of output connectors 262C and 262C).
  • a movement sensor construction device 200C may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1.
  • movement sensor construction device 200C may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) from a particular one of device output connectors 262C and 262C when device 200C is laying flat along a particular axis associated with that particular device output connector and may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) from a particular one of device output connectors 262C and 262C when device 200C is accelerated at a full scale value along the particular axis associated with that particular device output connector.
  • an integer 0 e.g., a minimum value
  • first device output connector 262C of device 200C may be configured to transmit NORMAL data associated with acceleration intensity of a first particular axis of device 200C while second device output connector 262C of device 200C may be configured to transmit NORMAL data associated with acceleration intensity of a second particular axis of device 200C (e.g., an axis orthogonal to the first particular axis).
  • NORMAL data associated with acceleration intensity of a second particular axis of device 200C e.g., an axis orthogonal to the first particular axis.
  • full scale acceleration along a particular axis may not be indicative of device 200C tilted orthogonal to that axis, but rather may be indicative of shaking of device 200C at a particular intensity along that axis.
  • a movement sensor construction device 200C including a movement sensor functional component 270D may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to move in a direction based on the direction of movement detected by movement sensor functional component 270D and/or to move with a speed based on the magnitude of movement detected by movement sensor functional
  • a motor e.g., an action construction device 500
  • power construction device 300A One particular example of a power construction device that may be used as power construction device 300 of system 1 is shown by power construction device 300A of
  • FIGS. 6-6H which may be substantially similar to power construction device 300 of FIG. 2 in various ways.
  • power construction device 300 A may include a housing 301A that may be similar to housing 301 , a processor component 310A that may be similar to processor component 310, at least one application 313 A that may be similar to application 313, a memory component 320A that may be similar to memory component 320, a power supply component 330A that may be similar to power supply component 330, a communications component 340A that may be similar to communications component 340, and a functional component 370A that may be similar to functional component 370.
  • Power construction device 300 A may include a housing 301A that may be similar to housing 301 , a processor component 310A that may be similar to processor component 310, at least one application 313 A that may be similar to application 313, a memory component 320A that may be similar to memory component 320, a power supply component 330A that may be similar to power supply component 330, a communications component 340A that may
  • construction device 300 A may also include at least a first set of input and output I/O interfaces, where such a first set of I/O interfaces may include a first input I/O interface 350A that may be similar to input I/O interface 350 and a first output I/O interface 360A that may be similar to output I/O interface 360.
  • First input I/O interface 350A may include a first device input connector 352 A exposed through a first housing opening 351 A and a first device input indicator 354 A exposed through a first housing opening 355 A that may be similar to device input connector 352 and device input indicator 354, respectively, while first output I/O interface 360A may include a first device output connector 362 A exposed through a first housing opening 361 A and a first device output indicator 364A exposed through a first housing opening 365A that may be similar to device output connector 362 and device output indicator 364, respectively.
  • a loop-through icon 359 A may be provided on an exterior of housing 301 A to associate at least a portion of an input I/O interface 350 A and at least a portion of an output I/O interface 360 A that are part of the same set of input and output I/O interfaces (e.g., loop-through icon 359A may be provided on a top surface of housing 301 A to visually link first device input indicator 354A and first housing opening 355A to first device output indicator 364A and first housing opening 365A, as shown in FIG. 6A). As shown in FIGS. 6A-6H, but not FIG.
  • loop-through icon 359A' and such as a third set of I/O interfaces may include a third input I/O interface 350A" that may be similar to input I/O interface 350 (e.g., with respective
  • output I/O interface 360A that may be similar to output I/O interface 360 (e.g., with respective elements 361 A", 362A", 364A", and 365A") with a loop-through icon 359A".
  • power construction device 300A may also include a bus 319A, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 300A.
  • a bus 319A which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 300A.
  • a bus 319A may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 300A.
  • FIG. 6H for example, one or more components of device 300A (e.g., one or more of processor component 310A, memory component 320A, communications component 340A, functional component 370A, any one or more of input I/O interfaces 350A-350A", and/or any one or
  • circuit board 312 A which may be similar to circuit board 1 12 of device 100, and which may
  • power supply component 330A of construction device 300A may also include a button 315A that may be exposed to a user external to device 300 A, such that the user may turn device 300 A on and off.
  • power supply 330A may be provided with a status indicator 325A (e.g., a light emitting diode ("LED")) that may be exposed to a user external to device 300A, such that the user may discern how much charge power supply 330A currently has.
  • power supply 330A may be provided with a charging
  • communications component 340A may also include or be electrically coupled to any suitable transceiver circuitry (e.g., transceiver 345 A) that can enable device 300A to be communicatively coupled to another device (e.g., a host computer, such as controller device 600 of FIGS. 2, 14, and 14A) and communicate with that other device wirelessly (e.g., where transceiver 345A may include an antenna) or via a wired connection (e.g., where transceiver 345A may include a connector port).
  • a host computer such as controller device 600 of FIGS. 2, 14, and 14A
  • transceiver 345A may include an antenna
  • wired connection e.g., where transceiver 345A may include a connector port
  • charging element 335A and transceiver 345A may be provided as a single port on device 300A (e.g., a USB connector port that may communicate both power for power supply 330A and data for communications component 340A).
  • power supply 330 A may be a battery that must be charged via charging
  • power supply 330A may be a replaceable battery that may be easily swapped with another battery by a user of power construction device 300A.
  • power construction device 300A may be configured to loop through any suitable data received at an input connector of any one of its sets of I/O interfaces (e.g., input connector 352A, 352A', and/or 352A") to a respective output connector of that set of I/O interfaces (e.g., output connector 362A, 362A', and/or 362A") without affecting the function of the data.
  • bus 319A of power construction component 300 A may be configured to directly couple at least certain signals (e.g., NORMAL data signals) received from first device input connector 352A to first device output connector 362 A without imposing any functional change thereon
  • bus 319A of power construction component 300A may be configured to couple at least certain signals (e.g., NORMAL data signals) from second device input connector 352 A' to second device output connector 362 A' via processor
  • power construction device 300 A may be configured such that any data looped through one set of I/O interfaces (e.g., a first set where data is looped from first input
  • power construction device 300A may be configured to generate and convey user interface information to a user of device 300A via an input indicator (e.g., input indicator 354A, 354A', and/or 354A") that may be related to or otherwise indicative of such NORMAL data being received by an associated input connector (e.g., input connector 352A, 352A', and/or 352A", respectively).
  • an input indicator e.g., input indicator 354A, 354A', and/or 354A
  • an associated input connector e.g., input connector 352A, 352A', and/or 352A"
  • power construction device 300A may be configured to generate and convey user interface information to a user of device 300 A via an output indicator (e.g., output indicator 364A, 364A', and/or 364A") that may be related to or otherwise indicative of such NORMAL data being transmitted by an associated output connector
  • an output indicator e.g., output indicator 364A, 364A', and/or 364A
  • power construction device 300A may include any suitable power supply component 330A for providing power to any other
  • construction device that may be coupled to power construction device 300 A, either directly or indirectly, via any input connector (e.g., input connector 352A, 352A', and/or 352A") and/or via any output connector (e.g., output connector 362A, 362A', and/or 362A") of device 300A.
  • any input connector e.g., input connector 352A, 352A', and/or 352A
  • output connector e.g., output connector 362A, 362A', and/or 362A
  • Functional component 370A of power construction device 300A may be described in more detail below with respect to other, non-default modes, of device 300 A.
  • power construction device 300B of FIGS. 7-7H may be substantially similar to power construction device 300 of FIG. 2 in various ways.
  • power construction device 300B may include a housing 30 IB that may be similar to housing 301 , a processor component 310B that may be similar to processor component 310, at least one application 313B that may be similar to application 313, a memory component 320B that may be similar to memory component 320, a power supply
  • Power construction device 300B may also include at least a first set of input and output I/O interfaces, where such a first set of I/O interfaces may include a first input I/O interface 350B that may be similar to input I/O interface 350 and a first output I/O interface 360B that may be similar to output I/O interface 360.
  • First input I/O interface 350B may include a first device input connector 352B exposed through a first housing opening 35 IB and a first device input indicator 354B exposed through a first housing opening 355B that may be similar to device input connector 352 and device input indicator 354, respectively, while first output I/O interface 360B may include a first device output connector 362B exposed through a first housing opening 36 IB and a first device output indicator 364B exposed through a first housing opening 365B that may be similar to device output connector 362 and device output indicator 364, respectively.
  • a loop-through icon 359B may be provided on an exterior of housing 30 IB to associate at least a portion of an input I/O interface 350B and at least a portion of an output I/O interface 360B that are part of the same set of input and output I/O interfaces (e.g., loop-through icon 359B may be provided on a top surface of housing 30 IB to visually link first device input indicator 354B and first housing opening 355B to first device output indicator 364B and first housing opening 365B, as shown in FIG. 7A).
  • At least one device input contact (e.g., a data device input contact) of device input connector 352B of input I/O interface 350B may be directly coupled (e.g., via bus 319B) to at least one device output contact (e.g., a data device output contact) of device output connector 362B of output I/O interface 360B for proving a
  • loop-through set of I/O interfaces e.g., as indicated by loop-through icon 359B.
  • construction device 300B may also include at least one other set of input and output I/O interfaces.
  • power construction device 300B may also include one or more additional floating or independent input I/O interfaces (e.g., an input I/O interface of device 300B with an input connector whose data may not necessarily be passed on to an output connector of an output I/O interface of device 300B).
  • power construction device 300B may include a second input I/O interface 350B' that may be similar to input I/O interface 350 (e.g., with respective elements 351B', 352B', 354B', and 355B') that may be floating or independent with respect to any output I/O interface of device 300B, and/or a third input I/O interface 350B" that may be similar to input I/O interface 350 (e.g., with respective elements 35 IB", 352B", 354B", and 355B") that may be floating or independent with respect to any output I/O interface of device 300B.
  • a second input I/O interface 350B' that may be similar to input I/O interface 350 (e.g., with respective elements 351B', 352B', 354B', and 355B') that may be floating or independent with respect to any output I/O interface of device 300B
  • third input I/O interface 350B that may be similar to input I/O interface 350 (e.g., with respective elements 35
  • power construction device 300B may also include one or more additional floating or independent output I/O interfaces (e.g., an output I/O interface of device 300B with an output connector whose data may not necessarily be passed on from an input connector of an input I/O interface of device 300B).
  • additional floating or independent output I/O interfaces e.g., an output I/O interface of device 300B with an output connector whose data may not necessarily be passed on from an input connector of an input I/O interface of device 300B).
  • power construction device 300B may include a second output I/O interface 360B' that may be similar to output I/O interface 360 (e.g., with respective elements 361B', 362B 1 , 364B', and 365B') that may be floating or independent with respect to any input I/O interface of device 300B, and/or a third output I/O interface 360B" that may be similar to output I/O interface 360 (e.g., with respective elements 36 IB", 362B", 364B", and 365B") that may be floating or independent with respect to any input I/O interface of device 300B, and/or a fourth output I/O interface 360B'" that may be similar to output I/O interface 360 (e.g., with respective elements 361B'", 362B"', 364B'", and 365B'") that may be floating or independent with respect to any input I/O interface of device 300B, and/or a fifth output I/O interface 360B"" that may be similar to output I/O
  • component 370B of power construction device 300B may be described in more detail below with respect to other, non-default modes, of device 300B.
  • power construction device 300B may also include a bus 319B, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 300B.
  • a bus 319B which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 300B.
  • FIG. 7H for example, one or more components of device 300B (e.g., one or more of processor component 310B, memory component 320B, communications component 340B, functional component 370B, any one or more of input I/O interfaces 350B-350B"", and/or any one or more of output I/O
  • circuit board 312B which may be similar to circuit board 1 12 of device 100, and which may
  • power supply component 330B of construction device 300B may also include a button 315B that may be exposed to a user external to device 300B, such that the user may turn device 300B on and off.
  • power supply 330B may be provided with a status indicator 325B (e.g., a light emitting diode ("LED")) that may be exposed to a user external to device 300B, such that the user may discern how much charge power supply 330B currently has.
  • a status indicator 325B e.g., a light emitting diode (“LED")
  • power supply 330B may be provided with a charging element 335B (e.g., a micro universal serial bus (“USB”) connector or DC connector for coupling to a charging cable).
  • communications component 340B may also include or be electrically coupled to any suitable transceiver circuitry (e.g., transceiver 345B) that can enable device 300B to be communicatively coupled to another device (e.g., a host computer, such as controller device 600 of FIGS. 2, 14, and 14A) and communicate with that other device wirelessly (e.g., where transceiver 345B may include an antenna) or via a wired connection (e.g., where transceiver 345B may include a connector port).
  • transceiver circuitry e.g., transceiver 345B
  • charging element 335B and transceiver 345B may be provided as different elements on device 300B (e.g., a USB connector port charging element 335B that may communicate power for power supply 330B and an antenna transceiver 345B that may wirelessly communicate data for communications component 340B).
  • power supply 330B may be a battery that must be charged via charging element 335B, while, in other embodiments, power supply 33 OB may be a replaceable battery that may be easily swapped with another battery by a user of power construction device 300B.
  • power construction device 300B may be configured to loop through any suitable data received at an input connector of one of its sets of I/O interfaces (e.g., input connector 352B) to a respective output connector of that set of I/O interfaces (e.g., output connector 362B) without affecting the function of the data.
  • input connector 352B an input connector of one of its sets of I/O interfaces
  • output connector 362B a respective output connector of that set of I/O interfaces
  • bus 319B of power construction component 300B may be configured to directly couple at least certain signals (e.g., NORMAL data signals) received from first device input connector 352B to first device output connector 362B without imposing any functional change thereon (e.g., without changing the particular value of that data), where such NORMAL data may then be transmitted from first device output connector 362B of power construction device 300B to another construction device.
  • NORMAL data signals e.g., NORMAL data signals
  • bus 319B of power construction component 300B may be configured to couple at least certain signals
  • first device input connector 352B to first device output connector 362B via processor component 310B or any other suitable component of device 300B without imposing any functional change thereon (e.g., without changing the particular value of that data).
  • NORMAL data signals e.g., NORMAL data signals
  • power construction device 300B may be configured to generate and convey user interface information to a user of device 300B via an input indicator (e.g., input indicator 354B, 354B', and/or 354B") that may be related to or otherwise indicative of such NORMAL data being received by an associated input connector (e.g., input connector 352B, 352B', and/or 352B", respectively).
  • an input indicator e.g., input indicator 354B, 354B', and/or 354B
  • an associated input connector e.g., input connector 352B, 352B', and/or 352B
  • power construction device 300B may be configured to generate and convey user interface information to a user of device 300B via an output indicator (e.g., output indicator 364B, 364B', 364B", 364B'", and/or 364B"”) that may be related to or otherwise indicative of such NORMAL data being transmitted by an associated output connector (e.g., output connector 362B, 362B', 362B", 362B'", and/or 362B"", respectively).
  • an output indicator e.g., output indicator 364B, 364B', 364B", 364B'", and/or 364B"
  • construction device 300B may include any suitable power supply component 330B for providing power to any other construction device that may be coupled to power construction device 300B, either directly or indirectly, via any input connector (e.g., input connector 352B, 352B', and/or 352B") and/or via any output connector (e.g., output connector 362B, 362B', 362B", 362B'", and/or 362B"") of device 300B.
  • any input connector e.g., input connector 352B, 352B', and/or 352B
  • any output connector e.g., output connector 362B, 362B', 362B", 362B'", and/or 362B"
  • logic construction device 400A of FIGS. 8-8H may be substantially similar to logic construction device 400 of FIG. 2 in various ways.
  • logic construction device 400A may include a housing 401 A that may be similar to housing 401 , a processor component 41 OA that may be similar to processor
  • component 410 at least one application 413A that may be similar to application 413, a memory component 420A that may be similar to memory component 420, a logic functional
  • input I/O interface 450A that may be similar to input I/O interface 450
  • input I/O interface 450A may include a device input connector 452A exposed through a housing opening 451 A and a device input indicator 454A exposed through a housing opening 455A that may be similar to device input connector 452 and device input indicator 454, respectively
  • output I/O interface 460A that may be similar to output I/O interface 460
  • output I/O interface 460A may include a device output connector 462 A exposed through a housing opening 461 A and a device output indicator 464A exposed through a housing opening 465 A that may be similar to device output connector 462 and device output indicator 464, respectively.
  • logic construction device 400 A may also include a bus 419A, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 400A.
  • a bus 419A which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 400A.
  • one or more components of device 400A e.g., one or more of processor component 41 OA, memory component 420A, logic functional component 470A, input I/O interface 450A, and output I/O interface 460A
  • Logic construction device 400A of FIGS. 8-8H may include any suitable logic functional component 470A, such as an inverter logic functional component, that may apply a specific function to the input data received by device input connector 452A of logic construction device 400A and then use the result of that function application to dictate the data to be transmitted by device output connector 462A of logic construction device 400A.
  • Such an inverter logic functional component 470A e.g., in conjunction with processor 41 OA and/or application 413 A
  • NORMAL_Data_l_Byte packet format 750 may vary inversely proportionately with the particular value of such received NORMAL input data (e.g., also representative of an integer between 0 and 255 for a particular
  • NORMAL_Data_l_Byte packet format 750 at device 400 A, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed by input indicator 454A to a user of device 400 A may vary proportionately with particular value of NORMAL input data received by input connector 452A, and while a particular characteristic of user interface information
  • An inverter logic construction device 400A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function
  • construction device 400A may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) from output connector 362A when NORMAL input data for a NORMAL_Data_l_Byte packet format 750 representative of an integer 255 (e.g., a maximum value) is received by input connector 452A.
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) from output connector 362A when NORMAL input data for a NORMAL_Data_l_Byte packet format 750 representative of an integer 255 (e.g., a maximum value) is received by input connector 452A.
  • inverter logic construction device 400A may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) from output connector 462A when NORMAL input data for a NORMAL_Data_l_Byte packet format 750.
  • NORMAL_Data_l_Byte packet format 750 is representative of an integer 255 (e.g., a maximum value) from output connector 462A when NORMAL input data for a
  • NORMAL_Data_l_Byte packet format 750 representative of an integer 0 (e.g., a minimum value) is received by input connector 452A. That is, inverter logic construction device 400A may be configured or otherwise calibrated to generate and transmit NORMAL output data that is representative of a maximum value (e.g., 100%) minus the value of NORMAL input data received by input connector 452A. Moreover, inverter logic construction device 400A may be configured to have no more than a 50 millisecond update latency (e.g., device 400A may be able to generate and transmit an appropriate NORMAL data packet from output connector 462A within 50 milliseconds of a particular NORMAL data packet being received by input
  • device 400A including an inverter logic functional component 470A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) coupled to output connector 462A of device 400A to run at a speed inversely proportional to the intensity of visible light that may be detected by a visible light sensor construction device 200A coupled to input connector 452A of device 400A.
  • a motor e.g., an action construction device 500
  • logic construction device 400B of FIGS. 9-9H may be substantially similar to logic construction device 400 of FIG. 2 in various ways.
  • logic construction device 400B may include a housing 40 IB that may be similar to housing 401, a processor component 410B that may be similar to processor component 410, at least one application 413B that may be similar to application 413, a memory component 420B that may be similar to memory component 420, a logic functional
  • input I/O interface 450B may include a device input connector 452B exposed through a housing opening 45 IB and a device input indicator 454B exposed through a housing opening 455B that may be similar to device input connector 452 and device input indicator 454, respectively.
  • Logic construction device 400B may also include a first output I/O interface 460B that may be similar to output I/O interface 460, where first output I/O interface 460B may include a first device output connector 462B exposed through a first housing opening 46 IB and a first device output indicator 464B exposed through a first housing opening 465B that may be similar to device output connector 462 and device output indicator 464, respectively.
  • logic construction device 400B may also include a second output I/O interface 460B' that may be similar to output I/O interface 460, where second output I/O interface 460B' may include a second device output connector 462B' exposed through a second housing opening 46 IB' and a second device output indicator 464B' exposed through a second housing opening 465B' that may be similar to device output connector 462 and device output indicator 464, respectively.
  • logic construction device 400B may also include a bus 419B, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 400B.
  • bus 419B which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 400B.
  • one or more components of device 400B may be electrically coupled to or mechanically supported by a circuit board 412B, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 419B.
  • Logic construction device 400B of FIGS. 9-9H may include any suitable logic functional
  • component 470B such as a splitter logic functional component or a flip-flop logic functional component, that may apply a specific function to the input data received by device input connector 452B of logic construction device 400B and then use the result of that function application to dictate the data to be transmitted by one or both of first device output
  • logic functional component 470B of logic construction device 400B of FIGS. 9-9H may be provided as a splitter logic functional component.
  • a splitter logic functional component 470B e.g., in conjunction with processor 41 OB and/or application 413B
  • NORMAL_Data_l_Byte packet format 750 The particular value of such generated and transmitted NORMAL output data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) from device 400B may be the same as the particular value of such received NORMAL input data (e.g., also representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at device 400B, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed by input indicator 454B to a user of device 400B may vary proportionately with the particular value of NORMAL input data received by input connector 452B, and while
  • output user interface information e.g., information based on NORMAL output data transmitted by respective output connectors 462B and 462B'
  • output user interface information may be identical to one another in the NORMAL default mode of operation of device 400B.
  • a splitter logic construction device 400B may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function
  • splitter logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) from each one of output connectors 462B and 462B' when NORMAL input data for a NORMAL_Data_l_Byte packet format 750 representative of an integer 0 (e.g., a minimum value) is received by input connector 452B.
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) from each one of output connectors 462B and 462B' when NORMAL input data for a NORMAL_Data_l_Byte packet format 750 representative of an integer 0 (e.g., a minimum value) is received by input connector 452B.
  • splitter logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) from each one of output connectors 462B and 462B' when NORMAL input data for a NORMAL_Data_l_Byte packet format 750 representative of an integer 255 (e.g., a maximum value) is received by input connector 452B. That is, splitter logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data that is representative of the same value as the NORMAL input data received by input connector 452B.
  • Processor component 410B may be configured to receive NORMAL input data and generate/transmit appropriate (e.g., the same) NORMAL output data. Alternatively, there may be a direct link between device input connector 452B and one or both of device output connectors 462B and 462B' (e.g., using bus 419B). However, by configuring processor component 410B as an intermediary between the input and output connectors, processor 410B may be configured in various ways to impart various logic on the data of device 400B.
  • splitter logic construction device 400B may be configured to have no more than a 50 millisecond update latency (e.g., device 400B may be able to generate and transmit an appropriate NORMAL data packet from each one of output connector 462B and 462B' within 50 milliseconds of a particular NORMAL data packet being received by input connector 452B).
  • a splitter logic construction device 400B including a splitter logic functional component 470B may be utilized in system 1 to allow each one of two motors (e.g., a first motor action construction device 500 and a second motor action construction device 500') respectively coupled to first output connector 462B and second output connector 462B' of device 400B to run at a speed equal to or otherwise
  • logic functional component 470B of logic construction device 400B of FIGS. 9-9H may be provided as a flip-flop logic functional component.
  • a flip-flop logic functional component 470B e.g., in conjunction with processor 410B and/or application 413B
  • Flip-flop logic construction component 400B with a flip-flop logic functional component 470B may be configured such that the particular value of such transmitted NORMAL output data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) from an output connector of device 400B may be the same as (or
  • flip-flop logic construction component 400B may be configured such that the determination as to which of first output connector 462B and second output connector 462B' is activated to transmit NORMAL output data (and, thus, as to which of first output connector 462B and second output connector 462B' is deactivated for not transmitting NORMAL output data) at a particular instance, may be made based on an edge of NORMAL input data received by input connector 452B.
  • flip-flop logic construction component 400B may be configured to toggle transmission of NORMAL output data from one output connector to the other output connector each time the value of NORMAL input data received by input connector 452B crosses a threshold on a rising edge (e.g., each time the value of NORMAL input data received by input connector 452B increases from below a value representative of an integer 127 to above the value representative of an integer 127).
  • a particular output connector e.g., first output connector 462B
  • a particular characteristic of user interface information e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep
  • input indicator 454B may vary proportionately with the particular value of NORMAL input data received by input connector 452B
  • a particular characteristic of user interface information e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep
  • first output indicator 464B and second output indicator 464B' may vary proportionately with the particular value of NORMAL output data transmitted from its respective first output connector 462B and second output connector 462B'.
  • a flip-flop logic construction device 400B may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function
  • flip-flop logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) from one of output connectors 462B and 462B' when NORMAL input data for a NORMAL Data l Byte packet format 750 representative of any integer between 0 and 255 (e.g., any possible value) is received by input connector 452B.
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) from one of output connectors 462B and 462B' when NORMAL input data for a NORMAL Data l Byte packet format 750 representative of any integer between 0 and 255 (e.g., any possible value) is received by input connector 452B.
  • flip-flop logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of the same integer (e.g., any one of integers 0-255) from one of output connectors 462B and 462B' when a NORMAL input data for a NORMAL_Data_l _Byte packet format 750 representative of that same integer is received by input connector 452B. That is, flip-flop logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data that is representative of the same value as the NORMAL input data received by input connector 452B or that is representative of a particular
  • device 400B may be configured to have no more than a 50 millisecond update latency
  • flip-flop logic construction device 400B may be configured to have a debounce period of at least 50 milliseconds (e.g., device 400B may prevent more than one toggling between output connectors for data transmission within a 50 millisecond period).
  • a flip-flop logic construction device 400B including a flip-flop logic functional component 470B may be utilized in system 1 to allow a light emitting diode (“LED) (e.g., an LED action construction device 500) coupled to first output connector 462B of device 400B to alternatively turn on and off each time a user waves his hand in front of a motion sensor construction device 200A coupled to input connector 452B of device 400B.
  • LED light emitting diode
  • processors e.g., an LED action construction device 500
  • component 410B and/or application 413B of flip-flop logic construction device 400B may be specially configured to take into account previous NORMAL input data values when
  • device 400B may be configured to utilize hysteresis not only to consider the currently received NORMAL input data value but also to consider previously received NORMAL input data values when determining which output connector to activate. That is, rather than alternating active output connectors each time the value of NORMAL input data received by input connector 452B crosses a particular threshold (e.g., an integer value 127) on a rising edge, device 400B may be configured to alternate active output connectors only after the value of NORMAL input data received by input connector 452B first crosses below a first threshold on a falling edge (e.g., after the value of NORMAL input data received by input connector 452B decreases from above a value representative of an integer 99 to below the value representative of an integer 99) and then crosses above a second threshold on a rising edge (e.g., after the value of NORMAL input data received by input connector 452B increases from below a value representative of an integer 127 to above the value representative of an integer 127).
  • a particular threshold e.g.,
  • Such amplitude domain hysteresis data processing is just one of countless examples of how the processing capabilities of a processor component (e.g., processor 41 OB) of a construction device may be configured to enable more sophisticated logic than an otherwise simple logic device might allow.
  • a processor component e.g., processor 41 OB
  • action construction device 500A of system 1 One particular example of an action construction device that may be used as action construction device 500 of system 1 is shown by action construction device 500A of system 1
  • FIGS. 10-1 OH which may be substantially similar to action construction device 500 of FIG. 2 in various ways.
  • action construction device 500A may include a housing 501 A that may be similar to housing 501 , a processor component 51 OA that may be similar to processor component 510, at least one application 513A that may be similar to application 513, a memory component 520A that may be similar to memory component 520, an action functional component 570A that may be similar to sensor functional component 570, and an input I/O interface 550A that may be similar to input I/O interface 550, where input I/O interface 550A may include a device input connector 552A exposed through a housing opening 551 A and a device input indicator 554A exposed through a housing opening 555 A that may be similar to device input connector 552 and device input indicator 554, respectively.
  • action construction device 500A may also include a bus 519A, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 500A.
  • a bus 519A which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 500A.
  • one or more components of device 500A e.g., one or more of processor component 51 OA, memory component 520A, action functional component 570A, and input I/O interface 550A
  • a circuit board 512A which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 519A.
  • Action construction device 500 A of FIGS. 10-1 OH may include any suitable action functional component 570A, such as a single visible light emitting action functional component, a multi-color visible light emitting action functional component, and/or an infrared transmitter action functional component, that may receive NORMAL input data at device input
  • any suitable action functional component 570A such as a single visible light emitting action functional component, a multi-color visible light emitting action functional component, and/or an infrared transmitter action functional component, that may receive NORMAL input data at device input
  • connector 552A (e.g., from logic construction device 400 as at least a portion of
  • action construction device 500A may include a window 571 A that may be provided through any portion of housing 501 A (e.g., through a rear wall of housing 501 A). Window 571 A may be configured to allow any appropriate information (e.g., visible light, infrared light, etc.) to pass therethrough from action functional component 570 A and be received by an environment external to device 500A (e.g., by a user or by a senor of another construction device).
  • any appropriate information e.g., visible light, infrared light, etc.
  • window 571 A may be made of any suitable material, such as glass, plastic, and the like, that may enable the passage of such information out from housing 501 A, while at the same time may prevent debris and other degrading forces external to device 500A from entering into housing 501 A.
  • action functional component 570 A of action construction device 500 A of FIGS. 10-1 OH may be provided as a single color visible light emitting action functional component.
  • Such a single color visible light emitting action construction device 500A e.g., processor component 51 OA, application 513 A, and/or visible light emitting action functional component 570A
  • the amount or intensity of such visible light that may be generated and transmitted by single color visible light emitting action functional component 570 A may vary proportionately with the particular value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at input connector 552A, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from input indicator 554 A to a user of device 500 A may vary proportionately with the intensity of single color visible light generated and transmitted by single color visible light emitting action functional component 570 A and/or proportionately with the particular value of NORMAL data received by input connector 552A.
  • NORMAL_Data_l_Byte packet format 750 e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byt
  • a single color visible light emitting action construction device 500A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1.
  • single color visible light emitting action construction device 500A may be configured or otherwise calibrated to generate and transmit no visible light out from housing 501 A via visible light emitting action functional component 570 A when particular NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by input connector 552 A.
  • single color visible light emitting action construction device 500A may be configured or otherwise calibrated to generate and transmit the maximum amount of light possible out from housing 501 A via visible light emitting action functional component 570 A when particular NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by input connector 552 A.
  • Visible light emitting action construction device 500A may be configured to have no more than a 100 millisecond activation latency (e.g., device 500A may be able to generate and transmit an appropriate intensity of visible light out from window 571 within 100 milliseconds of a particular value of NORMAL input data is received by input connector 552A).
  • a visible light emitting action construction device 500 A including a visible light emitting action functional component 570A may be utilized in system 1 to allow a user-variable sensor construction device (e.g., a control knob user-variable sensor construction device 200B) to be varied by a user for generating and transmitting particular NORMAL data that may be received by visible light emitting action construction device 500A for accordingly varying the intensity of visible light output by visible light emitting action functional component 570 A.
  • a user-variable sensor construction device e.g., a control knob user-variable sensor construction device 200B
  • action functional component 570A of action construction device 500 A of FIGS. 10-1 OH may be provided as a multi-color visible light emitting action functional component.
  • a multi-color visible light emitting action construction device 500A e.g., processor component 51 OA, application 513A, and/or visible light emitting action functional component 570A
  • device input connector 552A e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG.
  • multi-color visible light emitting action functional component 570A e.g., for controlling the amount or intensity of visible light that may be generated and transmitted by visible light emitting action functional component 570A out from housing 501 A through window 571 A.
  • the amount or intensity of such visible light that may be generated and transmitted by multi-color color visible light emitting action functional component 570A may vary
  • a particular characteristic of user interface information e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep
  • a particular characteristic of user interface information may vary proportionately with the intensity of multi-color visible light generated and transmitted by multi-color color visible light emitting action functional component 570A and/or proportionately with the particular value of NORMAL data received by input
  • such a multi-color visible light emitting action construction device 500A may be configured to detect a particular value of NORMAL input data received by a second device input connector 552 A (not shown) and then to convert such a detected value into a particular control signal for operating a second function of multi-color visible light emitting action functional component 570A (e.g., for controlling the color or hue of visible light that may be generated and transmitted by visible light emitting action functional component 70 A out from housing 501 A through window 571 A).
  • the color of such visible light that may be generated and transmitted by multi-color color visible light emitting action functional component 570 A may vary proportionately with the particular value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at such a second input connector 552A (not shown), while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from a second input indicator 554A (not shown) to a user of device 500A may vary proportionately with the color of multi-color visible light generated and transmitted by multi-color visible light emitting action functional component 570A and/or proportionately with the particular value of NORMAL data received by such a second input connector 552A.
  • NORMAL_Data_l_Byte packet format 750 e.g., representative of an integer between
  • a multi-color visible light emitting action construction device 500 A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1.
  • multi-color visible light emitting action construction device 500A may be configured or otherwise calibrated to generate and transmit no visible light out from housing 501 A via visible light emitting action functional component 570A when particular NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by input connector 552A.
  • multi-color visible light emitting action construction device 500 A may be configured or otherwise calibrated to generate and transmit the maximum amount of light possible out from housing 501 A via visible light emitting action functional component 570A when particular NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by input connector 552 A.
  • multi-color visible light emitting action construction device 500A may be configured or otherwise calibrated to generate and transmit visible light of a first color at a first end of the color spectrum (e.g., red) out from housing 501 A via visible light emitting action functional component 570A when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by a second input connector 552 A (not shown).
  • multi-color visible light emitting action construction device 500 A may be configured or otherwise calibrated to generate and transmit the visible light of a second color at a second end of the color spectrum (e.g., blue) out from housing 501 A via visible light emitting action functional component 570A when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by second input connector 552A (not shown).
  • a second end of the color spectrum e.g., blue
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by second input connector 552A (not shown).
  • a multi-color visible light emitting action construction device 500A including a multi-color visible light emitting action functional component 570 A may be utilized in system 1 to allow two
  • user-variable sensor construction devices e.g., two control knob user-variable sensor construction devices 200B
  • visible light emitting action construction device 500A for accordingly varying the intensity and color of visible light output by visible light emitting action functional component 570A.
  • action functional component 570A of action construction device 500A of FIGS. 10-1 OH may be provided as an infrared transmitter action functional component.
  • Such an infrared transmitter action construction device 500A e.g., processor component 51 OA, application 513A, and/or infrared transmitter action functional
  • component 570 A may be configured to generated and transmit via window 571 an encoded infrared light signal that may include specific data equal to or at least based on a particular value of NORMAL data received by input connector 552A (e.g., from logic device 400 as at least a portion of communication 85b along cable 55b of FIG. 2).
  • NORMAL data received by input connector 552A (e.g., from logic device 400 as at least a portion of communication 85b along cable 55b of FIG. 2).
  • the particular value of the data encoded into an infrared light signal transmitted by infrared transmitter action functional component 570 A via window 571 A may be defined may be equal to or directly dependent on the particular value of such NORMAL data received by input connector 552A of infrared transmitter action construction device 500A.
  • Any suitable encoding scheme may be utilized by an infrared transmitter action construction device 500A to encode data in a transmitted infrared light signal, such as Manchester coding, and any respective decoding scheme may be utilized by infrared receiver sensor construction device 200A to decode such data from a received infrared light signal.
  • a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from input indicator 554A to a user of device 500 A may vary proportionately with the value of the data encoded in the infrared light signal transmitted by infrared transmitter action functional component 570 A and/or proportionately with the particular value of NORMAL data received by input connector 552A.
  • An infrared transmitter action construction device 500A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1.
  • An infrared transmitter action construction device 500A may not require any particular calibration as there may be no variance between infrared signals that are encoded with data (e.g., digitally encoded by infrared transmitter action construction device 500A) and NORMAL input data received by input connector 552A.
  • the data that may be encoded into an infrared signal that may be transmitted by infrared transmitter action construction device 500 A may have the same resolution of values as NORMAL data of a NORMAL data packet (e.g., integral values 0 to 255 for a particular NORMAL_Data_l_Byte packet format 750) that may be received by input connector 552A.
  • An infrared transmitter action functional component 570A may be configured to provide an infrared light transmitter angle with at least a 30° cone through window 571A and should be robust to visible light (e.g., daylight).
  • an infrared transmitter action construction device 500A including an infrared transmitter action functional component 570A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the value of the data encoded into the transmitted infrared light signal.
  • infrared light signal encoded with particular data when transmitted from infrared transmitter action construction device 500 A and received by an infrared receiver sensor construction device (e.g., device 200A), it may be as if that encoded data (e.g., NORMAL data) were instead transmitted from device 500 A to device 200 A via a cable 55.
  • encoded data e.g., NORMAL data
  • a system 1 that utilizes transmission of NORMAL data encoded in an infrared light signal, such as (1) transmission of NORMAL data via infrared light over at least a particular distance reliably (e.g., when an infrared transmitter action construction device 500A is positioned at a certain distance away from an infrared receiver sensor construction device 200A), (2) transmission of NORMAL data via infrared light reliably within a particular duration of time (e.g., when an infrared transmitter action construction device 500 A is attached to a wand waved by a user in a rapid motion past an infrared receiver sensor construction device 200A), and (3) transmission of NORMAL data via infrared light for use as an infrared trip wire (e.g., when discontinuation of receipt of NORMAL data at an infrared receiver sensor construction device 200 A is to be used to trigger a particular output).
  • NORMAL data via infrared light over at least a particular distance reliably
  • infrared signal data that was recently received successfully by an infrared receiver sensor construction device 200A may be compared with newly received infrared signal data, such that if the new data falls too far outside the previously received data, infrared receiver sensor construction device 200A may ignore the newly received data (e.g., for several cycles), which may weed out any outliers. However, if that value persists, infrared receiver sensor construction device 200A may be configured to utilize that new value.
  • specialized headers, checksums, and/or two way transceivers may be utilized by infrared receiver sensor construction device 200A and/or infrared transmitter action construction device 500A to increase reliability.
  • such techniques may not be used in order to meet other desired system requirements.
  • system 1 may be configured to enable a window for transmitting no more than 5 to 8 bytes of data. Due to noise in the system and reflections of the transmitted data, typically one or more of those bytes of data may not be communicated cleanly. Therefore, the algorithm described above may be employed to determine which of those limited number of bytes are to be used and which are to be ignored. Moreover, to accommodate the trip wire scenario, system 1 must be configured such that it does not over process or over average the data.
  • system 1 e.g., an infrared transmitter action construction device 500 A and/or an infrared receiver sensor construction device 200 A
  • system 1 may be uniquely configured to handle all three in a competent manner.
  • action construction device 500B of system 1 Another particular example of an action construction device that may be used as action construction device 500 of system 1 is shown by action construction device 500B of system 1
  • FIGS. 1 1-1 1H which may be substantially similar to action construction device 500 of FIG. 2 in various ways.
  • action construction device 500B may include a housing 50 IB that may be similar to housing 501 , a processor component 51 OB that may be similar to processor component 510, at least one application 513B that may be similar to application 513, a memory component 520B that may be similar to memory component 520, an action functional component 570B that may be similar to sensor functional component 570, and an input I/O interface 550B that may be similar to input I/O interface 550, where input I/O interface 550B may include a device input connector 552B exposed through a housing opening 55 IB and a device input indicator 554B exposed through a housing opening 555B that may be similar to device input connector 552 and device input indicator 554, respectively.
  • action construction device 500B may also include a bus 519B, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/
  • one or more components of device 500B may be electrically coupled to or mechanically supported by a circuit board 512B, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 519B.
  • Action construction device 500B of FIGS. 1 1-1 1H may include any suitable action functional component 570B, such as a record-playback action functional component, that may receive NORMAL input data at device input connector 552B (e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG. 2) and that may then be driven or otherwise controlled by that received NORMAL input data (e.g., for playing back media to a user).
  • any suitable action functional component 570B such as a record-playback action functional component, that may receive NORMAL input data at device input connector 552B (e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG. 2) and that may then be driven or otherwise controlled by that received NORMAL input data (e.g., for playing back media to a user).
  • NORMAL input data e.g., from logic construction device 400 as at least a portion of communication 85b along data line
  • such a record-playback action construction device 500B may include a media playback output element 578B that may be at least partially exposed to an environment of device 500B through at least one playback output housing opening 579B, where opening 579B may be provided through any portion of housing 50 IB (e.g., through a top wall of housing 501 B, which may also include housing opening 555B for exposing input indicator 554B).
  • Media playback output element 578B may include any suitable component capable of playing back any suitable media to a user of device 500B, such as an audio speaker for playing back audio media and/or a video display for playing back video media that may be stored on device 500B (e.g., memory 520B). Moreover, as shown in FIGS.
  • such a record-playback action construction device 500B may include a media record input element 576B that may be at least partially exposed to an environment of device 500B through at least one record input housing opening 577B, where opening 577B may be provided through any portion of housing 501B (e.g., through a top wall of housing 501B, which may also include housing opening 555B for exposing input indicator 554B and/or housing opening 559B for exposing playback output element 578B).
  • Media record input element 576B may include any suitable component capable of recording any suitable media (e.g., from a user of device 500B), such as an audio microphone for recording audio media and/or a still/video camera for recording still/video media that may be stored on device 500B (e.g., memory 520B). Any media recorded by media record input element 576B may be stored by device 500B and played back to a user of device 500B via media playback output element 578B, where such playback may be controlled by NORMAL input data received by input connector 552B.
  • any suitable component capable of recording any suitable media (e.g., from a user of device 500B), such as an audio microphone for recording audio media and/or a still/video camera for recording still/video media that may be stored on device 500B (e.g., memory 520B). Any media recorded by media record input element 576B may be stored by device 500B and played back to a user of device 500B via media playback output element 578B, where such playback may be controlled by NORM
  • such a record-playback action construction device 500B may include a user interface element 574B that may be at least partially exposed to an environment of device 500B through at least one user interface housing opening 575B, where opening 575B may be provided through any portion of housing 501B (e.g., through a top wall of housing 501B, which may also include housing opening 555B for exposing input indicator 554B and/or housing opening 559B for exposing playback output element 578B and/or housing opening 577B for exposing record input element 576B).
  • User interface element 574B may be any suitable component that a user of device 500B may interact with for enabling media record input element 576B to record particular media from the user.
  • record-playback action functional component 570B may be configured such that, when a user holds down a button user interface element 574B, media record input element 576B may begin recording media (e.g., audio or video data provided to input element 576B, such as from the user). Such recording may persist for as long as the user holds down the button, or for a particular length of time (e.g., 8 seconds, which may limit the amount of memory 520B that may be required to store any media being recorded by media record input element 576B).
  • media e.g., audio or video data provided to input element 576B, such as from the user.
  • Such recording may persist for as long as the user holds down the button, or for a particular length of time (e.g., 8 seconds, which may limit the amount of memory 520B that may be required to store any media being recorded by media record
  • record-playback action functional component 570B may be configured to convey to the user that such recording has been initiated and/or terminated. For example, when a user presses user interface element 574B and media recording is about to begin, user interface information (e.g., an audible beep or a blinking light) may be conveyed via playback output element 578B and/or input indicator 554B. Similarly, when the recording process is complete, user interface information (e.g., multiple audible beeps or multiple blinks of light) may be conveyed via playback output element 578B and/or input indicator 554B.
  • user interface information e.g., multiple audible beeps or multiple blinks of light
  • record-playback action construction device 500B with record-playback action functional component 570B of FIGS. 1 1-1 1H may be configured to detect a particular value of NORMAL input data received by device input connector 552B (e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG. 2) and then to convert such a detected value into a particular control signal for operating a function of record -playback action functional component 570B (e.g., for controlling when and in what manner media recorded to record-playback action functional component 570B may be played back by record-playback action functional component 570B through housing opening 579B).
  • NORMAL input data received by device input connector 552B (e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG. 2) and then to convert such a detected value into a particular control signal for operating a function of record -playback action functional component 570B (e.g.
  • the intensity (e.g., audio volume and/or video brightness) of such media that may be played back by record-playback action functional component 570B may vary proportionately with the particular value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular
  • NORMAL_Data_l_Byte packet format 750 at input connector 552B, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from input indicator 554B to a user of device 500B may vary proportionately with the intensity of such played back media by record-playback action functional component 570B and/or proportionately with the particular value of NORMAL data received by input connector 552B.
  • any other playback characteristic, such as playback speed may be varied based on the particular value of received NORMAL input data.
  • the speed (e.g., rate or frequency) at which the media is played back by record-playback action functional component 570B may vary proportionately with the particular value of such received NORMAL input data
  • record-playback action functional component 570B may include two input connectors 552B (not shown), where the value of NORMAL input data received at a first of the two input connectors 552B may dictate the intensity (e.g., volume) at which the media is played back while the value of NORMAL input data received at a second of the two input connectors 552B may dictate the speed at which the media is played back.
  • processor 510B may be configured to use an appropriate default value (e.g., representative of a middle integer 127) for a particular input connector 552B if that particular input connector 552B were not receiving any NORMAL input data, such that the media playback might still be useful to a user.
  • Any construction device 100 may be configured to utilize any suitable default value for a particular device connector if that device connector is not actively communicating data needed by that device 100.
  • record-playback action construction device 500B may be configured to utilize a default integer value of 127 (e.g., a middle value for NORMAL_Data_l_Byte packet format 750), a motor action construction device 500 (e.g., motor action construction device 500D may be configured to utilize a default integer value of 0 (e.g., a minimum value for
  • NORMAL_Data_l_Byte packet format 750 for a particular device connector if no data is actively communicated at that device connector.
  • a record -playback action construction device 500B may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1.
  • record-playback action construction device 500B may be configured or otherwise calibrated to not playback any media out from housing 50 IB via record-playback action functional component 570B when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by input connector 552B.
  • record-playback action construction device 500B may be configured or otherwise calibrated to playback media out from housing 50 IB via record-playback action functional component 570B with the greatest possible intensity (e.g., volume and/or brightness) when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by input connector 552B. This may enable the intensity of the played back media to be proportionate to the value of NORMAL input data received by input connector 552B.
  • intensity e.g., volume and/or brightness
  • record-playback action construction device 500B may be configured or otherwise calibrated to repeat the playback of the available media (e.g., the sample of media recorded via record input element 576B to memory 520B) out from housing 50 IB via record-playback action functional component 570B (e.g., in a continuous loop) as long as the particular value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is received by input connector 552B never drops below a value representative of an integer 1 (e.g., any value other than the minimum value).
  • Record-playback action construction may be configured or otherwise calibrated to repeat the playback of the available media (e.g., the sample of media recorded via record input element 576B to memory 520B) out from housing 50 IB via record-playback action functional component 570B (e.g., in a continuous loop) as long as the particular value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is received by input
  • device 500B may be configured to have no more than a 50 millisecond activation latency
  • device 500B may be able to playback available media with an appropriate intensity within 50 milliseconds of a particular value of NORMAL input data being received by input
  • a record-playback action construction device 500B including a record-playback action functional component 570B may be utilized in system 1 to allow a visible light sensor construction device (e.g., a visible light sensor construction device 200A) to detect a varying amount of visible light (e.g., based on a user turning on and off the lights in a room) for generating and transmitting particular NORMAL data that may be received by record-playback action construction device 500B for accordingly varying the intensity with which media may be played back by record-playback action functional component 570B.
  • a visible light sensor construction device e.g., a visible light sensor construction device 200A
  • a varying amount of visible light e.g., based on a user turning on and off the lights in a room
  • action construction device 500C of system 1 Another particular example of an action construction device that may be used as action construction device 500 of system 1 is shown by action construction device 500C of system 1
  • FIGS. 12-12H which may be substantially similar to action construction device 500 of FIG. 2 in various ways.
  • action construction device 500C may include a housing 501 C that may be similar to housing 501 , a processor component 5 IOC that may be similar to processor component 510, at least one application 513C that may be similar to application 513, a memory component 520C that may be similar to memory component 520, an action functional component 570C that may be similar to sensor functional component 570, and an input I/O interface 550C that may be similar to input I/O interface 550, where input I/O interface 550C may include a device input connector 552C exposed through a housing opening 551 C and a device input indicator 554C exposed through a housing opening 555C that may be similar to device input connector 552 and device input indicator 554, respectively.
  • action construction device 500C may also include a bus 519C, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless
  • one or more components of device 500C may be electrically coupled to or mechanically supported by a circuit board 512C, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 519C.
  • Action construction device 500C of FIGS. 12-12H may include any suitable action functional component 570C, such as a housing separating action functional component and/or a housing vibrating action functional component, that may receive NORMAL input data at device input connector 552C (e.g., from logic construction device 400 as at least a portion of
  • housing 501C of action construction device 500C may include at least a top housing portion 501CT and a middle housing portion 501 CM that may be coupled to one another by one or more retention mechanisms (e.g., one or more retention mechanisms 503M that may extend from middle housing portion 501 CM into top housing portion 501CT and/or one or more retention mechanisms 573M that may form a portion of functional component 570B and extend through middle housing portion 501 CM into top housing portion 501CT).
  • retention mechanisms e.g., one or more retention mechanisms 503M that may extend from middle housing portion 501 CM into top housing portion 501CT and/or one or more retention mechanisms 573M that may form a portion of functional component 570B and extend through middle housing portion 501 CM into top housing portion 501CT.
  • housing 501 C may also include a bottom housing portion 501 CB, where circuit board 512C and/or at least a portion of functional component 570C (e.g., a functional component portion 570CM) may be provided between housing portions 501CB and 501 CM, while at least another portion of functional component 570C (e.g., a functional component portion 570CT) may be provided between housing portions 501 CM and 501CT.
  • circuit board 512C and/or at least a portion of functional component 570C e.g., a functional component portion 570CM
  • a functional component portion 570CT e.g., a functional component portion 570CT
  • action functional component 570C of action construction device 500C of FIGS. 12-12H may be provided as a housing separating action functional component.
  • a housing separating action construction device 500C e.g., processor component 5 IOC, application 513C, and/or housing separating action functional
  • component 570C may be configured to detect a particular value of NORMAL input data received by device input connector 552C (e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG. 2) and then to convert such a detected value into a particular control signal for operating a function of housing separating action functional component 570C (e.g., for controlling when and/or how housing separating action functional component 570C may separate portions of housing 501C).
  • device input connector 552C e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG. 2
  • convert such a detected value into a particular control signal for operating a function of housing separating action functional component 570C (e.g., for controlling when and/or how housing separating action functional component 570C may separate portions of housing 501C).
  • housing separating action functional component 570C may vary proportionately with the particular value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at input connector 552C. Additionally or alternatively, the catalyst for when a separation of housing portions may be enacted by housing separating action functional component 570C may be based on receiving a particular NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at input connector 552C. Additionally or alternatively, the catalyst for when a separation of housing portions may be enacted by housing separating action functional component 570C may be based on receiving a particular NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at input connector 552C. Additionally or alternatively, the catalyst for
  • a predetermined value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750).
  • a particular characteristic of user interface information e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep
  • a housing separating action construction device 500C may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1.
  • housing separating action construction device 500C may be configured or otherwise calibrated not to enact separation of portions of housing 501C via housing separating action functional component 570C when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by input connector 552C.
  • housing separating action construction device 500C may be configured or otherwise calibrated to enact separation of portions of housing 501C via housing separating action functional component 570C with the utmost possible force when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by input connector 552C. That is, the force with which housing separating functional component 570C may separate portions of housing 501 C may vary proportionately with the value of NORMAL data received by input connector 552C.
  • the force with which housing separating functional component 570C may separate portions of housing 501C may be fixed, but the catalyst for enacting such separation may be when the value of NORMAL data received by input connector 552C surpasses a particular threshold value (e.g., when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of at least an integer 127 (e.g., at least a 50% threshold value) is received by input connector 552C).
  • a particular threshold value e.g., when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of at least an integer 127 (e.g., at least a 50% threshold value) is received by input connector 552C).
  • Such separation of portions of housing 501C may include top housing portion 501 CT being pushed (e.g., by portion 570CT of housing separating functional component 570C) away from middle housing portion 501 CM (e.g., in the direction of arrow P of FIG. 12H).
  • functional component portion 570CT may be a spring that may be compressed when housing 501C is in its retained state (e.g., the condensed state of FIGS. 12A-12G) but that may be released (e.g., by another portion of functional
  • Housing separating action construction device 500C may be configured to have no more than a 100 millisecond activation latency (e.g., device 500C may be able to enact separation of housing 501C within 100 milliseconds of a particular value of NORMAL input data being received by input connector 552C).
  • a housing separating action construction device 500C including a housing separating action functional component 570C may be utilized in system 1 to allow a visible light sensor construction device (e.g., a visible light sensor construction device 200A) to generate and transmit variable NORMAL data (e.g., in response to a user turning on and off the lights in a room) that may be received by housing separating action construction device 500C for accordingly separating portions of housing 501C with housing separating action functional component 570C (e.g., when the user turns on the lights in a room, housing 501 C may explode).
  • a visible light sensor construction device e.g., a visible light sensor construction device 200A
  • variable NORMAL data e.g., in response to a user turning on and off the lights in a room
  • housing separating action construction device 500C for accordingly separating portions of housing 501C with housing separating action functional component 570C (e.g., when the user turns on the lights in a room, housing 501 C may explode).
  • action functional component 570C of action construction device 500C of FIGS. 12-12H may be provided as a housing vibrating action functional component.
  • a housing vibrating action construction device 500C e.g., processor component 5 IOC, application 513C, and/or housing vibrating action functional component 570C
  • housing vibrating action functional component 570C e.g., for controlling when and/or how housing vibrating action functional component 570C may vibrate housing 501 C.
  • the amount or intensity with which such a vibration of housing 501C may be enacted by housing vibrating action functional component 570C may vary proportionately with the particular value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular
  • NORMAL_Data_l_Byte packet format 750 at input connector 552C. Additionally or alternatively, the catalyst for when a vibration of housing 501C may be enacted by housing vibrating action functional component 570C may be based on receiving a particular
  • a predetermined value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750).
  • a particular characteristic of user interface information e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep
  • a housing vibrating action construction device 500C may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1.
  • housing vibrating action construction device 500C may be configured or otherwise calibrated not to vibrate housing 501C via housing vibrating action functional component 570C when particular NORMAL data for a NORMAL_Data_l _Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by input connector 552C.
  • housing vibrating action construction device 500C may be configured or otherwise calibrated to vibrate housing 501C via housing vibrating action functional component 570C with the utmost possible force when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by input connector 552C. That is, the force with which housing vibrating functional component 570C may vibrate housing 501C (e.g., where functional component 570C may be a nimbler, vibratory motor, or any other suitable component that may shake or vibrate device 500C) may vary proportionately with the value of NORMAL data received by input connector 552C.
  • the force with which housing vibrating functional component 570C may vibrate housing 501 C may be fixed, but the catalyst for enacting such vibration may be when the value of NORMAL data received by input connector 552C surpasses a particular threshold value (e.g., when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of at least an integer 127 (e.g., at least a 50% threshold value) is received by input connector 552C).
  • a particular threshold value e.g., when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of at least an integer 127 (e.g., at least a 50% threshold value) is received by input connector 552C).
  • Housing vibrating action construction device 500C may be configured to have no more than a 100 millisecond activation latency (e.g., device 500C may be able to enact vibration of housing 501C within 100 milliseconds of a particular value of NORMAL input data being received by input connector 552C).
  • a housing vibrating action construction device 500C including a housing vibrating action functional component 570C may be utilized in system 1 to allow a visible light sensor construction device (e.g., a visible light sensor construction device 200A) to generate and transmit variable NORMAL data (e.g., in response to a user turning on and off the lights in a room) that may be received by housing vibrating action construction device 500C for accordingly vibrating housing 501 C with housing vibrating action functional component 570C (e.g., when the user turns on the lights in a room, housing 501 C may vibrate).
  • a visible light sensor construction device e.g., a visible light sensor construction device 200A
  • variable NORMAL data e.g., in response to a user turning on and off the lights in a room
  • housing vibrating action construction device 500C for accordingly vibrating housing 501 C with housing vibrating action functional component 570C (e.g., when the user turns on the lights in a room, housing 501 C may vibrate).
  • action construction device 500D of system 1 Another particular example of an action construction device that may be used as action construction device 500 of system 1 is shown by action construction device 500D of system 1
  • action construction device 500D may include a housing 501D that may be similar to housing 501 , a processor component 510D that may be similar to processor component 510, at least one application 513D that may be similar to application 513, a memory component 520D that may be similar to memory component 520, an action functional component 570D that may be similar to sensor functional component 570, a first input I/O interface 550D that may be similar to input I O interface 550, where first input I/O interface 550D may include a first device input connector 552D exposed through a first housing opening 55 ID and a first device input indicator 554D exposed through a first housing opening 555D that may be similar to device input connector 552 and device input indicator 554, respectively, and a second input I/O interface 550D' that may be similar to input I/O
  • action construction device 500D may also include a bus 519D, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of
  • one or more components of device 500D may be electrically coupled to or mechanically supported by a circuit board 512D, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 519D.
  • Action construction device 500D of FIGS. 13-13H may include any suitable action functional component 570D, such as a motor action functional component, that may receive NORMAL input data at one or both of first device input connector 552D and second device input connector 552D' (e.g., from logic construction device 400 as at least a portion of
  • NORMAL input data e.g., for driving a motor with a particular speed in a particular direction.
  • FIGS. 13D and 13H such a motor action construction device 500D
  • a motor action functional component 570D of device 500D may include a motor output element 578D that may be at least partially exposed to an environment of device 500D through at least one motor output housing opening 579D, where opening 579D may be provided through any portion of housing 501 D (e.g., through a rear wall of housing 501 D, which may be adjacent to a housing wall including openings 55 ID and 55 ID' for exposing input
  • Motor output element 578D may include any suitable component (e.g., an output shaft) capable of imparting action (e.g., direction and/or speed) of motor action functional component 570D to a user or other entity external to housing 50 ID (e.g., a mechanical toy's gear shaft). Moreover, as shown in FIGS.
  • such a motor action construction device 500D may include a first end 576D of a passageway that may be at least partially exposed to an environment of device 500D through at least a first passageway housing opening 577D, and a second end 576D' of a passageway that may be at least partially exposed to an environment of device 500D through at least a second passageway housing opening 577D', which may be provided through opposite walls of housing 50 ID, such as rear and front walls of housing 500D, respectively.
  • Such ends 576D and 576D' of a passageway through housing 50 ID may enable any foreign element (e.g., an axle of a mechanical toy car) to pass through housing 50 ID of device 500D.
  • motor action construction device 500D with motor action functional component 570D of FIGS. 13-13H may be configured to detect a particular value of NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) received by one or both of device input
  • NORMAL input data e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750
  • connectors 552D and 552D' and then to convert such a detected value or detected values into a particular control signal for operating a function of motor action functional component 570D (e.g., for controlling the speed and direction with which motor action functional
  • a motor action functional component 570D may be driven, which may be imparted to motor output element 578D through housing opening 579D).
  • a motor action functional component 570D e.g., in conjunction with processor 510D and/or application 513D
  • a motor action construction device 500D may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function
  • motor action construction device 500D may be configured or otherwise calibrated to not drive motor action functional component 570D with any speed in any direction when particular NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) or no NORMAL data is received by both first input connector 552D and second input connector 552D'.
  • motor action construction device 500D may be configured or otherwise calibrated to not drive motor action functional component 570D with any speed in any direction when the same particular value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 is received by both first input connector 552D and second input
  • motor action construction device 500D may be configured or otherwise calibrated to drive motor action functional component 570D with the greatest possible speed when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by one of input connectors 552D and 552D' while particular NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) or no NORMAL data is received by the other of input connectors 552D and 552D'. This may enable the speed with which motor action functional component 570D is driven to be proportionate to the absolute value of the difference between the NORMAL data values of NORMAL input data received by input connectors 552D and 552D' at a particular moment, where a NORMAL data value is considered to be zero when no NORMAL data value is received at an input connector.
  • motor action construction device 500D may also be configured or otherwise calibrated to simultaneously drive motor action functional component 570D in one of two possible directions based on the mathematical sign of the driven to be proportionate to the absolute value of the difference between the NORMAL data values of NORMAL input data received by input connectors 552D and 552D' at a particular moment.
  • motor action construction device 500D may be configured or otherwise calibrated to drive motor action functional component 570D in a first direction (e.g., to rotate a motor shaft coupled to motor output element 578D in a clockwise direction of arrow CWM of FIG.
  • motor action construction device 500D may be configured or otherwise calibrated to drive motor action functional component 570D in a second direction (e.g., to rotate a motor shaft coupled to motor output element 578D in a counterclockwise direction of arrow CCWM of FIG.
  • Motor action construction device 500D may be configured to have no more than a 50 millisecond update latency (e.g., device 500D may be able to drive motor functional component 570D with an appropriate speed and direction within 50 milliseconds of a particular value or set of values of NORMAL input data being received by one or both of input
  • a motor action construction device 500D including a motor action functional component 570D may be utilized in system 1 in the following way.
  • a user-variable sensor construction device may determine a user-selected value of NORMAL data that may be transmitted to and received by first input connector 552D of motor device 500D while a visible light sensor construction device (e.g., a visible light sensor construction device 200A) may detect a varying amount of visible light (e.g., based on a user turning on and off the lights in a room) that may be transmitted to and received by second input connector 552D' of motor device 500D.
  • a motor output element 578D exposed through housing 50 ID may initially be driven at a first speed in a second direction, then gradually slowed down to a halt, and then have its speed gradually increased back to the first speed as it is driven in the first direction.
  • processor component 510D and/or application 513D of motor action construction device 500D may be specially configured to take into account "stiction" by providing a bump start.
  • device 500D may be configured to utilize hysteresis not only to consider the currently received NORMAL input data but also to consider previously received NORMAL input data when generating appropriate control signals for driving motor action functional component 570D. That is, rather than driving motor action functional component 570D purely proportionately to the currently received NORMAL input data value(s), device 500D may be configured to drive motor action functional component 570D based not only on the currently received NORMAL input data value(s) but also on previously received NORMAL input data value(s).
  • Such positive time-based bias or amplitude-based bias for derivative data processing is just one of countless examples of how the processing capabilities of a processor component
  • processor 510D of a construction device may be configured to enable more sophisticated data generation than an otherwise linear functional component (e.g., functional
  • component 570D might allow.
  • cable 55 may include a wired structure 59 extending between a cable input connector housing 52 and a cable output connector housing 62.
  • Wired structure 59 may include at least one or any other suitable number of wired lines, such as at least one data line (e.g., data line 59b) and at least one power line (e.g., a ground power line 59a and a +5 volts power line 59c).
  • Cable input connector housing 52 may include a hollow portion 56 that may expose a cable input connector 51 of cable 55 within cable input connector housing 52 through an open end of hollow portion 56.
  • Cable input connector 51 may include one or more cable input connector contacts (e.g., three cable input connector contacts 51a-51c) that may be exposed within hollow portion 56 of cable input connector housing 52 for electrically coupling with one or more wired lines of wired structure 59 (e.g., with first ends of wired lines 59a-59c, respectively).
  • cable output connector housing 62 may include a hollow portion 66 that may expose a cable input
  • Cable output connector 61 may include one or more cable output connector contacts (e.g., three cable output connector contacts 61a-61c) that may be exposed within hollow portion 66 of cable output connector housing 62 for electrically coupling with one or more wired lines of wired structure 59 (e.g., with second ends of wired lines 59a-59c, respectively).
  • cable output connector contacts e.g., three cable output connector contacts 61a-61c
  • a first cable input connector contact 51 a of cable input connector 51 of cable input connector housing 52 may be electrically coupled to a first cable output connector contact 61a of cable output connector 61 of cable output connector housing 62 via a first wired line 59a of wired structure 59 of cable 55 (e.g., for communicating first power signals, such as a ground power signal or return power signal, through cable 55 between two construction devices).
  • first power signals such as a ground power signal or return power signal
  • a second cable input connector contact 51b of cable input connector 51 of cable input connector housing 52 may be electrically coupled to a second cable output connector contact 61b of cable output connector 61 of cable output connector housing 62 via a second wired line 59b of wired structure 59 of cable 55 (e.g., for communicating data signals, such as NORMAL data, through cable 55 between two construction devices).
  • a third cable input connector contact 51 c of cable input connector 51 of cable input connector housing 52 may be electrically coupled to a third cable output connector contact 61c of cable output connector 61 of cable output connector housing 62 via a third wired line 59c of wired structure 59 of cable 55 (e.g., for communicating second power signals, such as a battery power signal or +3 volts or +5 volts, through cable 55 between two construction devices).
  • the path for data along second wired line 59b between cable connector contacts 51b and 61b may be tolerant of shorting to either of the power lines of cable 55.
  • the path for power along third wired line 59c between cable connector contacts 51c and 61c may be tolerant of momentary shorting to the path of the other power line of cable 55 (e.g., to the path along first wired line 59a between cable connector contacts 51a and 61a).
  • construction device 100 and cable 55 may be keyed in one or more suitable ways.
  • device output connector 162 of device output I/O interface 160 and/or device output connector housing opening 161 of housing 101 may be keyed to hollow portion 66 or to cable output connector 61 and/or to cable output connector housing 62 of cable 55. As shown in FIGS.
  • device output connector housing opening 161 of housing 101 of construction device 100 may be at least partially defined by a mechanical key portion 163 (e.g., a mechanical key portion of housing 101 that may extend downwardly for decreasing the size of device output connector housing opening 161 , which may otherwise have a substantially rectangular cross-section).
  • a mechanical key portion 163 e.g., a mechanical key portion of housing 101 that may extend downwardly for decreasing the size of device output connector housing opening 161 , which may otherwise have a substantially rectangular cross-section.
  • cable output connector housing 62 of cable 55 may be at least partially defined by a mechanical key portion 63 (e.g., a mechanical cut-out of a leading face of cable output connector housing 62 that may extend downwardly into the top of a portion of cable 55 at output connector housing 62 for decreasing the size of the leading face of cable output connector housing 62, which may otherwise have a substantially rectangular cross-section).
  • the geometries of mechanical key portion 163 and mechanical key portion 63 may be at least partially matched such that cable output connector housing 62 of cable 55 may be configured to be inserted into device output connector housing opening 161 (e.g., in the direction of arrow O of FIGS. 1A and 1G), which may enable cable output connector contacts 61a-61 c to be electrically coupled to respective device output connector
  • device 100 may be configured to enable mechanical and electrical coupling of a first (e.g., output) end of cable 55 with device output I/O interface 160 while preventing other geometries of cable 55 (e.g., a second/input end 52 of cable 55) from being mechanically and/or electrically coupled with device output I/O interface 160.
  • interface 150 and/or device input connector housing opening 151 of housing 101 may be keyed to hollow portion 56 or to cable input connector 51 and/or to cable input connector housing 52 of cable 55.
  • device input connector housing opening 151 of housing 101 of construction device 100 may be at least partially defined by a mechanical key portion 153 (e.g., a mechanical key portion of housing 101 that may extend downwardly for increasing the size of device input connector housing opening 151 , which may otherwise have a substantially rectangular cross-section).
  • a mechanical key portion 153 e.g., a mechanical key portion of housing 101 that may extend downwardly for increasing the size of device input connector housing opening 151 , which may otherwise have a substantially rectangular cross-section.
  • cable input connector housing 52 of cable 55 may be at least partially defined by a mechanical key portion 53 (e.g., a mechanical extension of a leading face of cable input connector housing 52 that may extend downwardly to define the bottom of a portion of cable 55 at input connector housing 52 for increasing the size of the leading face of cable input connector housing 52, which may otherwise have a substantially rectangular cross-section).
  • the geometries of mechanical key portion 153 and mechanical key portion 53 may be at least partially matched such that cable input connector housing 52 of cable 55 may be configured to be inserted into device input connector housing opening 151 (e.g., in the direction of arrow I of FIGS.
  • device 100 may be configured to enable mechanical and electrical coupling of a second (e.g., input) end of cable 55 with device input I/O interface 150 while preventing other geometries of cable 55 (e.g., a first/output end 62 of cable 55) from being mechanically and/or electrically coupled with device input I/O interface 150.
  • Such keying may reinforce to a user of a system of construction devices that a specific end of a cable 55 is to be directly coupled to a specific type of device I/O interface of a construction device (e.g., either a device input I/O interface 150 or a device output I/O interface 160 of construction device 100). This may make building a system of communicatively coupled construction devices more intuitive to a user while also preventing undesirable connections between two device input I/O connectors 152 or two device output I/O
  • top housing portion l Olt of housing 101 of a device 100 may determine what type of mechanical key portion 153/163 is provided at a particular device connector (e.g., a mechanical key portion 153 at a device input connector 152 and a mechanical key portion 163 at a device output connector 162), while bottom housing portion 101b of housing 101 may be physically identical adjacent each one of a device input connector 152 and a device output connector 162, which may also be physically identical.
  • cable 55 may include two ends (e.g., an input end with cable input connector housing 52 and an output end with cable output connector housing 62), where the outer periphery of the connector housing at each end may be considered a male cable connector portion that can be inserted into or otherwise mated with a particular one of two types of female device connector portions (e.g., a device input connector housing opening 151 or a device output connector housing opening 161).
  • the outer periphery of cable input connector housing 52 which may include key portion 53, may be considered a male cable connector portion of cable 55 that may be inserted into device input connector housing opening 151 , which may be at least partially defined by key portion 153, and which may be considered a female device connector portion of device 100.
  • the outer periphery of cable output connector housing 62 which may include key portion 63, may also be considered a male cable connector portion of cable 55 that may be inserted into device output connector housing opening 161, which may be at least partially defined by key portion 163, and which may be considered a female device connector portion of device 100.
  • a physical connection between cable 55 and an input I/O interface 150 e.g., the physical connection between cable input connector housing 52 and device input connector housing opening 151
  • an output I/O interface 160 e.g., the physical connection between cable output connector housing 62 and device output connector housing opening 161).
  • cable 55 may include two ends (e.g., an input end with hollow portion 56 of cable input connector housing 52 exposing cable input connector contacts 51a-51c therein and an output end with hollow portion 66 of cable output connector housing 62 exposing cable output connector contacts 61a-61c therein), where the inner periphery of the hollow portion at each end may be considered a female cable connector portion that can have inserted therein or otherwise be mated with one of two types of male device connector (e.g., a device input connector 152 with device input connector contacts 152a- 152c thereon or a device output connector 162 with device output connector contacts 162a- 162c thereon).
  • a device input connector 152 with device input connector contacts 152a- 152c thereon e.g., a device output connector 162 with device output connector contacts 162a- 162c thereon.
  • the inner periphery of hollow portion 56 of cable input connector housing 52 which may expose one or more of cable input connector contacts 51 a-51 c thereon, may be considered a female cable connector portion of cable 55 that may have inserted therein a device input connector 152, which may include one or more of device input connector contacts 152a- 152c, and which may be considered a male device connector portion of device 100.
  • the inner periphery of hollow portion 66 of cable output connector housing 62 which may expose one or more of cable output connector contacts 61a-61c thereon, may be considered a female cable connector portion of cable 55 that may have inserted therein a device output connector 162, which may include one or more of device output connector contacts 162a- 162c, and which may be considered a male device connector portion of device 100.
  • a physical electrical connection between cable 55 and an input I/O interface 150 may be substantially the same as a physical electrical connection between cable 55 and an output I/O interface 160 (e.g., the physical electrical connection between one or more of device output connector contacts 162a- 162c and one or more of cable output connector contacts 61a-61c).
  • This may enable the manufacture of only a single type of electrical connector interface on board 1 12 for both device connector 152 and device connector 162, as device connectors 152 and 162 may be physically identical but configured differently due to the configuration of the pins of processor component 1 10 coupled to the connectors, where the physical mechanical keying of top housing portion 10 It may provide physical keying for each device connector with respect to a cable 55.
  • this may enable the manufacture of only a single type of electrical connector interface on cable 55 for both cable input connector 51 and cable input connector 61 , as cable connectors 51 and 61 may be physically identical but configured differently due to the alignment of its pins with respect to pins of device connectors 152/162 upon coupling of cable 55 to a device 100, where the physical mechanical keying of key portion 53/63 may provide physical keying for each cable connector with respect to a device 100.
  • one or both ends of cable 55 may include an icon for indicating to a user which type of device connector of construction device 100 that end ought to be coupled to.
  • an input cable icon 54 may be provided on a bottom surface of cable 55 at cable input connector housing 52.
  • Input cable icon 54 may be positioned along housing 52 between mechanical key portion 53 and the end of housing 52 that may be coupled to wired structure 59 of cable 55.
  • input cable icon 54 may be shaped like an arrow facing the same direction as the direction that cable input connector housing 52 may be inserted into device input connector housing opening 151 for coupling cable 55 to an input I/O interface 150 of device 100 (e.g., the direction of arrow I of FIGS.
  • input cable icon 54 of first cable 55 and device input indicator 354 of construction device 300 may be shaped similarly and/or may correspond in some suitable way (e.g., as two arrows aligned in the same direction) when cable input connector housing 52 of cable 55 is inserted into device input connector housing opening 351 of device 300 for coupling with device input connector 352.
  • an output cable icon 64 may be provided on a top surface of cable 55 at cable output connector housing 62. Output cable icon 64 may be positioned along housing 62 between mechanical key portion 63 and the end of housing 62 that may be coupled to wired structure 59 of cable 55. As shown in FIG.
  • output cable icon 64 may be shaped like an arrow facing the same direction as the direction that cable output connector housing 62 may be inserted into device output connector housing opening 161 for coupling cable 55 to an output I/O interface 160 of device 100 (e.g., the direction of arrow O of FIGS. 1A and 1G).
  • output cable icon 64 of first cable 55 and device output indicator 264 of construction device 200 may be shaped similarly and/or may correspond in some suitable way (e.g., as two arrows aligned in the same direction) when cable output connector housing 62 of cable 55 is inserted into device output connector housing opening 261 of device 200 for coupling with device output connector 262.
  • Such icons may reinforce to a user of a system of construction devices that a specific end of a cable 55 is to be directly coupled to a specific type of device I/O interface of a construction device (e.g., either a device input I/O interface 150 or a device output I/O interface 160 of construction device 100).
  • a specific type of device I/O interface of a construction device e.g., either a device input I/O interface 150 or a device output I/O interface 160 of construction device 100.
  • wired structure 59 may include at least one twist of 180° such that the top of cable output connector housing 62 and the bottom of cable input connector housing 52 may be facing the same direction (e.g., the same direction as the tops of the two construction devices that cable 55 may be electrically coupling together).
  • the top of cable output connector housing 62 e.g., the side of housing 62 that may include icon 64 and/or the side from which mechanical key portion 63 may extend
  • the same direction e.g., out of the drawing sheet of FIG.
  • Such a twist may be useful with a "flat" cable design (e.g., where the center axes of lines 59a-59c may extend parallel and adjacent to one another in a single plane). In other embodiments, such a twist may be unnecessary with other cable design types (e.g., concentric cables, such as where lines 59a-59c are concentric with one another like a coaxial cable).
  • a cable assembly may include two connectors directly coupled to one another (e.g., without a wired structure of any length therebetween), such that two construction devices may be communicatively coupled to one another with little to no space therebetween.
  • a cable assembly 55' may be provided that may be substantially similar to cable 55 but that may not include a wire structure 59.
  • cable assembly 55' may include a cable output connector housing 62', which may be substantially similar to at least portions of cable output connector housing 62 of cable 55, that may be directly coupled to a cable input connector housing 52', which may be substantially similar to at least portions of cable output connector housing 62 of cable 55.
  • Cable input connector housing 52' may include a hollow portion (not shown) similar to hollow portion 56 that may expose a cable input connector (not shown) similar to input connector 51 of cable 55 within cable input connector housing 52' through an open end of its hollow portion, where such a cable input connector of cable 55' may include one or more cable input connector contacts (e.g., three cable input connector contacts similar to contacts 51a-51c of cable 55) that may be exposed within the hollow portion of cable input connector housing 52' for electrically coupling with one or more contacts 6 ⁇ of cable output connector housing 62' of cable 55'.
  • cable output connector housing 62' may include a hollow portion 66' that may expose a cable input connector 6 of cable 55' within cable output connector housing 62' through an open end of hollow portion 66'.
  • Cable output connector 6 ⁇ may include one or more cable output connector contacts (e.g., three cable output connector contacts similar to contacts 61a-61c of cable 55) that may be exposed within hollow portion 66' of cable output connector housing 62' for electrically coupling with one or more contacts of cable input connector housing 52'.
  • a first cable input connector contact of cable input connector housing 52' may be electrically coupled to a first cable output connector contact of cable output connector 6 ⁇ of cable output connector housing 62' of cable 55' (e.g., for communicating first power signals, such as a ground power signal or return power signal, through cable 55' between two construction devices).
  • a second cable input connector contact of cable input connector housing 52' may be electrically coupled to a second cable output connector contact of cable output connector 6 ⁇ of cable output connector housing 62' of cable 55' (e.g., for communicating data signals, such as NORMAL data, through cable 55' between two construction devices).
  • a third cable input connector contact of cable input connector housing 52' may be electrically coupled to a third cable output connector contact of cable output connector 6 ⁇ of cable output connector housing 62' of cable 55' (e.g., for communicating second power signals, such as a battery power signal or +3 volts or +5 volts, through cable 55' between two construction devices).
  • a construction device and cable 55' may be keyed in one or more suitable ways.
  • cable output connector housing 62' of cable 55' may be at least partially defined by a mechanical key portion 63' (e.g., a mechanical cut-out of a leading face of cable output connector housing 62' that may extend downwardly into the top of a portion of cable 55' at output connector
  • cable output connector housing 62' of cable 55' may be configured to be inserted into device output connector housing opening 161 (e.g., in the direction of arrow O of FIGS. 1 A and 1G), which may enable the cable output connector contacts of cable output connector 6 of cable output connector housing 62' of cable 55' to be electrically coupled to respective device output connector contacts 162a- 162c.
  • cable input connector housing 52' of cable 55' may be at least partially defined by a mechanical key portion (not shown) similar to mechanical key portion 53 of cable 55.
  • a mechanical key portion of a construction device e.g., mechanical key portion 153 of device 100
  • the mechanical key portion of cable input connector housing 52' of cable 55' may be at least partially matched such that cable input connector housing 52' of cable 55' may be configured to be inserted into device input connector housing opening 451 B' of device 400B' of FIG. 2H, which may be similar to device 400B of FIGS. 9-9H. As shown in FIG. 2H, this may enable the cable input connector contacts of the cable input connector of cable input connector housing 52' of cable 55' to be electrically coupled to respective device input connector contacts of a device input connector of device 400B' through device input connector housing opening 45 IB' of housing 401B' of device 400B'.
  • cable 55' may be an independent component that may be capable of removable coupling into two construction devices at the same time for communicatively coupling those two construction devices like cable 55 (e.g., cable input connector housing 52' may be removably coupled into a device input connector housing opening of a first construction device and cable output connector housing 62' may be removably coupled into a device output connector housing opening of a second construction device).
  • a first end of cable 55' may be fixedly attached to a construction device such that cable 55' may be considered an integral component of that construction device.
  • at least a portion of cable input connector housing 52' of cable 55' may be fixedly coupled to device 400B' of FIG. 2H via device input connector housing opening 45 I B', such that only cable output connector housing 62' of cable 55' may be removably coupled into a device output connector housing opening of another construction device.
  • cable output connector housing 62' of cable 55' may be fixedly coupled to a construction device via a device output connector housing opening (e.g., opening 161 of device 100), such that only cable input connector housing 52' of cable 55' may be removably coupled into a device input connector housing opening of another construction device.
  • a device output connector housing opening e.g., opening 161 of device 100
  • cable 55' may enable the housings of two communicatively coupled construction devices to be substantially flush with one another, which may reduce the space required to accommodate two such coupled devices.
  • two construction devices may be communicatively coupled and/or mechanically coupled via magnetic coupling and/or wireless communication.
  • each construction device may also be configured to communicate data in an opposite direction along a cable 55 (e.g., from a device input I/O interface 150 of a first construction device to a device output I/O interface 160 of a second construction device).
  • a first construction device may be configured to receive at a device input connector NORMAL input data transmitted from a second construction device and to act upon that received NORMAL input data appropriately without needing to know the type of the second construction device that transmitted the NORMAL data, it may be desirable for that device input connector of the first construction device to
  • each construction device 100 may maintain a device descriptor or a module descriptor ("MD") 745 that may have a structure as shown in FIG. 15F.
  • MD module descriptor
  • Such a module descriptor may include any suitable data that may be maintained by a construction device and that may be accessible and utilized by another device (e.g., a controller device, such as controller device 600 of FIG. 2, 14, and 14A) to enable various types of analysis on and/or control of that construction device and the other construction devices that may be coupled thereto in a particular system.
  • module descriptor 745 of one or more construction devices 100 in a system 1 may enable various additional functionalities, such as graph scan analysis, power scan analysis, virtual control, virtual response, virtual coupling, and the like.
  • Such a module descriptor 745 may be stored in a memory component
  • a module descriptor 745 may be maintained by any particular construction device and may include one, some, or all of the following types of information: (1) the device type of that particular construction device; (2) a unique identifier ("UID") of that particular construction device; (3) a power characteristic of that particular construction device; (4) the number of device input connectors of that particular construction device; (5) the number of device output connectors of that particular construction device; (6) an identification of the device connector most closely coupled to a controller device; and (7) an array that includes the connector state of each device input connector and the connector state of each device output connector of that particular construction device.
  • a module descriptor may be continuously updated by each enabled construction device of system 1.
  • a module descriptor 745 that may be maintained by each, some, or every construction device may include the device type of that particular construction device.
  • the device type may be indicative of any suitable characteristic of that particular construction device.
  • the device type may be indicative of the particular type of function that the particular
  • construction device is capable of, which may include, but is not limited to, a visible light sensor construction device, an invisible light sensor construction device, an infrared receiver sensor construction device, a motion sensor construction device, a user-variable sensor construction device, a movement sensor construction device, a wired power construction device, a wireless power construction device, an inverter logic construction device, a splitter logic construction device, a flip-flop logic construction device, a visible light emitting action construction device, an infrared transmitter action construction device, a record-playback action construction device, a housing separating action construction device, a housing vibrating action construction device, a motor action construction device, a multi-color light emitting action construction device, and the like.
  • Such a device type may be described by a "uintl6_t type" data block, which may be 2 bytes, as shown in FIG. 15F, although any other amount and/or type of information may be suitable.
  • Such data may be determined and defined by a manufacturer of the construction device and may be stored in module descriptor 745 of the particular construction device upon its creation. Each construction device of a particular type may share the same device type information as part of its module descriptor 745.
  • a module descriptor 745 that may be maintained by each, some, or every construction device may include the unique identifier ("UID") of that particular construction device.
  • the UID may be a unique identifier specific to the particular construction device.
  • Such a UID may be described by a "uint32_t uid" data block, which may be 4 bytes, as shown in FIG. 15F, although any other amount and/or type of information may be suitable.
  • a UID 740 of a module descriptor 745 may include 4 bytes of data, which may be determined and defined by a manufacturer of the construction device and may be stored in module descriptor 745 of the particular construction device upon its creation.
  • Each construction device may have its own unique UID.
  • each one of those two devices will have its own unique UID value stored as part of its module descriptor 745. As described below, this may enable a system to differentiate between two construction devices of the same type in the same system.
  • a module descriptor 745 that may be maintained by each, some, or every construction device may include information indicative of a power characteristic of that particular
  • This power information may be descriptive of any suitable power characteristic of the particular construction device.
  • power information may be the maximum amount of power that may be drawn by the device at any particular time (e.g., consumption in milliAmperes), where such information may be predetermined by the manufacturer of the device and may be stored therein upon its creation.
  • power information may be the instantaneous power draw of that device at a specific time (e.g., the amount of power that is currently being drawn by that device), where such information may be continuously updated throughout the use of that device.
  • Such power information may be described by a "uintl6_t power" data block, which may be 2 bytes, as shown in FIG. 15F, although any other amount and/or type of information may be suitable. As described below, this power information may enable accurate power scans for protecting a system against under power situations and/or against overload of a particular connection
  • a module descriptor 745 that may be maintained by each, some, or every construction device may include information indicative of the number of each type of device connector provided by that particular construction device.
  • device connector information may include a count of the number of device input connectors (e.g., device input connectors 152) that may be provided by the particular construction device.
  • Such input connector count information may be described by a "uint8_t inputCount" data block, which may be 1 byte, as shown in FIG. 15F, although any other amount and/or type of information may be suitable.
  • Such data may be fixed and stored in memory of the device at time of manufacture.
  • such device connector information may include a count of the number of device output connectors (e.g., device output connectors 162) that may be provided by the particular construction device.
  • Such output connector count information may be described by a "uint8_t outputCount" data block, which may be 1 byte, as shown in FIG. 15F, although any other amount and/or type of information may be suitable.
  • Such data may be fixed and stored in memory of the device at time of manufacture.
  • such device connector information may include an identification of the particular device I/O connector that may be most closely coupled to a controller device (e.g., controller device 600) in a system that includes the particular device.
  • certain construction devices in a system may be configured to receive certain data packets (e.g., non-NORMAL data packets) from particular types of devices (e.g., controller devices), and it may be beneficial for each construction device to keep track of which of its I/O connectors is most closely coupled to such a controller device (e.g., which device I/O connector receives certain packets from a controller device).
  • Such an identified device I/O connector may be referred to as a "root” connector or "root” port of a construction device.
  • Such an identification of such a root connector of a particular construction device may be described by a "uint8_t rootPort" data block, which may be 1 byte, as shown in FIG. 15F, although any other amount and/or type of information may be suitable. This identification may identify different device connectors at different times and, therefore, may be continuously updated by the particular construction device throughout its use in response to receiving particular data from a particular controller device at a particular device connector.
  • a module descriptor 745 that may be maintained by each, some, or every construction device may include information indicative of the current state of each device I/O connector of that particular construction device.
  • Such device connector state information may be described by an array "ModulePort_t port[]" data block, which may be a pay load data size of any suitable number of bytes, as shown in FIGS. 15F and 15H.
  • such device connector state information may include one, some, or all of the following types of information for each device I/O connector (e.g., each device input connector 152 and each device output connector 162) of the particular construction device: (1) the pin(s) of the controller (e.g., processor 1 10) of the particular construction device 100 coupled to the particular device I/O connector 152/162; (2) the pin(s) of the controller (e.g., processor 1 10) of the particular construction device 100 coupled to the device I/O indicator 154/164 associated with the particular I/O connector 152/162 (e.g., of the same I/O interface 150/160); (3) the particular value of the last NORMAL data packet communicated (e.g., transmitted or received) by the particular I/O connector 152/162; and (4) the UID of the construction device coupled to the particular device I/O connector 152/162, which may be provided as a value zero if there is no construction device coupled to the particular device I/O connector 152/162.
  • the controller e.g.,
  • the particular pin(s) of the processor component 1 10 of the construction device coupled to a particular device I/O connector may be described by a "uintl6_t connectorPin" data block, which may be 2 bytes, as shown in FIG. 15F, although any other amount and/or type of information may be suitable, where such data may be determined and defined by a manufacturer of the construction device and may be stored in module descriptor 745 of the particular construction device upon its creation.
  • the particular pin(s) of the processor component 1 10 of the construction device coupled to the I/O indicator 154/164 associated with the particular device I/O connector 152/162 may be described by a "uintl6_t interfacePin" data block, which may be 2 bytes, as shown in FIG. 15F, although any other amount and/or type of information may be suitable, where such data may be determined and defined by a manufacturer of the construction device and may be stored in module descriptor 745 of the particular construction device upon its creation.
  • the particular value of the last NORMAL data packet communicated (e.g., transmitted or received) by the particular device I/O connector 152/162 may be described by a "uintl6_t state" data block, which may be 2 bytes, as shown in FIG. 15F (e.g., as described with respect to "NORMAL_16_Bit” data packet types), although any other amount and/or type of information may be suitable, such as 1 byte (e.g., as described with respect to "NORMAL_8_Bit" data packet types).
  • Such a value of the last communicated NORMAL data may be continuously updated by the particular construction device throughout its use in response to receiving/transmitting particular data at a given moment in time. In some embodiments, such a value of the last communicated NORMAL data at a particular device I/O connector 152/162 may be cleared when a connection to another device 100 is terminated at that particular device I/O
  • certain devices 100 may be configured to retain more than one previous value of previously communicated data at a particular port (e.g., a visible light sensor construction device 200A, a flip-flop logic construction device 400B, and/or a motor action construction device 500D may be configured to utilize hysteresis by analyzing multiple previous NORMAL data values, as described above).
  • a particular value of the UID 740 of the construction device coupled to the particular device I/O connector 152/162 may be described by a "uint32_t uid" data block, which may be 4 bytes, as shown in FIG. 15F
  • Such a value of the UID of the construction device currently coupled to the particular construction device may vary throughout its use in response to detecting different construction devices being coupled thereto at different times.
  • the value of this UID data field of such device connector state information of module descriptor 745 may be set to zero.
  • various additional types of information may be stored in a module descriptor 745 of a particular construction device 100, such as its current firmware version, identification of its factory of manufacture, its date of manufacture, vendor and/or date codes for various ones of its internal components, and the like.
  • additional data may be maintained and stored in one or more servers of an entity (e.g., server 10 of FIG. 2), such as a manufacturer of devices 100, where such data may be accessed through using the UID of a particular device as a look-up reference for that additional data (e.g., through use of controller device 600).
  • each, some, or every construction device may be configured to receive certain data at each one of its device connectors (e.g., at each one of its device input connectors 152 and at each one of its device output connectors 162) that may be indicative or otherwise descriptive of another device coupled thereto. Therefore, each device output connector 162 of a particular construction device may be configured to receive data from the input connector of another device coupled thereto (e.g., via a cable 55) for updating the module descriptor 745 (e.g., at least the connector state array) of that particular construction device.
  • each device output connector 162 of a particular construction device may be configured to receive data from the input connector of another device coupled thereto (e.g., via a cable 55) for updating the module descriptor 745 (e.g., at least the connector state array) of that particular construction device.
  • each device input connector 152 of a particular construction device may be configured to transmit data to the output connector of another device coupled thereto (e.g., via a cable 55) for updating the module descriptor 745 (e.g., at least the connector state array) of that other construction device.
  • module descriptor 745 e.g., at least the connector state array
  • each device I/O connector of each, some, or every construction device 100 may be configured to communicate (e.g., transmit or receive) data according to the MANAGE packet type protocol using a
  • MANAGE_HELLO_Request packet format 760 and/or a MANAGE_HELLO_Response packet format 765.
  • a MANAGE_HELLO_Request packet format 760 may include a header (e.g., "MANAGE_HELLO_Request Header" of FIG. 15D, which may be indicative of a request for data according to this packet format).
  • a MANAGE_HELLO_Response packet format 765 may include a header (e.g., "MANAGE_HELLO_Response Header" of FIG. 15E, which may be indicative of a response according to this packet format) and any suitable number of bytes of response data (e.g., a 4 byte UID 740 of FIG. 15E, which may uniquely describe the construction device generating this response).
  • Each, some, or every construction device 100 may be configured to generate and transmit such a MANAGE_HELLO_Request from any suitable device I/O connector (e.g., from any suitable device input connector 152 and/or from any suitable device output connector 162) in an attempt to receive such a MANAGE_HELLO_Response.
  • each, some, or every construction device 100 may be configured to receive such a MANAGE_HELLO_Request at any suitable device I/O connector (e.g., at any suitable device input connector 152 and/or at any suitable device output connector 162) and, in response to the receipt of such a
  • MANAGE_HELLO_Request may generate and transmit a MANAGE_HELLO_Response from the same device I/O connector that received the MANAGE_HELLO_Request (e.g., from the device input connector 152 and/or from the device output connector 162 that received the MANAGE_HELLO_Request), where such a MANAGE_HELLO_Response includes the UID 740 of that responding construction device 100.
  • Each, some, or every construction device 100 may be configured to receive such a MANAGE_HELLO_Response at any suitable device I/O connector (e.g., at any suitable device input connector 152 and/or at any suitable device output connector 162) and, in response to the receipt of such a
  • MANAGE_HELLO_Response may populate or update module descriptor 745 of that receiving construction device 100 (e.g., the UID data portion of the current state data for the device I/O connector of the receiving construction device 100 that received such a
  • a construction device 100 may be configured to generate and transmit such a
  • MANAGE_HELLO_Request from any suitable device I/O connector (e.g., from any suitable device input connector 152 and/or from any suitable device output connector 162) in an attempt to receive such a MANAGE_HELLO_Response at any suitable moment.
  • a construction device 100 may be configured to generate and transmit such a MANAGE_HELLO_Request from each one of its device I/O connectors in response to that device 100 being enabled (e.g., due to a power-up event), in response to that device 100 receiving new data (e.g., new NORMAL data) at one of its device I/O connectors, in response to that device 100 receiving a MANAGE_HELLO_Request at one of its device I/O connectors, and/or in response to any other suitable event.
  • a construction device 100 may be configured to transmit a MANAGE_HELLO_Request from one or more device I/O connectors in response to one or more various potential impetuses.
  • each one of its device connector states may be "zeroed" with associated flags indicating that each port is disconnected and all UIDs for each device connector may be cleared.
  • another activated device 100 is coupled to one of an input device connector or output device connector.
  • Each device output connector 162 of a particular device 100 may be configured to see a pulse from a connected device input connector of another device, which may cause the flag for that device output connector 162 to be updated as "connected” and device 100 may start streaming out packets from that device output connector 162.
  • Each device input connector 152 of a particular device 100 may be configured to receive a data packet from a connected device output connector of another device, which may cause the flag for that device input connector 152 to be updated as "connected”.
  • device 100 may be configured to check the connection flag state for all of its device I/O connectors in order to find all connectors with a "connected" flag but with no UID associated with that connector (e.g., that device 100 may realize "I know that I am connected to another device but I don't know what device I am connected to”). That device 100 may then be configured to send a
  • the device 100 may receive a MANAGE_HELLO_Response on that device connector that may contain the UID of the connected device, and such a UID may then be stored in the UID field associated with that device connector.
  • each construction device 100 may be accessible and utilized by a controller device (e.g., such as controller device 600 of FIG. 2, 14, and 14 A) to enable various types of analysis on and/or control of each construction device 100 in a particular system of construction devices that may be coupled to the controller device.
  • a controller device e.g., such as controller device 600 of FIG. 2, 14, and 14 A
  • each communicatively coupled system of construction devices such as system 1 of FIG. 2
  • Controller device 600 may be configured to communicate with any suitable communications component of any suitable construction device of system 1. For example, as shown in FIG. 2, controller device 600 may be configured to communicate control communication 685 with communications component 340 of power construction device 300 via a communications set-up 655, where communications set-up 655 may be any suitable wired or wireless
  • controller device 600 may be configured to access the module descriptor 745 of a "base" construction device (e.g., the construction device that controller device 600 is directly coupled to, such as power construction device 300 of system 1).
  • controller device 600 may directly access module descriptor 745 from memory component 320 of power construction device 300 via communication set-up 655, and then via communication component 330 and a bus of device 300.
  • controller device 600 may be configured to identify the UID 740 of each construction device directly coupled to that base construction device via the accessed module descriptor 745 of such a base construction device.
  • controller device 600 may transmit a request to each one of those identified construction devices (e.g., each construction device that is directly coupled to base construction device 300), where such a request may ask for the module descriptor 745 of that identified construction device.
  • controller device 600 may be configured to identify the UID 740 of each one of construction devices 200 and 400 that may be directly coupled to base construction device 300 of system 1.
  • controller device 600 may be configured to issue a particular request (e.g., via base construction device 300) to each one of those identified construction devices 200 and 400 for its module descriptor 745.
  • each device I/O connector of each, some, or every construction device 100 and controller device 600 may be configured to communicate (e.g., transmit or receive) data according to the MANAGE packet type protocol using a MANAGE_DESCRIPTOR_Request packet format 770 and/or a MANAGE DESCRIPTOR Response packet format 775.
  • a MANAGE DESCRIPTOR Request packet format 770 may include a header
  • MANAGE_DESCRIPTOR_Request Header of FIG. 15G, which may be indicative of a request for data according to this packet format
  • any suitable number of bytes of data that may identify the construction device of system 1 that is the target of this request e.g., a 4 byte UID 740 of FIG. 15G, which may uniquely describe the construction device that is the intended recipient of the request.
  • MANAGE DESCRIPTOR Response packet format 775 may include a header (e.g., "MANAGE_DESCRIPTOR_Response Header" of FIG.
  • any suitable number of bytes of response data e.g., a 4 byte UID 740 of FIG. 15H, which may uniquely describe the construction device generating this response, and any suitable number of bytes of data that may communicate the module descriptor data 745 of that responding construction device, which may be a payload data size of any suitable number of bytes, as shown in FIG. 15H).
  • Any construction device that may receive such a MANAGE_DESCRIPTOR_Request may be configured to forward it on to the target construction device of that request (e.g., based on the UID 740 contained therein) assuming it isn't the target construction device itself (e.g., by forwarding the request out from each of its device I/O connectors).
  • any construction device that may receive such a MANAGE_DESCRIPTOR_Response may be configured to forward it on to the controller device 600 of system 1.
  • only a controller device 600 may be configured to generate and transmit a MANAGE DESCRIPTOR Request, such that any construction device 100 that may receive such a MANAGE_DESCRIPTOR_Request may be configured to make a note of which device I/O connector received such a
  • MANAGE_DESCRIPTOR_Request (e.g., using the "uint8_t rootPort” data block of its module descriptor 745, as described above with respect to FIG. 15F).
  • that construction device 100 may be configured to determine which of its device I/O connectors is most closely coupled to a connector device 600 (e.g., based on the "uint8_t rootPort” data block of its module descriptor 745) and may forward that MANAGE_DESCRIPTOR_Response on via that determined device connector (e.g., determined "root port”).
  • controller device 600 may be configured to issue a MANAGE_DESCRIPTOR_Request (e.g., via base construction device 300) to each one of the construction devices identified in the module descriptor of base construction device 300 (e.g., construction devices 200 and 400) for requesting the module descriptor 745 of each identified device (e.g., to device 200 via device input connector 352 of base device 300 and to device 400 via device output connector 362 of device 300). Then, controller device 600 may be configured to receive (e.g., via base device 300) a
  • MANAGE_DESCRIPTOR_Response containing the module descriptor 745 from each of those targeted identified devices (e.g., from device 200 via device input connector 352 of base device 300 and from device 400 via device output connector 362 of device 300).
  • the module descriptor 745 received from device 200 may be analyzed by controller 600 to determine that there are no other construction devices coupled to device 200 in system 1 other than base device 300 (e.g., due to no other UID 740 being included in the module descriptor 745 received from device 200 other than UID 740 for base device 300).
  • the module descriptor 745 received from device 400 may be analyzed by controller 600 to determine that there are two other construction devices in system 1 coupled to device 400 other than base device 300 (e.g., due to the UIDs 740 for each one of devices 500 and 500' being included in the module descriptor 745 received from device 400).
  • controller 600 may be configured to issue a MANAGE_DESCRIPTOR_Request (e.g., via base construction device 300) to each one of these additionally identified construction devices (e.g., to construction devices 500 and 500' using their UIDs 740) for requesting the module descriptor 745 of each of those additionally identified devices (e.g., to device 500 via device 300 and 400 and to device 500' via devices 300 and 400).
  • a MANAGE_DESCRIPTOR_Request e.g., via base construction device 300
  • each one of these additionally identified construction devices e.g., to construction devices 500 and 500' using their UIDs 740
  • module descriptor 745 of each of those additionally identified devices e.g., to device 500 via device 300 and 400 and to device 500' via devices 300 and 400.
  • controller device 600 may be configured to receive (e.g., via base device 300) a MANAGE_DESCRIPTOR_Response containing the module descriptor 745 from each of those targeted identified devices (e.g., from device 500 via devices 400 and 300 and from device 500' via devices 400 and 300). Thus, controller device 600 may be configured to access the module descriptor 745 of each of those targeted identified devices (e.g., from device 500 via devices 400 and 300 and from device 500' via devices 400 and 300). Thus, controller device 600 may be configured to access the module descriptor 745 of each
  • controller device 600 may be configured to issue a MANAGE_DESCRIPTOR_Request (e.g., via base construction device 300) to each one of the construction devices identified in the module descriptor of base construction device 300 (e.g., construction devices 200 and 400) for requesting the module descriptor 745 of each identified device (e.g., to device 200 via device input connector 352 of base device 300 and to device 400 via device output connector 362 of device 300). Then, controller device 600 may be configured to receive (e.g., via base
  • a MANAGE DESCRIPTOR Response containing the module descriptor 745 from each of those targeted identified devices (e.g., from device 200 via device input connector 352 of base device 300 and from device 400 via device output connector 362 of device 300). While, as above, the module descriptor 745 received from device 200 may be analyzed by controller 600 to determine that there are no other construction devices coupled to device 200 in system 1 other than base device 300 (e.g., due to no other UID 740 being included in the module descriptor 745 received from device 200 other than UID 740 for base device 300).
  • the module descriptor 745 received from device 400 may be analyzed by controller 600 to determine not only the module descriptor 745 of device 400 but also the module descriptor 745 of each construction device coupled downstream from device 400 (e.g., the module descriptor 745 of device 500 and the module descriptor 745 of device 500').
  • device 400 in response to receiving a MANAGE_DESCRIPTOR_Request, may be configured to propagate such a MANAGE_DESCRIPTOR_Request along to each of the construction devices that it is coupled to at each of its device connectors that is not its "root device connector" (e.g., devices 500 and 500' that are not coupled to root device connector 452 of device 400 (e.g., the device connector at which device 400 received the MANAGE_DESCRIPTOR_Request)).
  • root device connector e.g., devices 500 and 500' that are not coupled to root device connector 452 of device 400 (e.g., the device connector at which device 400 received the MANAGE_DESCRIPTOR_Request)
  • MANAGE_DESCRIPTOR_Responses from each one of devices 500 and 500' (e.g., at device connectors 462 and 462', respectively), and then device 400 may wrap or otherwise bundle those MANAGE_DESCRIPTOR_Responses from devices 500 and 500' (e.g., that may include the module descriptors 745 of devices 500 and 500') into the MANAGE_DESCRIPTOR_Response generated and transmitted by device 400 back to controller device 600 (e.g., via device 300). Therefore, the MANAGE_DESCRIPTOR_Response that may be received by controller device 600 from device 400 (e.g., via device 300) may include not only the module
  • controller device 600 may be configured to access the module descriptor 745 of each construction device of system 1 without transmitting
  • a controller device 600 may be configured to generate and transmit such a
  • MANAGE_DESCRIPTOR_Request from any suitable device I/O connector (e.g., from any suitable device input connector 152 and/or from any suitable device output connector 162) of a base construction device in an attempt to receive one or more suitable device I/O connector (e.g., from any suitable device input connector 152 and/or from any suitable device output connector 162) of a base construction device in an attempt to receive one or more suitable device I/O connector (e.g., from any suitable device input connector 152 and/or from any suitable device output connector 162) of a base construction device in an attempt to receive one or more
  • a controller device 600 may be configured to generate and transmit one or more MANAGE DESCRIPTOR Requests for accessing the module descriptors 745 of each construction device in a system 1 in response to that controller device 600 being enabled
  • new data e.g., new NORMAL data
  • MANAGE_HELLO_Request at one of its device I/O connectors, and/or in response to any other suitable event.
  • SMART packet type protocol data may be utilized by a system of construction devices when it is desirable to communicate multi-connector functionality or enhanced data functionality through a single device connector.
  • a construction device may only be configured to communicate according to this protocol when requested to do so by a "SMART" controller (e.g., controller device 600 of FIG. 2, 14, and 14A) to enable such enhanced functionality and/or control of one or more construction devices in a particular system of construction devices that may be coupled to the controller device.
  • SMART controller e.g., controller device 600 of FIG. 2, 14, and 14A
  • each communicatively coupled system of construction devices such as system 1 of FIG.
  • Controller device 600 may include a controller device, such as controller device 600, coupled thereto for directing SMART data communication amongst the interconnected construction devices (e.g., for enabling enhanced functionality, such as loading large amounts of data onto a construction device or communicating data for multiple device connectors of a construction device via a single one of the device connectors.
  • Controller device 600 may be configured to communicate with any suitable communications component of any suitable construction device of system 1.
  • controller device 600 may be configured to communicate control communication 685 with communications component 340 of power construction device 300 via a communications set-up 655, where communications set-up 655 may be any suitable wired or wireless communication configuration for enabling
  • each device I/O connector of each, some, or every construction device 100 and controller device 600 may be configured to communicate (e.g., transmit or receive) data according to the SMART packet type protocol using a SMART_READ_Request packet format 780 and/or a SMART_READ_Response packet format 785.
  • SMART_READ_Request packet format 780 e.g., a SMART_READ_Request packet format 780
  • SMART_READ_Response packet format 785 e.g., transmit or receive
  • SMART_READ_Request packet format 780 may include a header
  • SMART_READ_Request Header of FIG. 151, which may be indicative of a request for data according to this SMART packet format
  • any suitable number of bytes of data that may identify the construction device of system 1 that is the target of this request e.g., a 4 byte UID 740 of FIG. 15G, which may uniquely describe the construction device that is the intended recipient of the request.
  • SMARTJREAD Response packet format 785 may include a header (e.g., "SMART_READ_Response Header" of FIG.
  • 15 J which may be indicative of a response according to this SMART packet format
  • any suitable number of bytes of response data e.g., a 4 byte UID 740 of FIG. 15H, which may uniquely describe the construction device generating this response, and any suitable number of bytes of data that may communicate the SMART payload data from that responding construction device, which may be a payload data size of any suitable number of bytes, as shown in FIG. 151).
  • Any construction device that may receive such a SMART_READ_Request may be configured to forward it on to the target construction device of that request (e.g., based on the UID 740 contained therein) assuming it isn't the target construction device itself (e.g., by forwarding the request out from each of its device I/O connectors).
  • any construction device that may receive such a SMART_READ_Request may be configured to forward it on to the target construction device of that request (e.g., based on the UID 740 contained therein) assuming it isn't the target construction device itself (e.g., by forwarding the request out from each of its device I/O connectors).
  • any construction device that may receive such a SMART_READ_Request may be configured to forward it on to the target construction device of that request (e.g., based on the UID 740 contained therein) assuming it isn't the target construction device itself (e.g., by forwarding the request out from each of
  • SMART_READ_Response may be configured to forward it on to the controller device 600 of system 1.
  • a controller device 600 may be configured to generate and transmit a SMART_READ_Request, such that any construction device 100 that may receive such a SMARTJREAD Request may be configured to make a note of which device I/O connector received such a SMART READ Request (e.g., using the "uint8_t rootPort" data block of its module descriptor 745, as described above with respect to FIG. 15F).
  • That construction device 100 may be configured to determine which of its device I/O connectors is most closely coupled to a connector device 600 (e.g., based on the "uint8_t rootPort” data block of its module descriptor 745) and may forward that SMART_READ_Response on via that determined device connector (e.g., determined "root port”).
  • controller device 600 may be configured to issue a SMART READ Request (e.g., via base construction device 300) to any particular construction device of the system by targeting that particular construction device using its particular UID 740 in that SMART_READ_Request. Then, controller device 600 may be configured to receive (e.g., via base device 300) a SMART_READ_Response containing the particular type of SMART payload data that may be available at that targeted construction device (e.g., from device 200 via device input connector 352 of base device 300 or from device 500 via device 400 and device output connector 362 of device 300). The SMART payload data received by controller 600 from a construction device may be utilized by controller 600 in any suitable way (e.g., to pass it on to another construction device that may be equipped to receive such SMART payload data).
  • SMART READ cycle may be the request for and receipt of multi-connector data from a single connector of a construction component.
  • movement sensor construction device 200C may include a dual-axes accelerometer functional component 270C, which may be configured to generate and transmit data indicative of the motion detected by each of the two axes out through a single device output connector
  • SMART data rather than both transmit data indicative of the motion detected by a first of the two axes out through a first device output connector (e.g., through device output connector 262C) as first NORMAL data as well as transmit data indicative of the motion detected by a second of the two axes out through a second device output connector (e.g., through device output
  • both of device output connectors 262C and 262C may be configured as a "SMART" device I/O connector capable of communicating such SMART packet data.
  • SMARTJREAD cycle may be the request for and receipt of data from a logic construction component.
  • flip-flop logic construction device 400B may be configured to receive a SMART_READ_Request at any of its device I/O connectors and to respond with a SMART_READ_Response containing SMART payload data indicative of the particular device output connector that is currently activated at that flip-flop logic construction device 400B (e.g., which one of device output connectors 462B and 462B' is currently activated).
  • this information may also be gleamed from module descriptor data of flip-flop logic construction device 400B.
  • SMARTJREAD cycle may be the request for and receipt of data from an action construction component.
  • motor action construction device 500D may be configured to receive a SMART_READ_Request at any of its device input connectors and to respond with a SMART_READ_Response containing SMART payload data indicative of any suitable data (e.g., the current temperature of its motor functional component 470D, which may be determined by a thermal sensor of device 400D (not shown)). Such information may be utilized to determine whether or not to terminate the provision of power to motor device 400D (e.g., for safety considerations). Any other suitable data may be read from any suitable construction device 100 using one or more SMART READ cycles.
  • each device I/O connector of each, some, or every construction device 100 and controller device 600 may be configured to communicate (e.g., transmit or receive) data according to the SMART packet type protocol using a SMART_WRITE_Request packet format 790 and/or a SMART_WRITE_Response 795.
  • a SMART WRITE Request packet format 790 may include a header (e.g., " SM ART_WRITE_Request Header" of FIG.
  • Such a SMART_WRITE_Response packet format 795 may include a header
  • SMART_WRITE_Response Header of FIG. 15L, which may be indicative of a response according to this write SMART packet format
  • any suitable number of bytes of data that may identify the construction device of system 1 that is responding to this request (e.g., a 4 byte UID 740 of FIG. 15G, which may uniquely describe the construction device that was the target of this request and that is now responding (e.g., acknowledging receipt of the request).
  • Any construction device that may receive such a SMART_WRITE_Request may be configured to forward it on to the target construction device of that request (e.g., based on the UID 740 contained therein) assuming it isn't the target construction device itself (e.g., by forwarding the request out from each of its device I/O connectors).
  • any construction device that may receive such a SMART_WRITE_Response may be configured to forward it on to the controller device 600 of system 1.
  • only a controller device 600 may be configured to generate and transmit a SMART_WRITE_Request, such that any construction device 100 that may receive such a SMART_WRITE_Request may be configured to make a note of which device I/O connector received such a SMART_WRITE_Request (e.g., using the "uint8_t rootPort" data block of its module descriptor 745, as described above with respect to FIG. 15F).
  • That construction device 100 may be configured to determine which of its device I/O connectors is most closely coupled to a connector device 600 (e.g., based on the "uint8_t rootPort" data block of its module
  • descriptor 745 may forward that SMART_WRITE_Response on via that determined device connector (e.g., determined "root port”).
  • controller device 600 may be configured to issue a SMART_WRITE_Request containing the particular type of SMART payload data (e.g., via base construction device 300) to any particular construction device of the system by targeting that particular construction device using its particular UID 740 in that SMART_WRITE_Request. Then, controller device 600 may be configured to receive (e.g., via base device 300) a SMART_WRITE_Response from that targeted construction device
  • the SMART payload data transmitted by controller 600 to a construction device in a SMART_WRITE_Request may be received and utilized by the target construction device in any suitable way (e.g., to alter a functionality of that construction device).
  • controller device 600 may include an audio file (e.g., an MP3 file) as SMART payload data of a
  • SMART_WRITE_Request to a record-playback action construction device 500B, which may receive such SMART payload data (e.g., at device input connector 552B) and store that audio file (e.g., in memory component 520B) for later playback by record-playback device 500B (e.g., rather than media recorded by record-playback device 500B directly).
  • SMART payload data e.g., at device input connector 552B
  • audio file e.g., in memory component 520B
  • controller device 600 may include instructions as SMART payload data of a
  • SMART_WRITE_Request to a flip-flop logic construction device 400B, which may receive such SMART payload data (e.g., at any device I/O connector) and utilize that SMART payload data instruction for dictating the particular device output connector to be activated and/or for dictating the particular threshold at which the currently activated device output connector is alternated and/or for changing the entire logic functionality of device 400B (e.g., from a flip-flop logic construction device 400B to a splitter logic construction device 400B). Any particular instruction may be transmitted to any suitable construction device 100 in one or more
  • SMART_WRJTE cycles for updating a configuration of that device 100 (e.g., for updating how that device 100 may function).
  • Another example of a SMART_WRITE cycle may be the transmission of
  • motor action construction device 500D may include a motor functional component 570D, which may be configured to receive motor control data indicative of the direction and speed with which it ought to be driven through a single device input connector (e.g., through any one of device input connectors 552D and 552D') as SMART data rather than both receive first data indicative of the speed at which the motor ought to be driven in a first direction through a first device input connector (e.g., through device input connector 552D) as first NORMAL data as well as receive second data indicative of the speed at which the motor ought to be driven in a second direction through a second device input connector (e.g., through device input connector 552D') as second NORMAL data.
  • a motor functional component 570D may be configured to receive motor control data indicative of the direction and speed with which it ought to be driven through a single device input connector (e.g., through any one of device input connectors 552D and 552D') as SMART data rather than both receive first data indicative of the speed at which
  • device 100 may be configured to temporarily disable all other similar device I/O connectors from communicating data until that first connector has received another instruction to terminate the SMART_WRITE.
  • device 500D e.g., processor component 510D
  • processor component 510D may be configured to temporarily disable second device input
  • device 500D may be configured to persistently utilize the received SMART data from the SMART_WRJTE_Request until a particular event occurs (e.g., until first device input connector 552D receives new SMART data or until first device input connector 552D receives data indicating the end of the SMART_WRITE).
  • controller device 600 may include instructions as SMART payload data of a SMART_WRITE_Request to a multi-color visible light emitting action construction device 500A, which may receive such SMART payload data (e.g., at any device I/O connector) and utilize that SMART payload data instruction for dictating both the particular brightness and the particular color at which functional component 570 A may emit light.
  • SMART_WRITE_Request a multi-color visible light emitting action construction device 500A
  • device 100 may be configured to temporarily disable all other similar device I/O connectors from communicating data until that first connector has received another instruction to terminate the SMART WRITE. For example, when first device input connector 552 A receives a
  • device 500A e.g., processor component 51 OA
  • device 500A may be configured to persistently utilize the received SMART data from the
  • SMART_WRITE_Request until a particular event occurs (e.g., until first device input connector 552A receives new SMART data or until first device input connector 552A receives data indicating the end of the SMART_WRITE).
  • a device I/O connector e.g., device input connector 152 or device output connector 162
  • its associated device I/O indicator may be configured to convey information indicative of the SMART communication mode.
  • communication of NORMAL data through a connector of an I/O interface may cause conveyance of information through an indicator of that I/O interface with a characteristic that may be variable proportionate to the value of the NORMAL data (e.g., the frequency or brightness of visual interface information may vary with the value of the NORMAL data)
  • communication of SMART data through a connector of an I/O interface may cause conveyance of information through an indicator of that I/O interface with a static characteristic that may be unique to the SMART mode (e.g., the color of the visual interface information may be of a different color than that used during a NORMAL mode), such that a user of a system may determine what type of data is being communicated by that construction device.
  • communication of NORMAL data through a connector of an I/O interface may cause conveyance of information through an indicator of that I/O interface with a characteristic that may be variable proportionate to the value of the NORMAL data (e.g., the brightness of continuous visual interface information may vary with the value of the NORMAL data)
  • communication of SMART data through a connector of an I/O interface may cause conveyance of information through an indicator of that I/O interface with a variable characteristic that may be unique to the SMART mode (e.g., the user interface information may pulse rapidly on and off or slowly fade in and out), such that a user of a system may determine what type of data is being communicated by that construction device.
  • the type of user interface information conveyed based on a SMART data communication may vary based on any suitable characteristic of the SMART data.
  • there may be no conveyance of user interface information through a device I/O indicator when SMART data is communicated through an associated device I/O connector e.g., when the SMART_READ or SMART_WRITE cycle is short and discrete.
  • a device I/O indicator when SMART data is communicated through an associated device I/O connector (e.g., when the SMART READ or SMART JWRITE cycle is of at least a particular duration, such as when a substantially sized media file is written to a record-playback action device 500B).
  • the appropriate I/O indicator(s) may pulse rapidly.
  • the I/O indicators associated with those multiple device connectors may be pulsed in an alternating fashion (e.g., like lights on a railroad crossing sign). Any suitable characteristics of any suitable type of user interface information may be adjusted in any suitable way or ways when conveying different types of communicated data.
  • each device 100 whose device connectors may be used to pass SMART data on to its rightful target device 100 may be configured to not convey any user interface information from its associated I/O indicators. That is, only the I/O indicators of the target device 100 of SMART data may be configured to convey information indicative of that SMART data.
  • a process 820 may include a construction device 100 being turned on or otherwise booted at "START".
  • step 821 it may be determined (e.g., via processor component 120 of device 100) whether device 100 (e.g., an oscillator of device 100) is calibrated. If not, process 820 may proceed to step 822 where the device 100 may be calibrated. If step 822 fails, process 820 may advance to step 823 and device 100 may indicate as much to a user (e.g., by blinking I/O indicators).
  • step 822 may proceed to step 824 where device 100 may be initialized (e.g., all common hardware may be initialized, a timer may be started, a flash checksum may be checked, etc.).
  • device-specific elements may be initialized (e.g., specific hardware components, such as functional components 170, analog-to-digital converters, digital-to-analog converters, timers, motor drivers, LEDs, other indicator components, etc.).
  • various interrupts may be started (e.g., timers may start running, serial communications, SPI traffic, etc.).
  • a service loop 829 may be run.
  • Service loop 829 may start at subroutine 840, which may be shown in detail in FIG. 16B, where at least one device output connector of device 100 may be serviced.
  • service output subroutine 840 may start with all device output connectors floating (e.g., a pull down resistor (e.g., a 470,000 ⁇ weak resistor) on the data line of each device output connector 162 may be floated) and then, at step 841 it may be determined (e.g., by processor 110) whether any device output connector 162 needs servicing (e.g., is a pull-up resistor (e.g., a 33,000 ⁇ strong resistor) on the data line of a device input connector 142 of a remote construction device
  • a pull down resistor e.g., a 470,000 ⁇ weak resistor
  • subroutine 840 may end.
  • subroutine 840 may advance to step 842, where such connector 162 may be selected (e.g., allow it to keep floating) and all other device output connectors 162 may be held off (e.g., written to "0" value), which may be an arbitration of all device output connectors 162 of device 100 if there are more than one.
  • a particular amount of time e.g., 180 ⁇ seconds
  • a software universal asynchronous receiver/transmitter (“software UART") of device 100
  • subroutine 840 may be initialized and then subroutine 840 may attempt to receive a start bit. If such a start bit of a communication on the data line of the selected device output connector 162 is received, subroutine 840 may proceed to subroutine 870
  • subroutine 870 is a success
  • process 820 may advance to step 846 where a certain amount of time (e.g., 550 ⁇ seconds) may be waited. Otherwise, if such subroutine 870 is a failure (e.g., the selected device output connector 162 has lost arbitration somehow, such as due to a timeout), subroutine 840 may end.
  • subroutine 840 may advance to step 847 where a packet may be sent out from device 100 from its selected device output connector 162, then the end of a pulse may be waited for at step 848, and then subroutine 840 may end.
  • service loop 829 may advance to subroutine 860, which may be shown in detail in FIG. 16C, where at least one device input connector of device 100 may be serviced.
  • service input subroutine 860 may start with all device input connectors floating (e.g., a pull up resistor (e.g., a 33,000 ⁇ strong resistor) on the data line of each device input connector 152 may be floated) and then, at step 861 it may be determined (e.g., by processor 1 10) whether it has been a certain amount of time (e.g., 10 milliseconds, (e.g., the length of a cycle of device 100)) since any device input connector 152 has last been serviced.
  • a pull up resistor e.g., a 33,000 ⁇ strong resistor
  • subroutine 860 may end. If so, subroutine 860 may proceed to step 862 and a particular device input connector 152 may be selected for servicing (e.g., allow it to keep floating) and all other device input connectors 152 may be held off (e.g., written to "0" value), which may be an arbitration of all device input connectors 152 of device 100 if there are more than one.
  • a particular amount of time e.g., 120 ⁇ seconds
  • Step 862 may include pulling the data line of the selected device input connector 152 HIGH unless the data line of the communicatively coupled device output connector of a communicatively coupled other construction device unless that device output connector has been written to zero (e.g., at step 842). If that occurs, step 863 may fail and subroutine 860 may end. If not, step 863 may be a success and subroutine 860 may proceed to step 864, where the data line of the selected device input connector 152 may be asserted high, such that the selected device input connector 152 may now "own the data bus". Then, at step 865, a software universal asynchronous
  • receiver/transmitter of device 100 (e.g., processor 1 10/application 1 13) may be initialized and then subroutine 860 may attempt to send a packet from the selected device input connector 152 at step 866. If a SMART or MANAGEMENT packet is awaiting to be sent from the device input connector 152, that packet may be sent at step 866, otherwise a NORMAL packet may be sent at step 866.
  • step 867 it may be determined whether a particular amount of time (e.g., 800 ⁇ seconds) has passed. If not, process 820 may proceed to step 893. If so, process 820 may proceed to step 868 where a certain amount of time (e.g., 450 ⁇ seconds) may be waited.
  • a particular amount of time e.g. 800 ⁇ seconds
  • a particular amount of time (e.g., 900 ⁇ seconds) may be waited at step 869 for a start bit on the data line of the selected device input connector 152. If such a start bit of a communication on the data line of the selected device input connector 152 is received, subroutine 860 may proceed to subroutine 870 (e.g., subroutine 870 of FIG. 16D). If a start bit is not received at step 891 and/or step 870 is a success, process 820 may advance to step 892 where a certain amount of time (e.g., 1000 ⁇ seconds) may be waited.
  • a certain amount of time e.g., 1000 ⁇ seconds
  • subroutine 860 may end. After step 92, subroutine 860 may advance to step 893 where the data line of the selected device input connector 152 may be asserted low and subroutine 860 may end.
  • service loop 829 may advance to step 826, where all packets may be handled.
  • any NORMAL data received at a device input connector 152 e.g., at a buffer
  • a state value of that device input connector e.g., at a device input connector
  • any MANAGEMENT or SMART data is received at a device input connector 152 or device output connector (e.g., at a buffer)
  • such data may be handled appropriately (e.g., at step 826a).
  • All appropriate port states of each device connector may be updated appropriately at step 826 and/or step 826a based on any new data received at device 100 during loop 829 (e.g., where functional components 170 or other components of device 100 may act according to the new data at each port state).
  • connection states may be maintained (e.g., device 100 may be configured to determine if new connections have been realized or previous connections have been terminated in loop 829 (e.g., in response to which a new graph scan or power scan may be initiated and/or updating of the module descriptor of device 100 may be initiated or queued).
  • step 827a may also be conducted, during which various operations of any functional component 170 of device 100 may be serviced (e.g., read sensor data, write action outputs, etc., which may be done repeatedly (e.g., every 10 milliseconds)). Then, at step 828, loop 829 may maintain one or more indicators (e.g., indicator 154/164) of device 100 may be maintained or otherwise services (e.g., based on any new data received at device 100 during loop 829). Then, service loop 829 may be repeated by returning to step 840.
  • any functional component 170 of device 100 may be serviced (e.g., read sensor data, write action outputs, etc., which may be done repeatedly (e.g., every 10 milliseconds)).
  • loop 829 may maintain one or more indicators (e.g., indicator 154/164) of device 100 may be maintained or otherwise services (e.g., based on any new data received at device 100 during loop 829). Then, service loop 829 may be repeated by returning to
  • Subroutine 870 of FIG. 16D for receiving a packet may include a step 871 where a first packet byte may be received (e.g., using an auto-tuning algorithm, such as an algorithm 880 described in FIG. 16E). Then subroutine 870 may proceed to step 872, where all other packet bytes may be received (e.g., using a fixed tuning algorithm, where one or more parameters of such a fixed tuning algorithm may be learned from an auto-tuning algorithm, such as
  • step 873 it may be determined whether a timing gap is greater than a certain amount of time (e.g., 100 ⁇ seconds). If not, subroutine 870 may return to step 872, otherwise subroutine 870 may proceed to step 874 where the end of the packet may be received.
  • step 875 it may be determined whether the received packet is a NORMAL packet. If so, subroutine 870 may proceed to step 875a, where the port state of the receiving device connector may be updated with the value of the received NORMAL data and then subroutine 870 may end. If not, subroutine 870 may proceed to step 876 and determine whether the received packet is a HELLO packet. If so, subroutine 870 may proceed to step 876a, where an appropriate HELLO response packet may be formatted and queued and then
  • subroutine 870 may end. If not, subroutine 870 may end.
  • Auto-tuning algorithm 880 described in FIG. 16E may be utilized due to the fact that processor component 1 10 of device 100 may use a cheap resistor-capacitor ("RC") oscillator for its clock which may not normally be accurate enough for use in a UART.
  • Auto-tuning of algorithm 880 may measure the speed of the packet header byte relative to its own clock, however, mismatched it may be to the transmitter, and may adjust its receive and transmit parameters accordingly.
  • data may be sent as standard asynchronous serial data with the following parameters: 57600 BAUD (bits per second one bit at a time, which may be 17.36 ⁇ seconds); 8 data bits and 2 stop bits and no parity; data may be sent least significant bit first; and idle condition may beat "1 ", where data may be positive true.
  • the first byte of every packet is the header byte (see, e.g., FIGS. 15A-15L), where every header may have an "8" or any other suitable element in its most significant nibble.
  • Auto-tuning algorithm 880 may take advantage of the fact that every header may have a particular element in its most significant nibble. For example, as shown in FIG.
  • a NORMAL_Data_2_Bytes Header may be appear as shown when transmitted.
  • the auto-tuning algorithm may measure the 138.89 ⁇ seconds between the falling edge of the start bit and the rising edge of the most significant bit ("MSB") of " 1 ".
  • the auto-tuning algorithm may be configured to use that information (e.g., because this is a header byte), as there may be guaranteed to be at least 52.08 ⁇ of "0" before the MSB (e.g., as all header bytes may start with an 8). Such a gap of zeros may allow the clock of each device 100 to be initially out of synch.
  • Region 16 may show how a construction device 100 may control the flow of data amongst various device connectors (e.g., device input connector 0, device input connector 1, device output connector 0, etc.) using process 820.
  • Region 802 shows a particular amount of time (e.g., 120 ⁇ seconds) that may be used at step 862 to arbitrate the selected device input connector 152.
  • Region 804 shows where a selected device input connector 152 may be active to transmit data (e.g., from time 100 ⁇ seconds to 200 ⁇ seconds of a 1 millisecond active state of an input device connector 152 within a 10 millisecond cycle of device 100), where the input may be general purpose output HIGH and where the communicatively coupled device output connector is general purpose input and listening for data (e.g., at step 866).
  • Region 806 shows where the selected device input connector 152 may be active to receive data (e.g., from time 500 ⁇ 8 ⁇ 8 to 900 ⁇ seconds of a 1 millisecond active state of an input device
  • Region 808 shows where the selected device input connector 152 may be disabled (e.g., from time 1000 ⁇ seconds to
  • two communicatively coupled construction devices may communicate effectively without a time synch signal shared between the two devices, such that two
  • communicatively coupled construction devices may be asynchronous. Such asynchronous communicatively coupled construction devices may communicate bi-directionally over a single data signal line with each device provided with a cheap, low-power software UARTs
  • each construction device e.g., bit banging using software rather than dedicated hardware
  • the software UART of each construction device may be configured to handle (e.g., arbitrate between) multiple device connectors (e.g., ports) of device 100 one at a time in asynchronous communication with other construction devices. Only one device connector of a construction device 100 may be able to communicate at any given time because of the limited capability of processor component 1 10 in certain embodiments.
  • each communicatively coupled system of construction devices may include a controller device, such as controller device 600, coupled thereto for accessing and utilizing the module descriptors 745 of the interconnected construction devices (e.g., for enabling various additional functionalities, such as graph scan analysis, power scan analysis, virtual control, virtual response, virtual coupling, and the like).
  • Controller device 600 may be any suitable device that may be configured to process large amounts of data for providing additional functionalities to system 1 that construction devices 100 may not be able to handle.
  • Each construction device 100 may have a primary active component (e.g., functional component 170) that may define the primary function of that device, where each functional component may be the determining factor of the cost to make that device (e.g., the functional component, such as a visible light sensor 270A of device 200A, may make up more than half the cost of producing the construction device), where the processor, memory, and any other component of the construction device (e.g., processor component 110, memory component 120, I/O interfaces, etc.) may be rudimentary and together may not make up more than half the cost of manufacturing the device.
  • controller device 600 e.g., an iPhoneTM where any component of device 600 does not account for more than half of the cost of the device.
  • FIG. 14 is a schematic view of an illustrative controller device 600 that may be communicatively coupled to at least one construction device of a system of interconnected communication devices (e.g., to base construction device 300 of system 1 of FIG. 2) for providing additional functionality to the system in accordance with some embodiments.
  • a system of interconnected communication devices e.g., to base construction device 300 of system 1 of FIG. 2
  • Controller device 600 can be any suitable type of electronic device, including, but not limited to, a media player (e.g., an iPodTM available by Apple Inc. of Cupertino, California), a movie or video camera or recorder, a musical instrument, a calculator, a cellular telephone (e.g., an iPhoneTM available by Apple Inc.), other wireless communication device, personal digital assistant, remote control, pager, computer (e.g., a desktop, laptop, tablet (e.g., an iPadTM available by Apple Inc.), server, etc.), television, or any combination thereof.
  • a media player e.g., an iPodTM available by Apple Inc. of Cupertino, California
  • a movie or video camera or recorder e.g., an iPhoneTM available by Apple Inc.
  • a cellular telephone e.g., an iPhoneTM available by Apple Inc.
  • other wireless communication device e.g., iPhoneTM available by Apple Inc.
  • personal digital assistant e.g., a desktop, laptop, tablet (e
  • controller device 600 may be configured to perform a single function (e.g., to communicate with a system of construction devices 100 for adding functionality thereto) and, in other embodiments, controller device 600 may perform multiple functions (e.g., a device that adds functionality to a system of construction devices 100, plays music, and receives and transmits telephone calls). Controller device 600 may be any portable, mobile, hand-held, or miniature electronic device that may be configured to add functionality to a system of construction devices 100 wherever a user travels. Alternatively, construction device 600 may not be portable at all, but may instead be generally stationary.
  • controller device 600 may include a processor component 610, a memory component 620, a power supply component 630, a communications component 640, an input component 650, and an output component 660. Controller device 600 may also include a bus 619 that may provide one or more wired or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 600. In some embodiments, one or more components of controller device 600 may be combined or omitted. Moreover, controller device 600 may include other components not combined or included in FIG. 14. For example, controller device 600 may include any other suitable components or several instances of the components shown in FIG. 14. For the sake of simplicity, only one of each of the components is shown in FIG. 14.
  • Memory component 620 may include one or more storage mediums, including for example, a hard-drive, flash memory, permanent memory such as read-only memory (“ROM”), semi-permanent memory such as random access memory (“RAM”), any other suitable type of storage component, or any combination thereof.
  • Memory 620 may include cache memory, which may be one or more different types of memory used for temporarily storing data for controller device applications. Memory 620 may be fixedly embedded within controller device 600 or may be incorporated onto one or more suitable types of cards that may be repeatedly inserted into and removed from controller device 600 (e.g., a subscriber identity module (“SIM”) card or secure digital (“SD”) memory card).
  • SIM subscriber identity module
  • SD secure digital
  • Memory 620 may store media data (e.g., music and image files), software (e.g., for implementing functions on device 600), firmware, preference information, wireless connection information (e.g., information that may enable device 600 to establish a wireless connection), any other suitable data, or any combination thereof.
  • media data e.g., music and image files
  • software e.g., for implementing functions on device 600
  • firmware e.g., firmware
  • preference information e.g., preference information that may enable device 600 to establish a wireless connection
  • wireless connection information e.g., information that may enable device 600 to establish a wireless connection
  • Power supply component 630 can include any suitable circuitry for receiving and/or generating power, and for providing such power to one or more of the other components of controller device 600.
  • power supply 630 can be coupled to a power grid
  • power supply 630 can be configured to generate power from a natural source
  • power supply 630 can include one or more batteries for providing power (e.g., when device 600 is acting as a portable device).
  • power supply 640 can include one or more of a battery (e.g., a gel, nickel metal hydride, nickel cadmium, nickel hydrogen, lead acid, or lithium-ion battery), an uninterruptible or continuous power supply (“UPS" or "CPS"), and circuitry for processing power received from a power generation source (e.g., power generated by an electrical power plant and delivered to the user via an electrical socket or otherwise).
  • the power can be provided by power supply 630 as alternating current or direct current, and may be processed to transform power or limit received power to particular characteristics.
  • the power can be transformed to or from direct current, and constrained to one or more values of average power, effective power, peak power, energy per pulse, voltage, current (e.g., measured in amperes), or any other characteristic of received power.
  • Power supply 630 can be operative to request or provide particular amounts of power at different times, for example, based on the needs or requirements of controller device 600 or periphery devices that may be coupled to electronic device 600 (e.g., to request more power when charging a battery than when the battery is already charged).
  • Power supply 630 may be provided with a charging element 635 (e.g., a micro universal serial bus (“USB”) connector or DC connector for coupling to a charging cable, and/or a cell for receiving solar or wireless power).
  • charging element 635 may be configured to supply power from power supply 630 to another device (e.g., to power supply 330 of base construction device 300 of FIG. 2) for charging a power supply of that device and/or for powering that device during use.
  • Communications component 640 may be provided to allow device 600 to communicate with one or more other devices (e.g., a base construction device 300 via a controller
  • communications component 640 may support Wi-Fi (e.g., an
  • ZigBee e.g., an 802.15.4 protocol
  • WiDiTM WiDiTM
  • Ethernet WiDiTM
  • BluetoothTM WiDiTM
  • BluetoothTM Low Energy BLE
  • high frequency systems e.g., 900 MHz, 2.4 GHz, and 5.6 GHz communication systems
  • TCP/IP transmission control protocol/internet protocol
  • SCTP Stream Control Transmission Protocol
  • DHCP Dynamic Host Configuration Protocol
  • HTTP hypertext transfer protocol
  • BitTorrentTM file transfer protocol
  • FTP real-time transport protocol
  • RTSP real-time streaming protocol
  • RTCP Real-time control protocol
  • RAOP Real Data Transport Protocol
  • UDP User Datagram Protocol
  • SSH secure shell protocol
  • WDS Wired Data rates for GSM Evolution
  • GSM Global System for Mobile Communications
  • EDGE Enhanced Data rates for GSM Evolution
  • CDMA Code Division Multiple Access
  • OFDMA Orthogonal Frequency-Division Multiple Access
  • HSPA high speed packet access
  • 6L0WPAN Wireless Personal Area Network
  • Communications component 640 may also include or be electrically coupled to any suitable transceiver circuitry (e.g., transceiver 645) that can enable device 600 to be communicatively coupled to another device or server (e.g., to base construction device 300 or server 10 of FIG. 2) and communicate with that other device wirelessly (e.g., where transceiver 645 may include an antenna) or via a wired connection (e.g., where transceiver 645 may include a connector port).
  • transceiver circuitry e.g., transceiver 645
  • transceiver 645 can enable device 600 to be communicatively coupled to another device or server (e.g., to base construction device 300 or server 10 of FIG. 2) and communicate with that other device wirelessly (e.g., where transceiver 645 may include an antenna) or via a wired connection (e.g., where transceiver 645 may include a connector port).
  • controller device 600 may utilize such a connection to communicate one or more controller communications 685 with a transceiver of communications component 340 of base construction device 300 via controller communications set-up 655 (e.g., as shown in FIG. 2). Additionally or alternatively, whether transceiver 645 enables a wired or wireless connection using any suitable wired or wireless communications protocol, controller device 600 may utilize such a connection to communicate one or more server communications 285 with a server 10 via server
  • communications component 640 may be configured to enable such controller communications 685 and such server communications 285 simultaneously using different protocols and/or different
  • communications component 640 may be configured to determine a geographical position of controller device 600.
  • communications component 640 may utilize the global positioning system ("GPS") or a regional or site-wide positioning system that may use cell tower positioning technology or Wi-Fi technology.
  • GPS global positioning system
  • Wi-Fi Wi-Fi
  • One or more input components 650 may be provided to permit a user to interact or interface with controller device 600.
  • input component 650 can take a variety of forms, including, but not limited to, a touch pad, a dial, a click wheel, a scroll wheel, a touch screen, a user-variable mechanical knob, one or more buttons (e.g., a keyboard), a mouse, a joy stick, a track ball, a microphone, a camera, a scanner (e.g., a code scanner), a proximity sensor, a GPS sensor system, a light sensor, a motion sensor (e.g., a motion sensor for detecting movement external to device 600 (e.g., a passive infrared sensor, as described above with respect to motion sensor construction device 200 A) and/or a movement sensor for detecting movement of device 600 itself (e.g., within free space, such as an accelerometer, gyroscope, etc., as described above with respect to movement sensor construction device 200C)),
  • Each input component 650 can be configured to provide one or more dedicated control functions for making selections or issuing commands associated with operating device 600. Moreover, each input component 650 of controller device 600 may be configured (e.g., leveraged by a control application of controller device 600) to dictate and/or control the type of data transmitted to one or more construction devices of a system coupled to controller device 600.
  • Controller device 600 may also include one or more output components 660 that may present information (e.g., graphical, audible, and/or tactile information) to a user of device 600 or provide any other suitable output for affecting device 600 in one or more ways.
  • output component 660 of controller device 600 may take various forms, including, but not limited to, an audio speaker, a headphone, an audio/video line-out, a visual display, an antenna, an infrared port, a rumbler, a vibrator, an internet web browser, a telephone communication enabler, a text message enabler, any other suitable communication enabler, a media playback enabler, and combinations thereof.
  • Each output component 660 may also include any suitable hardware and/or software for generating or transmitting data to be communicated by that component (e.g., media playback circuitry, display driver circuitry, etc.). Moreover, each output component 660 of controller device 600 may be configured (e.g., leveraged by a control application of controller device 600) to be controlled by data received from one or more construction devices of a system coupled to controller device 600.
  • controller device 600 may include a display output component as output component 660.
  • a display output component may include any suitable type of display or interface for presenting visual data to a user.
  • a display output component may include display driver circuitry, circuitry for driving display drivers, or both, and such a display output component can be operative to display content (e.g., media playback information, application screens for applications implemented on controller device 600, information regarding ongoing communications operations, information regarding incoming communications requests, device operation screens, etc.) that may be under the direction of processor 610.
  • an input/output (“I/O") component or I/O interface e.g., an input component 650 and an output component 660 as an I/O component or I/O interface 655
  • an input component 650 and an output component 660 may sometimes be a single I/O component 655, such as a touch screen, that may receive input information through a user's touch of a display screen and that may also provide visual information to a user via that same display screen.
  • Processor component 610 of controller device 600 may include any processing circuitry that may be operative to control the operations and performance of one or more components of controller device 600 and/or any other device communicatively coupled thereto (e.g., any construction device of system 1).
  • processor 610 may receive input signals from input component 650 and/or drive output signals through output component 660.
  • processor 610 may be used to run one or more applications, such as an application 613.
  • Application 613 may include, but is not limited to, one or more operating system applications, firmware applications, media playback applications, construction device control applications, or any other suitable applications.
  • processor 610 may load application 613 as a user interface program to determine how instructions or data received via an input component 610 or via any other component of device 600 (e.g., instructions received from a construction device of system 1 via controller communication 685 at communications component 640) may manipulate the way in which information may be stored and/or provided to a user via an output
  • Application 613 may be accessed by processor 610 from any suitable source, such as from memory 620 (e.g., via bus 619) or from another device or server (e.g., from server 10 via server communication 255 at communications component 640 and/or from a construction device (e.g., base construction device 300) of system 1 via controller communication 655 at any suitable source, such as from memory 620 (e.g., via bus 619) or from another device or server (e.g., from server 10 via server communication 255 at communications component 640 and/or from a construction device (e.g., base construction device 300) of system 1 via controller communication 655 at
  • Processor 610 may include a single processor or multiple processors.
  • processor 610 may include at least one "general purpose"
  • Processor 610 also may include on board memory for caching purposes.
  • Controller device 600 may also be provided with a housing 601 that may at least partially enclose one or more of the components of device 600 for protection from debris and other degrading forces external to device 600.
  • one or more of the components may be provided within its own housing (e.g., input component 650 may be an independent keyboard or mouse within its own housing that may wirelessly or through a wire communicate with processor 610, which may be provided within its own housing).
  • controller device 600 may be a handheld electronic device, which may be similar to a smartphone (e.g., an iPhoneTM), where housing 601 may allow access to various input components 650a-650e, various output components 660a-660c, and/or various I/O components 655a-655d through which device 600 may interface with a user, ambient environment, construction device, and/or server.
  • An output component 660a may be a display that can be used to display a visual or graphic user interface (“GUI”) 680, which may allow a user to interact with controller device 600.
  • GUI visual or graphic user interface
  • GUI 680 may include various layers, windows, screens, templates, elements, menus, and/or other components of a currently running application (e.g., application 613) that may be displayed in all or some of the areas of display output component 660a.
  • Input component 650b may include a mechanical input component that, when pressed, may cause a "home" screen or menu of a currently running application to be displayed by device 600, where such a mechanical input component may be a button supported by a dome switch, a sliding switch, a control pad, a key, a knob, a scroll wheel, or any other suitable form.
  • input component 650b may be used to navigate through GUI 680.
  • input component 650b may include a scroll wheel that may allow a user to select one or more graphical elements 682 or icons of GUI 680.
  • Icons 682 may also be selected via a touch screen I/O component 655a that may include display output component 660a and an associated touch input component 650a.
  • a touch screen I/O component 655 a may employ any suitable type of touch screen input technology, such as, but not limited to, resistive, capacitive, infrared, surface acoustic wave, electromagnetic, or near field imaging.
  • touch screen I/O component 655a may employ single point or
  • multi-point input sensing e.g., multi-touch
  • Icons 682 may represent various layers, windows, screens, templates, elements, and/or other components that may be displayed in some or all of the areas of display component 660a upon selection by the user. Furthermore, selection of a specific icon 682 may lead to a hierarchical navigation process. For example, selection of a specific icon 682 may lead to a new screen of GUI 680 that may include one or more additional icons or other GUI elements of the same application or of a new application associated with that icon 682. Textual indicators 681 may be displayed on or near each icon 682 to facilitate user interpretation of each graphical element icon 682. It is to be appreciated that GUI 680 may include various components arranged in hierarchical and/or non-hierarchical structures.
  • device 600 may be configured to open a new application or portion of a currently-running application associated with that icon 682 and display a corresponding screen of GUI 680 associated with that application. For example, when the specific icon 682 labeled with a
  • device 600 may launch or otherwise access a specific construction device control application and may display screens of a specific user interface that may include one or more tools or features for interacting with at least one construction device (e.g., base construction device 300 of system 1 of FIG. 2) in a specific manner (see, e.g., FIGS. 17A-17R and 18A-18M for specific examples of such displays of GUI 680 during use of a construction device control application).
  • screens may be displayed on display output component 660a and may include various user interface elements.
  • various other types of non-visual information may be provided to a user via various other output
  • Controller device 600 also may include various other I/O components 655 that may allow for communication between device 600 and other entities.
  • I/O components 655 may allow for communication between device 600 and other entities.
  • component 655b may be a connection port or any other suitable power element (e.g., charging element 635) that may be configured for communicating (e.g., transmitting or receiving) various power communications with a remote entity (e.g., communications 285 with server 10 and/or communications 685 with construction device 300 of FIG. 2).
  • power I/O component 655b may be a micro universal serial bus (“USB”) connector or DC connector for coupling to a power cable, and/or a cell for receiving solar or wireless power).
  • USB micro universal serial bus
  • I/O component 655c may be a connection port or any other suitable transceiver (e.g., transceiver 645) that may be configured for communicating (e.g., transmitting or receiving) various data communications with a remote entity (e.g., communications 285 with server 10 and/or communications 685 with construction device 300 of FIG. 2).
  • a remote entity e.g., communications 285 with server 10 and/or communications 685 with construction device 300 of FIG. 2 2).
  • data I/O component 655c may be a USB port or a proprietary port, such as a LightningTM connector or a 30-pin dock connector from Apple Inc. of Cupertino, California.
  • power I/O component 655b and data I/O component 655c may be provided as a single communications I/O component (e.g., a single transceiver) that may be configured to communicate both data communications and power communications to a remote entity (e.g., a USB connector port that may communicate both power to charging element 335A of power construction device 300A and data to transceiver 345A of power construction device 300A, where charging element 335A and transceiver 345 A may be provided as a single port on device 300A, as described above).
  • a single communications I/O component e.g., a single transceiver
  • a remote entity e.g., a USB connector port that may communicate both power to charging element 335A of power construction device 300A and data to transceiver 345A of power construction device 300A, where charging element 335A and transceiver 345 A may be provided as a single port on device 300A, as described above.
  • power I/O component 655b and data I/O component 655c may be provided as independent communications I/O components, where power I/O component 655b may be a USB connector port that may communicate power to charging element 335B of power construction device 300B, and where data I/O component 655c may be an antenna transceiver that may wirelessly communicate data (e.g., via BlueToothTM) to antenna transceiver 345B of power construction device 300B, where charging element 335B and transceiver 345B may be provided as different elements on device 300B, as described above.
  • I/O component 655d may be a headphone jack for connecting audio headphones that may or may not include a microphone component.
  • Controller device 600 may also include at least one audio input component 650c, such as a microphone, and at least one audio output component 660b, such as an audio speaker. Additionally or alternatively, controller device 600 may include at least one tactile output component 660c (e.g., a rumbler or vibrator), a camera and/or scanner input component 650d (e.g., a video or still camera, and/or a scanner), and/or a biometric input component 650e (e.g., a fingerprint reader or other feature recognition sensor, which may operate in conjunction with a feature-processing application that may be accessible to controller device 600 for authenticating a user).
  • a tactile output component 660c e.g., a rumbler or vibrator
  • a camera and/or scanner input component 650d e.g., a video or still camera, and/or a scanner
  • a biometric input component 650e e.g., a fingerprint reader or other feature recognition sensor, which may operate in conjunction with
  • controller device 600 in providing additional functionality to at least one construction device, reference is made to views of screens 900a-900r (e.g., as shown in FIGS. 17A-17R) and views of screens 1000a- 1000m
  • controller device 600 (e.g., as shown in FIGS. 18A-18M) that may be representative of a graphical user interface of controller device 600 during operation.
  • the operation described may be achieved with a wide variety of graphical elements and visual schemes. Therefore, the embodiments of
  • FIGS. 17A-18M are not intended to be limited to the precise user interface conventions adopted herein. Rather, embodiments may include a wide variety of user interface styles.
  • such a construction device control application may be loaded by device 600 and any suitable load screen may be provided to a user.
  • a load screen 900a may be presented by device 600 while the application is loaded. While showing screen 900a, the control application may attempt to detect any construction device 100 that may be communicatively coupled to controller device 600. For example, device 600 may determine whether any construction device 100 is communicatively coupled to data I/O component 655c.
  • the control application may prompt a user to couple at least one construction device to device 600.
  • a prompt screen 900b may be presented by device 600 that may prompt a user to communicatively couple at least one construction device thereto.
  • a base construction device e.g., power construction device 300 of FIG. 2
  • prompt screen 900b may prompt a user to activate such a wireless capability of controller device 600 by providing a selectable option for activating that capability.
  • prompt screen 900b may prompt a user to physically connect controller device 600 to a construction device via a wired connection (e.g., via USB to power construction
  • the application may present screen 900e of FIG. 17E.
  • the control application may move from prompt screen 900b to a prompt screen 900c of FIG. 17C that may prompt a user to activate such a wireless capability of the construction device (e.g., to power up device 300B and/or to enable communications component 340B of an already powered-up power construction device 300B).
  • the control application may move from prompt screen 900c to a prompt screen 900d of FIG. 17D that may prompt a user to communicatively link the wirelessly enabled construction device 300B with the wirelessly enabled controller device 600 for communicatively coupling the two devices (e.g., by prompting the user to hold the two devices within a certain distance of each other for a particular amount of time such that the two devices may be auto-paired).
  • one or more device I/O indicators of the coupled construction device may be configured to indicate such a coupling to the user.
  • one, some, or all of device I/O indicators 354B-354B" and 364B-364B"" of power construction device 300B may be configured to indicate such a coupling to the user (e.g., by flashing one or more times if LEDs, by beeping one or more times if audio output interfaces, etc.).
  • one or more output components 660 of controller device 600 may be configured to indicate such a coupling to the user (e.g., speaker output component 660b may beep along with or instead of any indicators of device 300B).
  • the construction device control application may provide an initial standard controller screen.
  • an initial standard controller screen 900e may be presented by device 600, where such a standard controller screen may include an I/O map 902 and a menu 904. As shown more completely in FIG.
  • I/O map 902 may include one or more input icons 905 that may be indicative of each device input connector of the coupled base construction device and/or one or more output icons 906 that may be indicative of each device output connector of the coupled base construction device (e.g., two input icons 905 representative of the two floating device input connectors 352B' and 352B" of base construction device 300B and four output icons 906 representative of the four floating device output connectors 362B'-362B"" of base construction device 300B).
  • icons representative of the loop-through device connectors 352B/362B may also be provided on I/O map 902, and in some embodiments, the construction device control application may be configured to enable a user to instruct base construction device 300B to remove the virtual direct link between device connectors 352B/362B (e.g., by reconfiguring processor component 310B), such that device connectors 352B/362B may be utilized similarly to floating connectors 352B', 352B", and 362B'-362B"".
  • Menu 904 may provide one or more options to a user at any particular state of the construction device control application and may be alternatively hidden from view or shown in more detail through a user's selection of a menu toggle icon 903.
  • menu toggle icon 903 may be manipulated by a user, such as by sliding it to the left for hiding menu 904 (see, e.g., FIG. 17F) or by sliding it to the right for exposing menu 904 (see, e.g., FIG. 17E).
  • menu 904 may be exposed by initial standard controller screen 900e in response to a base construction device being
  • menu 904 may be hidden by an alternate initial standard controller screen 900d in response to a base construction device being communicatively coupled to controller device 600.
  • the control application may be configured to provide a base device status bar 901 , which may be indicative of one or more general characteristics of the communicatively coupled base construction device, such as the strength/type of the connection and/or the amount of power available to the base construction device, which may indicate to a user that a construction device is active and properly paired to controller device 600.
  • the controller application may be configured such that a user may interact with the application (e.g., by tapping or otherwise interacting with base device status bar 901) in order to determine which of many construction devices in an interconnected system (e.g., system 1) is the base construction device directly coupled to controller device 600 (e.g., when the base construction device is wirelessly coupled to controller device 600 and not obviously coupled to controller device 600 via a wired connection).
  • a user may interact with the application (e.g., by tapping or otherwise interacting with base device status bar 901) in order to determine which of many construction devices in an interconnected system (e.g., system 1) is the base construction device directly coupled to controller device 600 (e.g., when the base construction device is wirelessly coupled to controller device 600 and not obviously coupled to controller device 600 via a wired connection).
  • controller device 600 may transmit an instruction to the base construction device to indicate such a coupling to the user.
  • one, some, or all of device I/O indicators 354B-354B" and 364B-364B"" of base power construction device 300B may be configured to indicate that it is the base construction device (e.g., by flashing one or more times if LEDs, by beeping one or more times if audio output interfaces, etc.).
  • one or more output components 660 of controller device 600 may be configured to indicate such a coupling to the user synchronously with the indication from the base construction device (e.g., speaker output component 660b may beep along with or instead of any indicators of device 300B).
  • speaker output component 660b may beep along with or instead of any indicators of device 300B.
  • the control application may be configured to provide a tutorial or tip to a user indicating that another construction device may be coupled to anyone of the floating device I/O connectors of the base construction device and that an input icon 905 and/or an output icon 906 associated with that device I/O connector may be selected (e.g., via a double tap gesture) to select a widget for enabling a user of controller device 600 to visualize the use of that other construction device.
  • the control application may be configured to show an initial/default representation of that coupled construction device on I/O map 902.
  • the control application may be configured to provide screen 900g that may include an initial output widget/representation 908 of a construction device (e.g., a motor action construction
  • screen 900g may provide a tutorial or tip to a user indicating that various other output widgets other than the default output widget 908 may be selectable for use by the user.
  • the control application may be configured to provide a screen 900h in response to a user selecting an option to update output widget 908 of screen 900g (e.g., by double tapping the output icon 906 associated with that widget).
  • the control application may present various options to a user of various potential output widgets that may be selectable by a user and provided on I/O map 902 for use by the user in controlling the construction devices downstream from the associated device output connector of the base construction device.
  • An output widget 908 may be representative of a control that a user of controller device 600 may manipulate on device 600 for dictating the value of output NORMAL data to be transmitted by the base construction device out from its floating device output connector that is associated with that output widget 908.
  • output widget 908 may be associated with output icon 906 and thus floating device output connector 362B"" of base construction device 300B, where output widget 908 may be manipulated on device 600 by a user for dictating the value of output NORMAL data to be transmitted by floating device output connector 362B"" to a construction device that may be coupled thereto (e.g., a motor action construction device 500D, as indicated by output device descriptor 907 of FIGS.
  • controller device 600 may provide user-manipulatable controls with the control application for determining the NORMAL data to be transmitted to an action construction device 500 coupled to the base construction device.
  • the control application may provide various suitable output widget options 908, such as various types of slider output widgets, button output widgets, level output widgets, and any other suitable types of output widgets, such that a user may select a new output widget 908 for use at screen 900j of FIG. 17J rather than the default output widget 908 of screen 900g of FIG. 17G.
  • a listing of various output widget types may be presented on screen 900h and may be scrolled through vertically (e.g., when a user flicks a touch screen I/O component 655a along arrow V of FIG. 17H).
  • Such slider output widgets 908 may include virtual sliders that may be slid in one or more directions by a user along an I/O
  • a slider output widget may be slid from a first end that may be configured to cause the transmission of NORMAL data for a NORMAL_Data_l _Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) to a second end that may be configured to cause the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value), as well as any proportional value in between.
  • the value of NORMAL data received by a motor action construction device 500D communicatively coupled to device output connector 362B"" of base construction device 300B may be dictated by a user's interaction with a slider of controller device 600. Additionally or alternatively, any other suitable type of slider output widget may be provided for use by the control application of controller device 600.
  • FIGS. 19A-19AA Various other types of slider output widgets may be shown in one or more of FIGS. 19A-19AA.
  • an "unsprung" slider widget 950a may be provided such that when a user stops sliding the slider, the position of the slider may remain at the position at which the user left it and the data associated with widget 950a may also similarly remain.
  • a "bottom sprung" slider widget 950b may be provided such that when a user stops sliding the slider, the position of the slider may return to the bottom of the slider and the data associated with widget 950b may return to the value associated with the bottom of the slider.
  • FIG. 19A an "unsprung" slider widget 950a may be provided such that when a user stops sliding the slider, the position of the slider may return to the bottom of the slider and the data associated with widget 950b may return to the value associated with the bottom of the slider.
  • a "center sprung" slider widget 950c may be provided such that when a user stops sliding the slider, the position of the slider may return to the center of the slider and the data associated with widget 950c may return to the value associated with the center of the slider.
  • center sprung slider widget 950c may be used as a smart widget (e.g., for sending SMART data to a motor device over a single connection rather than two widgets sending NORMAL data over two connections), where the top of slider widget 950c may be configured to be 100% output for one direction of the motor and the bottom of slider widget 950c may be configured to be 100% output for the other direction of the motor, and where the center of slider widget 950c may be configured to be 0% output.
  • an "unsprung" multi-axis slider widget 950z may be provided to adjust with a value of the slider along each one of two different axes of the widget, where the position of the slider may remain at the location at which the user leaves it.
  • a "center sprung" multi-axis slider widget 950y may be provided to adjust with a value of the slider along each one of two different axes of the widget, where the position of the slider may return to the center of the widget when the user stops interaction with the widget.
  • multi-axis slider widget 950y and/or multi-axis slider widget 950z may be used as a smart widget (e.g., for sending SMART data to a motor device over a single connection rather than two widgets sending NORMAL data over two connections), where position of the slider at the top right of the widget may be configured to be 100% output for one direction of the motor and position of the slider at the bottom left of the widget may be configured to be 100% output for the other direction of the motor, and where the center of the widget may be configured to be 0% output.
  • a "picker" widget 950s may be provided to deliver multiple options to a user
  • each option may be selected by the user (e.g., via a user input at that option).
  • the selection of a particular color on a color picker widget 950s may be provided to a particular one input of a multi-color visible light emitter device (e.g., to dictate the hue of that device).
  • a multi-slider "picker" widget 950t may be provided to deliver multiple options to a user
  • each slider may be selected by the user (e.g., via a user input at each slider).
  • the combination of selections at each slider on a color multi-slider picker widget 950t may be provided to a particular one input of a multi-color visible light emitter device (e.g., to dictate the hue of that device).
  • picker widget 950s and/or picker widget 950t may be combined with an additional slider to form a smart widget (e.g., smart widget 950u of FIG 19U and/or smart widget 950v of FIG 19 V, respectively), such as for sending SMART data to a multi-color visible light action construction device (e.g., for sending SMART data to a multi-color visible light action construction device over a single connection rather than two widgets sending NORMAL data over two connections), where the selected option of the picker widget portion may dictate the portion of the SMART data for controlling the hue of the output of the multi-color visible light action construction device and where the position of the additional slider portion may dictate the portion of the SMART data for controlling the brightness of the output of the multi-color visible light action construction device.
  • a smart widget e.g., smart widget 950u of FIG 19U and/or smart widget 950v of FIG 19 V, respectively
  • a smart widget e.g., smart widget 950u of FIG 19U and/or smart widget
  • Button output widgets 908 may include various virtual buttons that may be manipulated in one or more ways by a user on an I/O interface 655 of device 600 for dictating the value of NORMAL data to be transmitted to a construction device (e.g., motor action construction device 500D) communicatively coupled to a device output connector of the base construction device.
  • a listing of button output widgets may be presented on screen 900i and may be scrolled through horizontally (e.g., when a user flicks a touch screen I/O component 655a along arrow H of FIG. 171).
  • one particular type of button output widget may be a "sticky" button that may be configured to alternate between causing the transmission of NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) and causing the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) each time the button is pressed.
  • an integer 0 e.g., a minimum value
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) each time the button is pressed.
  • another particular type of button output widget may be an "unsticky" button that may be configured to alternate between causing the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when the button is not pressed and causing the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) while the button is pressed.
  • an integer 0 e.g., a minimum value
  • the value of NORMAL data received by a motor action construction device 500D communicatively coupled to device output connector 362B"" of base construction device 300B may be dictated by the functionality of a button of controller device 600 and a user's interaction with that button.
  • any other suitable type of button output widget may be provided for use by the control application of controller device 600.
  • Various other types of button output widgets may be shown in one or more of FIGS. 19A-19AA. For example, as shown in FIG.
  • a "toggle” or “spring” button widget 950g may be provided such that when a user moves the button to a certain position, the position of the button may remain at the position at which the user left it and the data associated with widget 950g may also similarly remain.
  • a "momentary” or “sprung” button widget 950f may be provided such that when a user presses the button a first state is implied (e.g., an output of 100% may be output) and when the user stops pressing/holding/interacting with the button, the button may return to a second state (e.g., an unpressed state with a 0% value output) and the data associated with widget 950f may return to the value associated with that state.
  • a single widget may have multiple buttons and may be coupled multiple ports associated with multiple device connectors of multiple construction devices.
  • a "game pad" widget 950w may include a multi-direction pad portion (e.g., a four-way/up, down, left, right game pad portion) and one or more additional button portions (e.g., two momentary buttons similar to button widget 950i).
  • each additional button portion may be configured to communicate with any device connector of any construction device coupled to a base device.
  • the multi-direction pad portion may be associated with and communicate data with at least two device connectors.
  • a four-way multi-direction pad portion may be associated with four output ports communicatively coupled to four device output ports of a base device.
  • a four-way multi-direction pad portion may be associated with two output ports communicatively coupled to two device output ports of a base device for enabling smart communications.
  • a four-way multi-direction pad portion may be used as a single smart widget (e.g., for sending SMART data to two motor devices over two connections rather than two widgets sending SMART data over two connections or rather than four widgets sending NORMAL data over four connections), where the up direction of the four-way multi-direction pad portion may be configured to generate two 100% output signals for driving each motor at maximum speed in a first particular direction of each motor, where the down direction of the four-way
  • multi-direction pad portion may be configured to generate two 100% output signals for driving each motor at maximum speed in a second particular direction of each motor, where the left direction of the four- way multi-direction pad portion may be configured to generate a first 100% output signal for driving a first of the motors at maximum speed in the first particular direction of that motor and a second 100% output signal for driving a second of the motors at maximum speed in the second particular direction of that motor, and where the right direction of the four- way multi-direction pad portion may be configured to generate a first 100% output signal for driving a first of the motors at maximum speed in the second particular direction of that motor and a second 100% output signal for driving a second of the motors at maximum speed in the first particular direction of that motor.
  • Level output widgets 908 may include various controllers that may be manipulated in one or more ways by a user using one or more sensors or other suitable input components 650 (e.g., movement sensors) of controller device 600 for dictating the value of NORMAL data to be transmitted to a construction device (e.g., motor action construction device 500D)
  • a construction device e.g., motor action construction device 500D
  • level output widget may be a single-axis movement level output widget that may be configured to cause the transmission of NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when a movement sensor of device 600 (e.g., a single-axis acceleration motion sensor) detects zero acceleration and that may be configured to cause the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when the movement sensor of device 600 detects maximum acceleration, as well as any proportional value in between.
  • an integer 0 e.g., a minimum value
  • a movement sensor of device 600 e.g., a single-axis acceleration motion sensor
  • level output widget may be a microphone level output widget that may be configured to cause the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when no sound is detected by audio input component 650c of device 600 and that may be configured to cause the transmission of
  • NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when a maximum amount of sound is detected by audio input component 650c, as well as any proportional value in between. Therefore, the value of NORMAL data received by a motor action construction device 500D communicatively coupled to device output connector 362B"" of base construction device 300B (e.g., for dictating an action of that motor action construction device 500D) may be dictated by the magnitude of data detected by an input component (e.g., a microphone sensor or movement sensor input component 650) of controller device 600.
  • an input component e.g., a microphone sensor or movement sensor input component 650
  • any other suitable type of level output widget that may leverage any suitable input component or sensor 650 of controller device 600 may be provided for use by the control application of controller device 600.
  • Various other types of level output widgets may be shown in one or more of FIGS. 19A-19AA.
  • a horizontal leveler widget 950e of FIG. 19E may be provided to adjust with a value of a motion sensor along an axis of controller device 600
  • a vertical leveler widget 950d of FIG. 19D may be provided to adjust with a value of a motion sensor along another axis of controller device 600.
  • leveler widgets 950d and 950e may be used as a smart widget (e.g., for sending SMART data to a motor device over a single connection rather than two widgets sending NORMAL data over two connections), where the top of the leveler widget may be configured to be 100% output for one direction of the motor and the bottom of the leveler widget may be configured to be 100% output for the other direction of the motor, and where the center of the leveler widget may be configured to be 0% output.
  • 191 may be provided to adjust with a value of an output of a motion sensor along an axis of controller device 600 (e.g., an accelerometer of controller device 600 parallel to a gravity vector), where the output may be proportional to how far the representative "weight" of the widget may fall in accordance with the detected motion sensor data, where the weight may spring to the top of the widget when controller device 600 is at rest such that that output value of the widget may be constant (e.g., 0% value).
  • 19J may be provided to adjust with a value of an output of a motion sensor along an axis of controller device 600 (e.g., an accelerometer of controller device 600 with respect to a gravity vector), where the output may be proportional to how far the representative "weight” of the widget may rise in accordance with the detected motion sensor data, where the weight may spring to the bottom of the widget when controller device 600 is at rest such that that output value of the widget may be constant (e.g., 100% value).
  • a "left sprung" leveler widget 950k of FIG. 19K and a "right sprung” leveler widget 9501 of FIG. 19L may be provided to act similarly but for another axis of controller device 600. For example, as shown in FIG.
  • a multi-axis movement leveler widget 950x may be provided to adjust with a value of each one of two motion sensors along two different axes of controller device 600.
  • leveler widget 950x may be used as a smart widget (e.g., for sending SMART data to a motor device over a single connection rather than two widgets sending NORMAL data over two connections), where the top right of the leveler widget may be configured to be 100% output for one direction of the motor (e.g., when both axes are at maximum tilt) and the bottom left of the leveler widget may be configured to be 100% output for the other direction of the motor (e.g., when both axes are at minimum tilt), and where the center of the leveler widget may be configured to be 0% output.
  • Trigger output widgets may also be provided where certain events determined by controller device 600 may dictate the value of NORMAL data to be transmitted to a construction device (e.g., motor action construction device 500D) communicatively coupled to a device output connector of the base construction device.
  • a construction device e.g., motor action construction device 500D
  • one particular type of trigger output widget may be a user detection trigger (e.g., when a camera or other component of controller device 600 detects the presence of a person generally or a particular user specifically) that may be configured to cause the transmission of NORMAL data for manipulating a construction device 100.
  • a particular type of trigger output widget may be a location detection trigger (e.g., when a GPS or other location component of controller device 600 detects a specific location of device 600 (e.g., device 600 is now in a user's living room) that may be configured to cause the transmission of NORMAL data for manipulating a construction device 100.
  • a location detection trigger e.g., when a GPS or other location component of controller device 600 detects a specific location of device 600 (e.g., device 600 is now in a user's living room) that may be configured to cause the transmission of NORMAL data for manipulating a construction device 100.
  • the control application may be configured to provide a tutorial or tip to a user indicating that another construction device may be coupled to anyone of the floating device input connectors of the base construction device and that an input icon 905 associated with that device input connector may be selected (e.g., via a double tap gesture) to select a widget for enabling a user of controller device 600 to visualize the use of that other construction device.
  • the control application may be configured to show an initial/default representation of that coupled construction device on I/O map 902.
  • the control application may be configured to provide screen 900j that may include an initial input
  • widget/representation 910 of a construction device e.g., a visible light sensor construction device 200 A
  • a construction device e.g., a visible light sensor construction device 200 A
  • initial input widget 910 may be shown adjacent the input icon 905 associated with that floating device input connector 352B".
  • Such an input widget 910 may be provided for enabling a user to visualize how the construction device coupled to the associated floating device input connector of the base construction device may control an action of controller device 600 in one or more particular ways.
  • screen 900j may provide a tutorial or tip to a user indicating that various other input widgets other than the default input widget 910 may be selectable for use by the user.
  • the control application may be configured to provide a screen 900k in response to a user selecting an option to update input widget 910 of screen 900j (e.g., by double tapping the input icon 905 associated with that widget).
  • the control application may present various options to a user of various potential input widgets 910 that may be selectable by a user and provided on I/O map 902 for controlling controller device 600 in one or more ways based on data transmitted by the construction devices coupled upstream from the associated device input connector of the base construction device.
  • An input widget 910 may be representative of a manner in which an action of controller device 600 may be manipulated based on the value of input NORMAL data received by the base construction device at its floating device input connector that is associated with that input widget 910. For example, with respect to FIGS.
  • input widget 910 may be associated with input icon 905 and thus floating device input connector 352B" of base construction device 300B, where input widget 910 may be selected by a user for dictating the manner in which an action of controller device 600 may be manipulated based on a value of input NORMAL data to be received by floating device input connector 352B" from a construction device that may be coupled thereto (e.g., a visible light sensor construction device 200A, as indicated by input device descriptor 909 of FIGS. 17K and 17L, where such an input device descriptor 909 may be determined based on module descriptor data 775 received by controller device 600 for the system).
  • a visible light sensor construction device 200A as indicated by input device descriptor 909 of FIGS. 17K and 17L, where such an input device descriptor 909 may be determined based on module descriptor data 775 received by controller device 600 for the system.
  • controller device 600 may provide user-selectable actions of controller device 600 with the control application for determining how controller device 600 may function based on the NORMAL data to be received from a sensor construction device 200 coupled to the base construction device.
  • the control application may provide various suitable input widget options 910, such as various types of meter input widgets, audio input widgets, trigger input widgets, and any other suitable types of input widgets, such that a user may select a new input widget 910 for use at screen 900m of FIG.
  • Such meter input widgets 910 may include various virtual meters that may continuously update its visual magnitude on an output component 660 of device 600 for indicating the value of NORMAL data transmitted by a construction device (e.g., light sensor construction device 200A) communicatively coupled to a device input connector of the base construction device.
  • a construction device e.g., light sensor construction device 200A
  • a meter input widget may be a horizontal visual meter that may be configured to show a zero magnitude reading when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device and that may be configured to show a maximum magnitude reading when the value of NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device, as well as any proportional value in between. Therefore, the value of NORMAL data generated and transmitted by light sensor construction device 200A communicatively coupled to device input connector 352B" of base construction device 300B (e.g., as may be determined based on the amount of visible light detected by that light sensor construction device 200A) may dictate the magnitude of a visual output readout of a meter on an output component 660 of controller device 600. Additionally or alternatively, any other suitable type of meter input widget may be provided for use by the control application of controller device 600.
  • control application of controller device 600 may be configured to provide an appropriate widget for a particular sensor construction device that may provide a reading of the physical characteristic sensed by that sensor construction device. For example, based on the known type of sensor construction device coupled to a device input connector of base construction device 300B (e.g., based on an obtained module descriptor data), controller device 600 may access data (e.g., from a look-up table) that may dictate a physical characteristic measurement for a particular NORMAL data value received from that particular type of sensor construction device.
  • data e.g., from a look-up table
  • a widget may provide a reading of the amount of lumens currently detected by a visible light sensor construction device 200A coupled to base device 300B by determining the lumen value associated with a particular NORMAL data value received from such a visible light sensor device 200A, where such a lumen value may be known by a manufacturer of the device 200A and provided (e.g., via server 10 to controller device 600).
  • Various other types of meter input widgets may be shown in one or more of FIGS. 19A-19AA.
  • a bar meter widget 950m may be provided that provides visual indication of a value along a linear meter.
  • FIG. 19M a bar meter widget 950m may be provided that provides visual indication of a value along a linear meter.
  • a radial-dial widget 950n may be provided that provides visual indication of a value along a radial dial.
  • a seven segment display widget 950aa may be provided that provides visual indication of a value on a seven segment display or any other suitable display for indicating particular discrete values.
  • a meter input widget 910 may include a virtual meter that may continuously update its visual magnitude on an output component 660 of device 600 for indicating the value of physical data sensed by a sensor component of controller device 600 (e.g., an ambient light sensor component of device 600).
  • 19H may be a visual meter that may be configured to show a zero magnitude reading when no ambient noise is detected by a sensor of controller device 600 and such that device 600 may generate and transmit a value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) to a construction device communicatively coupled to a device output connector of the base construction device associated with the widget and that may be configured to show a maximum magnitude reading when the value of ambient noise detected by a sensor of controller device 600 is a maximum value and such that device 600 may be configured to generate and transmit NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) to a construction device communicatively coupled to a device output connector of the base construction device associated with the widget and that may be configured to show a maximum magnitude reading when the value of ambient noise detected by a sensor of controller device 600
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) to a construction device communicatively coupled to a device output connector of the base construction device associated with the widget.
  • Audio input widgets 910 may include various virtual meters that may continuously update its visual magnitude on an output component 660 of device 600 for indicating the value of NORMAL data transmitted by a construction device (e.g., light sensor construction device 200A) communicatively coupled to a device input connector of the base construction device, while additionally or alternatively varying an output characteristic of an output component 660 of controller device 600 according to that value.
  • a listing of various audio input widget types may be presented on screen 9001 and may be scrolled through horizontally (e.g., when a user flicks a touch screen I/O component 655a along arrow H of FIG. 17L).
  • an audio input widget may be a volume audio input widget (e.g., volume input widget 950p of FIG. 19P) that may be configured to output audio data from audio output component 660b with a zero magnitude volume when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device and that may be configured to output audio data from audio output component 660b with a maximum magnitude volume when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is transmitted by a construction device
  • such a volume audio input widget may also include a horizontal visual meter that may be configured to show a zero magnitude reading when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is transmitted by a construction device communicatively coupled to a device input connector of the base
  • construction device and that may be configured to show a maximum magnitude reading when the value of NORMAL data for a NORMAL_Data_l _Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is transmitted by a construction device
  • another particular type of audio input widget may be a pitch audio input widget that may be configured to output audio data from audio output component 660b with a minimum pitch when the value of NORMAL data for a NORM AL_Data_l Byte packet format 750 that is
  • a construction device communicatively coupled to a device input connector of the base construction device and that may be configured to output audio data from audio output component 660b with a maximum pitch when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device, as well as any proportional value in between.
  • an integer 0 e.g., a minimum value
  • a construction device communicatively coupled to a device input connector of the base construction device and that may be configured to output audio data from audio output component 660b with a maximum pitch when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device, as well as any
  • such a pitch audio input widget may also include a horizontal visual meter that may be configured to show a zero magnitude reading when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is transmitted by a construction device communicatively coupled to a device input connector of the base
  • construction device and that may be configured to show a maximum magnitude reading when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is transmitted by a construction device
  • the value of NORMAL data generated and transmitted by light sensor construction device 200A communicatively coupled to device input connector 352B" of base construction device 300B may dictate an audio output characteristic (e.g., volume, pitch, etc.) of an audio output component 660b of controller device 600.
  • an audio output characteristic e.g., volume, pitch, etc.
  • any other suitable type of audio input widget may be provided for use by the control application of controller device 600.
  • Various other types of audio/media input widgets may be shown in one or more of FIGS. 19A-19AA.
  • Trigger input widgets 910 may include various functional actions of controller device 600 that may be triggered based on the value of NORMAL data transmitted by a construction device (e.g., light sensor construction device 200A) communicatively coupled to a device input connector of the base construction device.
  • a functionality of an input component 650 of controller device 600 that may be triggered by a trigger input widget is the functionality of a camera input component 650d to take a picture (e.g., camera input widget 950q of FIG. 19Q), where such a camera trigger input widget may be configured to instruct camera input component 650d to take a picture when the value of NORMAL data for a
  • NORMAL_Data_l_Byte packet format 750 that is representative of an integer 127 or more (e.g., more than a middle threshold) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device and that may be configured to instruct camera input component 650d not to take a picture when the value of NORMAL data for a NORMAL_Data_l _Byte packet format 750 that is representative of an integer 126 or less (e.g., less than a middle threshold) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device, where such a threshold and value of such NORMAL data may be visually provided on such a widget (e.g., widget 950Q).
  • a widget e.g., widget 950Q
  • a functionality of an output component 660 of controller device 600 that may be triggered by a trigger input widget is the functionality of a media playback audio output component 660b and associated media playback components to playback media (e.g., a song), where such a media playback trigger input widget (e.g., media/music widget 950r of FIG.
  • 19R may be configured to instruct audio output component 660b to playback audio media when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 127 or more (e.g., more than a middle threshold) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device and that may be configured to instruct audio output component 660b not to playback audio media when the value of NORMAL data for a NORMAL_Data_lJByte packet format 750 that is representative of an integer 126 or less (e.g., less than a middle threshold) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device, where such a threshold and value of such NORMAL data may be visually provided on such a widget (e.g., widget 950R).
  • a widget e.g., widget 950R
  • the value of NORMAL data generated and transmitted by light sensor construction device 200A communicatively coupled to device input connector 352B" of base construction device 300B may dictate when an input function (e.g., photograph capture, webpage launch, telephone call initiated, text message or tweet sent, etc.) and/or an output function (e.g., media playback play/pause, next track/previous track, playlist select, etc.) of controller device 600 is triggered.
  • an input function e.g., photograph capture, webpage launch, telephone call initiated, text message or tweet sent, etc.
  • an output function e.g., media playback play/pause, next track/previous track, playlist select, etc.
  • any other suitable type of trigger input widget may be provided for use by the control application of controller device 600.
  • Various other types of trigger input widgets may be shown in one or more of FIGS. 19A-19AA.
  • the control application may be configured to close all overlays, such as the various options for other selectable widgets.
  • the control application may be configured to allow a user to save specific widget selections that a user has made for particular types of construction devices that may be coupled to the base construction device (e.g., the button output widget 908 of screen 900m for a motor action construction device 500D and the volume audio input widget 910 of screen 900m for a visible light sensor construction device 200A).
  • that selection may be stored in association with the device type of the construction device associated with that selection (e.g., the device type as determined by controller device 600 through its accessing of each module descriptor 745 of the system of construction devices communicatively coupled thereto).
  • the control application may be configured to automatically initially display the widget that had been previously associated with that device type by the user.
  • control application may be configured to associate a particular construction device with a particular widget (e.g., the particular device as determined by controller device 600 through its accessing of the UID 740 of each device of the system of construction devices communicatively coupled thereto). This may enable different construction devices of the same type (e.g., two different motor action construction devices 500D that may only differ with respect to their UIDs 740) to each have a different widget associated therewith by the controller application of controller device 600.
  • a particular construction device with a particular widget e.g., the particular device as determined by controller device 600 through its accessing of the UID 740 of each device of the system of construction devices communicatively coupled thereto.
  • This may enable different construction devices of the same type (e.g., two different motor action construction devices 500D that may only differ with respect to their UIDs 740) to each have a different widget associated therewith by the controller application of controller device 600.
  • Menu 904 may provide one or more options to a user at any particular state of the construction device control application. When exposed (e.g., through user interaction with menu toggle icon 903), menu 904 may be configured to provide various options to a user. For example, as shown in FIG. 17N, the control application may be configured to provide
  • screen 900n that may include exposed menu 904, which may include various options including but not limited to an "Encyclopedia” option 912, a “Field Journal” option 914, a “Settings” option 916, a “Controllers” option 918, and the like that may be selectable by a user.
  • exposed menu 904 may include various options including but not limited to an "Encyclopedia” option 912, a “Field Journal” option 914, a “Settings” option 916, a “Controllers” option 918, and the like that may be selectable by a user.
  • screen 900o may be an exemplary screen that may be provided in response to a user selecting an "Encyclopedia" option 912 of menu 904, such that data (e.g., text, audio/video media, etc.) may be provided to a user that is descriptive of the various types of construction devices or system creations that may be communicatively coupled to controller device 600.
  • data e.g., text, audio/video media, etc.
  • various tabs may be selected for viewing information about the various types of construction devices described above, such as “action” construction devices (e.g., visible light emitting action construction device 500A, infrared transmitter action construction device 500A, record-playback action construction device 500B, housing separating action construction device 500C, housing vibrating action construction device 500C, motor action construction device 500D, multi-color light emitting action construction devices, etc.), “logic” construction devices (e.g., inverter logic construction device 400A, splitter logic construction device 400B, flip-flop logic construction device 400B, etc.), “sensor” construction devices (e.g., visible light sensor construction device 200A, invisible light sensor construction device 200A, infrared receiver sensor construction device 200A, motion sensor construction device 200A, user-variable sensor construction device 200B, movement sensor construction device 200C, etc.), and “power” construction devices (e.g., power construction device 300A, power construction device 300B, etc.).
  • action e.g., visible light emitting action construction device 500A, inf
  • encyclopedic information may be provided for various types of systems of construction devices that may be created by interconnecting various construction devices in various ways. Such encyclopedic information may be accessed by the control application from any suitable source. For example, controller device 600 may access such data from server 10 of system 1 (e.g., via communications set-up 255 (e.g., via the internet)), where server 10 may be maintained by a manufacturer of such construction devices, such that the encyclopedic information accessible and presentable by the control application to a user of controller device 600 may be constantly updated.
  • server 10 of system 1 e.g., via communications set-up 255 (e.g., via the internet)
  • server 10 may be maintained by a manufacturer of such construction devices, such that the encyclopedic information accessible and presentable by the control application to a user of controller device 600 may be constantly updated.
  • An icon or other descriptor may be provided on a surface of each construction device 100 (e.g., on a portion of the top surface of top housing portion lOlt) that may be indicative of the type of construction device to a user or sensor of controller device 600, such that when scanned by controller device 600 (e.g., via a camera or scanner of device 600) the type of device 100 may be recognized by device 600 such that an encyclopedia entry particular to that device type may be automatically launched by controller device 600.
  • a descriptive icon may be provided on a top surface portion of each construction device that may be indicative of the particular function or type of that construction device and that may be recognizable by controller device 600.
  • such a top surface portion 201A-ts of FIG. 20 A may be provided as a top surface of housing 201 A of a visible light sensor construction device 200 A
  • such a top surface portion 201A-ts' of FIG. 20B may be provided as a top surface of housing 201 A of an infrared receiver sensor construction device 200A
  • such a top surface portion 201 A-ts" of FIG. 20C may be provided as a top surface of housing 201 A of a motion sensor construction device 200 A, such a top surface
  • portion 201B-ts of FIG. 20D may be provided as a top surface of housing 20 IB of a
  • top surface portion 201 C-ts of FIG. 20E may be provided as a top surface of housing 201C of a movement sensor construction device 200C
  • a top surface portion 301 A-ts of FIG. 20F may be provided as a top surface of housing 301 A of a rechargeable power construction device 300 A, such a top surface
  • portion 301 A-ts' of FIG. 20G may be provided as a top surface of housing 301 A of a battery power construction device 300A, such a top surface portion 301B-ts of FIG. 20H may be provided as a top surface of housing 301B of a power construction device 300B, such a top surface portion 401 A-ts of FIG. 201 may be provided as a top surface of housing 401 A of an inverter logic construction device 400A, such a top surface portion 401B-ts of FIG. 20J may be provided as a top surface of housing 401 B of a splitter logic construction device 400B, such a top surface portion 401B-ts' of FIG.
  • 20K may be provided as a top surface of housing 40 IB of a flip-flop logic construction device 400B, such a top surface portion 501 A-ts of FIG. 20L may be provided as a top surface of housing 501 A of a visible light emitting action construction device 500 A, such a top surface portion 501 A-ts' of FIG. 20M may be provided as a top surface of housing 501 A of an infrared transmitter action construction device 500 A, such a top surface portion 501B-ts of FIG. 20N may be provided as a top surface of housing 50 IB of a
  • FIG. 20O may be provided as a top surface of housing 501C of a housing separating action construction device 500C, such a top surface portion 501C-ts' of FIG. 20P may be provided as a top surface of housing 501C of a housing vibrating action construction device 500C, and such a top surface portion 501D-ts of FIG. 20Q may be provided as a top surface of housing 50 ID of a motor action construction device 500D.
  • Each one of such top surface portions may be provided as the mechanical top surface of the housing of the construction device. Alternatively, each one of such top surface portions may be provided as a label or adhesive type element that is coupled to the mechanical top surface of the housing of the construction device.
  • Each one of such top surface portions may be provided with a particular background color that may be indicative of a type of group of construction devices, which may help a user more easily find particular construction devices for use.
  • each one of top surface portions 201 A-ts through 201 C-ts may be provided with a background or dominant color scheme of a first type (e.g., yellow) for indicating that it is associated with a sensor type construction device.
  • each one of top surface portions 301A-ts through 301B-ts may be provided with a background or dominant color scheme of a second type (e.g., red) for indicating that it is associated with a power type construction device.
  • each one of top surface portions 401 A-ts through 401 B-ts' may be provided with a background or dominant color scheme of a third type (e.g., green) for indicating that it is associated with a logic type construction device.
  • each one of top surface portions 501 A-ts through 501D-ts may be provided with a background or dominant color scheme of a fourth type (e.g., blue) for indicating that it is associated with an action type construction device.
  • each one of such surface portions 201 A-ts through 501D-ts may be provided on any suitable surface or combination of surfaces of a construction device rather than on a top surface of the construction device.
  • screen 900p may be an exemplary screen that may be provided in response to a user selecting a "Field Journal" option 914 of menu 904, such that data
  • typed text e.g., via a keyboard
  • user field journal entries may be shared with others (e.g., on a website maintained by a third party, such as the manufacturer of the construction devices and/or the control application).
  • certain user field journal entries may be uploaded from controller device 600 to server 10 of system 1 (e.g., via communications set-up 255 (e.g., via the internet)), where server 10 may maintain a website where various users may access each other's field journal entries.
  • server 10 may maintain a website where various users may access each other's field journal entries.
  • a graph scan e.g., data descriptive of the entire system 1 coupled to base device 300B, such as through use of all module descriptors of the system, which may also include a link to a scanned device bus topology
  • screen 900q may be an exemplary screen that may be provided in response to a user selecting a "Settings" option 916 of menu 904, such that various settings or other options may be provided to a user (e.g., to simultaneously communicatively couple a second base device (e.g., as described with respect to FIG. 19N)).
  • screen 900r may be an exemplary screen that may be provided in response to a user selecting a specific "Tilt-A-Tank" sub-option of "Controllers" option 918 of menu 904 of screen 900n, where a particular set of widgets 908/910 and I/O device
  • descriptors 907/909 may be automatically presented on I/O map 902 and associated with particular I/O icons 905/906 in order to help show a user how to construct a particular system of construction device (e.g., a "Tilt-A-Tank” system).
  • "Controllers" option 918 may present various systems that a user may choose from for selecting a particular system to be built, such as the "Tilt-A-Tank" system of screen 900r.
  • Controllers option 918 may present a "Custom" sub-option that may enable a user to build a system from scratch (e.g., the control application may be configured to present blank I/O map 902 of screen 900f in response to a user selecting a "Custom" sub-option of "Controllers” option 918 of menu 904 of screen 900n).
  • control application may provide an input device descriptor 909 and an input widget 910 associated with an input icon 905 (e.g., an input icon 905 associated with device input connector 352B' of base power sensor construction device 300B).
  • Such an input device descriptor 909 may be a symbol indicative of an invisible light sensor construction device 200A, which may indicate to a user that he or she must communicatively couple such an invisible light sensor construction device 200A to device input connector 352B' of base power sensor construction device 300B in order to build the chosen "Tilt-A-Tank" system.
  • Such an input widget 910 may have highly specific features to the selected system and may often exhibit "videogame-like qualities".
  • input widget 910 may be a type of trigger input widget 910 that may trigger a visual counter to be incremented each time the invisible light sensor construction device 200A transmits certain NORMAL data to device input
  • control application may provide two output device descriptors 907 associated with two output icons 906 (e.g., output icons 906 associated with device output connectors 362B'" and 362B"" of base power sensor construction device 300B), and an output widget 908 associated with those two output icons 906.
  • Each one of the two output device descriptors 907 may be a symbol indicative of a motor action construction device 500D, which may indicate to a user that he or she must communicatively couple a first motor action construction device 500D to device output connector 362B'" of base power sensor construction device 300B and a second motor action construction device 500D to device output connector 362B"" of base power sensor construction device 300B in order to build the chosen "Tilt-A-Tank" system.
  • Such an output widget 908 may have highly specific features to the selected system and may often exhibit "videogame-like qualities".
  • a single output widget 908 may be a type of level output widget 908 that may simultaneously control the value of NORMAL data transmitted by each one of device output connectors 362B'" and 362B"" of base power sensor construction device 300B.
  • level output widget 908 of screen 900r may be a multi-axis movement level output widget that may be configured to cause the transmission of first NORMAL data from device output connector 362B'" associated with a first output icon 906, where the value of the first NORMAL data may be based on detected acceleration along a first axis, and that may be configured to cause the transmission of second NORMAL data from device output
  • control application may be configured to provide such a multi-axis movement level output widget 908 for enabling a user to tilt device 600 along two different axes for determining the value of NORMAL input data transmitted to two different motors (e.g., two motors that may be coupled to two different wheel assemblies of a toy tank).
  • Controllers option 918 of menu 904 may be provided to help guide a user through building one or more systems based on one or more construction devices already being coupled to base construction device 300B.
  • the control application may detect what types of construction devices are currently coupled to base construction device 300B and may provide one or more recommendations to a user on how he or she may add additional construction devices to build a particular system.
  • At least the "Tilt-A-Tank" controller sub-option as well as any other system controller sub-options that include at least one motor may be recommended to the user for helping the user realize what he or she may be able to construct given the already-coupled devices.
  • the controller application may be configured to continuously update the list of potential controller sub-options that might be recommended to the user based on each change that is made by the user to the amount and types of construction devices that may be coupled to base construction device 300B.
  • a system 1A may include controller device 600
  • controller device 600 may be configured to provide a screen 1000a, which may be similar to screen 900f and may include status bar 901 indicating such a coupling and I/O map 902 with input port icons 905 and output port icons 906 associated with particular device I/O connectors 352/362 of base device 300B.
  • input icons 905' and 905" of I/O map 902 may be respectively representative of floating device input connectors 352B' and 352B" of base device 300B
  • output icons 906', 906", 906'", and 906"" of I/O map 902 may be respectively representative of device output connectors 362B', 362B", 362B'", and 362B"" of base device 300B.
  • controller device 600 may be configured to determine the type and UID of that device (e.g., by accessing each module descriptor 745 of the system) and determining an initial widget to present to a user for that new device on I/O map 902. For example, as shown in FIG.
  • a system I B may be the same as system 1 A but with device input connector 552D of a new motor action construction device 500D communicatively coupled to device output connector 362B"" of base device 300B (e.g., via a cable 55), such that the control application of controller device 600 may be configured to provide a screen 1000b, which may be similar to screen 900g and may include an initial output widget 908i adjacent output icon 906"" on I/O map 902. As shown, initial output widget 908i may be a slider output widget that may be determined by controller device 600 to be initially associated with new motor device 500D.
  • control application may access a look-up table or any suitable data that may indicate a relationship between initial output widget 908i and motor device 500D, where such a relationship may be defined by previous user preferences (e.g., as described above) or by a default relationship between such an output widgets and action devices of the motor type.
  • the default initial widget to be used may be determined by controller device 600 consulting a look-up table or any suitable accessible data structure (e.g., from server 10) that may have an updated association of each construction device type and the appropriate default widget to use (e.g., at least until a user selects a new "last used" widget type that controller device 600 may thereafter store and use).
  • Controller device 600 may store new associations between widgets and construction devices 100 such that the associations may appear to a user as being dictated by the construction device itself, where in reality the association may be determined by controller device 600 by utilizing the device type or UID of the construction device 100 to access the correct widget to use as an initial/default widget.
  • coupled motor device 500D may also be represented on I/O map 902 by a suitable output device descriptor 907 (e.g., any suitable descriptor that may describe the type of construction device coupled to the device output connector 362B" associated with output port icon 906"", such as a textual or iconic descriptor).
  • the control device may be configured to enable a user to change or otherwise customize the widget that is initially provided on I/O map 902 in response to a construction device being coupled to an I/O connector of base device 300B.
  • a system 1 C may be the same as system IB but with initial output widget 908i replaced by an updated output widget 908 on I/O map 902 of screen 1000c.
  • updated output widget 908u may be a button output widget that may be similar to the updated output widget 908 of screen 900j.
  • the output widget may be updated in any suitable way, such as through user interaction with selectable options of a GUI of the control application of device 600.
  • updated widget 908u is determined, not only may the control application be configured to present updated output widget 908u on screen 1000c, but the control application may also be configured to associate updated widget 908u with motor device 500D as the new default/initial output widget 908 to be used for motor device 500D (e.g., by storing such an association in data accessible to base device 300B (e.g., in memory component 320B) and/or in data accessible to controller device 600 (e.g., in memory component 620)).
  • base device 300B e.g., in memory component 320B
  • controller device 600 e.g., in memory component 620
  • control application may be configured to make this new association for all action construction devices 500 of the motor type (e.g., as dictated by the device type data of a module descriptor 745 of a construction device).
  • control application may be configured to make this new association for only that specific motor action construction device 500D (e.g., as dictated by the UID 740 of module descriptor 745 of that motor
  • controller device 600 may be configured to remove any representations of that construction device from I/O map 902. For example, as shown in
  • a system ID may be the same as system 1C but with cable 55 disconnected from at least one of device input connector 552D' of motor action construction device 500D and device output connector 362B"" of base device 300B, thereby terminating the communicative coupling between motor device 500D and base device 300B.
  • the control application of controller device 600 may be configured to provide a screen lOOOd that does not include either updated output widget 908 or output device descriptor 907 that had previously been displayed adjacent output icon 906"" for representing the coupling of motor device 500D to device output connector 362B"" of base device 300B.
  • controller device 600 may be configured to determine the type and UID of that device (e.g., by accessing each module descriptor 745 of the system) and determining an initial widget to present to a user for that new device adjacent output icon 906"" of I/O map 902 (e.g., rather than using the last output widget (e.g., updated output widget 908u) that had been associated with that output icon 906""). For example, as shown in FIG.
  • a system IE may be the same as system ID but with device input connector 552A of a new IR transmitter action construction device 500 A communicatively coupled to device output connector 362B"" of base device 300B (e.g., via a cable 55), such that the control application of controller device 600 may be configured to provide a screen lOOOe that may include an initial output widget 908i' adjacent output icon 906"" on I/O map 902.
  • initial output widget 908i' may be a microphone level output widget (e.g., a "sound sensor” level output widget) that may be determined by controller device 600 to be initially associated with new IR transmitter device 500A.
  • coupled IR transmitter device 500A may also be represented on I/O map 902 by a suitable output device descriptor 907 (e.g., any suitable descriptor that may describe the type of construction device coupled to the device output connector 362B" associated with output port icon 906"", such as a textual or iconic descriptor).
  • a suitable output device descriptor 907 e.g., any suitable descriptor that may describe the type of construction device coupled to the device output connector 362B" associated with output port icon 906"", such as a textual or iconic descriptor.
  • controller device 600 may be configured to determine the type and UID of that device (e.g., by accessing each module descriptor 745 of the system) and determining an initial/default widget associated with that device to present to a user on I/O map 902.
  • a system IF may be the same as system IE but with device input connector 552D' of motor action
  • controller device 600 may be configured to provide a screen lOOOf that may include not only initial output widget 908i' associated with IR transmitter device 500A adjacent output icon 906"", similarly to screen 1 OOOe, but also updated output widget 908u associated with motor
  • controller device 600 may be configured to recall the last output widget 908u associated with motor device 500D and automatically use that output widget 908u as the new default output widget 908 on I/O map 902 (e.g., rather than previous default output widget 908i of FIG. 18B) whenever motor device 500D is coupled to any device output connector of base device 300B.
  • controller device 600 When a new base device is communicatively coupled to controller device 600, the control application of controller device 600 may be configured to determine the type and UID of each construction device coupled to that new base device (e.g., by accessing each module descriptor 745 of the new system) and determine initial widgets to present to a user for that new system (e.g., rather than using the last widgets that had been associated with the icons of I/O map 902).
  • a system 1 G may be the same as system IF but with controller device 600 communicatively coupled a new base power construction
  • device 300B' e.g., wirelessly
  • device input connector 552B of a new record -playback action construction device 500B communicatively coupled to device output connector 362B"" of base device 300B (e.g., via a cable 55), and with device output connector 262C of a new movement sensor construction device 200C
  • controller device 600 may be configured to provide a screen l OOOg that may include an initial output widget 908 and output device descriptor 907 adjacent output icon 906"" on I/O map 902 that are associated with new record-playback device 500B of the new system as well as an initial input widget 910 and input device descriptor 909 adjacent input icon 905" on I/O map 902 that are associated with new movement sensor device 200C of the new system.
  • controller device 600 may be configured to determine the type and UID of each construction device coupled to that base device (e.g., by accessing each module descriptor 745 of the system) and determine initial widgets to present to a user for that system (e.g., rather than using the last widgets that had been associated with the icons of I/O map 902). For example, as shown in FIG.
  • a system 1H may be the same as system 1 G but with controller device 600 once again communicatively coupled to base power construction device 300B (e.g., wirelessly) rather than previous base device 300B', with device input connector 552 A of IR transmitter device 500 A once again communicatively coupled to device output connector 362B"" of base device 300B (e.g., via a cable 55) and with device input connector 552D' of motor device 500D once again communicatively coupled to device output connector 362B" of base device 300B (e.g., via a cable 55), similarly to system I F. Therefore, as shown in FIG.
  • control application of controller device 600 may be configured to provide a screen lOOOh similar to screen lOOOf that may include not only initial output widget 908i' associated with IR transmitter device 500A adjacent output icon 906"", but also updated output widget 908u associated with motor device 500D adjacent output icon 906".
  • control application of controller device 600 may be configured to recall the last widgets associated with particular construction devices and automatically use those widgets as the new default widgets on I/O map 902 (e.g., rather than previous default widgets or the last widgets displayed for a particular I/O icon 905/906 of I/O map 902).
  • controller device 600 may be configured to utilize the same widget that is being used for the first device connector for the second device connector as well.
  • a system II may be the same as system 1H but with other device input connector 552D of motor device 500D
  • controller device 600 communicatively coupled to device output connector 362B' of base device 300B (e.g., via a cable 55), such that the control application of controller device 600 may be configured to provide a screen lOOOi that may be the same as screen lOOOh but that may also include an initial output widget 908u adjacent output icon 906' on I/O map 902 that is associated with device output connector 362B' of base device 300B and, thus, other device input connector 552D of motor device 500D.
  • initial widget 908u of icon 906' for the initial coupling of second motor input port 552D may be the same as the updated widget 908u for first motor input port 552D' (e.g., such that any "last used widget” data saved for one particular port of a particular construction device may be used for all ports of that particular constructions device)
  • each motor input port may be associated with its own initial widget that may be independent of other ports on that same construction device, such that new motor port 552D connection may be represented by an initial default widget 908i similar to the slider input widget 908i of FIG. 18B (e.g., such that each port of a particular construction device may have its initial/last used widget default determined independently of each other port of that
  • controller device 600 may be configured to communicate with construction devices according to a SMART packet protocol as well as a NORMAL packet protocol. While certain output widgets may be limited for use in dictating the value of NORMAL data to transmitted to a coupled construction device and/or while certain input widgets may be limited for use in being controlled by a value of NORMAL data received from a coupled construction device, other widgets may be configured to be used with SMART packets. As mentioned above, just one example of a SMART_WRITE cycle may be the transmission of multi-connector data to a single connector of a motor action construction device 500D.
  • control device of controller device 600 may be configured to enable a user to change or otherwise customize the widget that is provided on I/O map 902 to be used for enabling SMART packet communication with motor device 500D via base device 300B.
  • a system 1J may be the same as system I I but with updated output widget 908u adjacent output icon 906" replaced by a new smart output widget 908s on I/O map 902 of screen l OOOj adjacent output icon 906".
  • new smart output widget 908s may be a slider output widget that may have been updated in any suitable way, such as through user interaction with selectable options of a GUI of the control application of device 600.
  • smart output widget 908s may have been automatically recommended to the user by the control application in response to controller device 600 detecting that two device input connectors (e.g., connectors 552D and 552D' of the same motor device 500D have been communicatively coupled to base device 300B), thereby making SMART communication to motor device 500D feasible and/or desirable.
  • two device input connectors e.g., connectors 552D and 552D' of the same motor device 500D have been communicatively coupled to base device 300B
  • the processor component of that device may be configured to temporarily disable all other ports of that device (e.g., connector 552D may be temporarily disabled by device 500D when connector 552D' receives a SMART packet) until some later event while the connector that received the SMART packet may be configured to persistently act on that SMART data until a particular event.
  • only one of device input connectors 552D and 552D' of motor device 500D may be configured to utilize received SMART packet data at a given time, such that controller device 600 may be configured to only allow smart output widget 908s to be associated with the output icon 906 associated with that device connector (e.g., output icon 906" associated with device input connector 552D' and not output icon 906' associated with device input connector 552D).
  • controller device 600 may be configured to only allow smart output widget 908s to be associated with the output icon 906 associated with that device connector (e.g., output icon 906" associated with device input connector 552D' and not output icon 906' associated with device input connector 552D).
  • such a smart slider output widget 908s may include a virtual slider that may be slid in either of two directions by a user along an I/O interface 655 of device 600 (e.g., downward or upward vertically) for dictating the value of SMART data to be transmitted to a construction device (e.g., to device input port 552D' of motor device 500D).
  • smart slider output widget 908s may be slid from a first end that may be configured to cause the transmission of SMART data representative of control data for driving a motor of motor device 500D in a first direction at a maximum speed to a second end that may be configured to cause the transmission of SMART data representative of control data for driving the motor of motor device 500D in a second direction at a maximum speed, and where smart slider output widget 908s may be slid to a midpoint between the first end and the second end (e.g., as shown in FIG.
  • 18J that may be configured to cause the transmission of SMART data representative of control data for driving the motor of motor device 500D in a first direction at a minimum speed and in a second direction at a minimum speed (e.g., for not driving motor device 500D at all).
  • control application may be configured to present smart output widget 908s on screen lOOOj, but the control application may also be configured to associate smart widget 908s with motor device 500D as the new
  • default/initial smart output widget 908 to be used for motor device 500D e.g., by storing such an association in data accessible to base device 300B (e.g., in memory component 320B) and/or in data accessible to controller device 600 (e.g., in memory component 620)).
  • base device 300B e.g., in memory component 320B
  • controller device 600 e.g., in memory component 620
  • control application may be configured to make this new association for all action construction devices 500 of the motor type (e.g., as dictated by the device type data of a module descriptor 745 of a construction device).
  • control application may be configured to make this new association for only that specific motor action construction device 500D (e.g., as dictated by the UID 740 of module descriptor 745 of that motor device 500D).
  • control application may be configured to make this new association for only that specific device input port (e.g., device input port 552D') either for each motor action construction device 500D or for only that specific motor action construction device 500D currently coupled to base device 300B.
  • specific device input port e.g., device input port 552D'
  • control application may be configured to present smart output widget 908s on screen lOOOj, but the control application may also be configured to disable other widgets 908 that may no longer be useful.
  • the control application may be configured to disable widget 908u associated with output icon 906' and device input connector 552D (e.g., by "greying out” or otherwise changing an appearance of output icon 906' and/or its associated output device descriptor 907), which may indicate to a user of controller device 600 that motor device 500D may now be controlled only via smart output widget 908s of output icon 906" and not also output
  • control application may be configured to remove widget 908u associated with output icon 906' and device input connector 552D from I/O map 902 of screen lOOOj entirely when smart output widget 908s is selected, despite device input connector 552D of motor device 500D still being communicatively coupled to connector 362B' of base device 300B.
  • controller device 600 may be configured to remove any representations of that particular device input connector of motor device 500D from I/O map 902 while still maintaining the smart widget 908s that may currently be controlling that motor device 500D.
  • a system IK may be the same as system 1 J but with cable 55 disconnected from at least one of device input connector 552D of motor action construction device 500D and device output connector 362B' of base device 300B, while still maintaining the connection between device input connector 552D' of motor device 500D and device output connector 362B" of base device 300B.
  • controller device 600 may be configured to provide a screen 1000k that does not include either updated output widget 908u or output device descriptor 907 that had previously been displayed adjacent output icon 906' for representing the coupling of device output connector 362B' of motor device 500D to device output connector 362B' of base device 300B, but that still includes smart output widget 908s and output device descriptor 907s displayed adjacent output icon 906" for representing the coupling of device output connector 362B" of motor device 500D to device output connector 362B" of base device 300B (e.g., for SMART packet communication).
  • controller device 600 may be configured to remove any representations of that construction device from I/O map 902.
  • a system 1 L may be the same as system IK but with cable 55 disconnected from at least one of device input connector 552D' of motor action construction device 500D and device output connector 362B" of base device 300B, thereby terminating the communicative coupling between motor device 500D and base device 300B.
  • the control application of controller device 600 may be configured to provide a screen 10001 that does not include either smart output widget 908s or output device
  • controller device 600 may be configured to determine the type and UID of that device (e.g., by accessing each module descriptor 745 of the system) and determining an initial/default widget associated with that device to present to a user on I/O map 902.
  • a system 1M may be the same as system 1L but with device input connector 552D of motor action
  • construction device 500D once again communicatively coupled to base device 300B (e.g., via a cable 55).
  • device input connector 552D of motor device 500D may be coupled to device output connector 362B" of base device 300 rather than to device output
  • control application of controller device 600 may be configured to associate and display updated output widget 908u as the initial/default output widget for this new coupling of device input connector 552D of motor device 500D to base device 300B (e.g., the last output widget 908 associated with that particular device input connector 552D of motor device 500D, as shown in FIGS. 181 and 18J, for example).
  • control application of controller device 600 may be configured to associate and display smart output widget 908s as the initial/default output widget for this new coupling of device input connector 552D of motor device 500D to base device 300B (e.g., the last smart output widget 908 associated with coupled motor device 500D, as shown in FIG. 18 , for example).
  • it may be determined how a smart widget is to control a construction device at the application level of controller device 600 and/or at the processor level of the construction device. For example, at FIG.
  • smart widget 908s may be coupled to first device input connector 552D' of motor 500D (e.g., an input connector associated with a first direction, such as a clockwise direction of motor functional component 570D), such that the application of controller 600 may be configured to generate SMART data that drives motor 500D in that first direction at full speed when slider 908s is slid all the way to the top of the slider, and such that the application of controller 600 may be configured to generate SMART data that drives motor 500D in a second direction at full speed when slider 908s is slid all the way to the bottom of the slider, where the application of controller 600 may be configured to dictate the desired motor direction for each end of smart slider 908s based on controller device 600's knowledge of which device input port of motor 500D it is coupled to
  • controller device 600 may slightly update smart slider 908s depending on which input connector of motor device 500D it is coupled to (e.g., associate the top of the slider with the first motor direction and the bottom of the slider with the second motor direction when associated with first input connector 552D' and associate the top of the slider with the second motor direction and the bottom of the slider with the first motor direction when associated with second input connector 552D).
  • motor device 500D may be configured to compute/act on particular SMART data the same or differently depending on which device input connector the SMART data is received at.
  • At least two base devices may be communicatively coupled to controller device 600 at the same time, such that at least two systems may be controlled independently by controller device 600 and/or such that two systems may be communicatively coupled via controller device 600.
  • a master system IN may include a first subsystem I SO and a second subsystem I SP.
  • First subsystem I SO may include a first base device 300B communicatively coupled to controller device 600 (e.g., wirelessly via a first communications set-up 655), where any suitable construction device or any suitable combination of construction devices may be communicatively coupled to first base device 300B.
  • controller device 600 e.g., wirelessly via a first communications set-up 655
  • device input connector 552B of a record-playback action construction device 500B may be communicatively coupled to device output connector 362B"" of first base device 300B (e.g., via a cable 55), device output connector 262B of a user-variable sensor construction device 200B may be communicatively coupled to device input
  • a visible light sensor construction device 200A may be communicatively coupled to device input connector 352B' of first base device 300B (e.g., via a cable 55).
  • controller device 300B the control application of controller device 600 (e.g., through collection and use of module descriptors from first base device 300B and any other data accessible to controller device 600) may be configured to provide a screen 1000 ⁇ that may include a first base device representation 300BR that may be representative of first base device 300B.
  • first base device representation 300BR may be representative of first base device 300B.
  • first base device representation 300BR may be similar to any one of screens l OOOa- ⁇ ⁇ and may include a first base device status bar 901 , a first menu toggle bar 903, and a first I/O map 902.
  • First base device status bar 901 may be indicative of the connection status between controller device 600 and first base device 300B.
  • first I/O map 902 may also include one or more of an output widget 908 adjacent output icon 906"" associated with record-playback device 500B of first subsystem I SO and an input widget 910 adjacent input icon 905" associated with user-variable sensor construction device 200B of first subsystem I SO.
  • output widget 908 adjacent output icon 906" associated with record-playback device 500B of first subsystem I SO
  • an input widget 910 adjacent input icon 905" associated with user-variable sensor construction device 200B of first subsystem I SO.
  • first I/O map 902 may also include an output device descriptor (e.g., similar to output device descriptor 907) adjacent output icon 906"" and/or an input device descriptor (e.g., similar to input device descriptor 909) adjacent input icon 905".
  • an output device descriptor e.g., similar to output device descriptor 907 adjacent output icon 906" and/or an input device descriptor (e.g., similar to input device descriptor 909) adjacent input icon 905".
  • the control application of controller device 600 e.g., through collection and use of module descriptors from first base device 300B and any other data accessible to controller device 600
  • record-playback device representation 500BR may be indicative of record-playback device 500B (e.g., record-playback device representation 500BR may be similar to top surface portion 501B-ts of FIG. 20N) and where cable representation 55R1 may be indicative of the cable 55 coupling first base device 300B to record -playback device 500B.
  • controller device 600 may be configured to provide screen 1 OOOn that may include a cable representation 55R2 extending outwardly from first base device representation 300BR adjacent input icon 905" to a user-variable sensor device representation 200BR (e.g., where user-variable sensor device representation 200BR may be indicative of user-variable sensor device 200B (e.g., user-variable sensor device representation 200BR may be similar to top surface portion 201B-ts of FIG.
  • cable representation 55R2 may be indicative of the cable 55 coupling first base device 300B to user-variable sensor device 200B) and/or a cable representation 55R3 extending outwardly from first base device representation 300BR adjacent input icon 905' to a visible light sensor device representation 200AR (e.g., where visible light sensor device representation 200 AR may be indicative of visible light sensor device 200A
  • visible light sensor device representation 200AR may be similar to top surface
  • First menu toggle icon 903 of first base device representation 300BR may be toggled through user interaction with menu toggle icon 903 to provide various options to a user of system IN (e.g., to change one or more of the widgets of first I/O map 902).
  • Second subsystem 1 SP may include a second base device 300B' communicatively coupled to controller device 600 (e.g., wirelessly via a second communications set-up 655'), where any suitable construction device or any suitable combination of construction devices may be communicatively coupled to second base device 300B'.
  • controller device 600 e.g., wirelessly via a second communications set-up 655'
  • any suitable construction device or any suitable combination of construction devices may be communicatively coupled to second base device 300B'.
  • device input connector 552D' of a motor action construction device 500D may be
  • device input connector 552D of motor action construction device 500D may be communicatively coupled to device output connector 362B'" of second base device 300B' (e.g., via a cable 55)
  • device input connector 552A of a visible light emitting action construction device 500A may be communicatively coupled to device output connector 362B' of second base device 300B' (e.g., via a cable 55)
  • device output connector 262A of a second user-variable device 200B' may be communicatively coupled to device input connector 352B' of second base device 300B' (e.g., via a cable 55)
  • device output connector 462B' of a splitter logic construction device 400B may be communicatively coupled to device input connector 352B" of second base device 300B' (e.g., via a cable 55), where device input connector 452B of splitter logic construction device 400B may be commun
  • the control application of controller device 600 may be configured to provide a screen 1000 ⁇ that may include a second base device representation 300B'R that may be representative of second base device 300B'.
  • second base device representation 300B'R may be similar to any one of screens lOOOa- ⁇ and may include a second base device status bar 90 ⁇ , a second menu toggle bar 903', and a second I/O map 902'.
  • Second base device status bar 901 ' may be indicative of the connection status between controller device 600 and second base device 300B'.
  • second I/O map 902' may include one or more of an output widget 908 adjacent output icon 906"" associated with motor device 500D of second subsystem 1 SP, an output widget 908' adjacent output icon 906' associated with visible light emitting action device 500A of second subsystem I SP, and an input widget 910 adjacent input icon 905" associated with splitter logic construction device 400B of second subsystem I SP.
  • an output widget 908 adjacent output icon 906" associated with motor device 500D of second subsystem 1 SP
  • an output widget 908' adjacent output icon 906' associated with visible light emitting action device 500A of second subsystem I SP
  • an input widget 910 adjacent input icon 905" associated with splitter logic construction device 400B of second subsystem I SP.
  • second I/O map 902' may also include an output device descriptor (e.g., similar to output device descriptor 907) adjacent output icons 906"" and 906' and/or an input device descriptor (e.g., similar to input device descriptor 909) adjacent input icon 905".
  • an output device descriptor e.g., similar to output device descriptor 907
  • an input device descriptor e.g., similar to input device descriptor 909 adjacent input icon 905".
  • control application of controller device 600 may be configured to provide screen 1000 ⁇ that may include a cable representation 55R4 extending outwardly from second base device representation 300B'R adjacent output icon 906"" to a first input of a motor device
  • motor device representation 500DR (e.g., where motor device representation 500DR may be indicative of motor device 500D (e.g., motor device representation 500DR may be similar to top surface portion 501D-ts of FIG. 20Q) and where cable representation 55R4 may be indicative of the cable 55 coupling second base device 300B' to motor device 500D), and/or a cable
  • controller device 600 in addition to or as an alternative to such input device descriptors on second I/O map 902', the control application of controller device 600
  • screen 1000 ⁇ may include a cable representation 55R9 extending outwardly from second base device representation 300B'R adjacent input icon 905' to a user-variable device representation 200B'R, where user-variable device representation 200B'R may be indicative of user-variable
  • user-variable device representation 200B'R may be similar to top surface portion 201B-ts of FIG. 20D and/or to user- variable device representation 200BR of FIG. 18N
  • cable representation 55R9 may be indicative of the cable 55 coupling second base device 300B' to user- variable device 200B'.
  • control application of controller device 600 may be configured to provide screen 1000 ⁇ that may include a cable representation 55R6 extending outwardly from second base device representation 300B'R adjacent input icon 905" to a splitter logic device representation 400BR (e.g., to a representation of device output connector 462B' of splitter logic device 400B on splitter logic device representation 400BR), where splitter logic device representation 400BR may be indicative of splitter logic device 400B (e.g., splitter logic device representation 400BR may be similar to top surface portion 401B-ts of FIG.
  • controller device 600 may be configured to provide screen 1000 ⁇ that may include a cable representation 55R7 extending outwardly from splitter logic device representation 400BR (e.g., from a representation of device input connector 452B of splitter logic device 400B on splitter logic device representation 400BR) to a visible light sensor device representation 200A'R, where visible light sensor device
  • representation 200A'R may be indicative of visible light sensor device 200A' (e.g., visible light sensor device representation 200 A'R may be similar to top surface portion 201 A-ts of FIG. 20 A and/or to visible light sensor device representation 200AR of FIG. 18N) and where cable representation 55R7 may be indicative of the cable 55 coupling splitter logic device 400B to visible light sensor device 200A'.
  • Second menu toggle icon 903' of second base device representation 300B'R may be toggled through user interaction with menu toggle icon 903' to provide various options to a user of system IN (e.g., to change one or more of the widgets of second I/O map 902').
  • control application of controller device 600 may be configured to enable a virtual connection between any input icon 905 associated with any device input connector of any base device and any output icon 906 associated with any device output connector of any base device, where such a virtual connection may be a direct connection between two such icons or an indirect connection via one or more virtual construction devices.
  • a direct virtual connection may be made between a device input connector and a device output connector of the same base device.
  • a first virtual connector 55VR6 may be generated for virtually coupling input icon 905' associated with device input connector 352B' of second base device 300B' and output icon 906"' associated with device output connector 362B'" of second base device 300B'.
  • the control application of controller device 600 may be configured to enable the routing of any suitable data (e.g., at least any NORMAL data) received by device input connector 352B' of second base device 300B' from user-variable construction device 200B' to device output connector 362B'" of second base device 300B' for use by device input connector 552D of motor device 500D.
  • any suitable data e.g., at least any NORMAL data
  • controller device 600 transmitting one or more instructions to second base device 300B' that may configure base device 300B' (e.g., processing component 310B and/or application 313B of such a base device) to automatically enable the data transmitted out from device output connector 362B'" to be equal to the data received by device input connector 352B'. That is, such instruction(s) from controller device 600 may automatically program base device 300B' to link to device connectors in a certain way. Alternatively, this may be accomplished by controller device 600 receiving data from base device 300B' when such data is received by device input connector 352B' of base device 300B' and then forwarding such data from controller device 600 on to device output connector 362B'" of base device 300B'.
  • base device 300B' e.g., processing component 310B and/or application 313B of such a base device
  • controller device 600 may act as a conduit for such data between device connectors 352B' and 362B'" of base device 300B'.
  • the control application of controller device 600 may be configured to provide a virtual widget 910V (e.g., a bar meter widget) associated with virtual connector 55VR6, where such a virtual widget 910V may provide information indicative of data being passed via such a virtual connector 55VR6.
  • a direct virtual connection may be made by controller device 600 between a device input connector and a device output connector of the two different base devices.
  • an indirect virtual connection may be made between a device input connector and a device output connector of the two different base devices. As shown in
  • FIG. 18N for example, a virtual connector 55VR1, a virtual inverter logic device 400AVR, and a virtual connector 55VR2 may be generated for virtually coupling input icon 905' associated with device input connector 352B' of first base device 300B and output icon 906' associated with device output connector 362B' of second base device 300B'.

Abstract

A construction device (100) configured to communicate with a remote component, the construction device comprising: a housing (101) comprising an indicator opening (165) and a connector opening (161); a connector (162) at least partially within the housing and at least partially exposed through the connector opening, wherein the connector is configured to connect to the remote component; a processor (110) within the housing, wherein the processor is electrically coupled to the connector for communicating data with the remote component via the connector; and an indicator (164) at least partially within the housing, wherein the indicator is electrically coupled to the processor, and wherein the indicator is configured to convey interface information that is indicative of the value of the data through the indicator opening to an environment external to the housing.

Description

CONSTRUCTION DEVICES, SYSTEMS, AND METHODS FOR USING THE SAME
Cross-Reference to Related Applications
[0001] This application claims the benefit of prior filed U.S. Provisional Patent Application No. 61/727,637, filed November 16, 2012, prior filed U.S. Provisional Patent Application No. 61/887,363, filed October 5, 2013, and prior filed U.S. Provisional Patent Application No. 61/902,788, filed November 1 1 , 2013, each of which is hereby incorporated by reference herein in its entirety.
Technical Field
[0002] This disclosure relates to construction devices, systems, and methods for making the same.
Background of the Disclosure
[0003] Various toy building block systems are known that may be coupled to mechanical toy components, but such building blocks may require intelligent processing capabilities that may require knowledge of the specific type of block it is communicating with and interrelated and synched communication schemes between such blocks.
Summary of the Disclosure
[0004] This document describes construction devices, systems, and methods for making the same. [0005] For example, a construction device configured to communicate with a remote component may include a housing having an indicator opening and a connector opening, and a connector at least partially within the housing and at least partially exposed through the connector opening, where the connector is configured to connect to the remote component. The construction device may also include a processor within the housing, where the processor may be electrically coupled to the connector for communicating data with the remote component via the connector. The construction device may also include an indicator at least partially within the housing, where the indicator may be electrically coupled to the processor, and where the indicator is configured to convey interface information that is indicative of the value of the data through the indicator opening to an environment external to the housing.
[0006] As another example, a construction device may include a housing, a device connector configured to communicate data with a remote device, a device indicator configured to convey interface information to an environment external to the housing, and a processor within the housing. The processor may be configured to communicate the data with the device connector, and the interface information may be configured to vary based on a value of the communicated data.
[0007] This Summary is provided merely to summarize some example embodiments, so as to provide a basic understanding of some aspects of the subject matter described in this document. Accordingly, it will be appreciated that the features described in this Summary are merely examples and should not be construed to narrow the scope or spirit of the subject matter described herein in any way. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following Detailed Description, Figures, and Claims.
Brief Description of the Drawings
[0008] The discussion below makes reference to the following drawings, in which like reference characters may refer to like parts throughout, and in which:
[0009] FIG. 1 is a schematic view of an illustrative construction device;
[0010] FIG. 1 A is a top view of the construction device of FIG. 1 ;
[0011] FIG. IB is a front view of the construction device of FIGS. 1 and 1A, taken from line IB-IB of FIG. l A; [0012] FIG. 1C is a bottom view of the construction device of FIGS. 1-lB, taken from line IC-IC of FIG. IB;
[0013] FIG. ID is a rear view of the construction device of FIGS. 1-lC, taken from line ID-ID of FIG. 1C;
[0014] FIG. IE is a right side view of the construction device of FIGS. 1-l D, taken from line IE-IE of FIG. ID;
[0015] FIG. IF is a left side view of the construction device of FIGS. 1 -l E, taken from line IF-IF of FIG. ID;
[0016] FIG. 1G is a top, rear, left side perspective view of the construction device of
FIGS. 1-1 F;
[0017] FIG. 1H is a partially exploded top, rear, left side perspective view of the construction device of FIGS. 1-l G;
[0018] FIG. II is a partially exploded bottom, rear, left side perspective view of the
construction device of FIGS. 1-lH;
[0019] FIG. 2 is a top view of an illustrative system of multiple construction devices and a controller device;
[0020] FIG. 2 A is a top view of a cable assembly of the system of FIG. 2;
[0021] FIG. 2B is a front view of the cable assembly of FIGS. 2 and 2A, taken from
line IIB-IIB of FIG. 2 A;
[0022] FIG. 2C is a bottom view of the cable assembly of FIGS. 2-2B, taken from line IIC-IIC of FIG. 2B;
[0023] FIG. 2D is a rear view of the cable assembly of FIGS. 2-2C, taken from line IID-IID of FIG. 2A;
[0024] FIG. 2E is a right side view of the cable assembly of FIGS. 2-2D, taken from
line IIE-IIE of FIG. 2A;
[0025] FIG. 2F is a left side view of the cable assembly of FIGS. 2-2E, taken from line IIF-IIF of FIG. 2 A;
[0026] FIG. 2G is a bottom, rear, right side perspective view of the cable assembly of
FIGS. 2-2F;
[0027] FIG. 2H is a top, front, right side perspective view of another cable assembly coupled to a logic construction device; [0028] FIG. 3 is a schematic view of an illustrative sensor construction device;
[0029] FIG. 3 A is a top view of the sensor construction device of FIG. 3;
[0030] FIG. 3B is a front view of the sensor construction device of FIGS. 3 and 3 A, taken from line IIIB-IIIB of FIG. 3 A;
[0031] FIG. 3C is a bottom view of the sensor construction device of FIGS. 3-3B, taken from line IIIC-IIIC of FIG. 3B;
[0032] FIG. 3D is a rear view of the sensor construction device of FIGS. 3-3C, taken from line IIID-IIID of FIG. 3C;
[0033] FIG. 3E is a right side view of the sensor construction device of FIGS. 3-3D, taken from line IIIE-IIIE of FIG. 3D;
[0034] FIG. 3F is a left side view of the sensor construction device of FIGS. 3-3E, taken from line IIIF-IIIF of FIG. 3D;
[0035] FIG. 3G is a top, front, right side perspective view of the sensor construction device of FIGS. 3-3F;
[0036] FIG. 3H is a partially exploded top, front, right side perspective view of the sensor construction device of FIGS. 3-3G;
[0037] FIG. 4 is a schematic view of another illustrative sensor construction device;
[0038] FIG. 4A is a top view of the sensor construction device of FIG. 4;
[0039] FIG. 4B is a front view of the sensor construction device of FIGS. 4 and 4 A, taken from line IVB-IVB of FIG. 4A;
[0040] FIG. 4C is a bottom view of the sensor construction device of FIGS. 4-4B, taken from line IVC-IVC of FIG. 4B;
[0041] FIG. 4D is a rear view of the sensor construction device of FIGS. 4-4C, taken from line IVD-IVD of FIG. 4C;
[0042] FIG. 4E is a right side view of the sensor construction device of FIGS. 4-4D, taken from line IVE-IVE of FIG. 4D;
[0043] FIG. 4F is a left side view of the sensor construction device of FIGS. 4-4E, taken from line IVF-IVF of FIG. 4D;
[0044] FIG. 4G is a top, front, left side perspective view of the sensor construction device of FIGS. 4-4F; [0045] FIG. 4H is a partially exploded top, front, left side perspective view of the sensor construction device of FIGS. 4-4G;
[0046] FIG. 5 is a schematic view of yet another illustrative sensor construction device;
[0047] FIG. 5 A is a top view of the sensor construction device of FIG. 5;
[0048] FIG. 5B is a front view of the sensor construction device of FIGS. 5 and 5A, taken from line VB-VB of FIG. 5 A;
[0049] FIG. 5C is a bottom view of the sensor construction device of FIGS. 5-5B, taken from line VC-VC of FIG. 5B;
[0050] FIG. 5D is a rear view of the sensor construction device of FIGS. 5-5C, taken from line VD-VD of FIG. 5C;
[0051] FIG. 5E is a right side view of the sensor construction device of FIGS. 5-5D, taken from line VE-VE of FIG. 5D;
[0052] FIG. 5F is a left side view of the sensor construction device of FIGS. 5-5E, taken from line VF-VF of FIG. 5D;
[0053] FIG. 5G is a top, front, right side perspective view of the sensor construction device of FIGS. 5-5F;
[0054] FIG. 5H is a partially exploded top, front, right side perspective view of the sensor construction device of FIGS. 5-5G;
[0055] FIG. 6 is a schematic view of an illustrative power construction device;
[0056] FIG. 6A is a top view of the power construction device of FIG. 6;
[0057] FIG. 6B is a front view of the power construction device of FIGS. 6 and 6 A, taken from line VIB-VIB of FIG. 6A;
[0058] FIG. 6C is a bottom view of the power construction device of FIGS. 6-6B, taken from line VIC-VIC of FIG. 6B;
[0059] FIG. 6D is a rear view of the power construction device of FIGS. 6-6C, taken from line VID-VID of FIG. 6C;
[0060] FIG. 6E is a right side view of the power construction device of FIGS. 6-6D, taken from line VIE-VIE of FIG. 6D;
[0061] FIG. 6F is a left side view of the power construction device of FIGS. 6-6E, taken from line VIF-VIF of FIG. 6D; [0062] FIG. 6G is a top, front, right side perspective view of the power construction device of FIGS. 6-6F;
[0063] FIG. 6H is a partially exploded top, front, right side perspective view of the power construction device of FIGS. 6-6G;
[0064] FIG. 7 is a schematic view of another illustrative power construction device;
[0065] FIG. 7A is a top view of the power construction device of FIG. 7;
[0066] FIG. 7B is a front view of the power construction device of FIGS. 7 and 7A, taken from line VIIB-VIIB of FIG. 7A;
[0067] FIG. 7C is a bottom view of the power construction device of FIGS. 7-7B, taken from line VIIC-VIIC of FIG. 7B;
[0068] FIG. 7D is a rear view of the power construction device of FIGS. 7-7C, taken from line VIID-VIID of FIG. 7C;
[0069] FIG. 7E is a right side view of the power construction device of FIGS. 7-7D, taken from line VIIE-VIIE of FIG. 7D;
[0070] FIG. 7F is a left side view of the power construction device of FIGS. 7-7E, taken from line VIIF-VIIF of FIG. 7D;
[0071] FIG. 7G is a top, front, right side perspective view of the power construction device of FIGS. 7-7F;
[0072] FIG. 7H is a partially exploded top, rear, left side perspective view of the power construction device of FIGS. 7-7G;
[0073] FIG. 8 is a schematic view of an illustrative logic construction device;
[0074] FIG. 8 A is a top view of the construction device of FIG. 8;
[0075] FIG. 8B is a front view of the logic construction device of FIGS. 8 and 8A, taken from line VIIIB-VIIIB of FIG. 8 A;
[0076] FIG. 8C is a bottom view of the logic construction device of FIGS. 8-8B, taken from line VIIIC-VIIIC of FIG. 8B;
[0077] FIG. 8D is a rear view of the logic construction device of FIGS. 8-8C, taken from line VIIID-VIIID of FIG. 8C;
[0078] FIG. 8E is a right side view of the logic construction device of FIGS. 8-8D, taken from line VIIIE-VIIIE of FIG. 8D; [0079] FIG. 8F is a left side view of the logic construction device of FIGS. 8-8E, taken from line VIIIF-VIIIF of FIG. 8D;
[0080] FIG. 8G is a top, rear, left side perspective view of the logic construction device of FIGS. 8-8F;
[0081] FIG. 8H is a partially exploded bottom, rear, left side perspective view of the logic construction device of FIGS. 8-8G;
[0082] FIG. 9 is a schematic view of another illustrative logic construction device;
[0083] FIG. 9A is a top view of the construction device of FIG. 9;
[0084] FIG. 9B is a front view of the logic construction device of FIGS. 9 and 9A, taken from line IXB-IXB of FIG. 8A;
[0085] FIG. 9C is a bottom view of the logic construction device of FIGS. 9-9B, taken from line IXC-IXC of FIG. 9B;
[0086] FIG. 9D is a rear view of the logic construction device of FIGS. 9-9C, taken from line IXD-IXD of FIG. 9C;
[0087] FIG. 9E is a right side view of the logic construction device of FIGS. 9-9D, taken from line lXE-IXE of FIG. 9D;
[0088] FIG. 9F is a left side view of the logic construction device of FIGS. 9-9E, taken from Hne lXF-IXF of FIG. 9D;
[0089] FIG. 9G is a top, front, right side perspective view of the logic construction device of FIGS. 9-9F;
[0090] FIG. 9H is a partially exploded top, front, right side perspective view of the logic construction device of FIGS. 9-9G;
[0091] FIG. 10 is a schematic view of an illustrative action construction device;
[0092] FIG. 1 OA is a top view of the action construction device of FIG. 10;
[0093] FIG. 10B is a front view of the action construction device of FIGS. 10 and 10A, taken from line XB-XB of FIG. 10A;
[0094] FIG. IOC is a bottom view of the action construction device of FIGS. 10-lOB, taken from line XC-XC of FIG. 10B;
[0095] FIG. 10D is a rear view of the action construction device of FIGS. 10- I OC, taken from line XD-XD of FIG. IOC; [0096] FIG. 10E is a right side view of the action construction device of FIGS. 10-lOD, taken from line XE-XE of FIG. 10D;
[0097] FIG. 1 OF is a left side view of the action construction device of FIGS. 10-lOE, taken from line XF-XF of FIG. 10D;
[0098] FIG. 10G is a top, front, right side perspective view of the action construction device of FIGS. 10-lOF;
[0099] FIG. 10H is a partially exploded top, front, right side perspective view of the action construction device of FIGS. 10-lOG;
[0100] FIG. 1 1 is a schematic view of another illustrative action construction device;
[0101] FIG. 1 1 A is a top view of the action construction device of FIG. 1 1 ;
[0102] FIG. 1 IB is a front view of the action construction device of FIGS. 1 1 and 1 1 A, taken from line XIB-XIB of FIG. 1 1 A;
[0103] FIG. 1 1C is a bottom view of the action construction device of FIGS. 1 1-1 IB, taken from line XIC-XIC of FIG. 1 1 B;
[0104] FIG. 1 ID is a rear view of the action construction device of FIGS. 1 1-1 1C, taken from line XID-XID of FIG. 1 1 C;
[0105] FIG. 1 IE is a right side view of the action construction device of FIGS. 1 1-1 ID, taken from line XIE-XIE of FIG. 1 1 D;
[0106] FIG. 1 IF is a left side view of the action construction device of FIGS. 1 1-1 IE, taken from line XIF-XIF of FIG. 1 ID;
[0107] FIG. 1 1G is a top, rear, right side perspective view of the action construction device of FIGS. 11-1 IF;
[0108] FIG. 1 1H is a partially exploded top, front, left side perspective view of the action construction device of FIGS. 1 1-1 1G;
[0109] FIG. 12 is a schematic view of another illustrative action construction device;
[0110] FIG. 12A is a top view of the action construction device of FIG. 12;
[0111] FIG. 12B is a front view of the action construction device of FIGS. 12 and 12A, taken from line XIIB-XIIB of FIG. 12A;
[0112] FIG. 12C is a bottom view of the action construction device of FIGS. 12-12B, taken from line XIIC-XIIC of FIG. 12B; [0113] FIG. 12D is a rear view of the action construction device of FIGS. 12-12C, taken from line XIID-XIID of FIG. 12C;
[0114] FIG. 12E is a right side view of the action construction device of FIGS. 12-12D, taken from line XIIE-XIIE of FIG. 12D;
[0115] FIG. 12F is a left side view of the action construction device of FIGS. 12-12E, taken from line XIIF-XIIF of FIG. 12D;
[0116] FIG. 12G is a top, rear, right side perspective view of the action construction device of FIGS. 12-12F;
[0117] FIG. 12H is a partially exploded top, front, left side perspective view of the action construction device of FIGS. 12-12G;
[0118] FIG. 13 is a schematic view of another illustrative action construction device;
[0119] FIG. 13A is a top view of the action construction device of FIG. 13;
[0120] FIG. 13B is a front view of the action construction device of FIGS. 13 and 13 A, taken from line XIIIB-XIIIB of FIG. 13 A;
[0121] FIG. 13C is a bottom view of the action construction device of FIGS. 13-13B, taken from line XIIIC-XIIIC of FIG. 13B;
[0122] FIG. 13D is a rear view of the action construction device of FIGS. 13-13C, taken from line XIIID-XIIID of FIG. 13C;
[0123] FIG. 13E is a right side view of the action construction device of FIGS. 13-13D, taken from line XIIIE-XIIIE of FIG. 13D;
[0124] FIG. 13F is a left side view of the action construction device of FIGS. 13-13E, taken from line XIIIF-XIIIF of FIG. 13D;
[0125] FIG. 13G is a top, rear, right side perspective view of the action construction device of FIGS. 13-13F;
[0126] FIG. 13H is a partially exploded top, front, left side perspective view of the action construction device of FIGS. 13-13G;
[0127] FIG. 14 is a schematic view of the controller device of FIG. 2;
[0128] FIG. 14A is a top view of the controller device of FIGS. 2 and 14;
[0129] FIG. 15 is a table of exemplary communication protocol packet types of the system of
FIG. 2; [0130J FIGS. 15A-15L are various structures of the communication protocol packet types of the table of FIG. 15;
[0131] FIGS. 16-16E are various diagrams for various communication processes of the system of FIG. 2;
[0132] FIGS. 17A-17R are top views of the controller device of FIGS. 2, 14, and 14A illustrating various screens of a graphical user interface;
[0133] FIGS. 18A-18N are top views of various systems of at least one construction device and the controller device of FIGS. 2, 14, 14A, and 17A-17R illustrating various screens of a graphical user interface;
[0134] FIGS. 19A-19AA illustrate various additional widgets for use in a graphical user interface;
[0135] FIGS. 20A-20Q illustrate various surface portions for various construction devices;
[0136] FIG. 21 A is a top, front, left side perspective view of an illustrative system of multiple construction devices and a mechanical subsystem;
[0137] FIG. 21B is a partially exploded top, front, left side perspective view of the system of FIG. 21 A;
[0138] FIG. 22A is a top, front, right side perspective view of another illustrative system of multiple construction devices and a mechanical subsystem;
[0139] FIG. 22B is a partially exploded top, rear, right side perspective view of the system of FIG. 22A;
[0140] FIG. 23A is a top, front, left side perspective view of another illustrative system of multiple construction devices and a mechanical subsystem;
[0141] FIG. 23B is a partially exploded top, front, right side perspective view of the system of FIG. 23 A;
[0142] FIG. 24A is a top, rear, left side perspective view of another illustrative system of multiple construction devices and a mechanical subsystem; and
[0143] FIG. 24B is a partially exploded top, rear, left side perspective view of the system of FIG. 24A. Detailed Description of the Disclosure
[0144] Various types of construction devices are provided that may be configured to self-calibrate, convey user interface information to a user, and communicate construction device data to one or more other construction devices in a system. Certain mechanical and electrical features of the construction devices may be easy to integrate into projects and products for building things that do things. Each construction device may have a primary active component (e.g., functional component) that may define the primary function of that device, where each functional component may be the determining factor of the cost to make that device (e.g., the functional component, such as a visible light sensor, may make up more than half the cost of producing the construction device), where the processor, memory, and any other component of the construction device may be rudimentary and not make up more than half the cost of manufacturing the device.
CONSTRUCTION DEVICE 100
[0145] FIGS. 1 - 11 show an illustrative construction device 100 that may be coupled to at least one other construction device to form a functional system in accordance with some
embodiments. Construction device 100 may be configured to have at least one specific capability, such that when device 100 is communicatively coupled to at least one other device 100 they may form an original system capable of carrying out a combined function. In this way, each construction device 100 may be utilized as a unique building block to be coupled with other building blocks in one of various ways to build things that do things (e.g., to form an original system with a customized functionality).
[0146] As shown in FIG. 1 , for example, construction device 100 may include a processor component 1 10, a memory component 120, at least one input/output ("I/O") interface (e.g., at least one input I/O interface 150 and/or at least one output I/O interface 160), and a functional component 170. Construction device 100 may also include a bus 1 19 that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 100. Construction device 100 may also be provided with a housing 101 that may at least partially enclose one or more of the components of device 100 for protection from debris and other degrading forces external to device 100. In some embodiments, one or more components of electronic device 100 may be combined or omitted. Moreover, electronic device 100 may include other components not combined or included in FIG. 1 and/or several instances of the components shown in FIG. 1. For the sake of simplicity, only one of each of the components is shown in FIG. 1.
[0147] Construction device 100 may include at least one input/output ("I/O") interface (e.g., at least one input I/O interface 150 and/or at least one output I/O interface 160) that may be configured to communicate data and/or power with another construction device 100 as well as to convey related information to a user of construction device 100. For example, as shown, construction device 100 may include at least one input I/O interface 150, which may include a device input connector component 152 and a device input indicator component 154. Device input connector 152 may be configured to receive data and/or power at construction device 100 that may be communicated from an I/O interface of another construction device, while device input indicator 154 may be configured to convey input user interface information (e.g., visual and/or aural information) to a user of construction device 100, where such input user interface information may be indicative of one or more characteristics of the data and/or power being received by device input connector 152. Alternatively or additionally, as shown, construction device 100 may include at least one output I/O interface 160, which may include a device output connector component 162 and a device output indicator component 164. Device output connector 162 may be configured to communicate data and/or power from construction device 100 to an I/O interface of another construction device, while device output indicator 164 may be configured to convey output user interface information (e.g., visual and/or aural information) to a user of construction device 100, where such output user interface information may be indicative of one or more characteristics of the data and/or power being communicated from device output connector 162.
[0148] Each I/O interface may include any suitable type of connector that may be configured to transmit data from device 100 to another device and/or to receive data at device 100 from another device. For example, in some embodiments, one or both of device connectors 152 and 162 may be configured to communicate data wirelessly between device 100 and another device using any suitable protocol (e.g., Bluetooth™, magnetic field induction, etc.), where one or both of device connectors 152 and 162 may be configured as an antenna. Alternatively, in other embodiments, one or both of device connectors 152 and 162 may be configured to communicate data between device 100 and another device via one or more wired connections, where one or both of device connectors 152 and 162 may be configured as a connector port for a wired connection. As shown in FIGS. 1A-1I, for example, device input connector 152 may include any suitable number of device input connector contacts (e.g., three device input connector contacts 152a- 152c) that may be exposed through a device input connector housing opening 151 of housing 101 for electrically coupling with contacts of a cable (e.g., cable 55 of FIGS. 2-2G, as described below). Similarly, as shown in FIGS. 1A-1 I, for example, device output connector 162 may include any suitable number of device output connector contacts (e.g., three device output connector contacts 162a- 162c) that may be exposed through a device output connector housing opening 161 of housing 101 for electrically coupling with contacts of a cable (e.g., cable 55 of FIGS. 2-2G, as described below).
[0149] Each I/O interface may include any suitable type of indicator that may be configured to convey any suitable type of user interface information to a user of device 100. For example, in some embodiments, one or both of indictors 154 and 164 may be any suitable component configured to convey visual user interface information to a user of device 100 (e.g., a light emitting diode, pixelated display screen, etc.). Alternatively, in other embodiments, one or both of indictors 154 and 164 may be any suitable component configured to convey aural user interface information to a user of device 100 (e.g., an audio speaker, etc.) and/or any suitable component configured to convey tactile user interface information to a user of device 100 (e.g., a nimbler, vibrator, etc.).
[0150] As shown in FIGS. 1A-1 I, for example, device input indicator 154 may include a light guide pipe that may extend from a light source 156 (e.g., at least one light emitting diode ("LED") or a pixelated display) and that may be exposed through a device input indicator housing opening 155 of housing 101 for conveying visual user interface information from light source 156 to a user external to device 100. Alternatively, device input indicator 154 may be a light source itself. In some embodiments, device input indicator housing opening 155 and/or at least a portion of device input indicator 154 exposed through opening 155 may be shaped like an arrow facing into device 100 (e.g., in the same direction that a cable may be extending into opening 151 for when coupled to device input connector 152), which may indicate that input indicator 154 is associated with device input connector 152 of input I/O interface 150. In some embodiments, input connector 152 and input indicator 154 may be provided on the same housing surface of housing 101 (e.g., openings 151 and 155 may be provided through the same housing surface of housing 101). Alternatively, as shown, input connector 152 and input indicator 154 may be provided on adjacent housing surfaces of housing 101 (e.g., opening 151 may be provided through a front surface of housing 101 while opening 155 may be provided proximate to opening 151 but through an adjacent (e.g., perpendicular) top surface of housing 101 (e.g., a top surface of a top housing portion 101t)).
[0151] Similarly, as shown in FIGS. 1A-1 I, for example, device output indicator 164 may include a light guide pipe that may extend from a light source 166 (e.g., at least one light emitting diode ("LED") or a pixelated display) and that may be exposed through a device output indicator housing opening 165 of housing 101 for conveying visual user interface information from light source 166 to a user external to device 100. Alternatively, device output indicator 164 may be a light source itself. In some embodiments, device output indicator housing opening 165 and/or at least a portion of device output indicator 164 exposed through opening 165 may be shaped like an arrow facing away from device 100 (e.g., in the same direction that a cable may be extending out from opening 161 when coupled to device output connector 162), which may indicate that output indicator 164 is associated with device output connector 162 of output I/O interface 160. In some embodiments, output connector 162 and output indicator 164 may be provided on the same housing surface of housing 101 (e.g., openings 161 and 165 may be provided through the same housing surface of housing 101). Alternatively, as shown, output connector 162 and output indicator 164 may be provided on adjacent housing surfaces of housing 101 (e.g., opening 161 may be provided through a rear surface of housing 101 while opening 165 may be provided proximate to opening 161 but through an adjacent
(e.g., perpendicular) top surface of housing 101 (e.g., a top surface of top housing portion 101t)).
[0152] Functional component 170 may be any suitable component configured to provide construction device 100 with a unique functionality that may differ from that of other
construction devices. As described below, each construction device 100 may be one of various types of construction devices (e.g., sensor construction devices, logic construction devices, action construction devices, power construction devices, etc.), each of which may include various particular functional construction devices with various particular capabilities within a particular type of construction device. Functional component 170 may vastly differ from one construction device 100 to the next, such that when various types of construction devices 100 are coupled together in various ways, various systems may be provided with various system functionalities. Functional component 170 may be provided by any suitable hardware elements, software modules, and/or combinations thereof that may enable device 100 to perform a particular device function or functions.
[0153] Processor 1 10 may include any processing circuitry that may be operative to control the operations and performance of one or more components of device 100. For example,
processor 1 10 may receive input data from device input connector 152 and/or drive output data through device output connector 162. Processor 1 10 may leverage functional component 170 to dictate how to handle data that may have been received by input connector 152 and/or to dictate how to generate data that may be later transmitted from output connector 162. Processor 1 10 may also be configured to generate input user interface information (e.g., visual and/or aural information) to be conveyed to a user of construction device 100 via input indicator
component 154, where such input user interface information may be indicative of one or more characteristics of the data being received by input connector 152. Alternatively or additionally, processor 1 10 may be configured to generate output user interface information (e.g., visual and/or aural information) to be conveyed to a user of construction device 100 via output indicator component 164, where such output user interface information may be indicative of one or more characteristics of the data being transmitted from output connector 162.
[0154] Moreover, as shown in FIG. 1 , processor 1 10 may be used to run one or more applications, such as an application 1 13. Application 1 13 may include, but is not limited to, one or more operating system applications, firmware applications, media playback applications, or any other suitable applications. For example, processor 1 10 may load application 1 13 to determine how to properly communicate data with other construction devices (e.g., via I/O interfaces) and/or to determine how to properly convert data received by input connector 152 into data usable by functional component 170 and/or to determine how to properly convert data generated by functional component 170 into data transmittable by output connector 162.
Application 1 13 may be accessed by processor 1 10 from any suitable source, such as from memory 120 (e.g., via bus 1 19) or from another device (e.g., via input connector 152) or from a server (e.g., via a communications component 140). Processor 110 may include a single processor or multiple processors. For example, processor 1 10 may include at least one "general purpose" microprocessor, a combination of general and special purpose microprocessors, instruction set processors, graphics processors, video processors, and/or related chips sets, and/or special purpose microprocessors. Processor 1 10 also may include on board memory for caching purposes. Processor 1 10 may include at least one universal asynchronous receiver/transmitter ("UART") and/or at least one universal synchronous/asynchronous receiver/transmitter
("USART"). In such embodiments, a UART may be configured to communicate data according to 57.6kbaud, 8 data bits, and no parity, for example, where data may be signaled at +3.0 volts, where such a high may be a digital value .
[0155] Memory 120 may include one or more storage mediums, including for example, a hard-drive, flash memory, permanent memory such as read-only memory ("ROM"),
semi-permanent memory such as random access memory ("RAM"), any other suitable type of storage component, or any combination thereof. Memory 120 may include cache memory, which may be one or more different types of memory used for temporarily storing data for construction device applications. Memory 120 may be fixedly embedded within device 100 or may be incorporated onto one or more suitable types of cards that may be repeatedly inserted into and removed from device 100 (e.g., a subscriber identity module ("SIM") card or secure digital ("SD") memory card). Memory 120 may store media data (e.g., music and image files), software (e.g., for implementing functions on device 100), firmware, preference information, any other suitable data, or any combination thereof.
[0156] In some embodiments, construction device 100 may also include a power supply component 130 that can include any suitable circuitry for receiving and/or generating power, and for providing such power to one or more of the other components of device 100. For example, power supply 130 can include one or more batteries for providing power (e.g., when device 100 is acting as a portable device). As another example, power supply 130 can be coupled to a power grid (e.g., when device 100 is not acting as a portable device or when a battery of the device is being charged at an electrical outlet with power generated by an electrical power plant). As yet another example, power supply 130 can be configured to generate power from a natural source (e.g., solar power using solar cells). Power supply 130 can include one or more of a battery (e.g., a gel, nickel metal hydride, nickel cadmium, nickel hydrogen, lead acid, or lithium-ion battery), an uninterruptible or continuous power supply ("UPS" or "CPS"), and circuitry for processing power received from a power generation source (e.g., power generated by an electrical power plant and delivered to the user via an electrical socket or otherwise). The power can be provided by power supply 130 as alternating current ("AC") or direct current ("DC"), and may be processed to transform power or limit received power to particular characteristics. For example, the power can be transformed to or from direct current, and constrained to one or more values of average power, effective power, peak power, energy per pulse, voltage, current (e.g., measured in amperes), or any other characteristic of received power. Power supply 130 can be operative to request or provide particular amounts of power at different times, for example, based on the needs or requirements of device 100 or other construction devices that may be coupled to device 100 (e.g., to request more power when charging a battery than when the battery is already charged). In some embodiments, power supply 130 may be provided with a button 1 15 that may be exposed to a user external to device 100 (see, e.g., FIG. IE), such that the user may turn device 100 on and off. Alternatively or additionally, power supply 130 may be provided with a status indicator 125 (e.g., a light emitting diode ("LED")) that may be exposed to a user external to device 100 (see, e.g., FIG. IE), such that the user may discern how much charge power supply 130 currently has. Alternatively or additionally, power supply 130 may be provided with a charging element 135 (e.g., a micro universal serial bus ("USB") connector or DC connector for coupling to a charging cable, and/or a cell for receiving solar or wireless power).
[0157] In some embodiments, construction device 100 may also include a communications component 140 that may be provided to allow device 100 to communicate with one or more remote devices other than another construction device via input connector 152 and/or output connector 162. Communications component 140 may enable any suitable communications using any suitable communications protocol. For example, communications component 140 may support Wi-Fi (e.g., an 802.1 1 protocol), ZigBee (e.g., an 802.15.4 protocol), WiDi™, Ethernet, Bluetooth™, Bluetooth™ Low Energy ("BLE"), high frequency systems (e.g., 900 MHz, 2.4 GHz, and 5.6 GHz communication systems), infrared, transmission control protocol/internet protocol ("TCP/IP") (e.g., any of the protocols used in each of the TCP/IP layers), Stream Control Transmission Protocol ("SCTP"), Dynamic Host Configuration Protocol ("DHCP"), hypertext transfer protocol ("HTTP"), BitTorrent™, file transfer protocol ("FTP"), real-time transport protocol ("RTP"), real-time streaming protocol ("RTSP"), real-time control protocol ("PvTCP"), Remote Audio Output Protocol ("RAOP"), Real Data Transport Protocol™
("RDTP"), User Datagram Protocol ("UDP"), secure shell protocol ("SSH"), wireless distribution system ("WDS") bridging, any communications protocol that may be used by wireless and cellular telephones and personal e-mail devices (e.g., Global System for Mobile Communications ("GSM"), GSM plus Enhanced Data rates for GSM Evolution ("EDGE"), Code Division
Multiple Access ("CDMA"), Orthogonal Frequency-Division Multiple Access ("OFDMA"), high speed packet access ("HSPA"), multi-band, etc.), any communications protocol that may be used by a low power Wireless Personal Area Network ("6L0WPAN") module, any other
communications protocol, or any combination thereof. Communications component 140 may also include or be electrically coupled to any suitable transceiver circuitry (e.g., transceiver 145) that can enable device 100 to be communicatively coupled to another device (e.g., a host computer, such as controller device 600 of FIGS. 2, 14, and 14A) and communicate with that other device wirelessly (e.g., where transceiver 145 may include an antenna) or via a wired connection (e.g., where transceiver 145 may include a connector port).
[0158] As shown in FIG. 1H, for example, one or more components of device 100 may be electrically coupled to or mechanically supported by a circuit board 1 12, which may incorporate or also support at least a portion of bus 1 19.
[0159] As shown, housing 101 may include two or more housing portions, such as a top housing portion 10 It and a bottom housing portion 101b that may be coupled to each other using any suitable approach for forming combined housing 101. For example, top housing
portion lOlt and bottom housing portion 101b may be coupled to one another via ultrasonic welding or other adhering. Alternatively, housing portions 101b and lOlt may be secured together via one or more mechanical fasteners, such as clamps, snap-fit mechanical features, or screws and threading. For example, as shown in FIGS. 1A-1 I, one or more screws 101s may be fed through respective holes lOlh in bottom housing portion 101b and into respective
threadings 101 g in top housing portion 1011.
[0160] Device input connector housing opening 151 and device output connector housing opening 161 may each be provided through top housing portion l Olt with open bottoms (see, e.g., FIG. I I), such that when housing portions 101b and 10 It are coupled together, bottom housing portion 101b may form the bottom edge of each connector housing opening 151 and 161. Moreover, in some embodiments, as shown, when top housing portion lOlt and bottom housing portion 101b are coupled together, a gap l Olg may be formed along at least a portion of at least one side of housing 101. Gap lOlg may be defined between an external edge of top housing portion lOlt and an external edge of bottom housing portion 101b and may have any suitable depth 10 Id (see, e.g., FIG. ID) that may be configured to receive any suitable mechanical feature of any other suitable component (e.g., a clamp of a mechanical toy of a user that may be coupled to device 100). As shown, there may be a top distance 101th between a top surface of top housing portion lOlt and the top of gap 101 g, a bottom distance lOlbh between a bottom surface of bottom housing portion 101b and the bottom of gap l Ol g, and a gap height lOlgh between the top and bottom of gap lOlg. In some embodiments, top
distance 101th may be 4.5 height units, bottom distance lOlbh may be 1.0 height units, and gap height l Olgh may be 0.5 height units, where each height unit may be 3.2 millimeters, which may be a base height unit of a popular mechanical building block, such as Lego™ blocks provided by The Lego Group of Billund, Denmark. Moreover, housing 101 may include one or more ramps or guides for aiding the passage of a mechanical feature into gap 101 g. For example, as shown in FIG. ID, top housing portion lOlt may include one or more top gap guides lOltg that may be sloped from an external side surface of top housing portion l Olt into gap lOlg, while bottom housing portion 101b may include one or more bottom gap guides lOlbg that may be sloped from an external side surface of bottom housing portion lOlg into gap 101 g. Such gap guides may facilitate the snapping or other positioning of any suitable mechanical feature of any suitable mechanical component (e.g., a user's mechanical toy feature) into or out from gap l Olg. As shown, in some embodiments, gap 101 g may be a continuous band all the way around a periphery of device 100 (e.g., about front, left, rear, and right side surfaces of a hexahedral housing 101). Alternatively, gap 10 lg may be one or more discrete segments along different portions of housing 101. Various other ratios of heights and multiple gaps may also be used for a housing of a construction device. For example, as shown in FIG. 12D, when top housing portion 501CT and middle housing portion 501CM are coupled together, a first gap 501g may be formed along at least a portion of at least one side of housing 501C of device 500C. Gap 501 g may be defined between an external edge of top housing portion 501 CT and an external edge of middle housing portion 501 CM and may have any suitable depth 50 Id that may be configured to receive any suitable mechanical feature of any other suitable component (e.g., a clamp of a mechanical toy of a user that may be coupled to device 500C). As shown, there may be a top distance 501th between a top surface of top housing portion 501CT and the top of gap 50 lg, a middle distance 501mh between a bottom surface of middle housing portion 501CM and the bottom of gap 50 lg, and a gap height 501gh between the top and bottom of gap 50 lg. In some embodiments, top distance 501th may be 4.5 height units, middle distance 501 mh may be 6.0 height units, and gap height 501 gh may be 0.5 height units, where each height unit may be 3.2 millimeters, which may be a base height unit of a popular mechanical building block, such as Lego™ blocks. Moreover, as also shown in FIG. 12D, when middle housing portion 501 CM and bottom housing portion 501CB are coupled together, a second gap 50 lg' may be formed along at least a portion of at least one side of housing 501C of device 500C. Gap 50 lg' may be defined between an external edge of bottom housing portion 501CB and an external edge of middle housing portion 501 CM and may have any suitable depth 50 Id' that may be configured to receive any suitable mechanical feature of any other suitable component (e.g., a clamp of a mechanical toy of a user that may be coupled to device 500C). As shown, there may be a bottom distance 501bh between a bottom surface of bottom housing portion 501CB and the bottom of gap 50 lg', and a gap height 501gh' between the top and bottom of gap 50 l g'. In some embodiments, bottom distance 501bh may be 1.0 height units and gap height 501 gh' may be 0.5 height units, where each height unit may be 3.2 millimeters, which may be a base height unit of a popular mechanical building block, such as Lego™ blocks.
[0161] Moreover, with reference back to FIG. ID, housing 101 may include one or more ramps or guides for aiding the passage of a mechanical feature into gap lOlg. For example, as shown in FIG. ID, top housing portion 10 It may include one or more top gap guides lOltg that may be sloped from an external side surface of top housing portion lOlt into gap l Olg, while bottom housing portion 101b may include one or more bottom gap guides lOlbg that may be sloped from an external side surface of bottom housing portion l Olg into gap 101 g. Such gap guides may facilitate the snapping or other positioning of any suitable mechanical feature of any suitable mechanical component (e.g., a user's mechanical toy feature) into or out from gap lOlg. As shown, in some embodiments, gap lOlg may be a continuous band all the way around a periphery of device 100 (e.g., about front, left, rear, and right side surfaces of a hexahedral housing 101). Alternatively, gap lOlg may be one or more discrete segments along different portions of housing 101. Various other ratios of heights and multiple gaps may also be used for a housing of a construction device
[0162] Moreover, as shown in FIG. 1C, the bottom surface of bottom housing portion 101b may have a width lOl i and a length 1011. In some embodiments, width lOli may be 4.0 planar units and length 1011 may be 4.0 planar units, where each planar unit may be 8.0 millimeters, which may be a base planar dimension unit of a popular mechanical building block, such as Lego™ blocks provided by The Lego Group of Billund, Denmark. Different construction devices 100 may be configured to have any suitable length, width, and height, which may be different from those described above. However, in some embodiments, the length and width of each construction device may be based on (e.g., divisible or a factor of) one or more planar units of a certain dimension, such that all construction devices may facilitate mechanical coupling with certain mechanical components that a user may wish to attach to a construction device along its top or bottom surfaces (e.g., Lego™ building blocks). Similarly, in some embodiments, the height (e.g., 101th, lOlgh, and/or lOlbh) of each construction device may be based on one or more height units of a certain dimension, such that all construction devices may facilitate mechanical coupling with certain mechanical components that a user may wish to attach to a construction device along its height. Various other ratios of widths and lengths may also be used for a housing of a construction device. For example, as shown in FIG. 3C, the bottom surface of a housing 201 A of device 200A may have a width 20 li and a length 2011, where width 20 li may be 3.0 planar units and length 1011 may be 4.0 planar units, where each planar unit may be 8.0 millimeters, which may be a base planar dimension unit of a popular mechanical building block, such as Lego™ blocks. As another example, as shown in FIG. 6C, the bottom surface of a housing 301A of device 300A may have a width 301i and a length 3011, where width 301i may be 5.0 planar units and length 3011 may be 9.0 planar units, where each planar unit may be 8.0 millimeters, which may be a base planar dimension unit of a popular mechanical building block, such as Lego™ blocks. Any other possible ratios are possible, such as 4.0 planar units by 6.0 planar units, as shown by a bottom surface of housing 501C of device 500C of FIG. 12C. As shown, one, some, or all edges between two adjacent surfaces and/or one, some, or all corners between three or more adjacent surfaces of a housing of a construction device may be rounded. Alternatively, one, some, or all edges or corners may be sharp.
[0163] Additionally, as shown in FIG. 1C, a recessed structure lOlr may be provided on a bottom surface of bottom housing portion 101b that may be configured to retain one or more mechanical features of any suitable mechanical building block (e.g., one or more studs of one or more Lego™ blocks). For example, recessed structure lOlr may have a width lOlri and a length lOlrl. In some embodiments, width lOlri may be 3.0 planar units and length l Olrl may be 3.0 planar units, where each planar unit may be 8.0 millimeters, which may be a base planar dimension unit of a popular mechanical building block. Recessed structure lOlr may be configured to retain one or more mechanical features (e.g., Lego™ studs) between an outer edge of recessed structure l Olr and an inner edge of bottom housing portion 101b and/or to retain one or more mechanical features within two inner edge portions of recessed structure lOlr. The depth of such a recessed structure lOlr may be substantially matched to the geometry of a mechanical feature (e.g., the length of a stud extending from a popular mechanical building block (e.g., a Lego™ stud). As another example, as shown in FIG. 6C, two recessed
structures 30 lr and 30 lr' may be provided on a bottom surface of a housing 301 A of device 300 that may be configured to retain one or more mechanical features of any suitable mechanical building block (e.g., one or more studs of one or more Lego™ blocks). For example, recessed structure 301r may have a width 301ri and a length 301rl, where width 301ri may be 4.0 planar units and length 301rl may be 2.0 planar units, where each planar unit may be 8.0 millimeters, which may be a base planar dimension unit of a popular mechanical building block. Recessed structures 30 lr and 30 lr' may be spaced along the surface of housing 301 A, such that each may be configured to retain one or more mechanical features (e.g., Lego™ studs) of the same or different mechanical blocks. Any other possible ratios are possible, such as 3.0 planar units by 5.0 planar units, as shown by a recessed structure 501r of housing 501C of device 500C of FIG. 12C, or 2.0 planar units by 5.0 planar units, as shown by a recessed structure 50 lr' of housing 501D of device 500D of FIG. 13C. Moreover, with reference back to FIG. 1C, one or more adhering patches 101a may be provided along any external portion of housing 101 , such as along a bottom surface of bottom housing portion 101b as shown in FIG. 1 C. Each adhering patch 101a may be made of any suitable material, such as a hook-and-loop fastener
(e.g., Velcro™), a sticker provided with adhesive glue or other substance, or any other suitable element that may enable a user to attach another mechanical component to housing 101 via an adhering patch 101. Each patch 101a may be shaped to match a shape of a portion of recessed structure lOlr (e.g., scalloped shape) or may be of any other suitable geometry. Such features of housing 101 may be configured to enable a user to easily attach mechanical toys and other components to a device 100.
[0164] In some embodiments, when housing 101 is fully assembled (e.g., when top housing portion 1011 and bottom housing portion 101b are coupled together), a liquid proof area may be formed about a device connector and its associated indicator. For example, housing 101 may include one or more features that are configured to extend about at least a portion of an indicator and a connector to form a liquid proof area that is distinct from the remainder of device 100 for preventing liquid (e.g., water) from passing therebetween. For example, as shown in FIG. I I, top housing portion l Olt may include liquid proof housing features 101 w that may extend
downwardly to bottom housing portion 101b or components secured thereon (e.g., board 1 12) that may form a discrete sub-housing around at least a portion of device connector 162 and indicator 164 or at least a portion of device connector 152 and indicator 154 for preventing liquid external to device 100 that may be exposed to an exposed portion of device connector 152/162 (e.g., through opening 151/161) from entering the internal compartment of housing 101. That is, each liquid proof housing feature 101 w may prevent liquid or other debris external to device 100 from passing through housing feature 101 w and into the remainder of device 100.
[0165] In some embodiments, as shown in FIGS. 1-11, board 1 12 may be coupled to or supported by bottom housing portion 101b. Board 1 12 may be sized such that holes lOlh and holes lOlpb through bottom housing portion 101b may be unobstructed. While holes lOlh may be provided for enabling screws 101 s to couple top housing portion l Olt and bottom housing portion 101b, holes lOlpb may be provided through both bottom housing portion 101b and holes lOlpt may be provided through top housing portion 10 It for providing one or more passageways lOlp through housing 101. For example, a hole lOlpt through a top surface of top housing portion l Olt may align with a respective hole lOlpb through a bottom surface of bottom housing portion 101b for providing a passageway lOlp through a fully constructed housing 101 of device 100. Such a passageway may be used for enabling a user to pass thread or any other suitable feature therethrough for any suitable use (e.g., to connect multiple devices 100 together with string).
DATA PACKETS
[0166] As mentioned, construction device 100 may be any suitable type of construction device, including, but not limited to, a sensor construction device, an action construction device, a logic construction device, and a power construction device. The type of functional component 170 that may be provided within a construction device 100 may be varied to dictate the type of its construction device. For example, a sensor construction device 100 may include any suitable sensor functional component 170, such as an infrared receiver functional component or a motion sensor functional component, that may detect a condition of an environment of that sensor construction device 100 for dictating the data to be transmitted by device output connector 162 of that sensor construction device 100. An action construction device 100 may include any suitable action functional component 170, such as an infrared transmitter functional component or a motor functional component, that may be driven or otherwise controlled by the data that is received by device input connector 152 of that action construction device 100. A logic construction device 100 may include any suitable logic functional component 170, such as an inverter functional component or a splitter functional component, that may apply a specific function to the input data received by device input connector 152 of that logic construction device 100 and then use the result of that function application to dictate the data to be transmitted by device output connector 162 of that logic construction device 100. A power construction device 100 may include a power supply component 130 for providing power to any other construction device that may be coupled to that power construction device 100 via a device input connector 152 and/or a device output connector 162 of that power construction device 100, while that power construction device 100 may loop through any data received at its input
connector 152 to its output connector 162 without affecting the function of the data.
Alternatively or additionally, any other type of construction device 100 (e.g., a sensor construction device, a logic construction device, or an action construction device) may include its own power supply component 130 and may not need to rely on receiving power from a coupled power construction device.
[0167] Each construction device 100 may be configured to operate according to at least a default or "NORMAL" communication protocol, where data normally communicated between I/O interfaces of any two different construction devices may follow such a specific NORMAL protocol and may be communicated in one or more NORMAL data packets. For example, as shown in table 700 of FIG. 15, a construction device 100 may be configured to communicate data according to at least one protocol or packet type (e.g., a "NORMAL" packet type, a
"MANAGE" packet type, and a "SMART" packet type of "packet type" column 710 of table 700), where each packet type may include at least one packet format (e.g., at least one of packet formats 750, 755, 760, 765, 770, 775, 780, 785, 790, and 795 of "packet format" column 735 of table 700) for communicating data packets between construction devices. As shown in FIGS. 15-15L, for example, the first byte of each data packet may include a one byte packet header (see, e.g., packet header column 720 of table 700), while any remaining byte or bytes of the data packet may include data that may be manipulatable or consumable by a construction device 100 receiving the data packet (e.g., to carry out a particular function, such as a function of a functional component 170 of that construction device 100), data that may identify the construction device 100 that either generated the data packet or the construction device 100 that is the intended recipient of the data packet, or data that may be utilized for special purposes, as described below. In other embodiments, any other suitable configuration of bits and data types may be employed.
[0168] As shown in FIGS. 15 and 15 A, each construction device 100 may be configured to communicate (e.g., transmit or receive) data according to the NORMAL packet type protocol using a NORMAL_Data_l _Byte packet format 750. Such a NORM AL_Data_ 1 _Byte packet format 750 may include a header (e.g., "NORMAL_Data_l_Byte Header", which may be indicative of this packet format) and a single byte of "NORMAL" data. Such NORMAL data may be generated, manipulated, or consumed by a construction device 100 and may be interpreted as an integer (e.g., an integer between 0 and 255 for a single byte/8 bits of NORMAL data). For example, a sensor construction device 100 may be configured to generate and transmit through at least one device output connector 162 such NORMAL data of a particular value that may be based on particular sensor data detected/generated by a sensor functional component 170 of that sensor construction device 100, where such NORMAL data may be generated and transmitted repeatedly by a sensor construction device 100 (e.g., every 10 milliseconds, such as when a sensor construction device 100 is in a default mode). A construction device 100 may be configured to be in a default mode upon initial boot up, and may always boot into the default mode. In some embodiments, any configuration change of a construction device 100 that may occur during a particular use (e.g., due to a smart mode communication), where such a change may be stored in memory (e.g., non- volatile memory of memory component 120), such changes may be overwritten by the boot sequence of the processor component 1 10 of that device 100 such that device 100 is restored to its initial default mode upon reboot. This may ensure that each time any user attempts to use a construction device 100 of a particular type, it may function as anticipated (e.g., in its default mode) despite any configuration changes that may have taken place during past uses. However, in some embodiments, certain configuration changes, such as calibration changes, that may be made during a particular use of device 100 may be maintained after a reboot.
[0169] A logic construction device 100 may be configured to receive such NORMAL data (e.g., through at least one device input connector 152 of that logic construction device 100), manipulate such received NORMAL data based on a logical function of a logic functional component 170 of that logic construction device 100, and then transmit such manipulated NORMAL data through at least one device output connector 162 of that logic construction device 100. An action construction device 100 may be configured to receive such NORMAL data (e.g., through at least one device input connector 152) and then consume or otherwise act according to such received NORMAL data using an action functional component 170 of that action construction device 100. Such NORMAL data of a NORMAL_Data_lJByte packet format 750 may be unsigned such that a construction device 100 receiving such NORMAL data (e.g., at a device input connector 152 of the receiving construction device 100) may not know the type of construction device (e.g., sensor construction device, logic construction device, etc.) that transmitted such NORMAL data (e.g., from a device output connector 162 of a transmitting construction device 100). Similarly, such NORMAL data of a NORMAL_Data_l_Byte packet format 750 may be configured such that a construction device 100 transmitting such NORMAL data (e.g., from a device output connector 162 of the transmitting construction device 100) may not know the type of construction device (e.g., sensor construction device, logic construction device, etc.) that is to receive such transmitted NORMAL data (e.g., at a device input connector 152 of the receiving construction device 100). Such total abstraction between two construction devices 100 communicating according to the NORMAL packet type protocol may reduce the processing requirements of one or both devices 100 and may reduce the amount of data that may need to be communicated for enabling a functional system of two or more devices 100. By configuring each construction device 100 to have abstraction with each other construction device 100 that it may communicate with according to the NORMAL packet type protocol may enable any construction device 100 to communicate with any other construction device 100, despite any processing or power differences that the two devices may have. For example, if a newer generation device 100 with a faster processor or advanced functionality is communicatively coupled to a first generation device 100 that may have significantly reduced capabilities, the two devices 100 may be enabled to communicate via the NORMAL protocol due to such abstraction. Such abstraction also enables "gateways" to other systems (e.g., a desktop computer may replace a construction device 100 by emulating the NORMAL protocol via an appropriate interface coupling to a construction device 100). Moreover, such abstraction may enable a user to understand that any communicated NORMAL data may be considered "positive" in value (e.g., between 0% and 100% intensity, as proportional to an integer value between 0 and 255 for a single byte/8 bits of NORMAL data) as may be represented by associated user interface information conveyed by an associated I/O indicator 154/164. This user receivable interpretation of NORMAL data via an I/O indicator 154/164 may be very intuitive to a user, where NORMAL data communication may be analogous to water flow whose intensity may be easily represented by user interface information conveyed by an I/O indicator 154/164 (e.g., visually by the brightness of an indicator light or a numeric value of a seven-segment display).
[0170] Each construction device 100 of a certain function may be calibrated by its
manufacturer or may self-calibrate to its environment each time it is turned on (e.g., booted up), such that device 100 may be configured to function a particular way for each potential value of NORMAL data (e.g., for each integer value between 0 and 255 for a single byte/8 bits of NORMAL data) that may be received and/or transmitted by that device 100. For example, each sensor functional component 170 of a particular type (e.g., a motion sensor functional component 170) for a sensor construction device 100 and/or its processor 1 10 may be calibrated such that the same motion detected by two different motion sensor functional components 170 of two different motion sensor construction devices 100 may cause the same value of NORMAL data to be generated and transmitted by those two motion sensor construction devices 100 according to the NORMAL protocol. Similarly, each action functional component 170 of a particular type (e.g., an infrared transmitter functional component 170) for an action construction device 100 and/or its processor 1 10 may be calibrated such that the same NORMAL data value received by two different infrared transmitter functional components 170 of two different infrared transmitter action construction devices 100 may cause each of those two infrared transmitter action construction devices 100 to generate and transmit the same infrared data therefrom. This may ensure consistent functionality when two or more various construction devices 100 are coupled to create a system. When calibrated by its manufacturer (e.g., at a factory), such calibration data may be written into the memory (e.g., non-volatile memory of memory component 120) of the construction device 100 and may be configured as part of the default data or default mode of the device 100.
[0171] Alternatively or additionally, each construction device 100 may be calibrated (e.g., by the manufacturer or via user interaction) such that it may be configured to generate particular user interface information for each potential value of NORMAL data (e.g., for each integer value between 0 and 255 for a single byte/8 bits of NORMAL data) that may be received and/or transmitted by that device 100. For example, each processor 1 10 and each I/O interface of each type of construction device 100 may be calibrated such that at least one characteristic
(e.g., brightness, frequency, volume, etc.) of particular user interface information (e.g., visual and/or aural information) to be conveyed by two different I/O interfaces of the same construction device 100 or by two different I/O interfaces of two different construction devices 100 may be the same when such user interface information is to be indicative of the same particular
NORMAL data value. That is, each construction device 100 may be configured to convey user interface information (e.g., via an input indicator 154 or via an output indicator 164) in a consistent manner for a particular NORMAL data value. When a particular NORMAL data value (e.g., with an integer value of 213) is received by a device input connector 152 or is transmitted by a device output connector 162 of any construction device 100, such device 100 may be calibrated and configured to convey particular user interface information (e.g., of a particular brightness, frequency, volume, etc.) via an appropriate I/O interface indicator (e.g., via an input indicator 154 or via an output indicator 164). This may ensure that consistent user interface information is conveyed by two different construction devices 100 that may be communicating particular NORMAL data with each other in a system. Alternatively or additionally, this may ensure that consistent user interface information is conveyed by two different I/O interfaces of a single construction devices 100 that may be both receiving and transmitting particular NORMAL data.
[0172] In some embodiments, processor component 1 10 may be configured to compute the data value of any communicated NORMAL data to create a pulse-width-modulated ("PWM") waveform or any other suitable user interface information signal that may be used to dictate the user interface information to be conveyed to a user via an appropriate I/O indicator 154/164 (e.g., to adjust the brightness of a light emitting I/O indicator directly proportionally to the data value, where a data value of 0 may result in a user interface information signal that generates no brightness or an off light emitting I/O indicator and where a data value of 255 may result in a user interface information signal that generates maximum brightness or a totally on light emitting I/O indicator). This may be carried out via built-in hardware PWM blocks or via software modules of device 100. Process component 1 10 may be configured with firmware that may compute any NORMAL data and appropriately scale it to generate appropriate user interface information that may appropriately represent the value of that NORMAL data to a user. A line of bus 1 19 from processor component 1 10 to each I/O indicator 154/164 may be utilized to communicate such user interface information to each I/O indicator.
[0173] It is to be appreciated that, in other embodiments, additional packet types of the NORMAL packet type protocol may be provided where more than one byte of NORMAL data may be transmitted per packet. For example, as shown in FIGS. 15 and 15B, one or more construction devices 100 may be configured to communicate (e.g., transmit or receive) data according to the NORMAL packet type protocol using a NORMAL_Data_2_Bytes packet format 755, where such a NORMAL_Data_2_Bytes packet format 755 may include a header (e.g., "NORMAL_Data_2JBytes Header", which may be indicative of this packet format) and two bytes of "NORMAL" data. Such NORMAL data may be generated, manipulated, or consumed by a construction device 100 and may be interpreted as an integer (e.g., an integer between 0 and 65,535 for two bytes/16 bits of NORMAL data). This may enable certain NORMAL data communications to have additional resolution. Both NORMAL data bit-depth types may be communicated in the same system by a single device 100. Each construction device 100 may be configured to handle NORMAL data of each type and calibrated to generate appropriate user interface information for each type (e.g., the same user interface information may be generated for a NORMAL data value of 0 for both NORMAL_Data_2_Bytes packet format 755 and NORMAL_Data_l_Byte packet format 750 and/or the same user interface information may be generated for a NORMAL data value of 65,535 for
NORM AL_Data_2_B te s packet format 755 and a NORMAL data value of 255 for
NORMAL_Data_l_Byte packet format 750). Some construction devices 100 may be configured to transmit or act upon appropriately scaled NORMAL data according to the
NORMAL_Data_2_Bytes packet format 755 in response to receiving NORMAL data according to the NORMAL Data l Byte packet format 750, while other construction devices 100 may be configured to transmit or act upon appropriately scaled NORMAL data according to the NORJVlAL_Data_l_Byte packet format 750 in response to receiving NORMAL data according to the NORMAL_Data_2_Bytes packet format 755, while other construction devices 100 may be configured to transmit or act upon NORMAL data according to the same packet format 750/755 as any received NORMAL data.
SYSTEM 1
[0174] As mentioned, multiple construction devices 100 of various types may be coupled to one another for exchanging data (e.g., NORMAL data) so as to form a functional system. For example, as shown in FIG. 2, a system 1 may include multiple construction devices
(e.g., construction devices 200, 300, 400, and 500, each of which may be similar to construction device 100) that may be communicatively coupled to one another (e.g., via cables 55) in any suitable fashion. As one particular example of system 1 , as shown in FIG. 2, an output connector 262 of a sensor construction device 200 may be coupled to an input connector 352 of a power construction device 300 via a first cable 55 for enabling a first communication 85 therebetween, an output connector 362 of power construction device 300 may be coupled to an input connector 452 of a logic construction device 400 via a second cable 55a for enabling a second communication 85a therebetween, while a first output connector 462 of logic
construction device 400 may be coupled to an input connector 552 of a first action construction device 500 via a third cable 55b for enabling a third communication 85b therebetween.
Moreover, as also shown in FIG. 2 and as described in more detail below, in some particular embodiments of system 1 , a second output connector 462' of logic construction device 400 may be coupled to an input connector 552' of a second action construction device 500' via a fourth cable 55c for enabling a fourth communication 85c therebetween. As described in more detail below with respect to FIGS. 2A-2G, for example, each cable 55 may be configured to include one or more lines 59, which may include at least one data line (e.g., data line 59b) and at least one power line (e.g., a ground power line 59a and a +5 volts power line 59c).
DEVICE 200
[0175] Sensor construction device 200 of system 1 of FIG. 2 may be substantially similar to construction device 100 of FIGS. 1-11 in various ways. For example, as shown, sensor construction device 200 may include a housing 201 that may be similar to housing 101, a processor component 210 that may be similar to processor component 1 10, at least one application 213 that may be similar to application 1 13, a memory component 220 that may be similar to memory component 120, a sensor functional component 270 that may be similar to a sensor functional component 170, and/or at least one output I/O interface 260 that may be similar to output I/O interface 160, where each output I/O interface 260 may include a device output connector 262 and a device output indicator 264 that may be similar to device output
connector 162 and device output indicator 164, respectively.
[0176] Sensor construction device 200 may include any suitable sensor functional
component 270, such as an infrared receiver functional component or a motion sensor functional component, that may detect a condition of an environment of sensor construction device 200 for dictating the data to be transmitted by device output connector 262 of sensor construction device 200. For example, sensor functional component 270 may be configured to detect a condition of an environment of sensor construction device 200 and accordingly generate sensor data based on that detected condition. Then, sensor construction device 200 (e.g., in conjunction with processor component 210, application 213, and/or sensor functional component 270) may be configured to generate and transmit NORMAL data of a particular value (e.g., through output connector 262 as at least a portion of first communication 85, such as along data line 59b of cable 55) that may be based on the particular sensor data detected/generated by sensor functional component 270. When in a default or normal mode of operation, for example, sensor construction device 200 may be configured to generate and transmit such NORMAL data as at least a portion of first communication 85 to power construction device 300 (e.g., via cable 55) at regular intervals, such as every 10 milliseconds. Moreover, sensor construction device 200 may be configured to generate and convey user interface information to a user of device 200 via output indicator 264 that may be related to or otherwise indicative of any NORMAL data being transmitted as at least a portion of first communication 85 via output connector 262.
DEVICE 300
[0177] Power construction device 300 of system 1 of FIG. 2 may be substantially similar to construction device 100 of FIGS. 1-11 in various ways. For example, as shown, power construction device 300 may include a housing 301 that may be similar to housing 101 , a processor component 310 that may be similar to processor component 1 10, at least one application 313 that may be similar to application 1 13, a memory component 320 that may be similar to memory component 120, a power supply component 330 that may be similar to power supply component 130, at least one input I/O interface 350 that may be similar to input I/O interface 150, where each input I/O interface 350 may include a device input connector 352 and a device input indicator 354 that may be similar to device input connector 152 and device input indicator 154, respectively, and/or at least one output I/O interface 360 that may be similar to output I/O interface 160, where each output I/O interface 360 may include a device output connector 362 and a device output indicator 364 that may be similar to device output
connector 162 and device output indicator 164, respectively.
[0178] Power construction device 300 may be configured to loop through any suitable data received at its input connector 352 to its output connector 362 without affecting the function of the data. For example, a bus of power construction component 300 (not shown but similar to bus 1 19 of device 100) may be configured to directly couple at least certain signals
(e.g., NORMAL data signals of first communication 85, which may be on data line 59b of cable 55) from device input connector 352 to device output connector 362 without imposing any functional change thereon (e.g., without changing the particular value of that data), where such NORMAL data may then be transmitted from device output connector 362 of power construction device 300 to logic construction device 400 via cable 55a (e.g., as NORMAL data signals that may be at least a portion of second communication 85 a, which may be on data line 59b of cable 55a). Alternatively, a bus of power construction component 300 (not shown but similar to bus 1 19 of device 100) may be configured to couple at least certain signals (e.g., NORMAL data signals of first communication 85) from device input connector 352 to device output
connector 362 via processor component 320 or any other suitable component of device 300 without imposing any functional change thereon (e.g., without changing the particular value of that data). Moreover, power construction device 300 may be configured to generate and convey user interface information to a user of device 300 via input indicator 354 that may be related to or otherwise indicative of such NORMAL data being received as at least a portion of first communication 85 via input connector 352. Additionally or alternatively, power construction device 300 may be configured to generate and convey user interface information to a user of device 300 via output indicator 364 that may be related to or otherwise indicative of such NORMAL data being transmitted as at least a portion of second communication 85a via output connector 362.
[0179] Power construction device 300 may also include any suitable power supply
component 330 for providing power to any other construction device of system 1 that may be coupled to power construction device 300, either directly or indirectly, via a device input connector 352 and/or a device output connector 362 of power construction device 300. For example, a bus of power construction component 300 (not shown but similar to bus 1 19 of device 100) may be configured to provide power from power supply component 330 of power construction device 300 to any other construction device coupled to any input connector 352 of power construction device 300. In some embodiments, power construction device 300 may transmit power from power supply component 330 to sensor construction device 200 (e.g., via input connector 352 of power construction device 300 and cable 55 to output connector 262 of sensor construction device 200) as at least a portion of first communication 85 (e.g., along at least one of power lines 59a and 59c of cable 55), where such power may be suitable for powering sensor construction device 200 to function in at least one mode (e.g., in at least a default normal mode for sensing environmental conditions and generating/transmitting appropriate NORMAL data out through each of its output connectors 262). Such power may be communicated from device 300 to device 200 in the opposite direction along cable 55 as NORMAL data may be communicated from device 200 to device 300.
[0180] Additionally or alternatively, a bus of power construction component 300 (not shown but similar to bus 1 19 of device 100) may be configured to provide power from power supply component 330 of power construction device 300 to any other construction device coupled to any output connector 362 of power construction device 300. In some embodiments, power construction device 300 may transmit power from power supply component 330 to logic construction device 400 (e.g., via output connector 362 of power construction device 300 and cable 55a to input connector 452 of logic construction device 400) as at least a portion of second communication 85a (e.g., along at least one of power lines 59a and 59c of cable 55a), where such power may be suitable for powering logic construction device 400 to function in at least one mode (e.g., in at least a default normal mode). Such power may be communicated from device 300 to device 400 in the same direction along cable 55a as NORMAL data may be communicated from device 300 to device 400. As also shown in FIG. 2, and described below in more detail, power construction device 300 may also include a communications component 340 that may be similar to communications component 140 and a functional component 370 that may be similar to functional component 170.
DEVICE 400
[0181] Logic construction device 400 of system 1 of FIG. 2 may be substantially similar to construction device 100 of FIGS. 1-11 in various ways. For example, as shown, logic
construction device 400 may include a housing 401 that may be similar to housing 101 , a processor component 410 that may be similar to processor component 1 10, at least one application 413 that may be similar to application 1 13, a memory component 420 that may be similar to memory component 120, a logic functional component 470 that may be similar to a logic functional component 170, at least one input I/O interface 450 that may be similar to input I/O interface 150, where each input I/O interface 450 may include a device input connector 452 and a device input indicator 454 that may be similar to device input connector 152 and device input indicator 154, respectively, and/or at least one output I/O interface 460 that may be similar to output I/O interface 460, where each output I/O interface 460 may include a device output connector 462 and a device output indicator 464 that may be similar to device output
connector 162 and device output indicator 164, respectively. In some embodiments, as shown in FIG. 2 and as described in more detail below, logic construction device 400 may include a first output I/O interface 460, which may include a first device output connector 462 and a first device output indicator 464, as well as a second output I/O interface 460', which may include a second device output connector 462' and a second device output indicator 464'.
[0182] Logic construction device 400 may include any suitable logic functional
component 470, such as an inverter functional component or a splitter functional component, that may apply a specific function to the input data received by device input connector 452 of logic construction device 400 and then use the result of that function application to dictate the data to be transmitted by at least first device output connector 462 of logic construction device 400. For example, logic construction component 400 may be configured to receive NORMAL data through input connector 452 of logic construction device 400 as at least a portion of
communication 85a, which may be the same NORMAL data as transmitted by sensor device output connector 262 as communication 85 and passed on via power construction device 300. Then, logic construction device 400 (e.g., in conjunction with processor component 410, application 413, and/or logic functional component 470) may be configured to manipulate such received NORMAL data based on a logical function of logic functional component 470 and then transmit such manipulated NORMAL data through at least one of first device output
connector 462 (e.g., as at least a portion of communication 85b) and second device output connector 462' (e.g., as at least a portion of communication 85c).
[0183] Moreover, logic construction device 400 may be configured to generate and convey user interface information to a user of device 400 via input indicator 454 that may be related to or otherwise indicative of any NORMAL data being received as at least a portion of second communication 85a via input connector 452. Additionally or alternatively, logic construction device 400 may be configured to generate and convey user interface information to a user of device 400 via first output indicator 464 that may be related to or otherwise indicative of any NORMAL data being transmitted as at least a portion of third communication 85b via first output connector 462. Additionally or alternatively, logic construction device 400 may be configured to generate and convey user interface information to a user of device 400 via second output indicator 464' that may be related to or otherwise indicative of any NORMAL data being transmitted as at least a portion of fourth communication 85c via second output connector 462'.
DEVICE 500
[0184] Action construction device 500 of system 1 of FIG. 2 may be substantially similar to construction device 100 of FIGS. 1-11 in various ways. For example, as shown, action construction device 500 may include a housing 501 that may be similar to housing 101, a processor component 510 that may be similar to processor component 1 10, at least one application 513 that may be similar to application 1 13, a memory component 520 that may be similar to memory component 120, an action functional component 570 that may be similar to an action functional component 170, at least one input I/O interface 550 that may be similar to input I/O interface 150, where each input I/O interface 550 may include a device input connector 552 and a device input indicator 554 that may be similar to device input connector 152 and device input indicator 154, respectively.
[0185] Action construction device 500 may include any suitable action functional
component 570, such as an infrared transmitter functional component or a motor functional component, that may be driven or otherwise controlled by the input data that is received by device input connector 552 of action construction device 500. For example, action construction component 500 may be configured to receive NORMAL data through input connector 552 of action construction device 500 as at least a portion of communication 85b from first logic device connector 462 of logic construction device 400. Then, action construction device 500 (e.g., in conjunction with processor component 510, application 513, and/or action functional component 570) may be configured to consume or otherwise act according to such received NORMAL data using action functional component 570. For example, action functional component 570 may be configured to act in a particular way in response to action construction device 500 receiving NORMAL data of a particular value. Moreover, action construction device 500 may be configured to generate and convey user interface information to a user of device 500 via input indicator 554 that may be related to or otherwise indicative of any
NORMAL data being received as at least a portion of communication 85b via input
connector 552.
[0186] Similarly, action construction device 500' of system 1 of FIG. 2 may be substantially similar to construction device 100 of FIGS. 1-11 in various ways. For example, as shown, action construction device 500' may include a housing 501' that may be similar to housing 101 , a processor component 510' that may be similar to processor component 1 10, at least one application 513' that may be similar to application 1 13, a memory component 520' that may be similar to memory component 120, an action functional component 570' that may be similar to an action functional component 170, at least one input I/O interface 550' that may be similar to input I/O interface 150, where each input I/O interface 550' may include a device input connector 552' and a device input indicator 554' that may be similar to device input
connector 152 and device input indicator 154, respectively.
[0187] Action construction device 500' may include any suitable action functional
component 570', such as an infrared transmitter functional component or a motor functional component, that may be driven or otherwise controlled by the input data that is received by device input connector 552' of action construction device 500'. For example, action construction component 500' may be configured to receive NORMAL data through input connector 552' of action construction device 500' as at least a portion of communication 85c from second logic device connector 462' of logic construction device 400. Then, action construction device 500' (e.g., in conjunction with processor component 510', application 513', and/or action functional component 570') may be configured to consume or otherwise act according to such received NORMAL data using action functional component 570'. For example, action functional component 570' may be configured to act in a particular way in response to action construction device 500' receiving NORMAL data of a particular value. Moreover, action construction device 500' may be configured to generate and convey user interface information to a user of device 500' via input indicator 554' that may be related to or otherwise indicative of any
NORMAL data being received as at least a portion of communication 85c via input
connector 552'.
[0188] Power may be provided to at least one of action components 500 and 500' from power construction device 300 via logic construction device 400. As mentioned, a bus of power construction component 300 may be configured to provide power from power supply
component 330 of power construction device 300 to logic construction device 400 (e.g., via output connector 362 of power construction device 300 and cable 55a to input connector 452 of logic construction device 400) as at least a portion of second communication 85a (e.g., along at least one of power lines 59a and 59c of cable 55a), where such power may be suitable for powering logic construction device 400 to function in at least one mode (e.g., in at least a default normal mode). Moreover, at least some of such power provided from power construction device 300 to logic construction device 400 may be passed on or otherwise provided from logic construction device 400 to first action construction device 500 (e.g., via first output
connector 462 of logic construction device 400 and cable 55b to input connector 552 of first action construction device 500) as at least a portion of third communication 85b (e.g., along at least one of power lines 59a and 59c of cable 55b), where such power may be suitable for powering first action construction device 500 to function in at least one mode (e.g., in at least a default normal mode). Additionally or alternatively, at least some of such power provided from power construction device 300 to logic construction device 400 may be passed on or otherwise provided from logic construction device 400 to second action construction device 500' (e.g., via second output connector 462' of logic construction device 400 and cable 55c to input
connector 552' of second action construction device 500') as at least a portion of fourth communication 85c (e.g., along at least one of power lines 59a and 59c of cable 55c), where such power may be suitable for powering second action construction device 500' to function in at least one mode (e.g., in at least a default normal mode).
FIGS. 3-3H
[0189] One particular example of a sensor construction device that may be used as sensor construction device 200 of system 1 is shown by sensor construction device 200A of
FIGS. 3-3H, which may be substantially similar to sensor construction device 200 of FIG. 2 in various ways. For example, as shown, sensor construction device 200A may include a housing 201 A that may be similar to housing 201, a processor component 21 OA that may be similar to processor component 210, at least one application 213A that may be similar to application 213, a memory component 220A that may be similar to memory component 220, a sensor functional component 270A that may be similar to sensor functional component 270, and an output I/O interface 260A that may be similar to output I/O interface 260, where output I/O interface 260A may include a device output connector 262A exposed through a housing opening 261 A and a device output indicator 264A exposed through a housing opening 265 A that may be similar to device output connector 262 and device output indicator 264, respectively. As shown in FIG. 3, sensor construction device 200A may also include a bus 219A, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless
communication links or paths for transferring data and/or power to, from, or between various other components of device 200A. Moreover, as shown in FIG. 3H, for example, one or more components of device 200A (e.g., one or more of processor component 21 OA, memory component 220A, sensor functional component 270A, and output I/O interface 260A) may be electrically coupled to or mechanically supported by a circuit board 212 A, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 219A.
[0190] Sensor construction device 200A of FIGS. 3-3H may include any suitable sensor functional component 270A, such as a visible light sensor functional component, an invisible light sensor functional component, an infrared receiver sensor functional component, and/or a motion sensor functional component, that may detect a condition of an environment of sensor construction device 200A for dictating the NORMAL data to be generated and transmitted by device output connector 262A of sensor construction device 200A to another device (e.g., to power construction device 300 as at least a portion of first communication 85, such as along data line 59b of cable 55). Moreover, as shown in FIGS. 3D and 3H, sensor construction
device 200A may include a window 271 A that may be provided through any portion of housing 201 A (e.g., through a rear wall of housing 201 A). Window 271 A may be configured to allow any appropriate environmental information (e.g., infrared light, visible light, etc.) to pass therethrough and be received by sensor functional component 270 A in order to generate such NORMAL data. For example, window 271 A may be made of any suitable material, such as glass, plastic, and the like, that may enable the passage of such environmental information into housing 201 A and towards sensor functional component 270A, while at the same time may prevent debris and other degrading forces external to device 200A from entering into
housing 201 A.
[0191] In some embodiments, sensor functional component 270A of sensor construction device 200A of FIGS. 3-3H may be provided as a visible light sensor functional component. Such a visible light sensor functional component 270A may be configured to detect the intensity of visible light existing in the environment of device 200 A (e.g., the intensity of visible light that may travel through window 271 A and be detected by visible light sensor functional
component 270A). Moreover, such a visible light sensor construction device 200A
(e.g., processor component 21 OA, application 213 A, and/or visible light sensor functional component 270A) may be configured to convert such detected intensity of visible light into a particular value of NORMAL data, which may then be transmitted by device 200A through output connector 262A to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2). The particular value of such generated and transmitted NORMAL data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) may vary proportionately with the intensity of visible light detected by visible light sensor functional component 270A, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from output indicator 264A to a user of device 200A may vary proportionately with the intensity of visible light detected by visible light sensor functional component 270A and/or proportionately with the particular value of NORMAL data transmitted by output connector 262 A. [0192] A visible light sensor construction device 200A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1. In some embodiments, visible light sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when visible light sensor functional component 270A detects an absolute dark level (e.g., when window 271 A is completely covered by an opaque element, such as a user's hand). Similarly, visible light sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when visible light sensor functional component 270A detects a maximum brightness level (e.g., when a light sensor of component 270A is fully saturated, such as when a user shines a flashlight directly at window 271 A). Visible light sensor functional
component 270A may be configured to provide a visible light sensor angle with at least a 45° cone through window 271 A. Moreover, visible light sensor construction device 200A may be configured to have no more than a 100 millisecond activation latency (e.g., device 200A may be able to generate and transmit an appropriate NORMAL data packet from output
connector 262 A within 100 milliseconds of a particular intensity of visible light being provided to visible light sensor functional component 270A). Additionally or alternatively, visible light sensor construction device 200A may be configured to have no more than a 100 millisecond deactivation latency. As just one example, by generating and transmitting NORMAL data that may be based on the particular intensity of visible light detected, a visible light sensor construction device 200A including a visible light sensor functional component 270A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the intensity of visible light detected by visible light sensor functional component 270A.
[0193] As another example, by generating and transmitting NORMAL data that may be based on the particular intensity of visible light detected, a visible light sensor construction device 200A including a visible light sensor functional component 270A may be utilized in system 1 to allow an exploding device (e.g., a housing separating action construction device 500C) to explode when an intensity of visible light detected by visible light sensor functional component 270A increases above a particular threshold (e.g., when the value of NORMAL data generated and transmitted by visible light sensor construction device 200A is above an integer 127 for a particular NORMAL_Data_l_Byte packet format 750). In some embodiments, processor component 21 OA and/or application 213 A of visible light sensor construction device 200A may be specially configured to take into account rate of change of detected visible light when generating appropriate NORMAL data. For example, device 200A may be configured to utilize hysteresis not only to consider the currently detected visible light but also to consider previously detected visible light when generating appropriately valued NORMAL data. That is, rather than generating NORMAL data that is purely proportionate to the currently detected amount of visible light, device 200A may be configured to generate NORMAL data with a value that is based not only on the currently detected amount of visible light but also previous values. This may enable device 200A to generate NORMAL data that is more accurately representative of the conditions in which device 200A is subjected. For example, if device 200A were in a completely dark room than a minimal amount of light (e.g., 500 lumens) were exposed to device 200A, the resulting NORMAL data generated by device 200A indicative of that new light may be different (e.g., greater, so as to cause an explode device 500C) than the NORMAL data that might be generated by device 200A if it were exposed to that same minimal light (e.g., 500 lumens) after having just been exposed to similar but slightly less light (e.g., 450 lumens). This may enable device 200A to "bump start" an output value by providing weight to previous light readings (e.g., by considering last few functional data samples from functional component 270A for considering rate of change of sensed data). Such positive time-based bias for derivative data processing is just one of countless examples of how the processing capabilities of a processor component (e.g., processor 21 OA) of a
construction device may be configured to enable more sophisticated data generation than an otherwise linear functional component (e.g., functional component 270A) might allow.
[0194] In some embodiments, sensor functional component 270 A of sensor construction device 200 A of FIGS. 3-3H may be provided as an invisible light sensor functional component. Such an invisible light sensor functional component 270A may be configured to detect the intensity of invisible light existing in the environment of device 200A (e.g., the intensity of infrared light that may travel through window 271 A and be detected by infrared light sensor functional component 270A). Moreover, such an invisible light sensor construction device 200A (e.g., processor component 21 OA, application 213 A, and/or invisible light sensor functional component 270A) may be configured to convert such detected intensity of invisible light into a particular value of NORMAL data, which may then be transmitted by device 200A through output connector 262A to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2). The particular value of such generated and transmitted NORMAL data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) may vary proportionately with the intensity of invisible light detected by invisible light sensor functional component 270A, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from output indicator 264A to a user of device 200A may vary proportionately with the intensity of invisible light detected by invisible light sensor functional component 270A and/or proportionately with the particular value of NORMAL data transmitted by output connector 262 A.
[0195] An invisible light sensor construction device 200A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1. In some embodiments, invisible light sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when invisible light sensor functional component 270A detects no invisible light. Similarly, invisible light sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when invisible light sensor functional component 270A detects a maximum brightness level of invisible light (e.g., when an invisible light sensor of component 270A is fully saturated). Invisible light sensor functional component 270A may be configured to provide an invisible light sensor angle with at least a 30° cone through window 271 A. Moreover, invisible light sensor construction device 200 A may be configured to have no more than a 100 millisecond activation latency (e.g., device 200A may be able to generate and transmit an appropriate NORMAL data packet from output connector 262A within 100 milliseconds of a particular intensity of invisible light being provided to invisible light sensor functional component 270A). Additionally or alternatively, invisible light sensor construction device 200A may be configured to have no more than a 100 millisecond deactivation latency. As just one example, by generating and transmitting NORMAL data that may be based on the particular intensity of invisible light detected, an invisible light sensor construction device 200A including an invisible light sensor functional component 270A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the intensity of invisible light detected by invisible light sensor functional component 270A.
[0196] In some embodiments, sensor functional component 270A of sensor construction device 200A of FIGS. 3-3H may be provided as an infrared receiver sensor functional component. Such an infrared receiver sensor functional component 270A may be configured to detect an infrared light signal that may include specific data that may be encoded and transmitted via that infrared light signal towards component 270A (e.g., an infrared light signal that may travel through window 271 A and be received by infrared receiver sensor functional
component 270A). Moreover, such an infrared receiver sensor construction device 200A (e.g., processor component 21 OA, application 213 A, and/or infrared receiver sensor functional component 270A) may be configured to decode such a detected infrared light signal into a particular value of NORMAL data, which may then be transmitted by device 200 A through output connector 262A to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2). The particular value of such NORMAL data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) to be transmitted by infrared receiver sensor construction device 200A may be defined by the data encoded in the infrared light signal received by infrared receiver sensor functional component 270A. For example, the entity that transmitted the infrared light signal (e.g., an infrared transmitter action construction device 500) may have encoded the particular value of such NORMAL data into the infrared light signal that is received by infrared receiver sensor construction device 200A. Thus, the particular value of such NORMAL data to be transmitted by infrared receiver sensor construction device 200A (e.g., via output
connector 262A) may be equal to or directly dependent on the value of the data encoded in the infrared light signal received by infrared receiver sensor functional component 270A, rather than varying proportionately to or depending on the intensity of infrared light detected by infrared light sensor functional component 270A. Any suitable encoding scheme may be utilized by an infrared transmitter action construction device 500 (e.g., by an infrared transmitter action construction device 500A) to encode data in a transmitted infrared light signal, such as Manchester coding, and any respective decoding scheme may be utilized by infrared receiver sensor construction device 200A to decode such data from a received infrared light signal.
Moreover, a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from output indicator 264A to a user of device 200A may vary proportionately with the data encoded in an infrared light signal received by infrared receiver sensor functional component 270A and/or proportionately with the particular value of NORMAL data transmitted by output connector 262A.
[0197] An infrared receiver sensor construction device 200A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1. An infrared receiver sensor
construction device 200A may not require any particular calibration as there may be no variance between received infrared signals that are encoded with data (e.g., digitally encoded by an infrared transmitter action construction device 500). That is, the data that may be encoded into an infrared signal that may be received and decoded by infrared receiver sensor construction device 200A may have the same resolution of values as NORMAL data of a NORMAL data packet (e.g., integral values 0 to 255 for a particular NORMAL_Data_l_Byte packet
format 750). An infrared receiver sensor functional component 270A may be configured to provide an infrared light sensor angle with at least a 30° cone through window 271 A and should be robust to visible light (e.g., daylight). As just one example, by generating and transmitting NORMAL data that may be based on particular data encoded into a received infrared light signal, an infrared receiver sensor construction device 200A including an infrared receiver sensor functional component 270A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the value of the data encoded into the received infrared light signal. For example, when the infrared light signal encoded with particular data is transmitted from an infrared transmitter action construction device 500 and received by an infrared receiver sensor construction device 200A, it may be as if that encoded data (e.g., NORMAL data) were instead transmitted from device 500 to device 200A via a cable 55. [0198] In some embodiments, sensor functional component 270A of sensor construction device 200A of FIGS. 3-3H may be provided as a motion sensor functional component. Such a motion sensor functional component 270A (e.g., a passive infrared sensor ("PIR")) may be configured to detect the amount (e.g., speed) of motion existing in a field of view of such a component (e.g., the amount of motion existing in the environment of device 200A that may be detected by such a motion sensor functional component 270A through window 271 A of device 200A). Moreover, such a motion sensor construction device 200A (e.g., processor component 21 OA, application 213A, and/or motion sensor functional component 270A) may be configured to convert such detected amount of motion into a particular value of NORMAL data, which may then be transmitted by device 200A through output connector 262A to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2). The particular value of such generated and transmitted NORMAL data
(e.g., representative of an integer between 0 and 255 for a particular NORMAL Data l Byte packet format 750) may vary proportionately with the amount of motion detected by motion sensor functional component 270A, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from output indicator 264A to a user of device 200A may vary proportionately with the amount of motion detected by motion sensor functional
component 270 A and/or proportionately with the particular value of NORMAL data transmitted by output connector 262A.
[0199] A motion sensor construction device 200A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function
appropriately and consistently within system 1. In some embodiments, motion sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when no motion occurs in a field of view of motion sensor functional component 270A. Similarly, motion sensor construction device 200A may be configured or otherwise calibrated to generate and transmit NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when motion sensor functional component 270A detects a maximum amount of movement (e.g., when a user rapidly waves a hand with fingers spread out in front of window 271 A). Motion sensor functional component 270A may be configured to provide a field of view through window 271 A of any suitable angles, such as a 45° angle, such that detected motion must occur substantially in front of window 271 A. Moreover, motion sensor functional component 270A may be configured to detect motion in any suitable range of distances from window 271 A, such as a range between 10 feet and 40 feet. For example, motion sensor functional component 270A may be configured to detect a small thermal mass, such as a pet, from passing by window 271 A. Motion sensor construction device 200A may be configured to have no more than a 50 millisecond update latency (e.g., device 200A may be able to generate and transmit an appropriate NORMAL data packet from output connector 262A within
50 milliseconds of a particular amount of motion being provided in front of window 271 A to motion sensor functional component 270A). As just one example, by generating and
transmitting NORMAL data that may be based on the particular amount of motion detected, a motion sensor construction device 200A including a motion sensor functional component 270A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the amount of motion detected by motion sensor functional
component 270A.
[0200] Another particular example of a sensor construction device that may be used as sensor construction device 200 of system 1 is shown by sensor construction device 200B of
FIGS. 4-4H, which may be substantially similar to sensor construction device 200 of FIG. 2 in various ways. For example, as shown, sensor construction device 200B may include a housing 20 IB that may be similar to housing 201, a processor component 210B that may be similar to processor component 210, at least one application 213B that may be similar to application 213, a memory component 220B that may be similar to memory component 220, a sensor functional component 270B that may be similar to sensor functional component 270, and an output I/O interface 260B that may be similar to output I/O interface 260, where output I/O interface 260B may include a device output connector 262B exposed through a housing opening 261 B and a device output indicator 264B exposed through a housing opening 265B that may be similar to device output connector 262 and device output indicator 264, respectively. As shown in FIG. 4, sensor construction device 200B may also include a bus 219B, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 200B. Moreover, as shown in FIG. 4H, for example, one or more components of device 200B (e.g., one or more of processor component 21 OB, memory component 220B, sensor functional component 270B, and output I/O interface 260B) may be electrically coupled to or mechanically supported by a circuit board 212B, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion ofbus 219B.
[0201] Sensor construction device 200B of FIGS. 4-4H may include any suitable user- variable sensor functional component 270B, such as a control knob functional component, that may detect an active selection of a particular value from a user in the environment of sensor construction device 200B for dictating the NORMAL data to be generated and transmitted by device output connector 262B of sensor construction device 200B to another device (e.g., to power construction device 300 as at least a portion of first communication 85, such as along data line 59b of cable 55). For example, as shown in FIGS. 4A, 4B, and 4D-4H, such a user-variable sensor construction device 200B (e.g., such a user-variable sensor functional component 270B of device 200B) may include a sensor user interface element 274B that may extend from within housing 20 IB to a user of device 200B through a sensor housing opening 275B, where opening 275B may be provided through any portion of housing 20 I B (e.g., through a top wall of housing 20 I B, which may also include housing opening 265B for exposing output
indicator 264B). Sensor user interface element 274B may be configured to allow a user of device 200B to select any particular value of a given range that may be detected by user-variable sensor functional component 270B in order to generate such NORMAL data. For example, as shown, sensor user interface element 274B may be a control knob that may be rotated through various positions by a user (e.g., about an axis A of FIGS. 4A and 4B in either a clockwise direction of arrow CW of FIG. 4A or a counterclockwise direction of arrow CCW of FIG. 4A), where such rotation may be detected by a sensor of user-variable sensor functional
component 270B. In other embodiments, sensor user interface element 274B may be configured to be moved through various positions in any other suitable manner (e.g., linearly). Additionally or alternatively, sensor user interface element 274B may be moved through various positions by an intermediate element in the environment of device 200B and not directly by a user. For example, the geometry of sensor user interface element 274B may be configured to interact with a mechanical toy element, such as a mechanical spline of a drive shaft of a toy (e.g., a LEGO™ toy system), such that sensor user interface element 274B may move in conjunction with movement of that mechanical toy element.
[0202] In some embodiments, user-variable sensor functional component 270B of user-variable sensor construction device 200B of FIGS. 4-4H may be provided to detect the variable position of sensor user interface element 274B (e.g., a position that may be variable by a user through the rotation or any other suitable movement of sensor user interface element 274B). Moreover, such a user-variable sensor construction device 200B (e.g., processor component 21 OB,
application 213B, and/or user- variable sensor functional component 270B) may be configured to convert such detected position of sensor user interface element 274B into a particular value of NORMAL data, which may then be transmitted by device 200B through output connector 262B to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2). The particular value of such generated and transmitted NORMAL data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l _Byte packet format 750) may vary proportionately with the position of sensor user interface element 274B detected by user-variable sensor functional component 270B, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from output indicator 264B to a user of device 200B may vary proportionately with the position of sensor user interface element 274B selected by the user and detected by user-variable sensor functional component 270B and/or proportionately with the particular value of NORMAL data transmitted by output connector 262B.
[0203] A user-variable sensor construction device 200B may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1. In some embodiments, user-variable sensor construction device 200B may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when user-variable sensor functional component 270B detects sensor user interface element 274B at a first extreme position (e.g., at a position where sensor user interface element 274B may not be rotated any further in a first particular direction, such the clockwise direction of arrow CW of FIG. 4A). Similarly, user-variable sensor construction device 200B may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when user-variable sensor functional component 270B detects sensor user interface element 274B at a second extreme position (e.g., at a position where sensor user interface element 274B may not be rotated any further in a second particular direction, such the counterclockwise direction of arrow CCW of FIG. 4A). User-variable sensor construction device 200B may be configured to have no more than a 50 millisecond update latency
(e.g., device 200B may be able to generate and transmit an appropriate NORMAL data packet from output connector 262B within 50 milliseconds of a particular position of sensor user interface element 274B being selected by a user). As just one example, by generating and transmitting NORMAL data that may be based on the particular user-variable position of sensor user interface element 274B, a user-variable sensor construction device 200B including a user-variable sensor functional component 270B may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the particular position of sensor user interface element 274B detected by user-variable sensor functional
component 270B.
[0204] In some embodiments, sensor user interface element 274B may be rotated between two limits (e.g., between 0° and 330°, with a physical stop of about 30° therebetween), where each limit is associated with generation of a respective one of a minimum NORMAL data value and a maximum NORMAL data value. In other embodiments, sensor user interface element 274B may be continuously rotated with a variable angular velocity or with a variable angular acceleration that may be associated with generation of a variable NORMAL data value. In some embodiments, sensor user interface element 274B may be continuously rotated between discrete positions that may be indexed (e.g., via audible clicks to a user), where alternating positions are associated with associated minimum and maximum NORMAL data values (e.g., rotations between three consecutive discrete positions may generate the minimum NORMAL data value, the maximum NORMAL data value, and then the minimum NORMAL data value).
Alternatively, in some embodiments, sensor user interface element 274B may be continuously rotated between discrete positions that may be indexed (e.g., via audible clicks to a user), where each movement between two positions is associated with a discrete generation of a maximum NORMAL data value followed by generation of minimum NORMAL data values (e.g., to momentarily pulse an output NORMAL data transmission with each discrete movement of sensor user interface element 274B.
[0205] Yet another particular example of a sensor construction device that may be used as sensor construction device 200 of system 1 is shown by sensor construction device 200C of FIGS. 5-5H, which may be substantially similar to sensor construction device 200 of FIG. 2 in various ways. For example, as shown, sensor construction device 200C may include a housing 201C that may be similar to housing 201, a processor component 2 IOC that may be similar to processor component 210, at least one application 213C that may be similar to application 213, a memory component 220C that may be similar to memory component 220, and a sensor functional component 270C that may be similar to sensor functional component 270. Sensor construction device 200C may also include at least a first output I/O interface 260C that may be similar to output I/O interface 260, where first output I/O interface 260C may include a first device output connector 262C exposed through a first housing opening 261C and a first device output indicator 264C exposed through a first housing opening 265C that may be similar to device output connector 262 and device output indicator 264, respectively. Moreover, in some embodiments, sensor construction device 200C may also include at least one additional output I/O interface, such as a second output I/O interface 260C that may be similar to output I/O interface 260, where second output I/O interface 260C may include a second device output connector 262C exposed through a second housing opening 261C and a second device output indicator 264C exposed through a second housing opening 265C that may be similar to device output connector 262 and device output indicator 264, respectively. As shown in FIG. 5, sensor construction device 200C may also include a bus 219C, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of
device 200C. Moreover, as shown in FIG. 5H, for example, one or more components of device 200C (e.g., one or more of processor component 2 IOC, memory component 220C, sensor functional component 270C, first output I/O interface 260C, and/or second output I/O
interface 260C) may be electrically coupled to or mechanically supported by a circuit board 212C, which may be similar to circuit board 1 12 of device 100, and which may
incorporate or also support at least a portion of bus 219C. [0206] Sensor construction device 200C of FIGS. 5-5H may include any suitable movement sensor functional component 270C, such as an accelerometer functional component, that may detect one or more types of movement of sensor construction device 200C for dictating the NORMAL data to be generated and transmitted by at least one device output connector
(e.g., first output connector 262C and/or second output connector 262C) of sensor construction device 200C to another device (e.g., to power construction device 300 as at least a portion of first communication 85, such as along data line 59b of cable 55). For example, movement sensor functional component 270C may include any suitable motion sensor operative to detect one or more types of movement of sensor construction device 200C. In some embodiments, movement sensor functional component 270C may include one or more three-axis acceleration motion sensors (e.g., an accelerometer) operative to detect linear acceleration in three directions (i.e., the x- or left/right direction, the y- or up/down direction, and the z- or forward/backward direction). As another example, movement sensor functional component 270C may include one or more single-axis or two-axis acceleration motion sensors, which may be operative to detect linear acceleration only along each of the x- or left/right direction and the y- or up/down direction, or along any other pair of directions. In some embodiments, movement sensor functional component 270C may include an electrostatic capacitance (e.g., capacitance-coupling) accelerometer that is based on silicon micro-machined micro electro-mechanical systems ("MEMS") technology, including a heat-based MEMS type accelerometer, a piezoelectric type accelerometer, a piezo-resistance type accelerometer, or any other suitable accelerometer.
Movement sensor functional component 270C may be operative to directly or indirectly detect rotation, rotational movement, angular displacement, tilt, position, orientation, motion along a non-linear (e.g., arcuate) path, or any other non-linear motions of movement sensor construction device 200C. In some embodiments, movement sensor functional component 270C may alternatively or additionally include one or more gyro-motion sensors or gyroscopes for detecting rotational movement. For example, movement sensor functional component 270C may include a rotating or vibrating element.
[0207] Moreover, such a movement sensor construction device 200C (e.g., processor component 2 IOC, application 213C, and/or movement sensor functional component 270C) may be configured to convert such detected movement of device 200C into one or more particular values of NORMAL data, which may then be transmitted by device 200C through one or more output connectors (e.g., one or more of output connectors 262C and 262C) to another construction device (e.g., as at least a portion of first communication 85 along cable 55 of FIG. 2). The particular value of such generated and transmitted NORMAL data
(e.g., representative of an integer between 0 and 255 for a particular NORM AL_Data_l_Byte packet format 750) may vary proportionately with the direction and/or magnitude of a movement detected by movement sensor functional component 270C, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from an output indicator
(e.g., output indicator 264C and/or output indicator 264C) to a user of device 200C may vary proportionately with the direction and/or magnitude of a movement detected by movement sensor functional component 270C and/or proportionately with the particular value of NORMAL data transmitted by an output connector (e.g., one or more of output connectors 262C and 262C).
[0208] A movement sensor construction device 200C may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1. In some embodiments, movement sensor construction device 200C may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) from a particular one of device output connectors 262C and 262C when device 200C is laying flat along a particular axis associated with that particular device output connector and may be configured or otherwise calibrated to generate and transmit NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) from a particular one of device output connectors 262C and 262C when device 200C is accelerated at a full scale value along the particular axis associated with that particular device output connector. For example, first device output connector 262C of device 200C may be configured to transmit NORMAL data associated with acceleration intensity of a first particular axis of device 200C while second device output connector 262C of device 200C may be configured to transmit NORMAL data associated with acceleration intensity of a second particular axis of device 200C (e.g., an axis orthogonal to the first particular axis). For example, full scale acceleration along a particular axis may not be indicative of device 200C tilted orthogonal to that axis, but rather may be indicative of shaking of device 200C at a particular intensity along that axis. As just one example, by generating and transmitting NORMAL data that may be based on the particular direction and/or magnitude of a detected movement of device 200C, a movement sensor construction device 200C including a movement sensor functional component 270D may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to move in a direction based on the direction of movement detected by movement sensor functional component 270D and/or to move with a speed based on the magnitude of movement detected by movement sensor functional
component 270D.
[0209] One particular example of a power construction device that may be used as power construction device 300 of system 1 is shown by power construction device 300A of
FIGS. 6-6H, which may be substantially similar to power construction device 300 of FIG. 2 in various ways. For example, as shown, power construction device 300 A may include a housing 301A that may be similar to housing 301 , a processor component 310A that may be similar to processor component 310, at least one application 313 A that may be similar to application 313, a memory component 320A that may be similar to memory component 320, a power supply component 330A that may be similar to power supply component 330, a communications component 340A that may be similar to communications component 340, and a functional component 370A that may be similar to functional component 370. Power
construction device 300 A may also include at least a first set of input and output I/O interfaces, where such a first set of I/O interfaces may include a first input I/O interface 350A that may be similar to input I/O interface 350 and a first output I/O interface 360A that may be similar to output I/O interface 360. First input I/O interface 350A may include a first device input connector 352 A exposed through a first housing opening 351 A and a first device input indicator 354 A exposed through a first housing opening 355 A that may be similar to device input connector 352 and device input indicator 354, respectively, while first output I/O interface 360A may include a first device output connector 362 A exposed through a first housing opening 361 A and a first device output indicator 364A exposed through a first housing opening 365A that may be similar to device output connector 362 and device output indicator 364, respectively. A loop-through icon 359 A may be provided on an exterior of housing 301 A to associate at least a portion of an input I/O interface 350 A and at least a portion of an output I/O interface 360 A that are part of the same set of input and output I/O interfaces (e.g., loop-through icon 359A may be provided on a top surface of housing 301 A to visually link first device input indicator 354A and first housing opening 355A to first device output indicator 364A and first housing opening 365A, as shown in FIG. 6A). As shown in FIGS. 6A-6H, but not FIG. 6, for example, power construction device 300 A may also include one or more additional sets of input and output I/O interfaces, such as a second set of I/O interfaces may include a second input I/O interface 350A' that may be similar to input I/O interface 350 (e.g., with respective elements 351 A', 352A', 354A', and 355 A') and a second output I/O interface 360 A' that may be similar to output I/O interface 360 (e.g., with respective elements 361 A', 362A', 364A', and 365A') with a
loop-through icon 359A', and such as a third set of I/O interfaces may include a third input I/O interface 350A" that may be similar to input I/O interface 350 (e.g., with respective
elements 351 A", 352A", 354A", and 355 A") and a third output I/O interface 360A" that may be similar to output I/O interface 360 (e.g., with respective elements 361 A", 362A", 364A", and 365A") with a loop-through icon 359A".
[0210] As shown in FIG. 6, power construction device 300A may also include a bus 319A, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 300A. Moreover, as shown in FIG. 6H, for example, one or more components of device 300A (e.g., one or more of processor component 310A, memory component 320A, communications component 340A, functional component 370A, any one or more of input I/O interfaces 350A-350A", and/or any one or more of output I/O
interfaces 360A-360A") may be electrically coupled to or mechanically supported by a circuit board 312 A, which may be similar to circuit board 1 12 of device 100, and which may
incorporate or also support at least a portion of bus 319 A. Moreover, as shown in FIGS. 6-6H, power supply component 330A of construction device 300A may also include a button 315A that may be exposed to a user external to device 300 A, such that the user may turn device 300 A on and off. Alternatively or additionally, power supply 330A may be provided with a status indicator 325A (e.g., a light emitting diode ("LED")) that may be exposed to a user external to device 300A, such that the user may discern how much charge power supply 330A currently has. Alternatively or additionally, power supply 330A may be provided with a charging
element 335A (e.g., a micro universal serial bus ("USB") connector or DC connector for coupling to a charging cable). Alternatively or additionally, communications component 340A may also include or be electrically coupled to any suitable transceiver circuitry (e.g., transceiver 345 A) that can enable device 300A to be communicatively coupled to another device (e.g., a host computer, such as controller device 600 of FIGS. 2, 14, and 14A) and communicate with that other device wirelessly (e.g., where transceiver 345A may include an antenna) or via a wired connection (e.g., where transceiver 345A may include a connector port). In some embodiments, as shown in FIG. 6D, charging element 335A and transceiver 345A may be provided as a single port on device 300A (e.g., a USB connector port that may communicate both power for power supply 330A and data for communications component 340A). In some embodiments, power supply 330 A may be a battery that must be charged via charging
element 335A, while, in other embodiments, power supply 330A may be a replaceable battery that may be easily swapped with another battery by a user of power construction device 300A.
[0211] As described above with respect to power construction device 300 of FIG. 2, power construction device 300A may be configured to loop through any suitable data received at an input connector of any one of its sets of I/O interfaces (e.g., input connector 352A, 352A', and/or 352A") to a respective output connector of that set of I/O interfaces (e.g., output connector 362A, 362A', and/or 362A") without affecting the function of the data. For example, bus 319A of power construction component 300 A may be configured to directly couple at least certain signals (e.g., NORMAL data signals) received from first device input connector 352A to first device output connector 362 A without imposing any functional change thereon
(e.g., without changing the particular value of that data), where such NORMAL data may then be transmitted from first device output connector 362 A of power construction device 300 A to another construction device. Alternatively, bus 319A of power construction component 300A may be configured to couple at least certain signals (e.g., NORMAL data signals) from second device input connector 352 A' to second device output connector 362 A' via processor
component 31 OA or any other suitable component of device 300 A without imposing any functional change thereon (e.g., without changing the particular value of that data). In some embodiments, power construction device 300 A may be configured such that any data looped through one set of I/O interfaces (e.g., a first set where data is looped from first input
connector 352 A to first output connector 362 A) may be kept completely independent and distinct from any data looped through another set of I/O interfaces (e.g., a second set where data is looped from second input connector 352A' to second output connector 362A'). [0212] Moreover, as described above with respect to power construction device 300 of FIG. 2, power construction device 300A may be configured to generate and convey user interface information to a user of device 300A via an input indicator (e.g., input indicator 354A, 354A', and/or 354A") that may be related to or otherwise indicative of such NORMAL data being received by an associated input connector (e.g., input connector 352A, 352A', and/or 352A", respectively). Additionally or alternatively, power construction device 300A may be configured to generate and convey user interface information to a user of device 300 A via an output indicator (e.g., output indicator 364A, 364A', and/or 364A") that may be related to or otherwise indicative of such NORMAL data being transmitted by an associated output connector
(e.g., output connector 362A, 362A', and/or 362A", respectively). As also described above with respect to power construction device 300 of FIG. 2, power construction device 300A may include any suitable power supply component 330A for providing power to any other
construction device that may be coupled to power construction device 300 A, either directly or indirectly, via any input connector (e.g., input connector 352A, 352A', and/or 352A") and/or via any output connector (e.g., output connector 362A, 362A', and/or 362A") of device 300A.
Functional component 370A of power construction device 300A may be described in more detail below with respect to other, non-default modes, of device 300 A.
[0213] Another particular example of a power construction device that may be used as power construction device 300 of system 1 is shown by power construction device 300B of FIGS. 7-7H, which may be substantially similar to power construction device 300 of FIG. 2 in various ways. For example, as shown, power construction device 300B may include a housing 30 IB that may be similar to housing 301 , a processor component 310B that may be similar to processor component 310, at least one application 313B that may be similar to application 313, a memory component 320B that may be similar to memory component 320, a power supply
component 330B that may be similar to power supply component 330, a communications component 340B that may be similar to communications component 340, and a functional component 370B that may be similar to functional component 370. Power construction device 300B may also include at least a first set of input and output I/O interfaces, where such a first set of I/O interfaces may include a first input I/O interface 350B that may be similar to input I/O interface 350 and a first output I/O interface 360B that may be similar to output I/O interface 360. First input I/O interface 350B may include a first device input connector 352B exposed through a first housing opening 35 IB and a first device input indicator 354B exposed through a first housing opening 355B that may be similar to device input connector 352 and device input indicator 354, respectively, while first output I/O interface 360B may include a first device output connector 362B exposed through a first housing opening 36 IB and a first device output indicator 364B exposed through a first housing opening 365B that may be similar to device output connector 362 and device output indicator 364, respectively. A loop-through icon 359B may be provided on an exterior of housing 30 IB to associate at least a portion of an input I/O interface 350B and at least a portion of an output I/O interface 360B that are part of the same set of input and output I/O interfaces (e.g., loop-through icon 359B may be provided on a top surface of housing 30 IB to visually link first device input indicator 354B and first housing opening 355B to first device output indicator 364B and first housing opening 365B, as shown in FIG. 7A). Therefore, in some embodiments, at least one device input contact (e.g., a data device input contact) of device input connector 352B of input I/O interface 350B may be directly coupled (e.g., via bus 319B) to at least one device output contact (e.g., a data device output contact) of device output connector 362B of output I/O interface 360B for proving a
loop-through set of I/O interfaces (e.g., as indicated by loop-through icon 359B).
[0214] Although not shown in FIG. 7, construction device 300B may also include at least one other set of input and output I/O interfaces. For example, as shown in FIGS. 7A-7H, but not FIG. 7, for example, power construction device 300B may also include one or more additional floating or independent input I/O interfaces (e.g., an input I/O interface of device 300B with an input connector whose data may not necessarily be passed on to an output connector of an output I/O interface of device 300B). For example, power construction device 300B may include a second input I/O interface 350B' that may be similar to input I/O interface 350 (e.g., with respective elements 351B', 352B', 354B', and 355B') that may be floating or independent with respect to any output I/O interface of device 300B, and/or a third input I/O interface 350B" that may be similar to input I/O interface 350 (e.g., with respective elements 35 IB", 352B", 354B", and 355B") that may be floating or independent with respect to any output I/O interface of device 300B. Alternatively or additionally, power construction device 300B may also include one or more additional floating or independent output I/O interfaces (e.g., an output I/O interface of device 300B with an output connector whose data may not necessarily be passed on from an input connector of an input I/O interface of device 300B). For example, power construction device 300B may include a second output I/O interface 360B' that may be similar to output I/O interface 360 (e.g., with respective elements 361B', 362B1, 364B', and 365B') that may be floating or independent with respect to any input I/O interface of device 300B, and/or a third output I/O interface 360B" that may be similar to output I/O interface 360 (e.g., with respective elements 36 IB", 362B", 364B", and 365B") that may be floating or independent with respect to any input I/O interface of device 300B, and/or a fourth output I/O interface 360B'" that may be similar to output I/O interface 360 (e.g., with respective elements 361B'", 362B"', 364B'", and 365B'") that may be floating or independent with respect to any input I/O interface of device 300B, and/or a fifth output I/O interface 360B"" that may be similar to output I/O interface 360 (e.g., with respective elements 361B"", 362B"", 364B"", and 365B"") that may be floating or independent with respect to any input I/O interface of device 300B. Such floating or independent I/O interfaces of power construction device 300B as well as functional
component 370B of power construction device 300B may be described in more detail below with respect to other, non-default modes, of device 300B.
[0215] As shown in FIG. 7, power construction device 300B may also include a bus 319B, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 300B. Moreover, as shown in FIG. 7H, for example, one or more components of device 300B (e.g., one or more of processor component 310B, memory component 320B, communications component 340B, functional component 370B, any one or more of input I/O interfaces 350B-350B"", and/or any one or more of output I/O
interfaces 360B-360B"") may be electrically coupled to or mechanically supported by a circuit board 312B, which may be similar to circuit board 1 12 of device 100, and which may
incorporate or also support at least a portion of bμs 319B. Moreover, as shown in FIGS. 7-7H, power supply component 330B of construction device 300B may also include a button 315B that may be exposed to a user external to device 300B, such that the user may turn device 300B on and off. Alternatively or additionally, power supply 330B may be provided with a status indicator 325B (e.g., a light emitting diode ("LED")) that may be exposed to a user external to device 300B, such that the user may discern how much charge power supply 330B currently has. Alternatively or additionally, power supply 330B may be provided with a charging element 335B (e.g., a micro universal serial bus ("USB") connector or DC connector for coupling to a charging cable). Alternatively or additionally, communications component 340B may also include or be electrically coupled to any suitable transceiver circuitry (e.g., transceiver 345B) that can enable device 300B to be communicatively coupled to another device (e.g., a host computer, such as controller device 600 of FIGS. 2, 14, and 14A) and communicate with that other device wirelessly (e.g., where transceiver 345B may include an antenna) or via a wired connection (e.g., where transceiver 345B may include a connector port). In some embodiments, as shown in FIG. 7B, charging element 335B and transceiver 345B may be provided as different elements on device 300B (e.g., a USB connector port charging element 335B that may communicate power for power supply 330B and an antenna transceiver 345B that may wirelessly communicate data for communications component 340B). In some embodiments, power supply 330B may be a battery that must be charged via charging element 335B, while, in other embodiments, power supply 33 OB may be a replaceable battery that may be easily swapped with another battery by a user of power construction device 300B.
[0216] As described above with respect to power construction device 300 of FIG. 2, power construction device 300B may be configured to loop through any suitable data received at an input connector of one of its sets of I/O interfaces (e.g., input connector 352B) to a respective output connector of that set of I/O interfaces (e.g., output connector 362B) without affecting the function of the data. For example, bus 319B of power construction component 300B may be configured to directly couple at least certain signals (e.g., NORMAL data signals) received from first device input connector 352B to first device output connector 362B without imposing any functional change thereon (e.g., without changing the particular value of that data), where such NORMAL data may then be transmitted from first device output connector 362B of power construction device 300B to another construction device. Alternatively, bus 319B of power construction component 300B may be configured to couple at least certain signals
(e.g., NORMAL data signals) from first device input connector 352B to first device output connector 362B via processor component 310B or any other suitable component of device 300B without imposing any functional change thereon (e.g., without changing the particular value of that data).
[0217] Moreover, as described above with respect to power construction device 300 of FIG. 2, power construction device 300B may be configured to generate and convey user interface information to a user of device 300B via an input indicator (e.g., input indicator 354B, 354B', and/or 354B") that may be related to or otherwise indicative of such NORMAL data being received by an associated input connector (e.g., input connector 352B, 352B', and/or 352B", respectively). Additionally or alternatively, power construction device 300B may be configured to generate and convey user interface information to a user of device 300B via an output indicator (e.g., output indicator 364B, 364B', 364B", 364B'", and/or 364B"") that may be related to or otherwise indicative of such NORMAL data being transmitted by an associated output connector (e.g., output connector 362B, 362B', 362B", 362B'", and/or 362B"", respectively). As also described above with respect to power construction device 300 of FIG. 2, power
construction device 300B may include any suitable power supply component 330B for providing power to any other construction device that may be coupled to power construction device 300B, either directly or indirectly, via any input connector (e.g., input connector 352B, 352B', and/or 352B") and/or via any output connector (e.g., output connector 362B, 362B', 362B", 362B'", and/or 362B"") of device 300B.
[0218] One particular example of a logic construction device that may be used as logic construction device 400 of system 1 is shown by logic construction device 400A of FIGS. 8-8H, which may be substantially similar to logic construction device 400 of FIG. 2 in various ways. For example, as shown, logic construction device 400A may include a housing 401 A that may be similar to housing 401 , a processor component 41 OA that may be similar to processor
component 410, at least one application 413A that may be similar to application 413, a memory component 420A that may be similar to memory component 420, a logic functional
component 470 A that may be similar to sensor functional component 470, an input I/O
interface 450A that may be similar to input I/O interface 450, where input I/O interface 450A may include a device input connector 452A exposed through a housing opening 451 A and a device input indicator 454A exposed through a housing opening 455A that may be similar to device input connector 452 and device input indicator 454, respectively, and an output I/O interface 460A that may be similar to output I/O interface 460, where output I/O interface 460A may include a device output connector 462 A exposed through a housing opening 461 A and a device output indicator 464A exposed through a housing opening 465 A that may be similar to device output connector 462 and device output indicator 464, respectively. As shown in FIG. 8, logic construction device 400 A may also include a bus 419A, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 400A. Moreover, as shown in FIG. 8H, for example, one or more components of device 400A (e.g., one or more of processor component 41 OA, memory component 420A, logic functional component 470A, input I/O interface 450A, and output I/O interface 460A) may be electrically coupled to or mechanically supported by a circuit board 412A, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion ofbus 419A.
[0219] Logic construction device 400A of FIGS. 8-8H may include any suitable logic functional component 470A, such as an inverter logic functional component, that may apply a specific function to the input data received by device input connector 452A of logic construction device 400A and then use the result of that function application to dictate the data to be transmitted by device output connector 462A of logic construction device 400A. Such an inverter logic functional component 470A (e.g., in conjunction with processor 41 OA and/or application 413 A) may be configured to detect the particular value of NORMAL input data received by input connector 452A (e.g., as at least a portion of second communication 85a along cable 55a of FIG. 2) and invert that particular value for transmission as NORMAL output data from device 400A through output connector 462A to another construction device (e.g., as at least a portion of third communication 85b along cable 55b of FIG. 2). The particular value of such generated and transmitted NORMAL output data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) from device 400A may vary inversely proportionately with the particular value of such received NORMAL input data (e.g., also representative of an integer between 0 and 255 for a particular
NORMAL_Data_l_Byte packet format 750) at device 400 A, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed by input indicator 454A to a user of device 400 A may vary proportionately with particular value of NORMAL input data received by input connector 452A, and while a particular characteristic of user interface information
(e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed by output indicator 464A to a user of device 400A may vary proportionately with particular value of NORMAL output data transmitted from output connector 462A. [0220] An inverter logic construction device 400A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function
appropriately and consistently within system 1. In some embodiments, inverter logic
construction device 400A may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) from output connector 362A when NORMAL input data for a NORMAL_Data_l_Byte packet format 750 representative of an integer 255 (e.g., a maximum value) is received by input connector 452A. Similarly, inverter logic construction device 400A may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) from output connector 462A when NORMAL input data for a
NORMAL_Data_l_Byte packet format 750 representative of an integer 0 (e.g., a minimum value) is received by input connector 452A. That is, inverter logic construction device 400A may be configured or otherwise calibrated to generate and transmit NORMAL output data that is representative of a maximum value (e.g., 100%) minus the value of NORMAL input data received by input connector 452A. Moreover, inverter logic construction device 400A may be configured to have no more than a 50 millisecond update latency (e.g., device 400A may be able to generate and transmit an appropriate NORMAL data packet from output connector 462A within 50 milliseconds of a particular NORMAL data packet being received by input
connector 452A). As just one example, by generating and transmitting NORMAL data that may be inversely proportionate to received NORMAL data, an inverter logic construction
device 400A including an inverter logic functional component 470A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) coupled to output connector 462A of device 400A to run at a speed inversely proportional to the intensity of visible light that may be detected by a visible light sensor construction device 200A coupled to input connector 452A of device 400A.
[0221] Another particular example of a logic construction device that may be used as logic construction device 400 of system 1 is shown by logic construction device 400B of FIGS. 9-9H, which may be substantially similar to logic construction device 400 of FIG. 2 in various ways. For example, as shown, logic construction device 400B may include a housing 40 IB that may be similar to housing 401, a processor component 410B that may be similar to processor component 410, at least one application 413B that may be similar to application 413, a memory component 420B that may be similar to memory component 420, a logic functional
component 470B that may be similar to sensor functional component 470, an input I/O interface 450B that may be similar to input I/O interface 450, where input I/O interface 450B may include a device input connector 452B exposed through a housing opening 45 IB and a device input indicator 454B exposed through a housing opening 455B that may be similar to device input connector 452 and device input indicator 454, respectively. Logic construction device 400B may also include a first output I/O interface 460B that may be similar to output I/O interface 460, where first output I/O interface 460B may include a first device output connector 462B exposed through a first housing opening 46 IB and a first device output indicator 464B exposed through a first housing opening 465B that may be similar to device output connector 462 and device output indicator 464, respectively. Additionally, logic construction device 400B may also include a second output I/O interface 460B' that may be similar to output I/O interface 460, where second output I/O interface 460B' may include a second device output connector 462B' exposed through a second housing opening 46 IB' and a second device output indicator 464B' exposed through a second housing opening 465B' that may be similar to device output connector 462 and device output indicator 464, respectively. As shown in FIG. 9, logic construction device 400B may also include a bus 419B, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 400B. Moreover, as shown in FIG. 9H, for example, one or more components of device 400B (e.g., one or more of processor component 410B, memory component 420B, logic functional component 470B, input I/O interface 450B, first output I/O interface 460B, and second output I/O interface 460B') may be electrically coupled to or mechanically supported by a circuit board 412B, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 419B. Logic construction device 400B of FIGS. 9-9H may include any suitable logic functional
component 470B, such as a splitter logic functional component or a flip-flop logic functional component, that may apply a specific function to the input data received by device input connector 452B of logic construction device 400B and then use the result of that function application to dictate the data to be transmitted by one or both of first device output
connector 462B and second device output connector 462B' of logic construction device 400B.
[0222] In some embodiments, logic functional component 470B of logic construction device 400B of FIGS. 9-9H may be provided as a splitter logic functional component. Such a splitter logic functional component 470B (e.g., in conjunction with processor 41 OB and/or application 413B) may be configured to detect the particular value of NORMAL input data received by input connector 452B (e.g., as at least a portion of second communication 85a along cable 55a of FIG. 2) and split that particular value for transmission as NORMAL output data from device 400B both through first output connector 462B to another construction device (e.g., as at least a portion of third communication 85b along cable 55b to first action construction component 500 of FIG. 2) as well as through second output connector 462B' to the same or another construction device (e.g., as at least a portion of fourth communication 85c along cable 55c to second action construction component 500' of FIG. 2). The particular value of such generated and transmitted NORMAL output data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) from device 400B may be the same as the particular value of such received NORMAL input data (e.g., also representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at device 400B, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed by input indicator 454B to a user of device 400B may vary proportionately with the particular value of NORMAL input data received by input connector 452B, and while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed by each one of first output indicator 464B and second output indicator 464B' to a user of device 400B may vary proportionately with the particular value of NORMAL output data transmitted from first output connector 462B and second output connector 462B', respectively. Moreover, splitter logic construction device 400B may be configured such that each one of first output
indicator 464B and second output indicator 464B' may convey such output user interface information (e.g., information based on NORMAL output data transmitted by respective output connectors 462B and 462B') in synch with one another, where such output user interface information may be identical to one another in the NORMAL default mode of operation of device 400B.
[0223] A splitter logic construction device 400B may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function
appropriately and consistently within system 1. In some embodiments, splitter logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) from each one of output connectors 462B and 462B' when NORMAL input data for a NORMAL_Data_l_Byte packet format 750 representative of an integer 0 (e.g., a minimum value) is received by input connector 452B. Similarly, splitter logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) from each one of output connectors 462B and 462B' when NORMAL input data for a NORMAL_Data_l_Byte packet format 750 representative of an integer 255 (e.g., a maximum value) is received by input connector 452B. That is, splitter logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data that is representative of the same value as the NORMAL input data received by input connector 452B. Processor component 410B may be configured to receive NORMAL input data and generate/transmit appropriate (e.g., the same) NORMAL output data. Alternatively, there may be a direct link between device input connector 452B and one or both of device output connectors 462B and 462B' (e.g., using bus 419B). However, by configuring processor component 410B as an intermediary between the input and output connectors, processor 410B may be configured in various ways to impart various logic on the data of device 400B. Moreover, splitter logic construction device 400B may be configured to have no more than a 50 millisecond update latency (e.g., device 400B may be able to generate and transmit an appropriate NORMAL data packet from each one of output connector 462B and 462B' within 50 milliseconds of a particular NORMAL data packet being received by input connector 452B). As just one example, by generating and transmitting NORMAL data that may be equal or otherwise proportionate to received NORMAL data, a splitter logic construction device 400B including a splitter logic functional component 470B may be utilized in system 1 to allow each one of two motors (e.g., a first motor action construction device 500 and a second motor action construction device 500') respectively coupled to first output connector 462B and second output connector 462B' of device 400B to run at a speed equal to or otherwise
proportional to the intensity of visible light that may be detected by a visible light sensor construction device 200A coupled to input connector 452B of device 400B.
[0224] In other embodiments, logic functional component 470B of logic construction device 400B of FIGS. 9-9H may be provided as a flip-flop logic functional component. Such a flip-flop logic functional component 470B (e.g., in conjunction with processor 410B and/or application 413B) may be configured to detect the particular value of NORMAL input data received by input connector 452B (e.g., as at least a portion of second communication 85a along cable 55a of FIG. 2) and determine whether to output a particular value for transmission as NORMAL output data either through first output connector 462B of device 400B to another construction device (e.g., as at least a portion of third communication 85b along cable 55b to first action construction component 500 of FIG. 2) or through second output connector 462B' of device 400B to the same or another construction device (e.g., as at least a portion of fourth communication 85c along cable 55c to second action construction component 500' of FIG. 2). Flip-flop logic construction component 400B with a flip-flop logic functional component 470B may be configured such that the particular value of such transmitted NORMAL output data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) from an output connector of device 400B may be the same as (or
proportionate to) the particular value of such received NORMAL input data (e.g., also
representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at input connector 452B or may be any particular predetermined value
(e.g., representative of a maximum integer value 255 for a particular NORMAL_Data_l_Byte packet format 750). Moreover, flip-flop logic construction component 400B may be configured such that the determination as to which of first output connector 462B and second output connector 462B' is activated to transmit NORMAL output data (and, thus, as to which of first output connector 462B and second output connector 462B' is deactivated for not transmitting NORMAL output data) at a particular instance, may be made based on an edge of NORMAL input data received by input connector 452B. For example, flip-flop logic construction component 400B may be configured to toggle transmission of NORMAL output data from one output connector to the other output connector each time the value of NORMAL input data received by input connector 452B crosses a threshold on a rising edge (e.g., each time the value of NORMAL input data received by input connector 452B increases from below a value representative of an integer 127 to above the value representative of an integer 127). In some embodiments, a particular output connector (e.g., first output connector 462B) may be configured to be initially activated for transmitting NORMAL output data each time flip-flop logic construction component 400B is initially enabled (e.g., initially booted up or otherwise powered on), such that flip-flop logic construction component 400B may exhibit consistent functionality each time it is used. Moreover, a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed by input indicator 454B to a user of device 400B may vary proportionately with the particular value of NORMAL input data received by input connector 452B, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed by either one of first output indicator 464B and second output indicator 464B' to a user of device 400B may vary proportionately with the particular value of NORMAL output data transmitted from its respective first output connector 462B and second output connector 462B'.
[0225] A flip-flop logic construction device 400B may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function
appropriately and consistently within system 1. In some embodiments, flip-flop logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) from one of output connectors 462B and 462B' when NORMAL input data for a NORMAL Data l Byte packet format 750 representative of any integer between 0 and 255 (e.g., any possible value) is received by input connector 452B.
Alternatively, flip-flop logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data for a NORMAL_Data_l_Byte packet format 750 that is representative of the same integer (e.g., any one of integers 0-255) from one of output connectors 462B and 462B' when a NORMAL input data for a NORMAL_Data_l _Byte packet format 750 representative of that same integer is received by input connector 452B. That is, flip-flop logic construction device 400B may be configured or otherwise calibrated to generate and transmit NORMAL output data that is representative of the same value as the NORMAL input data received by input connector 452B or that is representative of a particular
predetermined value (e.g., a maximum value). Moreover, flip-flop logic construction
device 400B may be configured to have no more than a 50 millisecond update latency
(e.g., device 400B may be able to generate and transmit an appropriate NORMAL data packet from a particular one of output connectors 462B and 462B' within 50 milliseconds of a particular NORMAL data packet being received by input connector 452B). Additionally or alternatively, flip-flop logic construction device 400B may be configured to have a debounce period of at least 50 milliseconds (e.g., device 400B may prevent more than one toggling between output connectors for data transmission within a 50 millisecond period). As just one example, by toggling the transmission of NORMAL output data between two output connectors, a flip-flop logic construction device 400B including a flip-flop logic functional component 470B may be utilized in system 1 to allow a light emitting diode ("LED) (e.g., an LED action construction device 500) coupled to first output connector 462B of device 400B to alternatively turn on and off each time a user waves his hand in front of a motion sensor construction device 200A coupled to input connector 452B of device 400B. In some embodiments, processor
component 410B and/or application 413B of flip-flop logic construction device 400B may be specially configured to take into account previous NORMAL input data values when
determining which output connector to activate. For example, device 400B may be configured to utilize hysteresis not only to consider the currently received NORMAL input data value but also to consider previously received NORMAL input data values when determining which output connector to activate. That is, rather than alternating active output connectors each time the value of NORMAL input data received by input connector 452B crosses a particular threshold (e.g., an integer value 127) on a rising edge, device 400B may be configured to alternate active output connectors only after the value of NORMAL input data received by input connector 452B first crosses below a first threshold on a falling edge (e.g., after the value of NORMAL input data received by input connector 452B decreases from above a value representative of an integer 99 to below the value representative of an integer 99) and then crosses above a second threshold on a rising edge (e.g., after the value of NORMAL input data received by input connector 452B increases from below a value representative of an integer 127 to above the value representative of an integer 127). This may prevent inadvertent rapid flip-flopping. Such amplitude domain hysteresis data processing is just one of countless examples of how the processing capabilities of a processor component (e.g., processor 41 OB) of a construction device may be configured to enable more sophisticated logic than an otherwise simple logic device might allow.
[0226] One particular example of an action construction device that may be used as action construction device 500 of system 1 is shown by action construction device 500A of
FIGS. 10-1 OH, which may be substantially similar to action construction device 500 of FIG. 2 in various ways. For example, as shown, action construction device 500A may include a housing 501 A that may be similar to housing 501 , a processor component 51 OA that may be similar to processor component 510, at least one application 513A that may be similar to application 513, a memory component 520A that may be similar to memory component 520, an action functional component 570A that may be similar to sensor functional component 570, and an input I/O interface 550A that may be similar to input I/O interface 550, where input I/O interface 550A may include a device input connector 552A exposed through a housing opening 551 A and a device input indicator 554A exposed through a housing opening 555 A that may be similar to device input connector 552 and device input indicator 554, respectively. As shown in FIG. 10, action construction device 500A may also include a bus 519A, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 500A. Moreover, as shown in FIG. 10H, for example, one or more components of device 500A (e.g., one or more of processor component 51 OA, memory component 520A, action functional component 570A, and input I/O interface 550A) may be electrically coupled to or mechanically supported by a circuit board 512A, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 519A.
[0227] Action construction device 500 A of FIGS. 10-1 OH may include any suitable action functional component 570A, such as a single visible light emitting action functional component, a multi-color visible light emitting action functional component, and/or an infrared transmitter action functional component, that may receive NORMAL input data at device input
connector 552A (e.g., from logic construction device 400 as at least a portion of
communication 85b along data line 59b of cable 55b of FIG. 2) and that may then be driven or otherwise controlled by that received NORMAL input data. Moreover, as shown in FIGS. 10D and 10H, action construction device 500A may include a window 571 A that may be provided through any portion of housing 501 A (e.g., through a rear wall of housing 501 A). Window 571 A may be configured to allow any appropriate information (e.g., visible light, infrared light, etc.) to pass therethrough from action functional component 570 A and be received by an environment external to device 500A (e.g., by a user or by a senor of another construction device). For example, window 571 A may be made of any suitable material, such as glass, plastic, and the like, that may enable the passage of such information out from housing 501 A, while at the same time may prevent debris and other degrading forces external to device 500A from entering into housing 501 A.
[0228] In some embodiments, action functional component 570 A of action construction device 500 A of FIGS. 10-1 OH may be provided as a single color visible light emitting action functional component. Such a single color visible light emitting action construction device 500A (e.g., processor component 51 OA, application 513 A, and/or visible light emitting action functional component 570A) may be configured to detect a particular value of NORMAL input data received by device input connector 552A (e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG. 2) and then to convert such a detected value into a particular control signal for operating a function of single color visible light emitting action functional component 570A (e.g., for controlling the amount or intensity of visible light that may be generated and transmitted by visible light emitting action functional component 570A out from housing 501 A through window 571 A). The amount or intensity of such visible light that may be generated and transmitted by single color visible light emitting action functional component 570 A may vary proportionately with the particular value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at input connector 552A, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from input indicator 554 A to a user of device 500 A may vary proportionately with the intensity of single color visible light generated and transmitted by single color visible light emitting action functional component 570 A and/or proportionately with the particular value of NORMAL data received by input connector 552A. [0229] A single color visible light emitting action construction device 500A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1. In some embodiments, single color visible light emitting action construction device 500A may be configured or otherwise calibrated to generate and transmit no visible light out from housing 501 A via visible light emitting action functional component 570 A when particular NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by input connector 552 A. Similarly, single color visible light emitting action construction device 500A may be configured or otherwise calibrated to generate and transmit the maximum amount of light possible out from housing 501 A via visible light emitting action functional component 570 A when particular NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by input connector 552 A. Visible light emitting action construction device 500A may be configured to have no more than a 100 millisecond activation latency (e.g., device 500A may be able to generate and transmit an appropriate intensity of visible light out from window 571 within 100 milliseconds of a particular value of NORMAL input data is received by input connector 552A). As just one example, by generating and transmitting single color visible light via window 571 based on a value of received NORMAL input data, a visible light emitting action construction device 500 A including a visible light emitting action functional component 570A may be utilized in system 1 to allow a user-variable sensor construction device (e.g., a control knob user-variable sensor construction device 200B) to be varied by a user for generating and transmitting particular NORMAL data that may be received by visible light emitting action construction device 500A for accordingly varying the intensity of visible light output by visible light emitting action functional component 570 A.
[0230] In some embodiments, action functional component 570A of action construction device 500 A of FIGS. 10-1 OH may be provided as a multi-color visible light emitting action functional component. Such a multi-color visible light emitting action construction device 500A (e.g., processor component 51 OA, application 513A, and/or visible light emitting action functional component 570A) may be configured to detect a particular value of NORMAL input data received by device input connector 552A (e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG. 2) and then to convert such a detected value into a particular control signal for operating a first function of multi-color visible light emitting action functional component 570A (e.g., for controlling the amount or intensity of visible light that may be generated and transmitted by visible light emitting action functional component 570A out from housing 501 A through window 571 A). The amount or intensity of such visible light that may be generated and transmitted by multi-color color visible light emitting action functional component 570A may vary
proportionately with the particular value of such received NORMAL input data
(e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at input connector 552A, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from input indicator 554A to a user of device 500A may vary proportionately with the intensity of multi-color visible light generated and transmitted by multi-color color visible light emitting action functional component 570A and/or proportionately with the particular value of NORMAL data received by input
connector 552A. Moreover, such a multi-color visible light emitting action construction device 500A (e.g., processor component 51 OA, application 513A, and/or visible light emitting action functional component 570A) may be configured to detect a particular value of NORMAL input data received by a second device input connector 552 A (not shown) and then to convert such a detected value into a particular control signal for operating a second function of multi-color visible light emitting action functional component 570A (e.g., for controlling the color or hue of visible light that may be generated and transmitted by visible light emitting action functional component 70 A out from housing 501 A through window 571 A). The color of such visible light that may be generated and transmitted by multi-color color visible light emitting action functional component 570 A may vary proportionately with the particular value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at such a second input connector 552A (not shown), while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from a second input indicator 554A (not shown) to a user of device 500A may vary proportionately with the color of multi-color visible light generated and transmitted by multi-color visible light emitting action functional component 570A and/or proportionately with the particular value of NORMAL data received by such a second input connector 552A.
[0231] A multi-color visible light emitting action construction device 500 A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1. In some embodiments, multi-color visible light emitting action construction device 500A may be configured or otherwise calibrated to generate and transmit no visible light out from housing 501 A via visible light emitting action functional component 570A when particular NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by input connector 552A. Similarly, multi-color visible light emitting action construction device 500 A may be configured or otherwise calibrated to generate and transmit the maximum amount of light possible out from housing 501 A via visible light emitting action functional component 570A when particular NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by input connector 552 A. Moreover, in some embodiments, multi-color visible light emitting action construction device 500A may be configured or otherwise calibrated to generate and transmit visible light of a first color at a first end of the color spectrum (e.g., red) out from housing 501 A via visible light emitting action functional component 570A when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by a second input connector 552 A (not shown). Similarly, multi-color visible light emitting action construction device 500 A may be configured or otherwise calibrated to generate and transmit the visible light of a second color at a second end of the color spectrum (e.g., blue) out from housing 501 A via visible light emitting action functional component 570A when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by second input connector 552A (not shown). As just one example, by generating and transmitting multi-color visible light via window 571 based on values of received NORMAL input data at two device input connectors, a multi-color visible light emitting action construction device 500A including a multi-color visible light emitting action functional component 570 A may be utilized in system 1 to allow two
user-variable sensor construction devices (e.g., two control knob user-variable sensor construction devices 200B) to be varied by a user for generating and transmitting particular NORMAL data that may be received by visible light emitting action construction device 500A for accordingly varying the intensity and color of visible light output by visible light emitting action functional component 570A.
[0232] In some embodiments, action functional component 570A of action construction device 500A of FIGS. 10-1 OH may be provided as an infrared transmitter action functional component. Such an infrared transmitter action construction device 500A (e.g., processor component 51 OA, application 513A, and/or infrared transmitter action functional
component 570 A) may be configured to generated and transmit via window 571 an encoded infrared light signal that may include specific data equal to or at least based on a particular value of NORMAL data received by input connector 552A (e.g., from logic device 400 as at least a portion of communication 85b along cable 55b of FIG. 2). Thus the particular value of the data encoded into an infrared light signal transmitted by infrared transmitter action functional component 570 A via window 571 A may be defined may be equal to or directly dependent on the particular value of such NORMAL data received by input connector 552A of infrared transmitter action construction device 500A. Any suitable encoding scheme may be utilized by an infrared transmitter action construction device 500A to encode data in a transmitted infrared light signal, such as Manchester coding, and any respective decoding scheme may be utilized by infrared receiver sensor construction device 200A to decode such data from a received infrared light signal. Moreover, a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from input indicator 554A to a user of device 500 A may vary proportionately with the value of the data encoded in the infrared light signal transmitted by infrared transmitter action functional component 570 A and/or proportionately with the particular value of NORMAL data received by input connector 552A.
[0233] An infrared transmitter action construction device 500A may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1. An infrared transmitter action construction device 500A may not require any particular calibration as there may be no variance between infrared signals that are encoded with data (e.g., digitally encoded by infrared transmitter action construction device 500A) and NORMAL input data received by input connector 552A. That is, the data that may be encoded into an infrared signal that may be transmitted by infrared transmitter action construction device 500 A may have the same resolution of values as NORMAL data of a NORMAL data packet (e.g., integral values 0 to 255 for a particular NORMAL_Data_l_Byte packet format 750) that may be received by input connector 552A. An infrared transmitter action functional component 570A may be configured to provide an infrared light transmitter angle with at least a 30° cone through window 571A and should be robust to visible light (e.g., daylight). As just one example, by generating and transmitting particular data encoded into an infrared light signal that may be based on particular data of received NORMAL input data, an infrared transmitter action construction device 500A including an infrared transmitter action functional component 570A may be utilized in system 1 to allow a motor (e.g., an action construction device 500) to run at a speed proportional to the value of the data encoded into the transmitted infrared light signal. For example, when the infrared light signal encoded with particular data is transmitted from infrared transmitter action construction device 500 A and received by an infrared receiver sensor construction device (e.g., device 200A), it may be as if that encoded data (e.g., NORMAL data) were instead transmitted from device 500 A to device 200 A via a cable 55.
[0234] There may be at least three major use cases that may need to be supported in a system 1 that utilizes transmission of NORMAL data encoded in an infrared light signal, such as (1) transmission of NORMAL data via infrared light over at least a particular distance reliably (e.g., when an infrared transmitter action construction device 500A is positioned at a certain distance away from an infrared receiver sensor construction device 200A), (2) transmission of NORMAL data via infrared light reliably within a particular duration of time (e.g., when an infrared transmitter action construction device 500 A is attached to a wand waved by a user in a rapid motion past an infrared receiver sensor construction device 200A), and (3) transmission of NORMAL data via infrared light for use as an infrared trip wire (e.g., when discontinuation of receipt of NORMAL data at an infrared receiver sensor construction device 200 A is to be used to trigger a particular output). To maximize distance, reliability of the data being transmitted may be increased. This may be accomplished by using Manchester encoding and parity checking, or any other suitable technique to increase reliability, which may help block infrared noise, which may be created by modulated light sources (e.g., office lights or sunlight). Moreover, infrared signal data that was recently received successfully by an infrared receiver sensor construction device 200A may be compared with newly received infrared signal data, such that if the new data falls too far outside the previously received data, infrared receiver sensor construction device 200A may ignore the newly received data (e.g., for several cycles), which may weed out any outliers. However, if that value persists, infrared receiver sensor construction device 200A may be configured to utilize that new value. In some embodiments, specialized headers, checksums, and/or two way transceivers may be utilized by infrared receiver sensor construction device 200A and/or infrared transmitter action construction device 500A to increase reliability. However, in other embodiments, such techniques may not be used in order to meet other desired system requirements.
[0235] For example, to accommodate a fast moving wand (e.g., a fast moving infrared transmitter action construction device 500A), the duration of a transmission of infrared signal data may be minimized. For example, in some embodiments, system 1 may be configured to enable a window for transmitting no more than 5 to 8 bytes of data. Due to noise in the system and reflections of the transmitted data, typically one or more of those bytes of data may not be communicated cleanly. Therefore, the algorithm described above may be employed to determine which of those limited number of bytes are to be used and which are to be ignored. Moreover, to accommodate the trip wire scenario, system 1 must be configured such that it does not over process or over average the data. If too much averaging is utilized, the brief window may be missed. In many cases, the loss of data may be interpreted as a temporary burst of noise in the environment, due to the fact that infrared light may bounce around an environment and still be received in part (e.g., mangled) by an infrared receiver sensor construction device 200A. Typical beam interrupt infrared products do not use encoded data transmission as their infrared signal to be received for detecting a trip wire scenario. Instead, they use a much different pulse train that is specially tailored to detect an arm/hand/leg crossing the beam. Therefore, in light of at least these three competing interests, system 1 (e.g., an infrared transmitter action construction device 500 A and/or an infrared receiver sensor construction device 200 A) may be uniquely configured to handle all three in a competent manner.
[0236] Another particular example of an action construction device that may be used as action construction device 500 of system 1 is shown by action construction device 500B of
FIGS. 1 1-1 1H, which may be substantially similar to action construction device 500 of FIG. 2 in various ways. For example, as shown, action construction device 500B may include a housing 50 IB that may be similar to housing 501 , a processor component 51 OB that may be similar to processor component 510, at least one application 513B that may be similar to application 513, a memory component 520B that may be similar to memory component 520, an action functional component 570B that may be similar to sensor functional component 570, and an input I/O interface 550B that may be similar to input I/O interface 550, where input I/O interface 550B may include a device input connector 552B exposed through a housing opening 55 IB and a device input indicator 554B exposed through a housing opening 555B that may be similar to device input connector 552 and device input indicator 554, respectively. As shown in FIG. 1 1, action construction device 500B may also include a bus 519B, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless
communication links or paths for transferring data and/or power to, from, or between various other components of device 500B. Moreover, as shown in FIG. 1 1H, for example, one or more components of device 500B (e.g., one or more of processor component 510B, memory component 520B, action functional component 570B, and input I/O interface 550B) may be electrically coupled to or mechanically supported by a circuit board 512B, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 519B.
[0237] Action construction device 500B of FIGS. 1 1-1 1H may include any suitable action functional component 570B, such as a record-playback action functional component, that may receive NORMAL input data at device input connector 552B (e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG. 2) and that may then be driven or otherwise controlled by that received NORMAL input data (e.g., for playing back media to a user). For example, as shown in FIGS. 1 1 A, 1 1G, and 11H, such a record-playback action construction device 500B (e.g., such a record-playback action functional component 570B of device 500B) may include a media playback output element 578B that may be at least partially exposed to an environment of device 500B through at least one playback output housing opening 579B, where opening 579B may be provided through any portion of housing 50 IB (e.g., through a top wall of housing 501 B, which may also include housing opening 555B for exposing input indicator 554B). Media playback output element 578B may include any suitable component capable of playing back any suitable media to a user of device 500B, such as an audio speaker for playing back audio media and/or a video display for playing back video media that may be stored on device 500B (e.g., memory 520B). Moreover, as shown in FIGS. 1 1 A, 1 1G, and 1 1H, such a record-playback action construction device 500B (e.g., such a record-playback action functional component 570B of device 500B) may include a media record input element 576B that may be at least partially exposed to an environment of device 500B through at least one record input housing opening 577B, where opening 577B may be provided through any portion of housing 501B (e.g., through a top wall of housing 501B, which may also include housing opening 555B for exposing input indicator 554B and/or housing opening 559B for exposing playback output element 578B). Media record input element 576B may include any suitable component capable of recording any suitable media (e.g., from a user of device 500B), such as an audio microphone for recording audio media and/or a still/video camera for recording still/video media that may be stored on device 500B (e.g., memory 520B). Any media recorded by media record input element 576B may be stored by device 500B and played back to a user of device 500B via media playback output element 578B, where such playback may be controlled by NORMAL input data received by input connector 552B.
[0238] Moreover, as shown in FIGS. 1 1 A, 1 IB, and 1 lD-1 1H, such a record-playback action construction device 500B (e.g., such a record-playback action functional component 570B of device 500B) may include a user interface element 574B that may be at least partially exposed to an environment of device 500B through at least one user interface housing opening 575B, where opening 575B may be provided through any portion of housing 501B (e.g., through a top wall of housing 501B, which may also include housing opening 555B for exposing input indicator 554B and/or housing opening 559B for exposing playback output element 578B and/or housing opening 577B for exposing record input element 576B). User interface element 574B may be any suitable component that a user of device 500B may interact with for enabling media record input element 576B to record particular media from the user. For example, record-playback action functional component 570B may be configured such that, when a user holds down a button user interface element 574B, media record input element 576B may begin recording media (e.g., audio or video data provided to input element 576B, such as from the user). Such recording may persist for as long as the user holds down the button, or for a particular length of time (e.g., 8 seconds, which may limit the amount of memory 520B that may be required to store any media being recorded by media record input element 576B). In some embodiments, record-playback action functional component 570B may be configured to convey to the user that such recording has been initiated and/or terminated. For example, when a user presses user interface element 574B and media recording is about to begin, user interface information (e.g., an audible beep or a blinking light) may be conveyed via playback output element 578B and/or input indicator 554B. Similarly, when the recording process is complete, user interface information (e.g., multiple audible beeps or multiple blinks of light) may be conveyed via playback output element 578B and/or input indicator 554B.
[0239] In some embodiments, record-playback action construction device 500B with record-playback action functional component 570B of FIGS. 1 1-1 1H may be configured to detect a particular value of NORMAL input data received by device input connector 552B (e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG. 2) and then to convert such a detected value into a particular control signal for operating a function of record -playback action functional component 570B (e.g., for controlling when and in what manner media recorded to record-playback action functional component 570B may be played back by record-playback action functional component 570B through housing opening 579B). The intensity (e.g., audio volume and/or video brightness) of such media that may be played back by record-playback action functional component 570B may vary proportionately with the particular value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular
NORMAL_Data_l_Byte packet format 750) at input connector 552B, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from input indicator 554B to a user of device 500B may vary proportionately with the intensity of such played back media by record-playback action functional component 570B and/or proportionately with the particular value of NORMAL data received by input connector 552B. Alternatively, any other playback characteristic, such as playback speed, may be varied based on the particular value of received NORMAL input data. For example, the speed (e.g., rate or frequency) at which the media is played back by record-playback action functional component 570B may vary proportionately with the particular value of such received NORMAL input data
(e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at input connector 552B. In some embodiments, record-playback action functional component 570B may include two input connectors 552B (not shown), where the value of NORMAL input data received at a first of the two input connectors 552B may dictate the intensity (e.g., volume) at which the media is played back while the value of NORMAL input data received at a second of the two input connectors 552B may dictate the speed at which the media is played back. In such embodiments, processor 510B may be configured to use an appropriate default value (e.g., representative of a middle integer 127) for a particular input connector 552B if that particular input connector 552B were not receiving any NORMAL input data, such that the media playback might still be useful to a user. Any construction device 100 may be configured to utilize any suitable default value for a particular device connector if that device connector is not actively communicating data needed by that device 100. For example, while record-playback action construction device 500B may be configured to utilize a default integer value of 127 (e.g., a middle value for NORMAL_Data_l_Byte packet format 750), a motor action construction device 500 (e.g., motor action construction device 500D may be configured to utilize a default integer value of 0 (e.g., a minimum value for
NORMAL_Data_l_Byte packet format 750) for a particular device connector if no data is actively communicated at that device connector.
[0240] A record -playback action construction device 500B may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1. In some embodiments, record-playback action construction device 500B may be configured or otherwise calibrated to not playback any media out from housing 50 IB via record-playback action functional component 570B when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by input connector 552B. Similarly, record-playback action construction device 500B may be configured or otherwise calibrated to playback media out from housing 50 IB via record-playback action functional component 570B with the greatest possible intensity (e.g., volume and/or brightness) when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by input connector 552B. This may enable the intensity of the played back media to be proportionate to the value of NORMAL input data received by input connector 552B. Moreover, record-playback action construction device 500B may be configured or otherwise calibrated to repeat the playback of the available media (e.g., the sample of media recorded via record input element 576B to memory 520B) out from housing 50 IB via record-playback action functional component 570B (e.g., in a continuous loop) as long as the particular value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is received by input connector 552B never drops below a value representative of an integer 1 (e.g., any value other than the minimum value). Record-playback action construction
device 500B may be configured to have no more than a 50 millisecond activation latency
(e.g., device 500B may be able to playback available media with an appropriate intensity within 50 milliseconds of a particular value of NORMAL input data being received by input
connector 552B). As just one example, by playing back available media out from housing 501B with an intensity that is based on a value of received NORMAL input data, a record-playback action construction device 500B including a record-playback action functional component 570B may be utilized in system 1 to allow a visible light sensor construction device (e.g., a visible light sensor construction device 200A) to detect a varying amount of visible light (e.g., based on a user turning on and off the lights in a room) for generating and transmitting particular NORMAL data that may be received by record-playback action construction device 500B for accordingly varying the intensity with which media may be played back by record-playback action functional component 570B.
[0241] Another particular example of an action construction device that may be used as action construction device 500 of system 1 is shown by action construction device 500C of
FIGS. 12-12H, which may be substantially similar to action construction device 500 of FIG. 2 in various ways. For example, as shown, action construction device 500C may include a housing 501 C that may be similar to housing 501 , a processor component 5 IOC that may be similar to processor component 510, at least one application 513C that may be similar to application 513, a memory component 520C that may be similar to memory component 520, an action functional component 570C that may be similar to sensor functional component 570, and an input I/O interface 550C that may be similar to input I/O interface 550, where input I/O interface 550C may include a device input connector 552C exposed through a housing opening 551 C and a device input indicator 554C exposed through a housing opening 555C that may be similar to device input connector 552 and device input indicator 554, respectively. As shown in FIG. 12, action construction device 500C may also include a bus 519C, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless
communication links or paths for transferring data and/or power to, from, or between various other components of device 500C. Moreover, as shown in FIG. 12H, for example, one or more components of device 500C (e.g., one or more of processor component 5 I OC, memory component 520C, action functional component 570C, and input I/O interface 550C) may be electrically coupled to or mechanically supported by a circuit board 512C, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 519C.
[0242] Action construction device 500C of FIGS. 12-12H may include any suitable action functional component 570C, such as a housing separating action functional component and/or a housing vibrating action functional component, that may receive NORMAL input data at device input connector 552C (e.g., from logic construction device 400 as at least a portion of
communication 85b along data line 59b of cable 55b of FIG. 2) and that may then be driven or otherwise controlled by that received NORMAL input data. Moreover, as shown in
FIGS. 12A-12H, housing 501C of action construction device 500C may include at least a top housing portion 501CT and a middle housing portion 501 CM that may be coupled to one another by one or more retention mechanisms (e.g., one or more retention mechanisms 503M that may extend from middle housing portion 501 CM into top housing portion 501CT and/or one or more retention mechanisms 573M that may form a portion of functional component 570B and extend through middle housing portion 501 CM into top housing portion 501CT). In some
embodiments, housing 501 C may also include a bottom housing portion 501 CB, where circuit board 512C and/or at least a portion of functional component 570C (e.g., a functional component portion 570CM) may be provided between housing portions 501CB and 501 CM, while at least another portion of functional component 570C (e.g., a functional component portion 570CT) may be provided between housing portions 501 CM and 501CT.
[0243] In some embodiments, action functional component 570C of action construction device 500C of FIGS. 12-12H may be provided as a housing separating action functional component. Such a housing separating action construction device 500C (e.g., processor component 5 IOC, application 513C, and/or housing separating action functional
component 570C) may be configured to detect a particular value of NORMAL input data received by device input connector 552C (e.g., from logic construction device 400 as at least a portion of communication 85b along data line 59b of cable 55b of FIG. 2) and then to convert such a detected value into a particular control signal for operating a function of housing separating action functional component 570C (e.g., for controlling when and/or how housing separating action functional component 570C may separate portions of housing 501C). The amount or intensity with which such a separation of housing portions may be enacted by housing separating action functional component 570C may vary proportionately with the particular value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) at input connector 552C. Additionally or alternatively, the catalyst for when a separation of housing portions may be enacted by housing separating action functional component 570C may be based on receiving a particular
predetermined value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750). In some embodiments, a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from input indicator 554C to a user of device 500C may vary proportionately with the particular value of NORMAL data received by input connector 552C.
[0244] A housing separating action construction device 500C may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1. In some embodiments, housing separating action construction device 500C may be configured or otherwise calibrated not to enact separation of portions of housing 501C via housing separating action functional component 570C when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by input connector 552C. Similarly, housing separating action construction device 500C may be configured or otherwise calibrated to enact separation of portions of housing 501C via housing separating action functional component 570C with the utmost possible force when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by input connector 552C. That is, the force with which housing separating functional component 570C may separate portions of housing 501 C may vary proportionately with the value of NORMAL data received by input connector 552C. In other embodiments, the force with which housing separating functional component 570C may separate portions of housing 501C may be fixed, but the catalyst for enacting such separation may be when the value of NORMAL data received by input connector 552C surpasses a particular threshold value (e.g., when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of at least an integer 127 (e.g., at least a 50% threshold value) is received by input connector 552C). Such separation of portions of housing 501C may include top housing portion 501 CT being pushed (e.g., by portion 570CT of housing separating functional component 570C) away from middle housing portion 501 CM (e.g., in the direction of arrow P of FIG. 12H). For example, functional component portion 570CT may be a spring that may be compressed when housing 501C is in its retained state (e.g., the condensed state of FIGS. 12A-12G) but that may be released (e.g., by another portion of functional
component 570C) in order to push top housing portion 501 CT away from the remainder of housing 501 C. Housing separating action construction device 500C may be configured to have no more than a 100 millisecond activation latency (e.g., device 500C may be able to enact separation of housing 501C within 100 milliseconds of a particular value of NORMAL input data being received by input connector 552C). As just one example, by separating portions of housing 501C based on a value of received NORMAL input data, a housing separating action construction device 500C including a housing separating action functional component 570C may be utilized in system 1 to allow a visible light sensor construction device (e.g., a visible light sensor construction device 200A) to generate and transmit variable NORMAL data (e.g., in response to a user turning on and off the lights in a room) that may be received by housing separating action construction device 500C for accordingly separating portions of housing 501C with housing separating action functional component 570C (e.g., when the user turns on the lights in a room, housing 501 C may explode).
[0245] In some embodiments, action functional component 570C of action construction device 500C of FIGS. 12-12H may be provided as a housing vibrating action functional component. Such a housing vibrating action construction device 500C (e.g., processor component 5 IOC, application 513C, and/or housing vibrating action functional component 570C) may be configured to detect a particular value of NORMAL input data received by device input connector 552C (e.g., from logic construction device 400 as at least a portion of
communication 85b along data line 59b of cable 55b of FIG. 2) and then to convert such a detected value into a particular control signal for operating a function of housing vibrating action functional component 570C (e.g., for controlling when and/or how housing vibrating action functional component 570C may vibrate housing 501 C). The amount or intensity with which such a vibration of housing 501C may be enacted by housing vibrating action functional component 570C may vary proportionately with the particular value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular
NORMAL_Data_l_Byte packet format 750) at input connector 552C. Additionally or alternatively, the catalyst for when a vibration of housing 501C may be enacted by housing vibrating action functional component 570C may be based on receiving a particular
predetermined value of such received NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750). In some embodiments, a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from input indicator 554C to a user of device 500C may vary proportionately with the particular value of NORMAL data received by input connector 552C.
[0246] A housing vibrating action construction device 500C may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function appropriately and consistently within system 1. In some embodiments, housing vibrating action construction device 500C may be configured or otherwise calibrated not to vibrate housing 501C via housing vibrating action functional component 570C when particular NORMAL data for a NORMAL_Data_l _Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is received by input connector 552C. Similarly, housing vibrating action construction device 500C may be configured or otherwise calibrated to vibrate housing 501C via housing vibrating action functional component 570C with the utmost possible force when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by input connector 552C. That is, the force with which housing vibrating functional component 570C may vibrate housing 501C (e.g., where functional component 570C may be a nimbler, vibratory motor, or any other suitable component that may shake or vibrate device 500C) may vary proportionately with the value of NORMAL data received by input connector 552C. In other embodiments, the force with which housing vibrating functional component 570C may vibrate housing 501 C may be fixed, but the catalyst for enacting such vibration may be when the value of NORMAL data received by input connector 552C surpasses a particular threshold value (e.g., when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of at least an integer 127 (e.g., at least a 50% threshold value) is received by input connector 552C).
Housing vibrating action construction device 500C may be configured to have no more than a 100 millisecond activation latency (e.g., device 500C may be able to enact vibration of housing 501C within 100 milliseconds of a particular value of NORMAL input data being received by input connector 552C). As just one example, by vibrating portions of housing 501C based on a value of received NORMAL input data, a housing vibrating action construction device 500C including a housing vibrating action functional component 570C may be utilized in system 1 to allow a visible light sensor construction device (e.g., a visible light sensor construction device 200A) to generate and transmit variable NORMAL data (e.g., in response to a user turning on and off the lights in a room) that may be received by housing vibrating action construction device 500C for accordingly vibrating housing 501 C with housing vibrating action functional component 570C (e.g., when the user turns on the lights in a room, housing 501 C may vibrate).
[0247] Another particular example of an action construction device that may be used as action construction device 500 of system 1 is shown by action construction device 500D of
FIGS. 13-13H, which may be substantially similar to action construction device 500 of FIG. 2 in various ways. For example, as shown, action construction device 500D may include a housing 501D that may be similar to housing 501 , a processor component 510D that may be similar to processor component 510, at least one application 513D that may be similar to application 513, a memory component 520D that may be similar to memory component 520, an action functional component 570D that may be similar to sensor functional component 570, a first input I/O interface 550D that may be similar to input I O interface 550, where first input I/O interface 550D may include a first device input connector 552D exposed through a first housing opening 55 ID and a first device input indicator 554D exposed through a first housing opening 555D that may be similar to device input connector 552 and device input indicator 554, respectively, and a second input I/O interface 550D' that may be similar to input I/O
interface 550, where second input I/O interface 550D' may include a second device input connector 552D' exposed through a second housing opening 55 ID' and a second device input indicator 554D' exposed through a second housing opening 555D' that may be similar to device input connector 552 and device input indicator 554, respectively. As shown in FIG. 13, action construction device 500D may also include a bus 519D, which may be similar to bus 1 19 of device 100, that may provide one or more wired and/or wireless communication links or paths for transferring data and/or power to, from, or between various other components of
device 500D. Moreover, as shown in FIG. 13H, for example, one or more components of device 500D (e.g., one or more of processor component 510D, memory component 520D, action functional component 570D, first input I/O interface 550D, and/or second input interface 550D') may be electrically coupled to or mechanically supported by a circuit board 512D, which may be similar to circuit board 1 12 of device 100, and which may incorporate or also support at least a portion of bus 519D.
[0248] Action construction device 500D of FIGS. 13-13H may include any suitable action functional component 570D, such as a motor action functional component, that may receive NORMAL input data at one or both of first device input connector 552D and second device input connector 552D' (e.g., from logic construction device 400 as at least a portion of
communication 85b along data line 59b of cable 55b of FIG. 2 and/or from logic construction device 400 as at least a portion of communication 85c along data line 59c of cable 55c of FIG. 2, respectively) and that may then be driven or otherwise controlled by that received NORMAL input data (e.g., for driving a motor with a particular speed in a particular direction). For example, as shown in FIGS. 13D and 13H, such a motor action construction device 500D
(e.g., such a motor action functional component 570D of device 500D) may include a motor output element 578D that may be at least partially exposed to an environment of device 500D through at least one motor output housing opening 579D, where opening 579D may be provided through any portion of housing 501 D (e.g., through a rear wall of housing 501 D, which may be adjacent to a housing wall including openings 55 ID and 55 ID' for exposing input
connectors 552D and 552D'). Motor output element 578D may include any suitable component (e.g., an output shaft) capable of imparting action (e.g., direction and/or speed) of motor action functional component 570D to a user or other entity external to housing 50 ID (e.g., a mechanical toy's gear shaft). Moreover, as shown in FIGS. 13B, 13D, 13G, and 13H, such a motor action construction device 500D may include a first end 576D of a passageway that may be at least partially exposed to an environment of device 500D through at least a first passageway housing opening 577D, and a second end 576D' of a passageway that may be at least partially exposed to an environment of device 500D through at least a second passageway housing opening 577D', which may be provided through opposite walls of housing 50 ID, such as rear and front walls of housing 500D, respectively. Such ends 576D and 576D' of a passageway through housing 50 ID may enable any foreign element (e.g., an axle of a mechanical toy car) to pass through housing 50 ID of device 500D.
[0249] In some embodiments, motor action construction device 500D with motor action functional component 570D of FIGS. 13-13H may be configured to detect a particular value of NORMAL input data (e.g., representative of an integer between 0 and 255 for a particular NORMAL_Data_l_Byte packet format 750) received by one or both of device input
connectors 552D and 552D' and then to convert such a detected value or detected values into a particular control signal for operating a function of motor action functional component 570D (e.g., for controlling the speed and direction with which motor action functional
component 570D may be driven, which may be imparted to motor output element 578D through housing opening 579D). For example, such a motor action functional component 570D (e.g., in conjunction with processor 510D and/or application 513D) may be configured to detect the difference between the particular value of NORMAL input data received by first input connector 552D and the particular value of NORMAL input data received by second input connector 552D' at a particular moment (e.g., the value of NORMAL input data at first input connector 552D minus the value of NORMAL input data at second input connector 552D') and then control the speed and direction with which motor action functional component 570D may be driven based on that detected difference (e.g., where a detected positive difference may drive motor component 570D in a first direction, where a detected negative difference may drive motor component 570D in a second direction, and where the absolute value of the detected difference may determine the speed at which motor component 570D is driven). Moreover, a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from first input indicator 554D to a user of device 500D may vary proportionately with the particular value of NORMAL data received by first input connector 552D, while a particular characteristic of user interface information (e.g., frequency of pulsing light, brightness of light, frequency of audible beep, volume of audible beep) that may be conveyed from second input indicator 554D' to a user of device 500D may vary proportionately with the particular value of NORMAL data received by second input connector 552D'. [0250] A motor action construction device 500D may be configured in various suitable ways using various suitable elements (e.g., hardware and/or software elements) to function
appropriately and consistently within system 1. In some embodiments, motor action construction device 500D may be configured or otherwise calibrated to not drive motor action functional component 570D with any speed in any direction when particular NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) or no NORMAL data is received by both first input connector 552D and second input connector 552D'. Moreover, motor action construction device 500D may be configured or otherwise calibrated to not drive motor action functional component 570D with any speed in any direction when the same particular value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 is received by both first input connector 552D and second input
connector 552D' (e.g., when both first input connector 552D and second input connector 552D' receive the same NORMAL data value of any one particular integer between 0 and 255 for a NORMAL_Data_l_Byte packet format 750). Similarly, motor action construction device 500D may be configured or otherwise calibrated to drive motor action functional component 570D with the greatest possible speed when particular NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is received by one of input connectors 552D and 552D' while particular NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) or no NORMAL data is received by the other of input connectors 552D and 552D'. This may enable the speed with which motor action functional component 570D is driven to be proportionate to the absolute value of the difference between the NORMAL data values of NORMAL input data received by input connectors 552D and 552D' at a particular moment, where a NORMAL data value is considered to be zero when no NORMAL data value is received at an input connector.
[0251] Moreover, motor action construction device 500D may also be configured or otherwise calibrated to simultaneously drive motor action functional component 570D in one of two possible directions based on the mathematical sign of the driven to be proportionate to the absolute value of the difference between the NORMAL data values of NORMAL input data received by input connectors 552D and 552D' at a particular moment. For example, motor action construction device 500D may be configured or otherwise calibrated to drive motor action functional component 570D in a first direction (e.g., to rotate a motor shaft coupled to motor output element 578D in a clockwise direction of arrow CWM of FIG. 13D) when the NORMAL data value of NORMAL input data received by first input connector 552D is greater than the NORMAL data value of NORMAL input data received by second input connector 552D' at a particular moment, where the speed at which motor action functional component 570D may be driven in such a first direction may be based on the difference between those two NORMAL input data values. Similarly, motor action construction device 500D may be configured or otherwise calibrated to drive motor action functional component 570D in a second direction (e.g., to rotate a motor shaft coupled to motor output element 578D in a counterclockwise direction of arrow CCWM of FIG. 13D) when the NORMAL data value of NORMAL input data received by first input connector 552D is less than the NORMAL data value of NORMAL input data received by second input connector 552D' at a particular moment, where the speed at which motor action functional component 570D may be driven in such a second direction may be based on the difference between those two NORMAL input data values.
[0252] Motor action construction device 500D may be configured to have no more than a 50 millisecond update latency (e.g., device 500D may be able to drive motor functional component 570D with an appropriate speed and direction within 50 milliseconds of a particular value or set of values of NORMAL input data being received by one or both of input
connectors 552D and 552D'). As just one example, by rotating a motor shaft coupled to a motor output element 578D exposed through housing 501D with a particular speed and direction that may be based on the value of received NORMAL input data at one or both input connectors, a motor action construction device 500D including a motor action functional component 570D may be utilized in system 1 in the following way. A user-variable sensor construction device (e.g., a user-variable sensor construction device 200B) may determine a user-selected value of NORMAL data that may be transmitted to and received by first input connector 552D of motor device 500D while a visible light sensor construction device (e.g., a visible light sensor construction device 200A) may detect a varying amount of visible light (e.g., based on a user turning on and off the lights in a room) that may be transmitted to and received by second input connector 552D' of motor device 500D. When the user-selected value of NORMAL data received at first input connector 552D from user-variable sensor construction device 200B is constant (e.g., an integer 127 or 50% value) over the same period of time that the visible light NORMAL data received at second input connector 552D' from visible light sensor construction device 200A is gradually decreased (e.g., from integer 255 or maximum value to integer 0 or minimum value, such as when a user slowly dims the lights in a room), a motor output element 578D exposed through housing 50 ID may initially be driven at a first speed in a second direction, then gradually slowed down to a halt, and then have its speed gradually increased back to the first speed as it is driven in the first direction. In some embodiments, processor component 510D and/or application 513D of motor action construction device 500D may be specially configured to take into account "stiction" by providing a bump start. For example, device 500D may be configured to utilize hysteresis not only to consider the currently received NORMAL input data but also to consider previously received NORMAL input data when generating appropriate control signals for driving motor action functional component 570D. That is, rather than driving motor action functional component 570D purely proportionately to the currently received NORMAL input data value(s), device 500D may be configured to drive motor action functional component 570D based not only on the currently received NORMAL input data value(s) but also on previously received NORMAL input data value(s). This may enable device 500D to drive a motor with a control signal that is more accurately representative of the conditions in which device 500D is subjected to more realistically drive the motor. This may enable device 500D to "bump start" the driving of a motor by providing weight to previously received NORMAL input data (e.g., by considering the rate at which the NORMAL data values are increasing or decreasing for considering rate of change of sensed data). Such positive time-based bias or amplitude-based bias for derivative data processing is just one of countless examples of how the processing capabilities of a processor component
(e.g., processor 510D) of a construction device may be configured to enable more sophisticated data generation than an otherwise linear functional component (e.g., functional
component 570D) might allow.
CABLE 55
[0253] One particular example of a communicative coupling that may be provided to enable communication between two construction devices of system 1 (e.g., communication of
NORMAL data) is shown by a cable 55 of FIGS. 2-2G. For example, as shown, cable 55 may include a wired structure 59 extending between a cable input connector housing 52 and a cable output connector housing 62. Wired structure 59 may include at least one or any other suitable number of wired lines, such as at least one data line (e.g., data line 59b) and at least one power line (e.g., a ground power line 59a and a +5 volts power line 59c). Cable input connector housing 52 may include a hollow portion 56 that may expose a cable input connector 51 of cable 55 within cable input connector housing 52 through an open end of hollow portion 56. Cable input connector 51 may include one or more cable input connector contacts (e.g., three cable input connector contacts 51a-51c) that may be exposed within hollow portion 56 of cable input connector housing 52 for electrically coupling with one or more wired lines of wired structure 59 (e.g., with first ends of wired lines 59a-59c, respectively). Similarly, cable output connector housing 62 may include a hollow portion 66 that may expose a cable input
connector 61 of cable 55 within cable output connector housing 62 through an open end of hollow portion 66. Cable output connector 61 may include one or more cable output connector contacts (e.g., three cable output connector contacts 61a-61c) that may be exposed within hollow portion 66 of cable output connector housing 62 for electrically coupling with one or more wired lines of wired structure 59 (e.g., with second ends of wired lines 59a-59c, respectively).
Therefore, as shown, a first cable input connector contact 51 a of cable input connector 51 of cable input connector housing 52 may be electrically coupled to a first cable output connector contact 61a of cable output connector 61 of cable output connector housing 62 via a first wired line 59a of wired structure 59 of cable 55 (e.g., for communicating first power signals, such as a ground power signal or return power signal, through cable 55 between two construction devices). Similarly, as shown, a second cable input connector contact 51b of cable input connector 51 of cable input connector housing 52 may be electrically coupled to a second cable output connector contact 61b of cable output connector 61 of cable output connector housing 62 via a second wired line 59b of wired structure 59 of cable 55 (e.g., for communicating data signals, such as NORMAL data, through cable 55 between two construction devices). Additionally, as shown, a third cable input connector contact 51 c of cable input connector 51 of cable input connector housing 52 may be electrically coupled to a third cable output connector contact 61c of cable output connector 61 of cable output connector housing 62 via a third wired line 59c of wired structure 59 of cable 55 (e.g., for communicating second power signals, such as a battery power signal or +3 volts or +5 volts, through cable 55 between two construction devices). In some embodiments, the path for data along second wired line 59b between cable connector contacts 51b and 61b may be tolerant of shorting to either of the power lines of cable 55.
Additionally or alternatively, in some embodiments, the path for power along third wired line 59c between cable connector contacts 51c and 61c may be tolerant of momentary shorting to the path of the other power line of cable 55 (e.g., to the path along first wired line 59a between cable connector contacts 51a and 61a).
[0254] In order to ensure that a device input connector 152 may only be coupled via cable 55 to a device output connector 162 and not to another device input connector, and/or to ensure that a device output connector 162 may only be coupled via cable 55 to a device input connector 152 and not to another device output connector, construction device 100 and cable 55 may be keyed in one or more suitable ways. For example, in some embodiments, device output connector 162 of device output I/O interface 160 and/or device output connector housing opening 161 of housing 101 may be keyed to hollow portion 66 or to cable output connector 61 and/or to cable output connector housing 62 of cable 55. As shown in FIGS. ID, 1G, and 1H, for example, device output connector housing opening 161 of housing 101 of construction device 100 may be at least partially defined by a mechanical key portion 163 (e.g., a mechanical key portion of housing 101 that may extend downwardly for decreasing the size of device output connector housing opening 161 , which may otherwise have a substantially rectangular cross-section).
Correspondingly, as shown in FIGS. 2 A and 2D, for example, cable output connector housing 62 of cable 55 may be at least partially defined by a mechanical key portion 63 (e.g., a mechanical cut-out of a leading face of cable output connector housing 62 that may extend downwardly into the top of a portion of cable 55 at output connector housing 62 for decreasing the size of the leading face of cable output connector housing 62, which may otherwise have a substantially rectangular cross-section). The geometries of mechanical key portion 163 and mechanical key portion 63 may be at least partially matched such that cable output connector housing 62 of cable 55 may be configured to be inserted into device output connector housing opening 161 (e.g., in the direction of arrow O of FIGS. 1A and 1G), which may enable cable output connector contacts 61a-61 c to be electrically coupled to respective device output connector
contacts 162a- 162c. Thus, by substantially matching the geometry (e.g., size and shape) of a cross-section of device output connector housing opening 161 (e.g., at a wall of housing 101) with that of an outer periphery of a cross-section of cable output connector housing 62 (e.g., at its leading face where an end of hollow portion 66 may be exposed), for example, through the use of key portions 63/163, device 100 may be configured to enable mechanical and electrical coupling of a first (e.g., output) end of cable 55 with device output I/O interface 160 while preventing other geometries of cable 55 (e.g., a second/input end 52 of cable 55) from being mechanically and/or electrically coupled with device output I/O interface 160.
[0255] Additionally or alternatively, device input connector 152 of device input I/O
interface 150 and/or device input connector housing opening 151 of housing 101 may be keyed to hollow portion 56 or to cable input connector 51 and/or to cable input connector housing 52 of cable 55. As shown in FIG. IB, for example, device input connector housing opening 151 of housing 101 of construction device 100 may be at least partially defined by a mechanical key portion 153 (e.g., a mechanical key portion of housing 101 that may extend downwardly for increasing the size of device input connector housing opening 151 , which may otherwise have a substantially rectangular cross-section). Correspondingly, as shown in FIG. 2B, for example, cable input connector housing 52 of cable 55 may be at least partially defined by a mechanical key portion 53 (e.g., a mechanical extension of a leading face of cable input connector housing 52 that may extend downwardly to define the bottom of a portion of cable 55 at input connector housing 52 for increasing the size of the leading face of cable input connector housing 52, which may otherwise have a substantially rectangular cross-section). The geometries of mechanical key portion 153 and mechanical key portion 53 may be at least partially matched such that cable input connector housing 52 of cable 55 may be configured to be inserted into device input connector housing opening 151 (e.g., in the direction of arrow I of FIGS. 1A and 1G), which may enable cable input connector contacts 51a-51c to be electrically coupled to respective device input connector contacts 152a- 152c. Thus, by substantially matching the geometry (e.g., size and shape) of a cross-section of device input connector housing opening 151 (e.g., at a wall of housing 101) with that of an outer periphery of a cross-section of cable input connector housing 52 (e.g., at its leading face where an end of hollow portion 56 may be exposed), for example, through the use of key portions 53/153, device 100 may be configured to enable mechanical and electrical coupling of a second (e.g., input) end of cable 55 with device input I/O interface 150 while preventing other geometries of cable 55 (e.g., a first/output end 62 of cable 55) from being mechanically and/or electrically coupled with device input I/O interface 150. Such keying may reinforce to a user of a system of construction devices that a specific end of a cable 55 is to be directly coupled to a specific type of device I/O interface of a construction device (e.g., either a device input I/O interface 150 or a device output I/O interface 160 of construction device 100). This may make building a system of communicatively coupled construction devices more intuitive to a user while also preventing undesirable connections between two device input I/O connectors 152 or two device output I/O
connectors 162. In some embodiments, as shown, only top housing portion l Olt of housing 101 of a device 100 may determine what type of mechanical key portion 153/163 is provided at a particular device connector (e.g., a mechanical key portion 153 at a device input connector 152 and a mechanical key portion 163 at a device output connector 162), while bottom housing portion 101b of housing 101 may be physically identical adjacent each one of a device input connector 152 and a device output connector 162, which may also be physically identical.
[0256] Therefore, cable 55 may include two ends (e.g., an input end with cable input connector housing 52 and an output end with cable output connector housing 62), where the outer periphery of the connector housing at each end may be considered a male cable connector portion that can be inserted into or otherwise mated with a particular one of two types of female device connector portions (e.g., a device input connector housing opening 151 or a device output connector housing opening 161). For example, the outer periphery of cable input connector housing 52, which may include key portion 53, may be considered a male cable connector portion of cable 55 that may be inserted into device input connector housing opening 151 , which may be at least partially defined by key portion 153, and which may be considered a female device connector portion of device 100. Similarly, the outer periphery of cable output connector housing 62, which may include key portion 63, may also be considered a male cable connector portion of cable 55 that may be inserted into device output connector housing opening 161, which may be at least partially defined by key portion 163, and which may be considered a female device connector portion of device 100. Thus, aside from differences in their geometries due to various key portions, a physical connection between cable 55 and an input I/O interface 150 (e.g., the physical connection between cable input connector housing 52 and device input connector housing opening 151) may be substantially the same (e.g., the same gender relationship) as a physical connection between cable 55 and an output I/O interface 160 (e.g., the physical connection between cable output connector housing 62 and device output connector housing opening 161). [0257] Additionally or alternatively, cable 55 may include two ends (e.g., an input end with hollow portion 56 of cable input connector housing 52 exposing cable input connector contacts 51a-51c therein and an output end with hollow portion 66 of cable output connector housing 62 exposing cable output connector contacts 61a-61c therein), where the inner periphery of the hollow portion at each end may be considered a female cable connector portion that can have inserted therein or otherwise be mated with one of two types of male device connector (e.g., a device input connector 152 with device input connector contacts 152a- 152c thereon or a device output connector 162 with device output connector contacts 162a- 162c thereon). For example, the inner periphery of hollow portion 56 of cable input connector housing 52, which may expose one or more of cable input connector contacts 51 a-51 c thereon, may be considered a female cable connector portion of cable 55 that may have inserted therein a device input connector 152, which may include one or more of device input connector contacts 152a- 152c, and which may be considered a male device connector portion of device 100. Similarly, the inner periphery of hollow portion 66 of cable output connector housing 62, which may expose one or more of cable output connector contacts 61a-61c thereon, may be considered a female cable connector portion of cable 55 that may have inserted therein a device output connector 162, which may include one or more of device output connector contacts 162a- 162c, and which may be considered a male device connector portion of device 100. Thus, a physical electrical connection between cable 55 and an input I/O interface 150 (e.g., the physical electrical connection between one or more of device input connector contacts 152a- 152c and one or more of cable input connector contacts 5 la-5 lc) may be substantially the same as a physical electrical connection between cable 55 and an output I/O interface 160 (e.g., the physical electrical connection between one or more of device output connector contacts 162a- 162c and one or more of cable output connector contacts 61a-61c). This may enable the manufacture of only a single type of electrical connector interface on board 1 12 for both device connector 152 and device connector 162, as device connectors 152 and 162 may be physically identical but configured differently due to the configuration of the pins of processor component 1 10 coupled to the connectors, where the physical mechanical keying of top housing portion 10 It may provide physical keying for each device connector with respect to a cable 55. Similarly, this may enable the manufacture of only a single type of electrical connector interface on cable 55 for both cable input connector 51 and cable input connector 61 , as cable connectors 51 and 61 may be physically identical but configured differently due to the alignment of its pins with respect to pins of device connectors 152/162 upon coupling of cable 55 to a device 100, where the physical mechanical keying of key portion 53/63 may provide physical keying for each cable connector with respect to a device 100.
[0258] Moreover, one or both ends of cable 55 may include an icon for indicating to a user which type of device connector of construction device 100 that end ought to be coupled to. For example, as shown, an input cable icon 54 may be provided on a bottom surface of cable 55 at cable input connector housing 52. Input cable icon 54 may be positioned along housing 52 between mechanical key portion 53 and the end of housing 52 that may be coupled to wired structure 59 of cable 55. As shown in FIG. 2C, for example, input cable icon 54 may be shaped like an arrow facing the same direction as the direction that cable input connector housing 52 may be inserted into device input connector housing opening 151 for coupling cable 55 to an input I/O interface 150 of device 100 (e.g., the direction of arrow I of FIGS. 1 A and 1G). As shown in FIG. 2, input cable icon 54 of first cable 55 and device input indicator 354 of construction device 300 may be shaped similarly and/or may correspond in some suitable way (e.g., as two arrows aligned in the same direction) when cable input connector housing 52 of cable 55 is inserted into device input connector housing opening 351 of device 300 for coupling with device input connector 352. Similarly, as shown, an output cable icon 64 may be provided on a top surface of cable 55 at cable output connector housing 62. Output cable icon 64 may be positioned along housing 62 between mechanical key portion 63 and the end of housing 62 that may be coupled to wired structure 59 of cable 55. As shown in FIG. 2 A, for example, output cable icon 64 may be shaped like an arrow facing the same direction as the direction that cable output connector housing 62 may be inserted into device output connector housing opening 161 for coupling cable 55 to an output I/O interface 160 of device 100 (e.g., the direction of arrow O of FIGS. 1A and 1G). As shown in FIG. 2, output cable icon 64 of first cable 55 and device output indicator 264 of construction device 200 may be shaped similarly and/or may correspond in some suitable way (e.g., as two arrows aligned in the same direction) when cable output connector housing 62 of cable 55 is inserted into device output connector housing opening 261 of device 200 for coupling with device output connector 262. Such icons may reinforce to a user of a system of construction devices that a specific end of a cable 55 is to be directly coupled to a specific type of device I/O interface of a construction device (e.g., either a device input I/O interface 150 or a device output I/O interface 160 of construction device 100).
[0259] In some embodiments, as shown, it is to be understood that wired structure 59 may include at least one twist of 180° such that the top of cable output connector housing 62 and the bottom of cable input connector housing 52 may be facing the same direction (e.g., the same direction as the tops of the two construction devices that cable 55 may be electrically coupling together). As shown in FIG. 2, for example, the top of cable output connector housing 62 (e.g., the side of housing 62 that may include icon 64 and/or the side from which mechanical key portion 63 may extend) may be facing in the same direction (e.g., out of the drawing sheet of FIG. 2) as the bottom of cable input connector housing 52 (e.g., the side of housing 52 that may include icon 54 and/or the side of housing 52 from which mechanical key portion 53 may extend). Such a twist may be useful with a "flat" cable design (e.g., where the center axes of lines 59a-59c may extend parallel and adjacent to one another in a single plane). In other embodiments, such a twist may be unnecessary with other cable design types (e.g., concentric cables, such as where lines 59a-59c are concentric with one another like a coaxial cable).
[0260] In other embodiments, a cable assembly may include two connectors directly coupled to one another (e.g., without a wired structure of any length therebetween), such that two construction devices may be communicatively coupled to one another with little to no space therebetween. For example, as shown in FIG. 2H, a cable assembly 55' may be provided that may be substantially similar to cable 55 but that may not include a wire structure 59. Instead, cable assembly 55' may include a cable output connector housing 62', which may be substantially similar to at least portions of cable output connector housing 62 of cable 55, that may be directly coupled to a cable input connector housing 52', which may be substantially similar to at least portions of cable output connector housing 62 of cable 55. Cable input connector housing 52' may include a hollow portion (not shown) similar to hollow portion 56 that may expose a cable input connector (not shown) similar to input connector 51 of cable 55 within cable input connector housing 52' through an open end of its hollow portion, where such a cable input connector of cable 55' may include one or more cable input connector contacts (e.g., three cable input connector contacts similar to contacts 51a-51c of cable 55) that may be exposed within the hollow portion of cable input connector housing 52' for electrically coupling with one or more contacts 6Γ of cable output connector housing 62' of cable 55'. Similarly, cable output connector housing 62' may include a hollow portion 66' that may expose a cable input connector 6 of cable 55' within cable output connector housing 62' through an open end of hollow portion 66'. Cable output connector 6Γ may include one or more cable output connector contacts (e.g., three cable output connector contacts similar to contacts 61a-61c of cable 55) that may be exposed within hollow portion 66' of cable output connector housing 62' for electrically coupling with one or more contacts of cable input connector housing 52'. For example, a first cable input connector contact of cable input connector housing 52' may be electrically coupled to a first cable output connector contact of cable output connector 6Γ of cable output connector housing 62' of cable 55' (e.g., for communicating first power signals, such as a ground power signal or return power signal, through cable 55' between two construction devices). Similarly, a second cable input connector contact of cable input connector housing 52' may be electrically coupled to a second cable output connector contact of cable output connector 6Γ of cable output connector housing 62' of cable 55' (e.g., for communicating data signals, such as NORMAL data, through cable 55' between two construction devices). Additionally, a third cable input connector contact of cable input connector housing 52' may be electrically coupled to a third cable output connector contact of cable output connector 6Γ of cable output connector housing 62' of cable 55' (e.g., for communicating second power signals, such as a battery power signal or +3 volts or +5 volts, through cable 55' between two construction devices).
[0261] In order to ensure that a device input connector may only be coupled via cable 55' to a device output connector and not to another device input connector, and/or to ensure that a device output connector may only be coupled via cable 55' to a device input connector and not to another device output connector, a construction device and cable 55' may be keyed in one or more suitable ways. For example, as described above with respect to cable 55, cable output connector housing 62' of cable 55' may be at least partially defined by a mechanical key portion 63' (e.g., a mechanical cut-out of a leading face of cable output connector housing 62' that may extend downwardly into the top of a portion of cable 55' at output connector
housing 62' for decreasing the size of the leading face of cable output connector housing 62', which may otherwise have a substantially rectangular cross-section), as shown in FIG. 2H. The geometries of a mechanical key portion of a construction device (e.g., mechanical key
portion 163 of device 100) and mechanical key portion 63' may be at least partially matched such that cable output connector housing 62' of cable 55' may be configured to be inserted into device output connector housing opening 161 (e.g., in the direction of arrow O of FIGS. 1 A and 1G), which may enable the cable output connector contacts of cable output connector 6 of cable output connector housing 62' of cable 55' to be electrically coupled to respective device output connector contacts 162a- 162c. Moreover, as described above with respect to cable 55, cable input connector housing 52' of cable 55' may be at least partially defined by a mechanical key portion (not shown) similar to mechanical key portion 53 of cable 55. The geometries of a mechanical key portion of a construction device (e.g., mechanical key portion 153 of device 100) and the mechanical key portion of cable input connector housing 52' of cable 55' may be at least partially matched such that cable input connector housing 52' of cable 55' may be configured to be inserted into device input connector housing opening 451 B' of device 400B' of FIG. 2H, which may be similar to device 400B of FIGS. 9-9H. As shown in FIG. 2H, this may enable the cable input connector contacts of the cable input connector of cable input connector housing 52' of cable 55' to be electrically coupled to respective device input connector contacts of a device input connector of device 400B' through device input connector housing opening 45 IB' of housing 401B' of device 400B'. In some embodiments, cable 55' may be an independent component that may be capable of removable coupling into two construction devices at the same time for communicatively coupling those two construction devices like cable 55 (e.g., cable input connector housing 52' may be removably coupled into a device input connector housing opening of a first construction device and cable output connector housing 62' may be removably coupled into a device output connector housing opening of a second construction device). Alternatively, in some embodiments, a first end of cable 55' may be fixedly attached to a construction device such that cable 55' may be considered an integral component of that construction device. For example, in some embodiments, at least a portion of cable input connector housing 52' of cable 55' may be fixedly coupled to device 400B' of FIG. 2H via device input connector housing opening 45 I B', such that only cable output connector housing 62' of cable 55' may be removably coupled into a device output connector housing opening of another construction device.
Alternatively, although not shown, at least a portion of cable output connector housing 62' of cable 55' may be fixedly coupled to a construction device via a device output connector housing opening (e.g., opening 161 of device 100), such that only cable input connector housing 52' of cable 55' may be removably coupled into a device input connector housing opening of another construction device. This may reduce the need to provide distinct cable assemblies to a user of a system of communicatively coupled construction devices. In some embodiments, cable 55' may enable the housings of two communicatively coupled construction devices to be substantially flush with one another, which may reduce the space required to accommodate two such coupled devices. In other embodiments, two construction devices may be communicatively coupled and/or mechanically coupled via magnetic coupling and/or wireless communication.
BI-DIRECTIONAL DATA COMMUNICATION
[0262] While corresponding keying and/or corresponding icons may be provided at each cable input connector housing 52 and device input I/O interface 150 and/or at each cable output connector housing 62 and device output I/O interface 160 to reinforce to a user of a system 1 of construction devices that a specific end of a cable 55 is to be directly coupled to a specific type of device I/O interface of a construction device (e.g., such that NORMAL data may properly be transmitted via cable 55 from a device output I/O interface 160 of a first construction device to a device input I/O interface 150 of a second construction device), each construction device may also be configured to communicate data in an opposite direction along a cable 55 (e.g., from a device input I/O interface 150 of a first construction device to a device output I/O interface 160 of a second construction device). For example, although a first construction device may be configured to receive at a device input connector NORMAL input data transmitted from a second construction device and to act upon that received NORMAL input data appropriately without needing to know the type of the second construction device that transmitted the NORMAL data, it may be desirable for that device input connector of the first construction device to
communicate data bi-directionally with the second construction device for various other reasons.
MODULE DESCRIPTOR 745
[0263] For example, each construction device 100 may maintain a device descriptor or a module descriptor ("MD") 745 that may have a structure as shown in FIG. 15F. Such a module descriptor may include any suitable data that may be maintained by a construction device and that may be accessible and utilized by another device (e.g., a controller device, such as controller device 600 of FIG. 2, 14, and 14A) to enable various types of analysis on and/or control of that construction device and the other construction devices that may be coupled thereto in a particular system. As described in more detail below, such utilization of a module descriptor 745 of one or more construction devices 100 in a system 1 may enable various additional functionalities, such as graph scan analysis, power scan analysis, virtual control, virtual response, virtual coupling, and the like. Such a module descriptor 745 may be stored in a memory component
(e.g., memory component 120) of the particular construction device and may, in some embodiments, be a structured query language ("SQL") database. As shown in FIG. 15F, a module descriptor 745 may be maintained by any particular construction device and may include one, some, or all of the following types of information: (1) the device type of that particular construction device; (2) a unique identifier ("UID") of that particular construction device; (3) a power characteristic of that particular construction device; (4) the number of device input connectors of that particular construction device; (5) the number of device output connectors of that particular construction device; (6) an identification of the device connector most closely coupled to a controller device; and (7) an array that includes the connector state of each device input connector and the connector state of each device output connector of that particular construction device. Such a module descriptor may be continuously updated by each enabled construction device of system 1.
[0264] A module descriptor 745 that may be maintained by each, some, or every construction device may include the device type of that particular construction device. The device type may be indicative of any suitable characteristic of that particular construction device. For example, the device type may be indicative of the particular type of function that the particular
construction device is capable of, which may include, but is not limited to, a visible light sensor construction device, an invisible light sensor construction device, an infrared receiver sensor construction device, a motion sensor construction device, a user-variable sensor construction device, a movement sensor construction device, a wired power construction device, a wireless power construction device, an inverter logic construction device, a splitter logic construction device, a flip-flop logic construction device, a visible light emitting action construction device, an infrared transmitter action construction device, a record-playback action construction device, a housing separating action construction device, a housing vibrating action construction device, a motor action construction device, a multi-color light emitting action construction device, and the like. Such a device type may be described by a "uintl6_t type" data block, which may be 2 bytes, as shown in FIG. 15F, although any other amount and/or type of information may be suitable. Such data may be determined and defined by a manufacturer of the construction device and may be stored in module descriptor 745 of the particular construction device upon its creation. Each construction device of a particular type may share the same device type information as part of its module descriptor 745.
[0265] A module descriptor 745 that may be maintained by each, some, or every construction device may include the unique identifier ("UID") of that particular construction device. The UID may be a unique identifier specific to the particular construction device. Such a UID may be described by a "uint32_t uid" data block, which may be 4 bytes, as shown in FIG. 15F, although any other amount and/or type of information may be suitable. As shown in FIG. 15C, a UID 740 of a module descriptor 745 may include 4 bytes of data, which may be determined and defined by a manufacturer of the construction device and may be stored in module descriptor 745 of the particular construction device upon its creation. Each construction device may have its own unique UID. That is, even if two devices are of the same device type and share the same device type information described above, each one of those two devices will have its own unique UID value stored as part of its module descriptor 745. As described below, this may enable a system to differentiate between two construction devices of the same type in the same system.
[0266] A module descriptor 745 that may be maintained by each, some, or every construction device may include information indicative of a power characteristic of that particular
construction device. This power information may be descriptive of any suitable power characteristic of the particular construction device. For example, such power information may be the maximum amount of power that may be drawn by the device at any particular time (e.g., consumption in milliAmperes), where such information may be predetermined by the manufacturer of the device and may be stored therein upon its creation. Alternatively or additionally, such power information may be the instantaneous power draw of that device at a specific time (e.g., the amount of power that is currently being drawn by that device), where such information may be continuously updated throughout the use of that device. Such power information may be described by a "uintl6_t power" data block, which may be 2 bytes, as shown in FIG. 15F, although any other amount and/or type of information may be suitable. As described below, this power information may enable accurate power scans for protecting a system against under power situations and/or against overload of a particular connection
(e.g., along a power line of a cable 55). [0267] A module descriptor 745 that may be maintained by each, some, or every construction device may include information indicative of the number of each type of device connector provided by that particular construction device. For example, such device connector information may include a count of the number of device input connectors (e.g., device input connectors 152) that may be provided by the particular construction device. Such input connector count information may be described by a "uint8_t inputCount" data block, which may be 1 byte, as shown in FIG. 15F, although any other amount and/or type of information may be suitable. Such data may be fixed and stored in memory of the device at time of manufacture. Additionally or alternatively, such device connector information may include a count of the number of device output connectors (e.g., device output connectors 162) that may be provided by the particular construction device. Such output connector count information may be described by a "uint8_t outputCount" data block, which may be 1 byte, as shown in FIG. 15F, although any other amount and/or type of information may be suitable. Such data may be fixed and stored in memory of the device at time of manufacture. Additionally or alternatively, such device connector information may include an identification of the particular device I/O connector that may be most closely coupled to a controller device (e.g., controller device 600) in a system that includes the particular device. As described below in more detail, certain construction devices in a system may be configured to receive certain data packets (e.g., non-NORMAL data packets) from particular types of devices (e.g., controller devices), and it may be beneficial for each construction device to keep track of which of its I/O connectors is most closely coupled to such a controller device (e.g., which device I/O connector receives certain packets from a controller device). Such an identified device I/O connector may be referred to as a "root" connector or "root" port of a construction device. Such an identification of such a root connector of a particular construction device may be described by a "uint8_t rootPort" data block, which may be 1 byte, as shown in FIG. 15F, although any other amount and/or type of information may be suitable. This identification may identify different device connectors at different times and, therefore, may be continuously updated by the particular construction device throughout its use in response to receiving particular data from a particular controller device at a particular device connector.
[0268] A module descriptor 745 that may be maintained by each, some, or every construction device may include information indicative of the current state of each device I/O connector of that particular construction device. Such device connector state information may be described by an array "ModulePort_t port[]" data block, which may be a pay load data size of any suitable number of bytes, as shown in FIGS. 15F and 15H. For example, such device connector state information may include one, some, or all of the following types of information for each device I/O connector (e.g., each device input connector 152 and each device output connector 162) of the particular construction device: (1) the pin(s) of the controller (e.g., processor 1 10) of the particular construction device 100 coupled to the particular device I/O connector 152/162; (2) the pin(s) of the controller (e.g., processor 1 10) of the particular construction device 100 coupled to the device I/O indicator 154/164 associated with the particular I/O connector 152/162 (e.g., of the same I/O interface 150/160); (3) the particular value of the last NORMAL data packet communicated (e.g., transmitted or received) by the particular I/O connector 152/162; and (4) the UID of the construction device coupled to the particular device I/O connector 152/162, which may be provided as a value zero if there is no construction device coupled to the particular device I/O connector 152/162.
[0269] The particular pin(s) of the processor component 1 10 of the construction device coupled to a particular device I/O connector may be described by a "uintl6_t connectorPin" data block, which may be 2 bytes, as shown in FIG. 15F, although any other amount and/or type of information may be suitable, where such data may be determined and defined by a manufacturer of the construction device and may be stored in module descriptor 745 of the particular construction device upon its creation. The particular pin(s) of the processor component 1 10 of the construction device coupled to the I/O indicator 154/164 associated with the particular device I/O connector 152/162 may be described by a "uintl6_t interfacePin" data block, which may be 2 bytes, as shown in FIG. 15F, although any other amount and/or type of information may be suitable, where such data may be determined and defined by a manufacturer of the construction device and may be stored in module descriptor 745 of the particular construction device upon its creation.
[0270] The particular value of the last NORMAL data packet communicated (e.g., transmitted or received) by the particular device I/O connector 152/162 may be described by a "uintl6_t state" data block, which may be 2 bytes, as shown in FIG. 15F (e.g., as described with respect to "NORMAL_16_Bit" data packet types), although any other amount and/or type of information may be suitable, such as 1 byte (e.g., as described with respect to "NORMAL_8_Bit" data packet types). Such a value of the last communicated NORMAL data may be continuously updated by the particular construction device throughout its use in response to receiving/transmitting particular data at a given moment in time. In some embodiments, such a value of the last communicated NORMAL data at a particular device I/O connector 152/162 may be cleared when a connection to another device 100 is terminated at that particular device I/O
connector 152/162 (e.g., when a cable 55 is removed from that particular device I/O
connector 152/162). In some embodiments, certain devices 100 may be configured to retain more than one previous value of previously communicated data at a particular port (e.g., a visible light sensor construction device 200A, a flip-flop logic construction device 400B, and/or a motor action construction device 500D may be configured to utilize hysteresis by analyzing multiple previous NORMAL data values, as described above). Moreover, such a particular value of the UID 740 of the construction device coupled to the particular device I/O connector 152/162 may be described by a "uint32_t uid" data block, which may be 4 bytes, as shown in FIG. 15F
(e.g., as described above with respect to the storage of the UID of the particular construction device in the module descriptor of that particular construction device). Such a value of the UID of the construction device currently coupled to the particular construction device may vary throughout its use in response to detecting different construction devices being coupled thereto at different times. When the particular device I/O connector 152/162 is not coupled to another construction device, the value of this UID data field of such device connector state information of module descriptor 745 may be set to zero.
[0271] In some embodiments, various additional types of information may be stored in a module descriptor 745 of a particular construction device 100, such as its current firmware version, identification of its factory of manufacture, its date of manufacture, vendor and/or date codes for various ones of its internal components, and the like. Alternatively, such additional data may be maintained and stored in one or more servers of an entity (e.g., server 10 of FIG. 2), such as a manufacturer of devices 100, where such data may be accessed through using the UID of a particular device as a look-up reference for that additional data (e.g., through use of controller device 600).
MANAGEMENT PACKETS [0272] In order to keep the module descriptor 745 of a construction device updated, each, some, or every construction device may be configured to receive certain data at each one of its device connectors (e.g., at each one of its device input connectors 152 and at each one of its device output connectors 162) that may be indicative or otherwise descriptive of another device coupled thereto. Therefore, each device output connector 162 of a particular construction device may be configured to receive data from the input connector of another device coupled thereto (e.g., via a cable 55) for updating the module descriptor 745 (e.g., at least the connector state array) of that particular construction device. Additionally or alternatively, each device input connector 152 of a particular construction device may be configured to transmit data to the output connector of another device coupled thereto (e.g., via a cable 55) for updating the module descriptor 745 (e.g., at least the connector state array) of that other construction device.
[0273] For example, as shown in FIGS. 15, 15D, and 15E, each device I/O connector of each, some, or every construction device 100 may be configured to communicate (e.g., transmit or receive) data according to the MANAGE packet type protocol using a
MANAGE_HELLO_Request packet format 760 and/or a MANAGE_HELLO_Response packet format 765. Such a MANAGE_HELLO_Request packet format 760 may include a header (e.g., "MANAGE_HELLO_Request Header" of FIG. 15D, which may be indicative of a request for data according to this packet format). Such a MANAGE_HELLO_Response packet format 765 may include a header (e.g., "MANAGE_HELLO_Response Header" of FIG. 15E, which may be indicative of a response according to this packet format) and any suitable number of bytes of response data (e.g., a 4 byte UID 740 of FIG. 15E, which may uniquely describe the construction device generating this response).
[0274] Each, some, or every construction device 100 may be configured to generate and transmit such a MANAGE_HELLO_Request from any suitable device I/O connector (e.g., from any suitable device input connector 152 and/or from any suitable device output connector 162) in an attempt to receive such a MANAGE_HELLO_Response. Similarly, each, some, or every construction device 100 may be configured to receive such a MANAGE_HELLO_Request at any suitable device I/O connector (e.g., at any suitable device input connector 152 and/or at any suitable device output connector 162) and, in response to the receipt of such a
MANAGE_HELLO_Request, may generate and transmit a MANAGE_HELLO_Response from the same device I/O connector that received the MANAGE_HELLO_Request (e.g., from the device input connector 152 and/or from the device output connector 162 that received the MANAGE_HELLO_Request), where such a MANAGE_HELLO_Response includes the UID 740 of that responding construction device 100. Each, some, or every construction device 100 may be configured to receive such a MANAGE_HELLO_Response at any suitable device I/O connector (e.g., at any suitable device input connector 152 and/or at any suitable device output connector 162) and, in response to the receipt of such a
MANAGE_HELLO_Response, may populate or update module descriptor 745 of that receiving construction device 100 (e.g., the UID data portion of the current state data for the device I/O connector of the receiving construction device 100 that received such a
M AN AGE_HELLO_Response) .
[0275] A construction device 100 may be configured to generate and transmit such a
MANAGE_HELLO_Request from any suitable device I/O connector (e.g., from any suitable device input connector 152 and/or from any suitable device output connector 162) in an attempt to receive such a MANAGE_HELLO_Response at any suitable moment. For example, in some embodiments, a construction device 100 may be configured to generate and transmit such a MANAGE_HELLO_Request from each one of its device I/O connectors in response to that device 100 being enabled (e.g., due to a power-up event), in response to that device 100 receiving new data (e.g., new NORMAL data) at one of its device I/O connectors, in response to that device 100 receiving a MANAGE_HELLO_Request at one of its device I/O connectors, and/or in response to any other suitable event. A construction device 100 may be configured to transmit a MANAGE_HELLO_Request from one or more device I/O connectors in response to one or more various potential impetuses. When a device 100 is initially booted, each one of its device connector states may be "zeroed" with associated flags indicating that each port is disconnected and all UIDs for each device connector may be cleared. At some point another activated device 100 is coupled to one of an input device connector or output device connector. Each device output connector 162 of a particular device 100 may be configured to see a pulse from a connected device input connector of another device, which may cause the flag for that device output connector 162 to be updated as "connected" and device 100 may start streaming out packets from that device output connector 162. Each device input connector 152 of a particular device 100 may be configured to receive a data packet from a connected device output connector of another device, which may cause the flag for that device input connector 152 to be updated as "connected". At a position in a main program loop of device 100, device 100 may be configured to check the connection flag state for all of its device I/O connectors in order to find all connectors with a "connected" flag but with no UID associated with that connector (e.g., that device 100 may realize "I know that I am connected to another device but I don't know what device I am connected to"). That device 100 may then be configured to send a
MANAGE_HELLO_Request out of that device connector. In response to that
MANAGE_HELLO_Request, the device 100 may receive a MANAGE_HELLO_Response on that device connector that may contain the UID of the connected device, and such a UID may then be stored in the UID field associated with that device connector.
[0276] As mentioned, the module descriptor 745 that may be maintained by each construction device 100 may be accessible and utilized by a controller device (e.g., such as controller device 600 of FIG. 2, 14, and 14 A) to enable various types of analysis on and/or control of each construction device 100 in a particular system of construction devices that may be coupled to the controller device. For example, each communicatively coupled system of construction devices, such as system 1 of FIG. 2, may include a controller device, such as controller device 600, coupled thereto for accessing and utilizing the module descriptors 745 of the interconnected construction devices (e.g., for enabling various additional functionalities, such as graph scan analysis, power scan analysis, virtual control, virtual response, virtual coupling, and the like). Controller device 600 may be configured to communicate with any suitable communications component of any suitable construction device of system 1. For example, as shown in FIG. 2, controller device 600 may be configured to communicate control communication 685 with communications component 340 of power construction device 300 via a communications set-up 655, where communications set-up 655 may be any suitable wired or wireless
communication configuration for enabling communication 685 to be shared between controller device 600 and power communication device 300.
[0277] In order to access the module descriptor 745 of one, some, or all of the construction devices of system 1 to which controller device 600 may be coupled (e.g., via communications set-up 655 and power construction device 300), controller device 600 may be configured to access the module descriptor 745 of a "base" construction device (e.g., the construction device that controller device 600 is directly coupled to, such as power construction device 300 of system 1). For example, controller device 600 may directly access module descriptor 745 from memory component 320 of power construction device 300 via communication set-up 655, and then via communication component 330 and a bus of device 300. Once the module
descriptor 745 of such a base construction device is accessed, controller device 600 may be configured to identify the UID 740 of each construction device directly coupled to that base construction device via the accessed module descriptor 745 of such a base construction device. Next, controller device 600 may transmit a request to each one of those identified construction devices (e.g., each construction device that is directly coupled to base construction device 300), where such a request may ask for the module descriptor 745 of that identified construction device. For example, in response to receiving module descriptor 745 of base construction device 300, controller device 600 may be configured to identify the UID 740 of each one of construction devices 200 and 400 that may be directly coupled to base construction device 300 of system 1. Then, controller device 600 may be configured to issue a particular request (e.g., via base construction device 300) to each one of those identified construction devices 200 and 400 for its module descriptor 745.
[0278] For example, as shown in FIGS. 15, 15G, and 15H, each device I/O connector of each, some, or every construction device 100 and controller device 600 (e.g., via a directly coupled base construction device) may be configured to communicate (e.g., transmit or receive) data according to the MANAGE packet type protocol using a MANAGE_DESCRIPTOR_Request packet format 770 and/or a MANAGE DESCRIPTOR Response packet format 775. Such a MANAGE DESCRIPTOR Request packet format 770 may include a header
(e.g., "MANAGE_DESCRIPTOR_Request Header" of FIG. 15G, which may be indicative of a request for data according to this packet format) and any suitable number of bytes of data that may identify the construction device of system 1 that is the target of this request (e.g., a 4 byte UID 740 of FIG. 15G, which may uniquely describe the construction device that is the intended recipient of the request). Such a MANAGE DESCRIPTOR Response packet format 775 may include a header (e.g., "MANAGE_DESCRIPTOR_Response Header" of FIG. 15H, which may be indicative of a response according to this packet format) and any suitable number of bytes of response data (e.g., a 4 byte UID 740 of FIG. 15H, which may uniquely describe the construction device generating this response, and any suitable number of bytes of data that may communicate the module descriptor data 745 of that responding construction device, which may be a payload data size of any suitable number of bytes, as shown in FIG. 15H). Any construction device that may receive such a MANAGE_DESCRIPTOR_Request may be configured to forward it on to the target construction device of that request (e.g., based on the UID 740 contained therein) assuming it isn't the target construction device itself (e.g., by forwarding the request out from each of its device I/O connectors). Moreover, any construction device that may receive such a MANAGE_DESCRIPTOR_Response may be configured to forward it on to the controller device 600 of system 1. For example, in some embodiments, only a controller device 600 may be configured to generate and transmit a MANAGE DESCRIPTOR Request, such that any construction device 100 that may receive such a MANAGE_DESCRIPTOR_Request may be configured to make a note of which device I/O connector received such a
MANAGE_DESCRIPTOR_Request (e.g., using the "uint8_t rootPort" data block of its module descriptor 745, as described above with respect to FIG. 15F). Thus, when that construction device 100 receives a MANAGE_DESCRIPTOR_Response, it may be configured to determine which of its device I/O connectors is most closely coupled to a connector device 600 (e.g., based on the "uint8_t rootPort" data block of its module descriptor 745) and may forward that MANAGE_DESCRIPTOR_Response on via that determined device connector (e.g., determined "root port").
[0279] Continuing with the example of system 1 of FIG. 2, controller device 600 may be configured to issue a MANAGE_DESCRIPTOR_Request (e.g., via base construction device 300) to each one of the construction devices identified in the module descriptor of base construction device 300 (e.g., construction devices 200 and 400) for requesting the module descriptor 745 of each identified device (e.g., to device 200 via device input connector 352 of base device 300 and to device 400 via device output connector 362 of device 300). Then, controller device 600 may be configured to receive (e.g., via base device 300) a
MANAGE_DESCRIPTOR_Response containing the module descriptor 745 from each of those targeted identified devices (e.g., from device 200 via device input connector 352 of base device 300 and from device 400 via device output connector 362 of device 300). The module descriptor 745 received from device 200 may be analyzed by controller 600 to determine that there are no other construction devices coupled to device 200 in system 1 other than base device 300 (e.g., due to no other UID 740 being included in the module descriptor 745 received from device 200 other than UID 740 for base device 300). However, the module descriptor 745 received from device 400 may be analyzed by controller 600 to determine that there are two other construction devices in system 1 coupled to device 400 other than base device 300 (e.g., due to the UIDs 740 for each one of devices 500 and 500' being included in the module descriptor 745 received from device 400). Therefore, in response to these two additional UIDs 740, controller 600 may be configured to issue a MANAGE_DESCRIPTOR_Request (e.g., via base construction device 300) to each one of these additionally identified construction devices (e.g., to construction devices 500 and 500' using their UIDs 740) for requesting the module descriptor 745 of each of those additionally identified devices (e.g., to device 500 via device 300 and 400 and to device 500' via devices 300 and 400). Then, controller device 600 may be configured to receive (e.g., via base device 300) a MANAGE_DESCRIPTOR_Response containing the module descriptor 745 from each of those targeted identified devices (e.g., from device 500 via devices 400 and 300 and from device 500' via devices 400 and 300). Thus, controller device 600 may be configured to access the module descriptor 745 of each
construction device of system 1.
[0280] In other embodiments, continuing with the example of system 1 of FIG. 2, controller device 600 may be configured to issue a MANAGE_DESCRIPTOR_Request (e.g., via base construction device 300) to each one of the construction devices identified in the module descriptor of base construction device 300 (e.g., construction devices 200 and 400) for requesting the module descriptor 745 of each identified device (e.g., to device 200 via device input connector 352 of base device 300 and to device 400 via device output connector 362 of device 300). Then, controller device 600 may be configured to receive (e.g., via base
device 300) a MANAGE DESCRIPTOR Response containing the module descriptor 745 from each of those targeted identified devices (e.g., from device 200 via device input connector 352 of base device 300 and from device 400 via device output connector 362 of device 300). While, as above, the module descriptor 745 received from device 200 may be analyzed by controller 600 to determine that there are no other construction devices coupled to device 200 in system 1 other than base device 300 (e.g., due to no other UID 740 being included in the module descriptor 745 received from device 200 other than UID 740 for base device 300). However, the module descriptor 745 received from device 400 may be analyzed by controller 600 to determine not only the module descriptor 745 of device 400 but also the module descriptor 745 of each construction device coupled downstream from device 400 (e.g., the module descriptor 745 of device 500 and the module descriptor 745 of device 500'). For example, in response to receiving a MANAGE_DESCRIPTOR_Request, device 400 may be configured to propagate such a MANAGE_DESCRIPTOR_Request along to each of the construction devices that it is coupled to at each of its device connectors that is not its "root device connector" (e.g., devices 500 and 500' that are not coupled to root device connector 452 of device 400 (e.g., the device connector at which device 400 received the MANAGE_DESCRIPTOR_Request)). Through such propagation of a MANAGE_DESCRIPTOR_Request, device 400 may first receive
MANAGE_DESCRIPTOR_Responses from each one of devices 500 and 500' (e.g., at device connectors 462 and 462', respectively), and then device 400 may wrap or otherwise bundle those MANAGE_DESCRIPTOR_Responses from devices 500 and 500' (e.g., that may include the module descriptors 745 of devices 500 and 500') into the MANAGE_DESCRIPTOR_Response generated and transmitted by device 400 back to controller device 600 (e.g., via device 300). Therefore, the MANAGE_DESCRIPTOR_Response that may be received by controller device 600 from device 400 (e.g., via device 300) may include not only the module
descriptor 745 of device 400 but also the module descriptor 745 of device 500 and the module descriptor 745 of device 500'. Thus, controller device 600 may be configured to access the module descriptor 745 of each construction device of system 1 without transmitting
MANAGE_DESCRIPTOR_Responses specifically addressed to each one of devices 500 and 500'.
[0281] A controller device 600 may be configured to generate and transmit such a
MANAGE_DESCRIPTOR_Request from any suitable device I/O connector (e.g., from any suitable device input connector 152 and/or from any suitable device output connector 162) of a base construction device in an attempt to receive one or more
MANAGE_DESCRIPTOR_Responses at any suitable moment. For example, in some embodiments, a controller device 600 may be configured to generate and transmit one or more MANAGE DESCRIPTOR Requests for accessing the module descriptors 745 of each construction device in a system 1 in response to that controller device 600 being enabled
(e.g., due to a power-up event), in response to that device 600 or its base device
(e.g., device 300) receiving new data (e.g., new NORMAL data) at one of its device I/O connectors, in response to that device 600 or its base construction device receiving a
MANAGE_HELLO_Request at one of its device I/O connectors, and/or in response to any other suitable event. SMART PACKETS
[0282] In some embodiments, other types of data may be communicated amongst construction devices other than MANAGE packet type protocol data and NORMAL packet type protocol data. For example, SMART packet type protocol data may be utilized by a system of construction devices when it is desirable to communicate multi-connector functionality or enhanced data functionality through a single device connector. In some embodiments, a construction device may only be configured to communicate according to this protocol when requested to do so by a "SMART" controller (e.g., controller device 600 of FIG. 2, 14, and 14A) to enable such enhanced functionality and/or control of one or more construction devices in a particular system of construction devices that may be coupled to the controller device. For example, each communicatively coupled system of construction devices, such as system 1 of FIG. 2, may include a controller device, such as controller device 600, coupled thereto for directing SMART data communication amongst the interconnected construction devices (e.g., for enabling enhanced functionality, such as loading large amounts of data onto a construction device or communicating data for multiple device connectors of a construction device via a single one of the device connectors. Controller device 600 may be configured to communicate with any suitable communications component of any suitable construction device of system 1. For example, as shown in FIG. 2, controller device 600 may be configured to communicate control communication 685 with communications component 340 of power construction device 300 via a communications set-up 655, where communications set-up 655 may be any suitable wired or wireless communication configuration for enabling
communication 685 to be shared between controller device 600 and power communication device 300.
[0283] For example, as shown in FIGS. 15, 151, and 15 J, each device I/O connector of each, some, or every construction device 100 and controller device 600 (e.g., via a directly coupled base construction device) may be configured to communicate (e.g., transmit or receive) data according to the SMART packet type protocol using a SMART_READ_Request packet format 780 and/or a SMART_READ_Response packet format 785. Such a
SMART_READ_Request packet format 780 may include a header
(e.g., "SMART_READ_Request Header" of FIG. 151, which may be indicative of a request for data according to this SMART packet format) and any suitable number of bytes of data that may identify the construction device of system 1 that is the target of this request (e.g., a 4 byte UID 740 of FIG. 15G, which may uniquely describe the construction device that is the intended recipient of the request). Such a SMARTJREAD Response packet format 785 may include a header (e.g., "SMART_READ_Response Header" of FIG. 15 J, which may be indicative of a response according to this SMART packet format) and any suitable number of bytes of response data (e.g., a 4 byte UID 740 of FIG. 15H, which may uniquely describe the construction device generating this response, and any suitable number of bytes of data that may communicate the SMART payload data from that responding construction device, which may be a payload data size of any suitable number of bytes, as shown in FIG. 151). Any construction device that may receive such a SMART_READ_Request may be configured to forward it on to the target construction device of that request (e.g., based on the UID 740 contained therein) assuming it isn't the target construction device itself (e.g., by forwarding the request out from each of its device I/O connectors). Moreover, any construction device that may receive such a
SMART_READ_Response may be configured to forward it on to the controller device 600 of system 1. For example, in some embodiments, only a controller device 600 may be configured to generate and transmit a SMART_READ_Request, such that any construction device 100 that may receive such a SMARTJREAD Request may be configured to make a note of which device I/O connector received such a SMART READ Request (e.g., using the "uint8_t rootPort" data block of its module descriptor 745, as described above with respect to FIG. 15F). Thus, when that construction device 100 receives a SMART READ Response, it may be configured to determine which of its device I/O connectors is most closely coupled to a connector device 600 (e.g., based on the "uint8_t rootPort" data block of its module descriptor 745) and may forward that SMART_READ_Response on via that determined device connector (e.g., determined "root port").
[0284] Continuing with the example of system 1 of FIG. 2, controller device 600 may be configured to issue a SMART READ Request (e.g., via base construction device 300) to any particular construction device of the system by targeting that particular construction device using its particular UID 740 in that SMART_READ_Request. Then, controller device 600 may be configured to receive (e.g., via base device 300) a SMART_READ_Response containing the particular type of SMART payload data that may be available at that targeted construction device (e.g., from device 200 via device input connector 352 of base device 300 or from device 500 via device 400 and device output connector 362 of device 300). The SMART payload data received by controller 600 from a construction device may be utilized by controller 600 in any suitable way (e.g., to pass it on to another construction device that may be equipped to receive such SMART payload data).
[0285] Just one example of a SMART READ cycle may be the request for and receipt of multi-connector data from a single connector of a construction component. For example, movement sensor construction device 200C may include a dual-axes accelerometer functional component 270C, which may be configured to generate and transmit data indicative of the motion detected by each of the two axes out through a single device output connector
(e.g., through a single one of device output connector 262C or device output connector 262C) as SMART data rather than both transmit data indicative of the motion detected by a first of the two axes out through a first device output connector (e.g., through device output connector 262C) as first NORMAL data as well as transmit data indicative of the motion detected by a second of the two axes out through a second device output connector (e.g., through device output
connector 262C) as second NORMAL data. In such an example, both of device output connectors 262C and 262C may be configured as a "SMART" device I/O connector capable of communicating such SMART packet data.
[0286] Another example of a SMARTJREAD cycle may be the request for and receipt of data from a logic construction component. For example, flip-flop logic construction device 400B may be configured to receive a SMART_READ_Request at any of its device I/O connectors and to respond with a SMART_READ_Response containing SMART payload data indicative of the particular device output connector that is currently activated at that flip-flop logic construction device 400B (e.g., which one of device output connectors 462B and 462B' is currently activated). Although it is to be understood that this information may also be gleamed from module descriptor data of flip-flop logic construction device 400B.
[0287] Another example of a SMARTJREAD cycle may be the request for and receipt of data from an action construction component. For example, motor action construction device 500D may be configured to receive a SMART_READ_Request at any of its device input connectors and to respond with a SMART_READ_Response containing SMART payload data indicative of any suitable data (e.g., the current temperature of its motor functional component 470D, which may be determined by a thermal sensor of device 400D (not shown)). Such information may be utilized to determine whether or not to terminate the provision of power to motor device 400D (e.g., for safety considerations). Any other suitable data may be read from any suitable construction device 100 using one or more SMART READ cycles.
[0288] Additionally or alternatively, as shown in FIGS. 15, 15K, and 15L, each device I/O connector of each, some, or every construction device 100 and controller device 600 (e.g., via a directly coupled base construction device) may be configured to communicate (e.g., transmit or receive) data according to the SMART packet type protocol using a SMART_WRITE_Request packet format 790 and/or a SMART_WRITE_Response 795. Such a SMART WRITE Request packet format 790 may include a header (e.g., " SM ART_WRITE_Request Header" of FIG. 15K, which may be indicative of a request to write data according to this SMART packet format), any suitable number of bytes of data that may identify the construction device of system 1 that is the target of this request (e.g., a 4 byte UID 740 of FIG. 15G, which may uniquely describe the construction device that is the intended recipient of the request), and any suitable number of bytes of data that may communicate the SMART payload data from that requesting construction device to the intended recipient/target construction device, where such SMART payload data may be a payload data size of any suitable number of bytes, as shown in FIG. 15K). Such a SMART_WRITE_Response packet format 795 may include a header
(e.g., "SMART_WRITE_Response Header" of FIG. 15L, which may be indicative of a response according to this write SMART packet format) and any suitable number of bytes of data that may identify the construction device of system 1 that is responding to this request (e.g., a 4 byte UID 740 of FIG. 15G, which may uniquely describe the construction device that was the target of this request and that is now responding (e.g., acknowledging receipt of the request). Any construction device that may receive such a SMART_WRITE_Request may be configured to forward it on to the target construction device of that request (e.g., based on the UID 740 contained therein) assuming it isn't the target construction device itself (e.g., by forwarding the request out from each of its device I/O connectors). Moreover, any construction device that may receive such a SMART_WRITE_Response may be configured to forward it on to the controller device 600 of system 1. For example, in some embodiments, only a controller device 600 may be configured to generate and transmit a SMART_WRITE_Request, such that any construction device 100 that may receive such a SMART_WRITE_Request may be configured to make a note of which device I/O connector received such a SMART_WRITE_Request (e.g., using the "uint8_t rootPort" data block of its module descriptor 745, as described above with respect to FIG. 15F). Thus, when that construction device 100 receives a SMART_WRITE_Response, it may be configured to determine which of its device I/O connectors is most closely coupled to a connector device 600 (e.g., based on the "uint8_t rootPort" data block of its module
descriptor 745) and may forward that SMART_WRITE_Response on via that determined device connector (e.g., determined "root port").
[0289] Continuing with the example of system 1 of FIG. 2, controller device 600 may be configured to issue a SMART_WRITE_Request containing the particular type of SMART payload data (e.g., via base construction device 300) to any particular construction device of the system by targeting that particular construction device using its particular UID 740 in that SMART_WRITE_Request. Then, controller device 600 may be configured to receive (e.g., via base device 300) a SMART_WRITE_Response from that targeted construction device
(e.g., from device 200 via device input connector 352 of base device 300 or from device 500 via device 400 and device output connector 362 of device 300). The SMART payload data transmitted by controller 600 to a construction device in a SMART_WRITE_Request may be received and utilized by the target construction device in any suitable way (e.g., to alter a functionality of that construction device).
[0290] Just one example of a SMART_WRITE cycle may be the writing of particular data to a construction device through a single one of its device I/O connectors. For example, controller device 600 may include an audio file (e.g., an MP3 file) as SMART payload data of a
SMART_WRITE_Request to a record-playback action construction device 500B, which may receive such SMART payload data (e.g., at device input connector 552B) and store that audio file (e.g., in memory component 520B) for later playback by record-playback device 500B (e.g., rather than media recorded by record-playback device 500B directly).
[0291] Another example of a SMART WRITE cycle may be the writing of particular data to a logic construction device through a single one of its device I/O connectors. For example, controller device 600 may include instructions as SMART payload data of a
SMART_WRITE_Request to a flip-flop logic construction device 400B, which may receive such SMART payload data (e.g., at any device I/O connector) and utilize that SMART payload data instruction for dictating the particular device output connector to be activated and/or for dictating the particular threshold at which the currently activated device output connector is alternated and/or for changing the entire logic functionality of device 400B (e.g., from a flip-flop logic construction device 400B to a splitter logic construction device 400B). Any particular instruction may be transmitted to any suitable construction device 100 in one or more
SMART_WRJTE cycles for updating a configuration of that device 100 (e.g., for updating how that device 100 may function).
[0292] Another example of a SMART_WRITE cycle may be the transmission of
multi-connector data to a single connector of a construction component. For example, motor action construction device 500D may include a motor functional component 570D, which may be configured to receive motor control data indicative of the direction and speed with which it ought to be driven through a single device input connector (e.g., through any one of device input connectors 552D and 552D') as SMART data rather than both receive first data indicative of the speed at which the motor ought to be driven in a first direction through a first device input connector (e.g., through device input connector 552D) as first NORMAL data as well as receive second data indicative of the speed at which the motor ought to be driven in a second direction through a second device input connector (e.g., through device input connector 552D') as second NORMAL data. In some embodiments, once a first device I/O connector of a device 100 receives a SMART_WRITE_Request, device 100 may be configured to temporarily disable all other similar device I/O connectors from communicating data until that first connector has received another instruction to terminate the SMART_WRITE. For example, when first device input connector 552D receives a SMART_WRITE_Request, device 500D (e.g., processor component 510D) may be configured to temporarily disable second device input
connector 552D' from communicating any data until a particular event occurs (e.g., until first device input connector 552D receives data indicating the end of the SMART_WRITE). For example, in some embodiments, device 500D may be configured to persistently utilize the received SMART data from the SMART_WRJTE_Request until a particular event occurs (e.g., until first device input connector 552D receives new SMART data or until first device input connector 552D receives data indicating the end of the SMART_WRITE).
[0293] As another example, controller device 600 may include instructions as SMART payload data of a SMART_WRITE_Request to a multi-color visible light emitting action construction device 500A, which may receive such SMART payload data (e.g., at any device I/O connector) and utilize that SMART payload data instruction for dictating both the particular brightness and the particular color at which functional component 570 A may emit light. In some embodiments, once a first device I/O connector of a device 100 receives a SMART_WRITE_Request, device 100 may be configured to temporarily disable all other similar device I/O connectors from communicating data until that first connector has received another instruction to terminate the SMART WRITE. For example, when first device input connector 552 A receives a
SMART_WRITE_Request, device 500A (e.g., processor component 51 OA) may be configured to temporarily disable second device input connector 552 A (not shown) from communicating any data until a particular event occurs (e.g., until first device input connector 552A receives data indicating the end of the SMART_WRITE). For example, in some embodiments, device 500A may be configured to persistently utilize the received SMART data from the
SMART_WRITE_Request until a particular event occurs (e.g., until first device input connector 552A receives new SMART data or until first device input connector 552A receives data indicating the end of the SMART_WRITE).
[0294] In some embodiments, whether a device I/O connector (e.g., device input connector 152 or device output connector 162) is receiving or transmitting a SMART packet, its associated device I/O indicator (e.g., device input indicator 154 or device output indicator 164) may be configured to convey information indicative of the SMART communication mode. For example, unlike when communication of NORMAL data through a connector of an I/O interface may cause conveyance of information through an indicator of that I/O interface with a characteristic that may be variable proportionate to the value of the NORMAL data (e.g., the frequency or brightness of visual interface information may vary with the value of the NORMAL data), communication of SMART data through a connector of an I/O interface may cause conveyance of information through an indicator of that I/O interface with a static characteristic that may be unique to the SMART mode (e.g., the color of the visual interface information may be of a different color than that used during a NORMAL mode), such that a user of a system may determine what type of data is being communicated by that construction device. Alternatively, in some embodiments, unlike when communication of NORMAL data through a connector of an I/O interface may cause conveyance of information through an indicator of that I/O interface with a characteristic that may be variable proportionate to the value of the NORMAL data (e.g., the brightness of continuous visual interface information may vary with the value of the NORMAL data), communication of SMART data through a connector of an I/O interface may cause conveyance of information through an indicator of that I/O interface with a variable characteristic that may be unique to the SMART mode (e.g., the user interface information may pulse rapidly on and off or slowly fade in and out), such that a user of a system may determine what type of data is being communicated by that construction device. In some embodiments, the type of user interface information conveyed based on a SMART data communication may vary based on any suitable characteristic of the SMART data. In some embodiments, there may be no conveyance of user interface information through a device I/O indicator when SMART data is communicated through an associated device I/O connector (e.g., when the SMART_READ or SMART_WRITE cycle is short and discrete). Alternatively, there may be conveyance of user interface information through a device I/O indicator when SMART data is communicated through an associated device I/O connector (e.g., when the SMART READ or SMART JWRITE cycle is of at least a particular duration, such as when a substantially sized media file is written to a record-playback action device 500B). For example, when there is a SMART cycle of a significant duration, the appropriate I/O indicator(s) may pulse rapidly. In some embodiments, if there are multiple device connectors associated with a SMART cycle (e.g., two device input connectors of a motor device 500D or two device output connectors of a movement sensor construction device 200C), the I/O indicators associated with those multiple device connectors may be pulsed in an alternating fashion (e.g., like lights on a railroad crossing sign). Any suitable characteristics of any suitable type of user interface information may be adjusted in any suitable way or ways when conveying different types of communicated data. In some embodiments, each device 100 whose device connectors may be used to pass SMART data on to its rightful target device 100 may be configured to not convey any user interface information from its associated I/O indicators. That is, only the I/O indicators of the target device 100 of SMART data may be configured to convey information indicative of that SMART data.
FIGS. 16-16E
[0295] As shown in FIG. 16A, a process 820 may include a construction device 100 being turned on or otherwise booted at "START". At step 821 it may be determined (e.g., via processor component 120 of device 100) whether device 100 (e.g., an oscillator of device 100) is calibrated. If not, process 820 may proceed to step 822 where the device 100 may be calibrated. If step 822 fails, process 820 may advance to step 823 and device 100 may indicate as much to a user (e.g., by blinking I/O indicators). If step 822 passes or the answer is yes at step 821 , process 820 may proceed to step 824 where device 100 may be initialized (e.g., all common hardware may be initialized, a timer may be started, a flash checksum may be checked, etc.). Moreover, at step 824a, device-specific elements may be initialized (e.g., specific hardware components, such as functional components 170, analog-to-digital converters, digital-to-analog converters, timers, motor drivers, LEDs, other indicator components, etc.). At step 825, various interrupts may be started (e.g., timers may start running, serial communications, SPI traffic, etc.). Next, once device 100 has been fully initialized, a service loop 829 may be run. Service loop 829 may start at subroutine 840, which may be shown in detail in FIG. 16B, where at least one device output connector of device 100 may be serviced. For example, service output subroutine 840 may start with all device output connectors floating (e.g., a pull down resistor (e.g., a 470,000 Ω weak resistor) on the data line of each device output connector 162 may be floated) and then, at step 841 it may be determined (e.g., by processor 110) whether any device output connector 162 needs servicing (e.g., is a pull-up resistor (e.g., a 33,000 Ω strong resistor) on the data line of a device input connector 142 of a remote construction device
communicatively coupled to that device output connector 162 is pulled high or is trying to go HIGH to a " 1 " value). When no such device output connector 162 is detected, subroutine 840 may end. When such a device output connector 162 is detected, subroutine 840 may advance to step 842, where such connector 162 may be selected (e.g., allow it to keep floating) and all other device output connectors 162 may be held off (e.g., written to "0" value), which may be an arbitration of all device output connectors 162 of device 100 if there are more than one. Next, a particular amount of time (e.g., 180μ seconds) may be waited at step 843 for a start bit on the data line of the selected device output connector 162. Then, at step 844, a software universal asynchronous receiver/transmitter ("software UART") of device 100
(e.g., processor 1 10/application 1 13) may be initialized and then subroutine 840 may attempt to receive a start bit. If such a start bit of a communication on the data line of the selected device output connector 162 is received, subroutine 840 may proceed to subroutine 870
(e.g., subroutine 870 of FIG. 16D). If a start bit is not received at step 845 or if such
subroutine 870 is a success, process 820 may advance to step 846 where a certain amount of time (e.g., 550μ seconds) may be waited. Otherwise, if such subroutine 870 is a failure (e.g., the selected device output connector 162 has lost arbitration somehow, such as due to a timeout), subroutine 840 may end. After step 846, subroutine 840 may advance to step 847 where a packet may be sent out from device 100 from its selected device output connector 162, then the end of a pulse may be waited for at step 848, and then subroutine 840 may end.
[0296] Next, after subroutine 840, service loop 829 may advance to subroutine 860, which may be shown in detail in FIG. 16C, where at least one device input connector of device 100 may be serviced. For example, service input subroutine 860 may start with all device input connectors floating (e.g., a pull up resistor (e.g., a 33,000 Ω strong resistor) on the data line of each device input connector 152 may be floated) and then, at step 861 it may be determined (e.g., by processor 1 10) whether it has been a certain amount of time (e.g., 10 milliseconds, (e.g., the length of a cycle of device 100)) since any device input connector 152 has last been serviced. If not, subroutine 860 may end. If so, subroutine 860 may proceed to step 862 and a particular device input connector 152 may be selected for servicing (e.g., allow it to keep floating) and all other device input connectors 152 may be held off (e.g., written to "0" value), which may be an arbitration of all device input connectors 152 of device 100 if there are more than one. Next, a particular amount of time (e.g., 120μ seconds) may be used at step 862 to arbitrate the selected device input connector 152 (see, e.g., region 802 of schematic 800 of FIG. 16). Step 862 may include pulling the data line of the selected device input connector 152 HIGH unless the data line of the communicatively coupled device output connector of a communicatively coupled other construction device unless that device output connector has been written to zero (e.g., at step 842). If that occurs, step 863 may fail and subroutine 860 may end. If not, step 863 may be a success and subroutine 860 may proceed to step 864, where the data line of the selected device input connector 152 may be asserted high, such that the selected device input connector 152 may now "own the data bus". Then, at step 865, a software universal asynchronous
receiver/transmitter ("software UART") of device 100 (e.g., processor 1 10/application 1 13) may be initialized and then subroutine 860 may attempt to send a packet from the selected device input connector 152 at step 866. If a SMART or MANAGEMENT packet is awaiting to be sent from the device input connector 152, that packet may be sent at step 866, otherwise a NORMAL packet may be sent at step 866. Next, at step 867, it may be determined whether a particular amount of time (e.g., 800μ seconds) has passed. If not, process 820 may proceed to step 893. If so, process 820 may proceed to step 868 where a certain amount of time (e.g., 450μ seconds) may be waited. Next, a particular amount of time (e.g., 900μ seconds) may be waited at step 869 for a start bit on the data line of the selected device input connector 152. If such a start bit of a communication on the data line of the selected device input connector 152 is received, subroutine 860 may proceed to subroutine 870 (e.g., subroutine 870 of FIG. 16D). If a start bit is not received at step 891 and/or step 870 is a success, process 820 may advance to step 892 where a certain amount of time (e.g., 1000μ seconds) may be waited. Otherwise, if such subroutine 870 is a failure (e.g., the selected device input connector 152 has lost arbitration somehow, such as due to a timeout), subroutine 860 may end. After step 92, subroutine 860 may advance to step 893 where the data line of the selected device input connector 152 may be asserted low and subroutine 860 may end.
[0297] Next, after subroutine 860, service loop 829 may advance to step 826, where all packets may be handled. For example, any NORMAL data received at a device input connector 152 (e.g., at a buffer) may be used to update a state value of that device input connector. If any MANAGEMENT or SMART data is received at a device input connector 152 or device output connector (e.g., at a buffer), such data may be handled appropriately (e.g., at step 826a). All appropriate port states of each device connector may be updated appropriately at step 826 and/or step 826a based on any new data received at device 100 during loop 829 (e.g., where functional components 170 or other components of device 100 may act according to the new data at each port state). Next at step 827, connection states may be maintained (e.g., device 100 may be configured to determine if new connections have been realized or previous connections have been terminated in loop 829 (e.g., in response to which a new graph scan or power scan may be initiated and/or updating of the module descriptor of device 100 may be initiated or queued). Before, after, or during step 827, step 827a may also be conducted, during which various operations of any functional component 170 of device 100 may be serviced (e.g., read sensor data, write action outputs, etc., which may be done repeatedly (e.g., every 10 milliseconds)). Then, at step 828, loop 829 may maintain one or more indicators (e.g., indicator 154/164) of device 100 may be maintained or otherwise services (e.g., based on any new data received at device 100 during loop 829). Then, service loop 829 may be repeated by returning to step 840.
[0298] Subroutine 870 of FIG. 16D for receiving a packet may include a step 871 where a first packet byte may be received (e.g., using an auto-tuning algorithm, such as an algorithm 880 described in FIG. 16E). Then subroutine 870 may proceed to step 872, where all other packet bytes may be received (e.g., using a fixed tuning algorithm, where one or more parameters of such a fixed tuning algorithm may be learned from an auto-tuning algorithm, such as
algorithm 880 described in FIG. 16E). Next, at step 873, it may be determined whether a timing gap is greater than a certain amount of time (e.g., 100 μseconds). If not, subroutine 870 may return to step 872, otherwise subroutine 870 may proceed to step 874 where the end of the packet may be received. Next at step 875, it may be determined whether the received packet is a NORMAL packet. If so, subroutine 870 may proceed to step 875a, where the port state of the receiving device connector may be updated with the value of the received NORMAL data and then subroutine 870 may end. If not, subroutine 870 may proceed to step 876 and determine whether the received packet is a HELLO packet. If so, subroutine 870 may proceed to step 876a, where an appropriate HELLO response packet may be formatted and queued and then
subroutine 870 may end. If not, subroutine 870 may end.
[0299] Auto-tuning algorithm 880 described in FIG. 16E may be utilized due to the fact that processor component 1 10 of device 100 may use a cheap resistor-capacitor ("RC") oscillator for its clock which may not normally be accurate enough for use in a UART. Auto-tuning of algorithm 880 may measure the speed of the packet header byte relative to its own clock, however, mismatched it may be to the transmitter, and may adjust its receive and transmit parameters accordingly. For example, data may be sent as standard asynchronous serial data with the following parameters: 57600 BAUD (bits per second one bit at a time, which may be 17.36 μseconds); 8 data bits and 2 stop bits and no parity; data may be sent least significant bit first; and idle condition may beat "1 ", where data may be positive true. The first byte of every packet is the header byte (see, e.g., FIGS. 15A-15L), where every header may have an "8" or any other suitable element in its most significant nibble. Auto-tuning algorithm 880 may take advantage of the fact that every header may have a particular element in its most significant nibble. For example, as shown in FIG. 16E, a NORMAL_Data_2_Bytes Header may be appear as shown when transmitted. The auto-tuning algorithm may measure the 138.89 μseconds between the falling edge of the start bit and the rising edge of the most significant bit ("MSB") of " 1 ". The auto-tuning algorithm may be configured to use that information (e.g., because this is a header byte), as there may be guaranteed to be at least 52.08 μεβϋοηάβ of "0" before the MSB (e.g., as all header bytes may start with an 8). Such a gap of zeros may allow the clock of each device 100 to be initially out of synch. [0300] Schematic 800 of FIG. 16 may show how a construction device 100 may control the flow of data amongst various device connectors (e.g., device input connector 0, device input connector 1, device output connector 0, etc.) using process 820. Region 802 shows a particular amount of time (e.g., 120μ seconds) that may be used at step 862 to arbitrate the selected device input connector 152. Region 804 shows where a selected device input connector 152 may be active to transmit data (e.g., from time 100 μseconds to 200 μseconds of a 1 millisecond active state of an input device connector 152 within a 10 millisecond cycle of device 100), where the input may be general purpose output HIGH and where the communicatively coupled device output connector is general purpose input and listening for data (e.g., at step 866). Region 806 shows where the selected device input connector 152 may be active to receive data (e.g., from time 500 μ8εϋο^8 to 900 μseconds of a 1 millisecond active state of an input device
connector 152 within a 10 millisecond cycle of device 100), where the input may be general purpose input and where the communicatively coupled device output connector is ready to send data general purpose input and listening for data (e.g., at step 891). Region 808 shows where the selected device input connector 152 may be disabled (e.g., from time 1000 μseconds to
9999 μseconds of a 1 millisecond active state of an input device connector 152 within a
10 millisecond cycle of device 100), where the input may be general purpose output and where the bus may be held.
[0301] Therefore, two communicatively coupled construction devices may communicate effectively without a time synch signal shared between the two devices, such that two
communicatively coupled construction devices may be asynchronous. Such asynchronous communicatively coupled construction devices may communicate bi-directionally over a single data signal line with each device provided with a cheap, low-power software UARTs
microprocessor (e.g., processor component 1 10). The software UART of each construction device (e.g., bit banging using software rather than dedicated hardware) may be configured to handle (e.g., arbitrate between) multiple device connectors (e.g., ports) of device 100 one at a time in asynchronous communication with other construction devices. Only one device connector of a construction device 100 may be able to communicate at any given time because of the limited capability of processor component 1 10 in certain embodiments.
CONTROLLER DEVICE 600 [0302] As mentioned, each communicatively coupled system of construction devices, such as system 1 of FIG. 2, may include a controller device, such as controller device 600, coupled thereto for accessing and utilizing the module descriptors 745 of the interconnected construction devices (e.g., for enabling various additional functionalities, such as graph scan analysis, power scan analysis, virtual control, virtual response, virtual coupling, and the like). Controller device 600 may be any suitable device that may be configured to process large amounts of data for providing additional functionalities to system 1 that construction devices 100 may not be able to handle. Each construction device 100 may have a primary active component (e.g., functional component 170) that may define the primary function of that device, where each functional component may be the determining factor of the cost to make that device (e.g., the functional component, such as a visible light sensor 270A of device 200A, may make up more than half the cost of producing the construction device), where the processor, memory, and any other component of the construction device (e.g., processor component 110, memory component 120, I/O interfaces, etc.) may be rudimentary and together may not make up more than half the cost of manufacturing the device. This may be quite unlike controller device 600 (e.g., an iPhone™) where any component of device 600 does not account for more than half of the cost of the device.
[0303] FIG. 14 is a schematic view of an illustrative controller device 600 that may be communicatively coupled to at least one construction device of a system of interconnected communication devices (e.g., to base construction device 300 of system 1 of FIG. 2) for providing additional functionality to the system in accordance with some embodiments.
Controller device 600 can be any suitable type of electronic device, including, but not limited to, a media player (e.g., an iPod™ available by Apple Inc. of Cupertino, California), a movie or video camera or recorder, a musical instrument, a calculator, a cellular telephone (e.g., an iPhone™ available by Apple Inc.), other wireless communication device, personal digital assistant, remote control, pager, computer (e.g., a desktop, laptop, tablet (e.g., an iPad™ available by Apple Inc.), server, etc.), television, or any combination thereof. In some embodiments, controller device 600 may be configured to perform a single function (e.g., to communicate with a system of construction devices 100 for adding functionality thereto) and, in other embodiments, controller device 600 may perform multiple functions (e.g., a device that adds functionality to a system of construction devices 100, plays music, and receives and transmits telephone calls). Controller device 600 may be any portable, mobile, hand-held, or miniature electronic device that may be configured to add functionality to a system of construction devices 100 wherever a user travels. Alternatively, construction device 600 may not be portable at all, but may instead be generally stationary.
[0304] As shown in FIG. 14, for example, controller device 600 may include a processor component 610, a memory component 620, a power supply component 630, a communications component 640, an input component 650, and an output component 660. Controller device 600 may also include a bus 619 that may provide one or more wired or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device 600. In some embodiments, one or more components of controller device 600 may be combined or omitted. Moreover, controller device 600 may include other components not combined or included in FIG. 14. For example, controller device 600 may include any other suitable components or several instances of the components shown in FIG. 14. For the sake of simplicity, only one of each of the components is shown in FIG. 14.
[0305] Memory component 620 may include one or more storage mediums, including for example, a hard-drive, flash memory, permanent memory such as read-only memory ("ROM"), semi-permanent memory such as random access memory ("RAM"), any other suitable type of storage component, or any combination thereof. Memory 620 may include cache memory, which may be one or more different types of memory used for temporarily storing data for controller device applications. Memory 620 may be fixedly embedded within controller device 600 or may be incorporated onto one or more suitable types of cards that may be repeatedly inserted into and removed from controller device 600 (e.g., a subscriber identity module ("SIM") card or secure digital ("SD") memory card). Memory 620 may store media data (e.g., music and image files), software (e.g., for implementing functions on device 600), firmware, preference information, wireless connection information (e.g., information that may enable device 600 to establish a wireless connection), any other suitable data, or any combination thereof.
[0306] Power supply component 630 can include any suitable circuitry for receiving and/or generating power, and for providing such power to one or more of the other components of controller device 600. For example, power supply 630 can be coupled to a power grid
(e.g., when device 600 is not acting as a portable device or when a battery of the device is being charged at an electrical outlet with power generated by an electrical power plant). As another example, power supply 630 can be configured to generate power from a natural source
(e.g., solar power using solar cells). As another example, power supply 630 can include one or more batteries for providing power (e.g., when device 600 is acting as a portable device). For example, power supply 640 can include one or more of a battery (e.g., a gel, nickel metal hydride, nickel cadmium, nickel hydrogen, lead acid, or lithium-ion battery), an uninterruptible or continuous power supply ("UPS" or "CPS"), and circuitry for processing power received from a power generation source (e.g., power generated by an electrical power plant and delivered to the user via an electrical socket or otherwise). The power can be provided by power supply 630 as alternating current or direct current, and may be processed to transform power or limit received power to particular characteristics. For example, the power can be transformed to or from direct current, and constrained to one or more values of average power, effective power, peak power, energy per pulse, voltage, current (e.g., measured in amperes), or any other characteristic of received power. Power supply 630 can be operative to request or provide particular amounts of power at different times, for example, based on the needs or requirements of controller device 600 or periphery devices that may be coupled to electronic device 600 (e.g., to request more power when charging a battery than when the battery is already charged). Power supply 630 may be provided with a charging element 635 (e.g., a micro universal serial bus ("USB") connector or DC connector for coupling to a charging cable, and/or a cell for receiving solar or wireless power). Alternatively or additionally, charging element 635 may be configured to supply power from power supply 630 to another device (e.g., to power supply 330 of base construction device 300 of FIG. 2) for charging a power supply of that device and/or for powering that device during use.
[0307] Communications component 640 may be provided to allow device 600 to communicate with one or more other devices (e.g., a base construction device 300 via a controller
communications set-up 655 of FIG. 2 or another controller devices 600) or one or more servers (e.g., a server 10 via a communications set-up 255 of FIG. 2) using any suitable communications protocol. For example, communications component 640 may support Wi-Fi (e.g., an
802.1 1 protocol), ZigBee (e.g., an 802.15.4 protocol), WiDi™, Ethernet, Bluetooth™,
Bluetooth™ Low Energy ("BLE"), high frequency systems (e.g., 900 MHz, 2.4 GHz, and 5.6 GHz communication systems), infrared, transmission control protocol/internet protocol ("TCP/IP") (e.g., any of the protocols used in each of the TCP/IP layers), Stream Control Transmission Protocol ("SCTP"), Dynamic Host Configuration Protocol ("DHCP"), hypertext transfer protocol ("HTTP"), BitTorrent™, file transfer protocol ("FTP"), real-time transport protocol ("RTP"), real-time streaming protocol ("RTSP"), real-time control protocol ("RTCP"), Remote Audio Output Protocol ("RAOP"), Real Data Transport Protocol™ ("RDTP"), User Datagram Protocol ("UDP"), secure shell protocol ("SSH"), wireless distribution system
("WDS") bridging, any communications protocol that may be used by wireless and cellular telephones and personal e-mail devices (e.g., Global System for Mobile Communications ("GSM"), GSM plus Enhanced Data rates for GSM Evolution ("EDGE"), Code Division
Multiple Access ("CDMA"), Orthogonal Frequency-Division Multiple Access ("OFDMA"), high speed packet access ("HSPA"), multi-band, etc.), any communications protocol that may be used by a low power Wireless Personal Area Network ("6L0WPAN") module, any other
communications protocol, or any combination thereof. Communications component 640 may also include or be electrically coupled to any suitable transceiver circuitry (e.g., transceiver 645) that can enable device 600 to be communicatively coupled to another device or server (e.g., to base construction device 300 or server 10 of FIG. 2) and communicate with that other device wirelessly (e.g., where transceiver 645 may include an antenna) or via a wired connection (e.g., where transceiver 645 may include a connector port). Whether transceiver 645 enables a wired or wireless connection using any suitable wired or wireless communications protocol, controller device 600 may utilize such a connection to communicate one or more controller communications 685 with a transceiver of communications component 340 of base construction device 300 via controller communications set-up 655 (e.g., as shown in FIG. 2). Additionally or alternatively, whether transceiver 645 enables a wired or wireless connection using any suitable wired or wireless communications protocol, controller device 600 may utilize such a connection to communicate one or more server communications 285 with a server 10 via server
communications set-up 255 (e.g., as shown in FIG. 2) In some embodiments, communications component 640 may be configured to enable such controller communications 685 and such server communications 285 simultaneously using different protocols and/or different
transceivers 645. Additionally, communications component 640 may be configured to determine a geographical position of controller device 600. For example, communications component 640 may utilize the global positioning system ("GPS") or a regional or site-wide positioning system that may use cell tower positioning technology or Wi-Fi technology.
[0308] One or more input components 650 may be provided to permit a user to interact or interface with controller device 600. For example, input component 650 can take a variety of forms, including, but not limited to, a touch pad, a dial, a click wheel, a scroll wheel, a touch screen, a user-variable mechanical knob, one or more buttons (e.g., a keyboard), a mouse, a joy stick, a track ball, a microphone, a camera, a scanner (e.g., a code scanner), a proximity sensor, a GPS sensor system, a light sensor, a motion sensor (e.g., a motion sensor for detecting movement external to device 600 (e.g., a passive infrared sensor, as described above with respect to motion sensor construction device 200 A) and/or a movement sensor for detecting movement of device 600 itself (e.g., within free space, such as an accelerometer, gyroscope, etc., as described above with respect to movement sensor construction device 200C)), a biometric sensor (e.g., a fingerprint reader, facial detection sensor, or other feature recognition sensor), an internet web browser, a telephone communication enabler, a text message enabler, a media playback enabler, any other suitable communication enabler, and combinations thereof. Each input component 650 can be configured to provide one or more dedicated control functions for making selections or issuing commands associated with operating device 600. Moreover, each input component 650 of controller device 600 may be configured (e.g., leveraged by a control application of controller device 600) to dictate and/or control the type of data transmitted to one or more construction devices of a system coupled to controller device 600.
[0309] Controller device 600 may also include one or more output components 660 that may present information (e.g., graphical, audible, and/or tactile information) to a user of device 600 or provide any other suitable output for affecting device 600 in one or more ways. For example, output component 660 of controller device 600 may take various forms, including, but not limited to, an audio speaker, a headphone, an audio/video line-out, a visual display, an antenna, an infrared port, a rumbler, a vibrator, an internet web browser, a telephone communication enabler, a text message enabler, any other suitable communication enabler, a media playback enabler, and combinations thereof. Each output component 660 may also include any suitable hardware and/or software for generating or transmitting data to be communicated by that component (e.g., media playback circuitry, display driver circuitry, etc.). Moreover, each output component 660 of controller device 600 may be configured (e.g., leveraged by a control application of controller device 600) to be controlled by data received from one or more construction devices of a system coupled to controller device 600.
[0310] As a specific example, controller device 600 may include a display output component as output component 660. Such a display output component may include any suitable type of display or interface for presenting visual data to a user. A display output component may include display driver circuitry, circuitry for driving display drivers, or both, and such a display output component can be operative to display content (e.g., media playback information, application screens for applications implemented on controller device 600, information regarding ongoing communications operations, information regarding incoming communications requests, device operation screens, etc.) that may be under the direction of processor 610.
[0311] It should be noted that one or more input components and one or more output components may sometimes be referred to collectively herein as an input/output ("I/O") component or I/O interface (e.g., an input component 650 and an output component 660 as an I/O component or I/O interface 655). For example, an input component 650 and an output component 660 may sometimes be a single I/O component 655, such as a touch screen, that may receive input information through a user's touch of a display screen and that may also provide visual information to a user via that same display screen.
[0312] Processor component 610 of controller device 600 may include any processing circuitry that may be operative to control the operations and performance of one or more components of controller device 600 and/or any other device communicatively coupled thereto (e.g., any construction device of system 1). For example, processor 610 may receive input signals from input component 650 and/or drive output signals through output component 660. As shown in FIG. 14, processor 610 may be used to run one or more applications, such as an application 613. Application 613 may include, but is not limited to, one or more operating system applications, firmware applications, media playback applications, construction device control applications, or any other suitable applications. For example, processor 610 may load application 613 as a user interface program to determine how instructions or data received via an input component 610 or via any other component of device 600 (e.g., instructions received from a construction device of system 1 via controller communication 685 at communications component 640) may manipulate the way in which information may be stored and/or provided to a user via an output
component 660 or via any other suitable component (e.g., information provided to a construction device of system 1 via controller communication 685 from communications component 640). Application 613 may be accessed by processor 610 from any suitable source, such as from memory 620 (e.g., via bus 619) or from another device or server (e.g., from server 10 via server communication 255 at communications component 640 and/or from a construction device (e.g., base construction device 300) of system 1 via controller communication 655 at
communications component 640). Processor 610 may include a single processor or multiple processors. For example, processor 610 may include at least one "general purpose"
microprocessor, a combination of general and special purpose microprocessors, instruction set processors, graphics processors, video processors, and/or related chips sets, and/or special purpose microprocessors. Processor 610 also may include on board memory for caching purposes.
[0313] Controller device 600 may also be provided with a housing 601 that may at least partially enclose one or more of the components of device 600 for protection from debris and other degrading forces external to device 600. In some embodiments, one or more of the components may be provided within its own housing (e.g., input component 650 may be an independent keyboard or mouse within its own housing that may wirelessly or through a wire communicate with processor 610, which may be provided within its own housing).
[0314] As shown in FIG. 14 A, one specific example of controller device 600 may be a handheld electronic device, which may be similar to a smartphone (e.g., an iPhone™), where housing 601 may allow access to various input components 650a-650e, various output components 660a-660c, and/or various I/O components 655a-655d through which device 600 may interface with a user, ambient environment, construction device, and/or server. An output component 660a may be a display that can be used to display a visual or graphic user interface ("GUI") 680, which may allow a user to interact with controller device 600. GUI 680 may include various layers, windows, screens, templates, elements, menus, and/or other components of a currently running application (e.g., application 613) that may be displayed in all or some of the areas of display output component 660a. Input component 650b may include a mechanical input component that, when pressed, may cause a "home" screen or menu of a currently running application to be displayed by device 600, where such a mechanical input component may be a button supported by a dome switch, a sliding switch, a control pad, a key, a knob, a scroll wheel, or any other suitable form. Alternatively or additionally, input component 650b may be used to navigate through GUI 680. For example, input component 650b may include a scroll wheel that may allow a user to select one or more graphical elements 682 or icons of GUI 680. Icons 682 may also be selected via a touch screen I/O component 655a that may include display output component 660a and an associated touch input component 650a. Such a touch screen I/O component 655 a may employ any suitable type of touch screen input technology, such as, but not limited to, resistive, capacitive, infrared, surface acoustic wave, electromagnetic, or near field imaging. Furthermore, touch screen I/O component 655a may employ single point or
multi-point (e.g., multi-touch) input sensing.
[0315] Icons 682 may represent various layers, windows, screens, templates, elements, and/or other components that may be displayed in some or all of the areas of display component 660a upon selection by the user. Furthermore, selection of a specific icon 682 may lead to a hierarchical navigation process. For example, selection of a specific icon 682 may lead to a new screen of GUI 680 that may include one or more additional icons or other GUI elements of the same application or of a new application associated with that icon 682. Textual indicators 681 may be displayed on or near each icon 682 to facilitate user interpretation of each graphical element icon 682. It is to be appreciated that GUI 680 may include various components arranged in hierarchical and/or non-hierarchical structures. When a specific icon 682 is selected, device 600 may be configured to open a new application or portion of a currently-running application associated with that icon 682 and display a corresponding screen of GUI 680 associated with that application. For example, when the specific icon 682 labeled with a
"Construction System" textual indicator 681 (i.e., specific icon 683) is selected, device 600 may launch or otherwise access a specific construction device control application and may display screens of a specific user interface that may include one or more tools or features for interacting with at least one construction device (e.g., base construction device 300 of system 1 of FIG. 2) in a specific manner (see, e.g., FIGS. 17A-17R and 18A-18M for specific examples of such displays of GUI 680 during use of a construction device control application). For each application, screens may be displayed on display output component 660a and may include various user interface elements. Additionally or alternatively, for each application, various other types of non-visual information may be provided to a user via various other output
components 660 of device 600. [0316] Controller device 600 also may include various other I/O components 655 that may allow for communication between device 600 and other entities. For example, I/O
component 655b may be a connection port or any other suitable power element (e.g., charging element 635) that may be configured for communicating (e.g., transmitting or receiving) various power communications with a remote entity (e.g., communications 285 with server 10 and/or communications 685 with construction device 300 of FIG. 2). For example, power I/O component 655b may be a micro universal serial bus ("USB") connector or DC connector for coupling to a power cable, and/or a cell for receiving solar or wireless power). As another example, I/O component 655c may be a connection port or any other suitable transceiver (e.g., transceiver 645) that may be configured for communicating (e.g., transmitting or receiving) various data communications with a remote entity (e.g., communications 285 with server 10 and/or communications 685 with construction device 300 of FIG. 2). For example, data I/O component 655c may be a USB port or a proprietary port, such as a Lightning™ connector or a 30-pin dock connector from Apple Inc. of Cupertino, California. In some embodiments, power I/O component 655b and data I/O component 655c may be provided as a single communications I/O component (e.g., a single transceiver) that may be configured to communicate both data communications and power communications to a remote entity (e.g., a USB connector port that may communicate both power to charging element 335A of power construction device 300A and data to transceiver 345A of power construction device 300A, where charging element 335A and transceiver 345 A may be provided as a single port on device 300A, as described above).
Alternatively, power I/O component 655b and data I/O component 655c may be provided as independent communications I/O components, where power I/O component 655b may be a USB connector port that may communicate power to charging element 335B of power construction device 300B, and where data I/O component 655c may be an antenna transceiver that may wirelessly communicate data (e.g., via BlueTooth™) to antenna transceiver 345B of power construction device 300B, where charging element 335B and transceiver 345B may be provided as different elements on device 300B, as described above. As yet another example, I/O component 655d may be a headphone jack for connecting audio headphones that may or may not include a microphone component.
[0317] Controller device 600 may also include at least one audio input component 650c, such as a microphone, and at least one audio output component 660b, such as an audio speaker. Additionally or alternatively, controller device 600 may include at least one tactile output component 660c (e.g., a rumbler or vibrator), a camera and/or scanner input component 650d (e.g., a video or still camera, and/or a scanner), and/or a biometric input component 650e (e.g., a fingerprint reader or other feature recognition sensor, which may operate in conjunction with a feature-processing application that may be accessible to controller device 600 for authenticating a user).
FIGS. 17A-17R
[0318] To facilitate the following discussion regarding the operation of controller device 600 in providing additional functionality to at least one construction device, reference is made to views of screens 900a-900r (e.g., as shown in FIGS. 17A-17R) and views of screens 1000a- 1000m
(e.g., as shown in FIGS. 18A-18M) that may be representative of a graphical user interface of controller device 600 during operation. The operation described may be achieved with a wide variety of graphical elements and visual schemes. Therefore, the embodiments of
FIGS. 17A-18M are not intended to be limited to the precise user interface conventions adopted herein. Rather, embodiments may include a wide variety of user interface styles.
[0319] In response to a user choosing to launch or otherwise access a specific construction device control application (e.g., in response to a user selecting icon 683 of screen 900 of
FIG. 14A), such a construction device control application may be loaded by device 600 and any suitable load screen may be provided to a user. For example, as shown in FIG. 17A, a load screen 900a may be presented by device 600 while the application is loaded. While showing screen 900a, the control application may attempt to detect any construction device 100 that may be communicatively coupled to controller device 600. For example, device 600 may determine whether any construction device 100 is communicatively coupled to data I/O component 655c.
If no construction device is detected, the control application may prompt a user to couple at least one construction device to device 600. For example, as shown in FIG. 17B, a prompt screen 900b may be presented by device 600 that may prompt a user to communicatively couple at least one construction device thereto. In some embodiments, as shown, when a base construction device (e.g., power construction device 300 of FIG. 2) is to be coupled to controller device 600 via a wireless connection (e.g., via BlueTooth™ to power construction device 300B, as described above), prompt screen 900b may prompt a user to activate such a wireless capability of controller device 600 by providing a selectable option for activating that capability. Alternatively, prompt screen 900b may prompt a user to physically connect controller device 600 to a construction device via a wired connection (e.g., via USB to power construction
device 300A, as described above) and, once accomplished, the application may present screen 900e of FIG. 17E. Otherwise, following with the example of prompting a wireless connection between controller 600 and a construction device, once the wireless capability of device 600 has been enabled in response to prompt screen 900b, the control application may move from prompt screen 900b to a prompt screen 900c of FIG. 17C that may prompt a user to activate such a wireless capability of the construction device (e.g., to power up device 300B and/or to enable communications component 340B of an already powered-up power construction device 300B). Then, once the wireless capability of power construction device 300B has been enabled (e.g., in response to a user selecting a "Next" option provided by screen 900c), the control application may move from prompt screen 900c to a prompt screen 900d of FIG. 17D that may prompt a user to communicatively link the wirelessly enabled construction device 300B with the wirelessly enabled controller device 600 for communicatively coupling the two devices (e.g., by prompting the user to hold the two devices within a certain distance of each other for a particular amount of time such that the two devices may be auto-paired). In some embodiments, one or more device I/O indicators of the coupled construction device may be configured to indicate such a coupling to the user. For example, one, some, or all of device I/O indicators 354B-354B" and 364B-364B"" of power construction device 300B may be configured to indicate such a coupling to the user (e.g., by flashing one or more times if LEDs, by beeping one or more times if audio output interfaces, etc.). Additionally or alternatively, one or more output components 660 of controller device 600 may be configured to indicate such a coupling to the user (e.g., speaker output component 660b may beep along with or instead of any indicators of device 300B).
[0320] Once a construction device has been directly communicatively coupled with controller device 600 (e.g., once power construction device 300B has been directly communicatively coupled to controller device 600 as the "base" construction device via a wireless connection of communication set-up 655 of FIG. 2), the construction device control application may provide an initial standard controller screen. For example, as shown in FIG. 17E, an initial standard controller screen 900e may be presented by device 600, where such a standard controller screen may include an I/O map 902 and a menu 904. As shown more completely in FIG. 17F, I/O map 902 may include one or more input icons 905 that may be indicative of each device input connector of the coupled base construction device and/or one or more output icons 906 that may be indicative of each device output connector of the coupled base construction device (e.g., two input icons 905 representative of the two floating device input connectors 352B' and 352B" of base construction device 300B and four output icons 906 representative of the four floating device output connectors 362B'-362B"" of base construction device 300B). Although not shown, icons representative of the loop-through device connectors 352B/362B may also be provided on I/O map 902, and in some embodiments, the construction device control application may be configured to enable a user to instruct base construction device 300B to remove the virtual direct link between device connectors 352B/362B (e.g., by reconfiguring processor component 310B), such that device connectors 352B/362B may be utilized similarly to floating connectors 352B', 352B", and 362B'-362B"". Menu 904 may provide one or more options to a user at any particular state of the construction device control application and may be alternatively hidden from view or shown in more detail through a user's selection of a menu toggle icon 903. For example, menu toggle icon 903 may be manipulated by a user, such as by sliding it to the left for hiding menu 904 (see, e.g., FIG. 17F) or by sliding it to the right for exposing menu 904 (see, e.g., FIG. 17E). In some embodiments, as shown in FIG. 17E, menu 904 may be exposed by initial standard controller screen 900e in response to a base construction device being
communicatively coupled to controller device 600, and a user may hide it through interaction with menu toggle icon 903 in order to proceed to screen 900f of FIG. 17F. However, in other embodiments, as shown in FIG. 17F, menu 904 may be hidden by an alternate initial standard controller screen 900d in response to a base construction device being communicatively coupled to controller device 600.
[0321] As also shown by each one of screens 900e and 900f, for example, the control application may be configured to provide a base device status bar 901 , which may be indicative of one or more general characteristics of the communicatively coupled base construction device, such as the strength/type of the connection and/or the amount of power available to the base construction device, which may indicate to a user that a construction device is active and properly paired to controller device 600. Moreover, in some embodiments, the controller application may be configured such that a user may interact with the application (e.g., by tapping or otherwise interacting with base device status bar 901) in order to determine which of many construction devices in an interconnected system (e.g., system 1) is the base construction device directly coupled to controller device 600 (e.g., when the base construction device is wirelessly coupled to controller device 600 and not obviously coupled to controller device 600 via a wired connection). For example, in response to a user interacting with base device status bar 901 to determine which construction device is the base construction device, controller device 600 may transmit an instruction to the base construction device to indicate such a coupling to the user. For example, one, some, or all of device I/O indicators 354B-354B" and 364B-364B"" of base power construction device 300B may be configured to indicate that it is the base construction device (e.g., by flashing one or more times if LEDs, by beeping one or more times if audio output interfaces, etc.). Additionally, one or more output components 660 of controller device 600 may be configured to indicate such a coupling to the user synchronously with the indication from the base construction device (e.g., speaker output component 660b may beep along with or instead of any indicators of device 300B). Although not shown in other screens of FIGS. 17G-17R, it is to be understood that such a base device status bar 901 may be provided by the control application throughout its use as long as a construction device is active and properly paired to controller device 600.
[0322] As shown by screen 900f, for example, the control application may be configured to provide a tutorial or tip to a user indicating that another construction device may be coupled to anyone of the floating device I/O connectors of the base construction device and that an input icon 905 and/or an output icon 906 associated with that device I/O connector may be selected (e.g., via a double tap gesture) to select a widget for enabling a user of controller device 600 to visualize the use of that other construction device. When another construction device is communicatively coupled to the base construction device, either in response to screen 900f or even before the communicative coupling of the base construction device to controller device 600, the control application may be configured to show an initial/default representation of that coupled construction device on I/O map 902. For example, as shown in FIG. 17G, the control application may be configured to provide screen 900g that may include an initial output widget/representation 908 of a construction device (e.g., a motor action construction
device 500D) that may be coupled to a floating device output connector 362B"" of base construction device 300B, where initial output widget 908 may be shown adjacent the output icon 906 associated with that floating device output connector 362B"". Such an output widget 908 may be provided for enabling a user to control the construction device coupled to the associated floating device output connector of the base construction device in one or more particular ways using controller device 600. In some embodiments, as shown in FIG. 17G, screen 900g may provide a tutorial or tip to a user indicating that various other output widgets other than the default output widget 908 may be selectable for use by the user.
[0323] For example, as shown by FIG. 17H, the control application may be configured to provide a screen 900h in response to a user selecting an option to update output widget 908 of screen 900g (e.g., by double tapping the output icon 906 associated with that widget). At screen 900h, the control application may present various options to a user of various potential output widgets that may be selectable by a user and provided on I/O map 902 for use by the user in controlling the construction devices downstream from the associated device output connector of the base construction device. An output widget 908 may be representative of a control that a user of controller device 600 may manipulate on device 600 for dictating the value of output NORMAL data to be transmitted by the base construction device out from its floating device output connector that is associated with that output widget 908. For example, with respect to FIGS. 17G and 17H, output widget 908 may be associated with output icon 906 and thus floating device output connector 362B"" of base construction device 300B, where output widget 908 may be manipulated on device 600 by a user for dictating the value of output NORMAL data to be transmitted by floating device output connector 362B"" to a construction device that may be coupled thereto (e.g., a motor action construction device 500D, as indicated by output device descriptor 907 of FIGS. 17H and 171, where such an output device descriptor 907 may be determined based on module descriptor data 775 received by controller device 600 for the system). Therefore, instead of requiring a sensor construction device 200 to generate and transmit NORMAL data that may be received by an action construction device 500 for controlling an action of that action construction device 500, controller device 600 may provide user-manipulatable controls with the control application for determining the NORMAL data to be transmitted to an action construction device 500 coupled to the base construction device.
[0324] For example, as shown in FIGS. 17H and 171, the control application may provide various suitable output widget options 908, such as various types of slider output widgets, button output widgets, level output widgets, and any other suitable types of output widgets, such that a user may select a new output widget 908 for use at screen 900j of FIG. 17J rather than the default output widget 908 of screen 900g of FIG. 17G. A listing of various output widget types may be presented on screen 900h and may be scrolled through vertically (e.g., when a user flicks a touch screen I/O component 655a along arrow V of FIG. 17H). Such slider output widgets 908 may include virtual sliders that may be slid in one or more directions by a user along an I/O
interface 655 of device 600 for dictating the value of NORMAL data to be transmitted to a construction device (e.g., motor action construction device 500D) communicatively coupled to a device output connector of the base construction device. For example, a slider output widget may be slid from a first end that may be configured to cause the transmission of NORMAL data for a NORMAL_Data_l _Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) to a second end that may be configured to cause the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value), as well as any proportional value in between. Therefore, the value of NORMAL data received by a motor action construction device 500D communicatively coupled to device output connector 362B"" of base construction device 300B (e.g., for dictating an action of that motor action construction device 500D) may be dictated by a user's interaction with a slider of controller device 600. Additionally or alternatively, any other suitable type of slider output widget may be provided for use by the control application of controller device 600.
Various other types of slider output widgets may be shown in one or more of FIGS. 19A-19AA. For example, as shown in FIG. 19A, an "unsprung" slider widget 950a may be provided such that when a user stops sliding the slider, the position of the slider may remain at the position at which the user left it and the data associated with widget 950a may also similarly remain. As another example, as shown in FIG. 19B, a "bottom sprung" slider widget 950b may be provided such that when a user stops sliding the slider, the position of the slider may return to the bottom of the slider and the data associated with widget 950b may return to the value associated with the bottom of the slider. As another example, as shown in FIG. 19C, a "center sprung" slider widget 950c may be provided such that when a user stops sliding the slider, the position of the slider may return to the center of the slider and the data associated with widget 950c may return to the value associated with the center of the slider. In some embodiments, center sprung slider widget 950c may be used as a smart widget (e.g., for sending SMART data to a motor device over a single connection rather than two widgets sending NORMAL data over two connections), where the top of slider widget 950c may be configured to be 100% output for one direction of the motor and the bottom of slider widget 950c may be configured to be 100% output for the other direction of the motor, and where the center of slider widget 950c may be configured to be 0% output. As another example, as shown in FIG. 19Z, an "unsprung" multi-axis slider widget 950z may be provided to adjust with a value of the slider along each one of two different axes of the widget, where the position of the slider may remain at the location at which the user leaves it. As another example, as shown in FIG. 19Y, a "center sprung" multi-axis slider widget 950y may be provided to adjust with a value of the slider along each one of two different axes of the widget, where the position of the slider may return to the center of the widget when the user stops interaction with the widget. In some embodiments, multi-axis slider widget 950y and/or multi-axis slider widget 950z may be used as a smart widget (e.g., for sending SMART data to a motor device over a single connection rather than two widgets sending NORMAL data over two connections), where position of the slider at the top right of the widget may be configured to be 100% output for one direction of the motor and position of the slider at the bottom left of the widget may be configured to be 100% output for the other direction of the motor, and where the center of the widget may be configured to be 0% output. As another example, as shown in FIG. 19S, a "picker" widget 950s may be provided to deliver multiple options to a user
(e.g., multiple color options, such as by a color wheel), where each option may be selected by the user (e.g., via a user input at that option). For example, the selection of a particular color on a color picker widget 950s may be provided to a particular one input of a multi-color visible light emitter device (e.g., to dictate the hue of that device). Alternatively, as shown in FIG. 19T, a multi-slider "picker" widget 950t may be provided to deliver multiple options to a user
(e.g., multiple color options, such as by a combination of a red slider, a green slider, and a blue slider), where the position of each one of the multiple sliders may be selected by the user (e.g., via a user input at each slider). For example, the combination of selections at each slider on a color multi-slider picker widget 950t may be provided to a particular one input of a multi-color visible light emitter device (e.g., to dictate the hue of that device). In some embodiments, picker widget 950s and/or picker widget 950t may be combined with an additional slider to form a smart widget (e.g., smart widget 950u of FIG 19U and/or smart widget 950v of FIG 19 V, respectively), such as for sending SMART data to a multi-color visible light action construction device (e.g., for sending SMART data to a multi-color visible light action construction device over a single connection rather than two widgets sending NORMAL data over two connections), where the selected option of the picker widget portion may dictate the portion of the SMART data for controlling the hue of the output of the multi-color visible light action construction device and where the position of the additional slider portion may dictate the portion of the SMART data for controlling the brightness of the output of the multi-color visible light action construction device.
[0325] Button output widgets 908 (e.g., as shown by screen 900i of FIG. 171) may include various virtual buttons that may be manipulated in one or more ways by a user on an I/O interface 655 of device 600 for dictating the value of NORMAL data to be transmitted to a construction device (e.g., motor action construction device 500D) communicatively coupled to a device output connector of the base construction device. A listing of button output widgets may be presented on screen 900i and may be scrolled through horizontally (e.g., when a user flicks a touch screen I/O component 655a along arrow H of FIG. 171). For example, as shown in FIG. 171, one particular type of button output widget may be a "sticky" button that may be configured to alternate between causing the transmission of NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) and causing the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) each time the button is pressed. As another example, as also shown in FIG. 171, another particular type of button output widget may be an "unsticky" button that may be configured to alternate between causing the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when the button is not pressed and causing the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) while the button is pressed. Therefore, the value of NORMAL data received by a motor action construction device 500D communicatively coupled to device output connector 362B"" of base construction device 300B (e.g., for dictating an action of that motor action construction device 500D) may be dictated by the functionality of a button of controller device 600 and a user's interaction with that button. Additionally or alternatively, any other suitable type of button output widget may be provided for use by the control application of controller device 600. Various other types of button output widgets may be shown in one or more of FIGS. 19A-19AA. For example, as shown in FIG. 19G, a "toggle" or "spring" button widget 950g may be provided such that when a user moves the button to a certain position, the position of the button may remain at the position at which the user left it and the data associated with widget 950g may also similarly remain. As another example, as shown in FIG. 19F, a "momentary" or "sprung" button widget 950f may be provided such that when a user presses the button a first state is implied (e.g., an output of 100% may be output) and when the user stops pressing/holding/interacting with the button, the button may return to a second state (e.g., an unpressed state with a 0% value output) and the data associated with widget 950f may return to the value associated with that state. In some embodiments, a single widget may have multiple buttons and may be coupled multiple ports associated with multiple device connectors of multiple construction devices. For example, as shown in FIG. 19W, a "game pad" widget 950w may include a multi-direction pad portion (e.g., a four-way/up, down, left, right game pad portion) and one or more additional button portions (e.g., two momentary buttons similar to button widget 950i). In some embodiments, each additional button portion may be configured to communicate with any device connector of any construction device coupled to a base device. The multi-direction pad portion may be associated with and communicate data with at least two device connectors. For example, in some embodiments, a four-way multi-direction pad portion may be associated with four output ports communicatively coupled to four device output ports of a base device. Alternatively, a four-way multi-direction pad portion may be associated with two output ports communicatively coupled to two device output ports of a base device for enabling smart communications. For example, a four-way multi-direction pad portion may be used as a single smart widget (e.g., for sending SMART data to two motor devices over two connections rather than two widgets sending SMART data over two connections or rather than four widgets sending NORMAL data over four connections), where the up direction of the four-way multi-direction pad portion may be configured to generate two 100% output signals for driving each motor at maximum speed in a first particular direction of each motor, where the down direction of the four-way
multi-direction pad portion may be configured to generate two 100% output signals for driving each motor at maximum speed in a second particular direction of each motor, where the left direction of the four- way multi-direction pad portion may be configured to generate a first 100% output signal for driving a first of the motors at maximum speed in the first particular direction of that motor and a second 100% output signal for driving a second of the motors at maximum speed in the second particular direction of that motor, and where the right direction of the four- way multi-direction pad portion may be configured to generate a first 100% output signal for driving a first of the motors at maximum speed in the second particular direction of that motor and a second 100% output signal for driving a second of the motors at maximum speed in the first particular direction of that motor.
[0326] Level output widgets 908 may include various controllers that may be manipulated in one or more ways by a user using one or more sensors or other suitable input components 650 (e.g., movement sensors) of controller device 600 for dictating the value of NORMAL data to be transmitted to a construction device (e.g., motor action construction device 500D)
communicatively coupled to a device output connector of the base construction device. For example, one particular type of level output widget may be a single-axis movement level output widget that may be configured to cause the transmission of NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when a movement sensor of device 600 (e.g., a single-axis acceleration motion sensor) detects zero acceleration and that may be configured to cause the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when the movement sensor of device 600 detects maximum acceleration, as well as any proportional value in between. Another particular type of level output widget may be a microphone level output widget that may be configured to cause the transmission of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) when no sound is detected by audio input component 650c of device 600 and that may be configured to cause the transmission of
NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) when a maximum amount of sound is detected by audio input component 650c, as well as any proportional value in between. Therefore, the value of NORMAL data received by a motor action construction device 500D communicatively coupled to device output connector 362B"" of base construction device 300B (e.g., for dictating an action of that motor action construction device 500D) may be dictated by the magnitude of data detected by an input component (e.g., a microphone sensor or movement sensor input component 650) of controller device 600. Additionally or alternatively, any other suitable type of level output widget that may leverage any suitable input component or sensor 650 of controller device 600 may be provided for use by the control application of controller device 600. Various other types of level output widgets may be shown in one or more of FIGS. 19A-19AA. For example, a horizontal leveler widget 950e of FIG. 19E may be provided to adjust with a value of a motion sensor along an axis of controller device 600, while a vertical leveler widget 950d of FIG. 19D may be provided to adjust with a value of a motion sensor along another axis of controller device 600. In some embodiments, one or both of leveler widgets 950d and 950e may be used as a smart widget (e.g., for sending SMART data to a motor device over a single connection rather than two widgets sending NORMAL data over two connections), where the top of the leveler widget may be configured to be 100% output for one direction of the motor and the bottom of the leveler widget may be configured to be 100% output for the other direction of the motor, and where the center of the leveler widget may be configured to be 0% output. As another example, a "top sprung" leveler widget 950i of FIG. 191 may be provided to adjust with a value of an output of a motion sensor along an axis of controller device 600 (e.g., an accelerometer of controller device 600 parallel to a gravity vector), where the output may be proportional to how far the representative "weight" of the widget may fall in accordance with the detected motion sensor data, where the weight may spring to the top of the widget when controller device 600 is at rest such that that output value of the widget may be constant (e.g., 0% value). Similarly, a "bottom sprung" leveler widget 950j of FIG. 19J may be provided to adjust with a value of an output of a motion sensor along an axis of controller device 600 (e.g., an accelerometer of controller device 600 with respect to a gravity vector), where the output may be proportional to how far the representative "weight" of the widget may rise in accordance with the detected motion sensor data, where the weight may spring to the bottom of the widget when controller device 600 is at rest such that that output value of the widget may be constant (e.g., 100% value). Similarly, a "left sprung" leveler widget 950k of FIG. 19K and a "right sprung" leveler widget 9501 of FIG. 19L may be provided to act similarly but for another axis of controller device 600. For example, as shown in FIG. 19X, a multi-axis movement leveler widget 950x may be provided to adjust with a value of each one of two motion sensors along two different axes of controller device 600. In some embodiments, leveler widget 950x may be used as a smart widget (e.g., for sending SMART data to a motor device over a single connection rather than two widgets sending NORMAL data over two connections), where the top right of the leveler widget may be configured to be 100% output for one direction of the motor (e.g., when both axes are at maximum tilt) and the bottom left of the leveler widget may be configured to be 100% output for the other direction of the motor (e.g., when both axes are at minimum tilt), and where the center of the leveler widget may be configured to be 0% output.
[0327] Trigger output widgets may also be provided where certain events determined by controller device 600 may dictate the value of NORMAL data to be transmitted to a construction device (e.g., motor action construction device 500D) communicatively coupled to a device output connector of the base construction device. For example, one particular type of trigger output widget may be a user detection trigger (e.g., when a camera or other component of controller device 600 detects the presence of a person generally or a particular user specifically) that may be configured to cause the transmission of NORMAL data for manipulating a construction device 100. As another example, a particular type of trigger output widget may be a location detection trigger (e.g., when a GPS or other location component of controller device 600 detects a specific location of device 600 (e.g., device 600 is now in a user's living room) that may be configured to cause the transmission of NORMAL data for manipulating a construction device 100.
[0328] As shown by screen 900j, for example, the control application may be configured to provide a tutorial or tip to a user indicating that another construction device may be coupled to anyone of the floating device input connectors of the base construction device and that an input icon 905 associated with that device input connector may be selected (e.g., via a double tap gesture) to select a widget for enabling a user of controller device 600 to visualize the use of that other construction device. When another construction device is communicatively coupled to an input connector of the base construction device, either in response to screen 900j or even before the communicative coupling of the base construction device to controller device 600, the control application may be configured to show an initial/default representation of that coupled construction device on I/O map 902. For example, as shown in FIG. 17J, the control application may be configured to provide screen 900j that may include an initial input
widget/representation 910 of a construction device (e.g., a visible light sensor construction device 200 A) that may be coupled to a floating device input connector 352B" of base
construction device 300B, where initial input widget 910 may be shown adjacent the input icon 905 associated with that floating device input connector 352B". Such an input widget 910 may be provided for enabling a user to visualize how the construction device coupled to the associated floating device input connector of the base construction device may control an action of controller device 600 in one or more particular ways. In some embodiments, as shown in FIG. 17J, screen 900j may provide a tutorial or tip to a user indicating that various other input widgets other than the default input widget 910 may be selectable for use by the user.
[0329] For example, as shown by FIG. 17K, the control application may be configured to provide a screen 900k in response to a user selecting an option to update input widget 910 of screen 900j (e.g., by double tapping the input icon 905 associated with that widget). At screen 900k, the control application may present various options to a user of various potential input widgets 910 that may be selectable by a user and provided on I/O map 902 for controlling controller device 600 in one or more ways based on data transmitted by the construction devices coupled upstream from the associated device input connector of the base construction device. An input widget 910 may be representative of a manner in which an action of controller device 600 may be manipulated based on the value of input NORMAL data received by the base construction device at its floating device input connector that is associated with that input widget 910. For example, with respect to FIGS. 900k and 9001, input widget 910 may be associated with input icon 905 and thus floating device input connector 352B" of base construction device 300B, where input widget 910 may be selected by a user for dictating the manner in which an action of controller device 600 may be manipulated based on a value of input NORMAL data to be received by floating device input connector 352B" from a construction device that may be coupled thereto (e.g., a visible light sensor construction device 200A, as indicated by input device descriptor 909 of FIGS. 17K and 17L, where such an input device descriptor 909 may be determined based on module descriptor data 775 received by controller device 600 for the system). Therefore, instead of requiring an action construction device 500 to receive and act upon NORMAL data that may be transmitted by a sensor construction device 200 for controlling an action of that action construction device 500, controller device 600 may provide user-selectable actions of controller device 600 with the control application for determining how controller device 600 may function based on the NORMAL data to be received from a sensor construction device 200 coupled to the base construction device. [0330] For example, as shown in FIGS. 17K and 17L, the control application may provide various suitable input widget options 910, such as various types of meter input widgets, audio input widgets, trigger input widgets, and any other suitable types of input widgets, such that a user may select a new input widget 910 for use at screen 900m of FIG. 17M rather than the default input widget 910 of screen 900j of FIG. 17 J. A listing of various input widget types may be presented on screen 900k and may be scrolled through vertically (e.g., when a user flicks a touch screen I/O component 655a along arrow V of FIG. 17K). Such meter input widgets 910 may include various virtual meters that may continuously update its visual magnitude on an output component 660 of device 600 for indicating the value of NORMAL data transmitted by a construction device (e.g., light sensor construction device 200A) communicatively coupled to a device input connector of the base construction device. For example, a meter input widget may be a horizontal visual meter that may be configured to show a zero magnitude reading when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device and that may be configured to show a maximum magnitude reading when the value of NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device, as well as any proportional value in between. Therefore, the value of NORMAL data generated and transmitted by light sensor construction device 200A communicatively coupled to device input connector 352B" of base construction device 300B (e.g., as may be determined based on the amount of visible light detected by that light sensor construction device 200A) may dictate the magnitude of a visual output readout of a meter on an output component 660 of controller device 600. Additionally or alternatively, any other suitable type of meter input widget may be provided for use by the control application of controller device 600. In some embodiments, the control application of controller device 600 may be configured to provide an appropriate widget for a particular sensor construction device that may provide a reading of the physical characteristic sensed by that sensor construction device. For example, based on the known type of sensor construction device coupled to a device input connector of base construction device 300B (e.g., based on an obtained module descriptor data), controller device 600 may access data (e.g., from a look-up table) that may dictate a physical characteristic measurement for a particular NORMAL data value received from that particular type of sensor construction device. For example, a widget may provide a reading of the amount of lumens currently detected by a visible light sensor construction device 200A coupled to base device 300B by determining the lumen value associated with a particular NORMAL data value received from such a visible light sensor device 200A, where such a lumen value may be known by a manufacturer of the device 200A and provided (e.g., via server 10 to controller device 600). Various other types of meter input widgets may be shown in one or more of FIGS. 19A-19AA. For example, as shown in FIG. 19M, a bar meter widget 950m may be provided that provides visual indication of a value along a linear meter. As another example, as shown in FIG. 19N, a radial-dial widget 950n may be provided that provides visual indication of a value along a radial dial. As another example, as shown in FIG. 19AA, a seven segment display widget 950aa may be provided that provides visual indication of a value on a seven segment display or any other suitable display for indicating particular discrete values.
Alternatively, a meter input widget 910 may include a virtual meter that may continuously update its visual magnitude on an output component 660 of device 600 for indicating the value of physical data sensed by a sensor component of controller device 600 (e.g., an ambient light sensor component of device 600). For example, a noise meter input widget 950h of FIG. 19H may be a visual meter that may be configured to show a zero magnitude reading when no ambient noise is detected by a sensor of controller device 600 and such that device 600 may generate and transmit a value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) to a construction device communicatively coupled to a device output connector of the base construction device associated with the widget and that may be configured to show a maximum magnitude reading when the value of ambient noise detected by a sensor of controller device 600 is a maximum value and such that device 600 may be configured to generate and transmit NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) to a construction device communicatively coupled to a device output connector of the base construction device associated with the widget.
[0331] Audio input widgets 910 (e.g., as shown by screen 9001 of FIG. 17L) may include various virtual meters that may continuously update its visual magnitude on an output component 660 of device 600 for indicating the value of NORMAL data transmitted by a construction device (e.g., light sensor construction device 200A) communicatively coupled to a device input connector of the base construction device, while additionally or alternatively varying an output characteristic of an output component 660 of controller device 600 according to that value. A listing of various audio input widget types may be presented on screen 9001 and may be scrolled through horizontally (e.g., when a user flicks a touch screen I/O component 655a along arrow H of FIG. 17L). For example, an audio input widget may be a volume audio input widget (e.g., volume input widget 950p of FIG. 19P) that may be configured to output audio data from audio output component 660b with a zero magnitude volume when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device and that may be configured to output audio data from audio output component 660b with a maximum magnitude volume when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is transmitted by a construction device
communicatively coupled to a device input connector of the base construction device, as well as any proportional value in between. Moreover, in some embodiments, such a volume audio input widget may also include a horizontal visual meter that may be configured to show a zero magnitude reading when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is transmitted by a construction device communicatively coupled to a device input connector of the base
construction device and that may be configured to show a maximum magnitude reading when the value of NORMAL data for a NORMAL_Data_l _Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is transmitted by a construction device
communicatively coupled to a device input connector of the base construction device, as well as any proportional value in between.
[0332] As another example, as also shown in FIG. 17L and by widget 950o of FIG. 190, another particular type of audio input widget may be a pitch audio input widget that may be configured to output audio data from audio output component 660b with a minimum pitch when the value of NORMAL data for a NORM AL_Data_l Byte packet format 750 that is
representative of an integer 0 (e.g., a minimum value) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device and that may be configured to output audio data from audio output component 660b with a maximum pitch when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device, as well as any proportional value in between. Moreover, in some embodiments, such a pitch audio input widget may also include a horizontal visual meter that may be configured to show a zero magnitude reading when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 0 (e.g., a minimum value) is transmitted by a construction device communicatively coupled to a device input connector of the base
construction device and that may be configured to show a maximum magnitude reading when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 255 (e.g., a maximum value) is transmitted by a construction device
communicatively coupled to a device input connector of the base construction device, as well as any proportional value in between. Therefore, the value of NORMAL data generated and transmitted by light sensor construction device 200A communicatively coupled to device input connector 352B" of base construction device 300B (e.g., as may be determined based on the amount of visible light detected by that light sensor construction device 200A) may dictate an audio output characteristic (e.g., volume, pitch, etc.) of an audio output component 660b of controller device 600. Additionally or alternatively, any other suitable type of audio input widget may be provided for use by the control application of controller device 600. Various other types of audio/media input widgets may be shown in one or more of FIGS. 19A-19AA.
[0333] Trigger input widgets 910 may include various functional actions of controller device 600 that may be triggered based on the value of NORMAL data transmitted by a construction device (e.g., light sensor construction device 200A) communicatively coupled to a device input connector of the base construction device. For example, a functionality of an input component 650 of controller device 600 that may be triggered by a trigger input widget is the functionality of a camera input component 650d to take a picture (e.g., camera input widget 950q of FIG. 19Q), where such a camera trigger input widget may be configured to instruct camera input component 650d to take a picture when the value of NORMAL data for a
NORMAL_Data_l_Byte packet format 750 that is representative of an integer 127 or more (e.g., more than a middle threshold) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device and that may be configured to instruct camera input component 650d not to take a picture when the value of NORMAL data for a NORMAL_Data_l _Byte packet format 750 that is representative of an integer 126 or less (e.g., less than a middle threshold) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device, where such a threshold and value of such NORMAL data may be visually provided on such a widget (e.g., widget 950Q). As another example, a functionality of an output component 660 of controller device 600 that may be triggered by a trigger input widget is the functionality of a media playback audio output component 660b and associated media playback components to playback media (e.g., a song), where such a media playback trigger input widget (e.g., media/music widget 950r of FIG. 19R) may be configured to instruct audio output component 660b to playback audio media when the value of NORMAL data for a NORMAL_Data_l_Byte packet format 750 that is representative of an integer 127 or more (e.g., more than a middle threshold) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device and that may be configured to instruct audio output component 660b not to playback audio media when the value of NORMAL data for a NORMAL_Data_lJByte packet format 750 that is representative of an integer 126 or less (e.g., less than a middle threshold) is transmitted by a construction device communicatively coupled to a device input connector of the base construction device, where such a threshold and value of such NORMAL data may be visually provided on such a widget (e.g., widget 950R). Therefore, the value of NORMAL data generated and transmitted by light sensor construction device 200A communicatively coupled to device input connector 352B" of base construction device 300B (e.g., as may be determined based on the amount of visible light detected by that light sensor construction device 200A) may dictate when an input function (e.g., photograph capture, webpage launch, telephone call initiated, text message or tweet sent, etc.) and/or an output function (e.g., media playback play/pause, next track/previous track, playlist select, etc.) of controller device 600 is triggered. Additionally or alternatively, any other suitable type of trigger input widget may be provided for use by the control application of controller device 600. Various other types of trigger input widgets may be shown in one or more of FIGS. 19A-19AA.
[0334] As shown in FIG. 17M by screen 900m, once a new widget is selected, the control application may be configured to close all overlays, such as the various options for other selectable widgets. In some embodiments, the control application may be configured to allow a user to save specific widget selections that a user has made for particular types of construction devices that may be coupled to the base construction device (e.g., the button output widget 908 of screen 900m for a motor action construction device 500D and the volume audio input widget 910 of screen 900m for a visible light sensor construction device 200A). For example, once a widget has been selected, that selection may be stored in association with the device type of the construction device associated with that selection (e.g., the device type as determined by controller device 600 through its accessing of each module descriptor 745 of the system of construction devices communicatively coupled thereto). In such embodiments, the next time that type of construction device is coupled to controller device 600, the control application may be configured to automatically initially display the widget that had been previously associated with that device type by the user. In certain embodiments, rather than associating a particular type of construction device with a particular widget, the control application may be configured to associate a particular construction device with a particular widget (e.g., the particular device as determined by controller device 600 through its accessing of the UID 740 of each device of the system of construction devices communicatively coupled thereto). This may enable different construction devices of the same type (e.g., two different motor action construction devices 500D that may only differ with respect to their UIDs 740) to each have a different widget associated therewith by the controller application of controller device 600.
[0335] Menu 904 may provide one or more options to a user at any particular state of the construction device control application. When exposed (e.g., through user interaction with menu toggle icon 903), menu 904 may be configured to provide various options to a user. For example, as shown in FIG. 17N, the control application may be configured to provide
screen 900n that may include exposed menu 904, which may include various options including but not limited to an "Encyclopedia" option 912, a "Field Journal" option 914, a "Settings" option 916, a "Controllers" option 918, and the like that may be selectable by a user.
[0336] As shown in FIG. 170, screen 900o may be an exemplary screen that may be provided in response to a user selecting an "Encyclopedia" option 912 of menu 904, such that data (e.g., text, audio/video media, etc.) may be provided to a user that is descriptive of the various types of construction devices or system creations that may be communicatively coupled to controller device 600. For example, as shown, various tabs may be selected for viewing information about the various types of construction devices described above, such as "action" construction devices (e.g., visible light emitting action construction device 500A, infrared transmitter action construction device 500A, record-playback action construction device 500B, housing separating action construction device 500C, housing vibrating action construction device 500C, motor action construction device 500D, multi-color light emitting action construction devices, etc.), "logic" construction devices (e.g., inverter logic construction device 400A, splitter logic construction device 400B, flip-flop logic construction device 400B, etc.), "sensor" construction devices (e.g., visible light sensor construction device 200A, invisible light sensor construction device 200A, infrared receiver sensor construction device 200A, motion sensor construction device 200A, user-variable sensor construction device 200B, movement sensor construction device 200C, etc.), and "power" construction devices (e.g., power construction device 300A, power construction device 300B, etc.). Additionally or alternatively, encyclopedic information may be provided for various types of systems of construction devices that may be created by interconnecting various construction devices in various ways. Such encyclopedic information may be accessed by the control application from any suitable source. For example, controller device 600 may access such data from server 10 of system 1 (e.g., via communications set-up 255 (e.g., via the internet)), where server 10 may be maintained by a manufacturer of such construction devices, such that the encyclopedic information accessible and presentable by the control application to a user of controller device 600 may be constantly updated. An icon or other descriptor (e.g., QR code) may be provided on a surface of each construction device 100 (e.g., on a portion of the top surface of top housing portion lOlt) that may be indicative of the type of construction device to a user or sensor of controller device 600, such that when scanned by controller device 600 (e.g., via a camera or scanner of device 600) the type of device 100 may be recognized by device 600 such that an encyclopedia entry particular to that device type may be automatically launched by controller device 600. For example, as shown in FIGS. 20A-20Q, a descriptive icon may be provided on a top surface portion of each construction device that may be indicative of the particular function or type of that construction device and that may be recognizable by controller device 600. As shown, for example, such a top surface portion 201A-ts of FIG. 20 A may be provided as a top surface of housing 201 A of a visible light sensor construction device 200 A, such a top surface portion 201A-ts' of FIG. 20B may be provided as a top surface of housing 201 A of an infrared receiver sensor construction device 200A, such a top surface portion 201 A-ts" of FIG. 20C may be provided as a top surface of housing 201 A of a motion sensor construction device 200 A, such a top surface
portion 201B-ts of FIG. 20D may be provided as a top surface of housing 20 IB of a
user-variable sensor construction device 200B, such a top surface portion 201 C-ts of FIG. 20E may be provided as a top surface of housing 201C of a movement sensor construction device 200C, such a top surface portion 301 A-ts of FIG. 20F may be provided as a top surface of housing 301 A of a rechargeable power construction device 300 A, such a top surface
portion 301 A-ts' of FIG. 20G may be provided as a top surface of housing 301 A of a battery power construction device 300A, such a top surface portion 301B-ts of FIG. 20H may be provided as a top surface of housing 301B of a power construction device 300B, such a top surface portion 401 A-ts of FIG. 201 may be provided as a top surface of housing 401 A of an inverter logic construction device 400A, such a top surface portion 401B-ts of FIG. 20J may be provided as a top surface of housing 401 B of a splitter logic construction device 400B, such a top surface portion 401B-ts' of FIG. 20K may be provided as a top surface of housing 40 IB of a flip-flop logic construction device 400B, such a top surface portion 501 A-ts of FIG. 20L may be provided as a top surface of housing 501 A of a visible light emitting action construction device 500 A, such a top surface portion 501 A-ts' of FIG. 20M may be provided as a top surface of housing 501 A of an infrared transmitter action construction device 500 A, such a top surface portion 501B-ts of FIG. 20N may be provided as a top surface of housing 50 IB of a
record-playback action construction device 500B, such a top surface portion 501C-ts of
FIG. 20O may be provided as a top surface of housing 501C of a housing separating action construction device 500C, such a top surface portion 501C-ts' of FIG. 20P may be provided as a top surface of housing 501C of a housing vibrating action construction device 500C, and such a top surface portion 501D-ts of FIG. 20Q may be provided as a top surface of housing 50 ID of a motor action construction device 500D. Each one of such top surface portions may be provided as the mechanical top surface of the housing of the construction device. Alternatively, each one of such top surface portions may be provided as a label or adhesive type element that is coupled to the mechanical top surface of the housing of the construction device. Each one of such top surface portions may be provided with a particular background color that may be indicative of a type of group of construction devices, which may help a user more easily find particular construction devices for use. For example, each one of top surface portions 201 A-ts through 201 C-ts may be provided with a background or dominant color scheme of a first type (e.g., yellow) for indicating that it is associated with a sensor type construction device.
Alternatively or additionally, each one of top surface portions 301A-ts through 301B-ts may be provided with a background or dominant color scheme of a second type (e.g., red) for indicating that it is associated with a power type construction device. Alternatively or additionally, each one of top surface portions 401 A-ts through 401 B-ts' may be provided with a background or dominant color scheme of a third type (e.g., green) for indicating that it is associated with a logic type construction device. Alternatively or additionally, each one of top surface portions 501 A-ts through 501D-ts may be provided with a background or dominant color scheme of a fourth type (e.g., blue) for indicating that it is associated with an action type construction device. Moreover, each one of such surface portions 201 A-ts through 501D-ts may be provided on any suitable surface or combination of surfaces of a construction device rather than on a top surface of the construction device.
[0337] As shown in FIG. 17P, screen 900p may be an exemplary screen that may be provided in response to a user selecting a "Field Journal" option 914 of menu 904, such that data
(e.g., text, audio/video media, etc.) may be entered and recorded by a user that is descriptive of the various construction devices and functional systems that the user has worked with. For example, typed text (e.g., via a keyboard) may be entered by a user into device 600, which may be saved by device 600 for later access by the control application. In some embodiments, such user field journal entries may be shared with others (e.g., on a website maintained by a third party, such as the manufacturer of the construction devices and/or the control application). For example, certain user field journal entries may be uploaded from controller device 600 to server 10 of system 1 (e.g., via communications set-up 255 (e.g., via the internet)), where server 10 may maintain a website where various users may access each other's field journal entries. Such collaboration may inspire one user to build a particular type of system based on seeing another user's design detailed in a shared field journal entry. A graph scan (e.g., data descriptive of the entire system 1 coupled to base device 300B, such as through use of all module descriptors of the system, which may also include a link to a scanned device bus topology) may be associated with a journal entry and uploaded and shared with other users of a community.
[0338] As shown in FIG. 17Q, screen 900q may be an exemplary screen that may be provided in response to a user selecting a "Settings" option 916 of menu 904, such that various settings or other options may be provided to a user (e.g., to simultaneously communicatively couple a second base device (e.g., as described with respect to FIG. 19N)).
[0339] As shown in FIG. 17R, screen 900r may be an exemplary screen that may be provided in response to a user selecting a specific "Tilt-A-Tank" sub-option of "Controllers" option 918 of menu 904 of screen 900n, where a particular set of widgets 908/910 and I/O device
descriptors 907/909 may be automatically presented on I/O map 902 and associated with particular I/O icons 905/906 in order to help show a user how to construct a particular system of construction device (e.g., a "Tilt-A-Tank" system). "Controllers" option 918 may present various systems that a user may choose from for selecting a particular system to be built, such as the "Tilt-A-Tank" system of screen 900r. Additionally or alternatively, "Controllers" option 918 may present a "Custom" sub-option that may enable a user to build a system from scratch (e.g., the control application may be configured to present blank I/O map 902 of screen 900f in response to a user selecting a "Custom" sub-option of "Controllers" option 918 of menu 904 of screen 900n).
[0340] However, with continued reference to screen 900r, in response to a user selection of a specific "Tilt-A-Tank" sub-option of "Controllers" option 918 of menu 904 of screen 900n, the control application may provide an input device descriptor 909 and an input widget 910 associated with an input icon 905 (e.g., an input icon 905 associated with device input connector 352B' of base power sensor construction device 300B). Such an input device descriptor 909 may be a symbol indicative of an invisible light sensor construction device 200A, which may indicate to a user that he or she must communicatively couple such an invisible light sensor construction device 200A to device input connector 352B' of base power sensor construction device 300B in order to build the chosen "Tilt-A-Tank" system. Such an input widget 910 may have highly specific features to the selected system and may often exhibit "videogame-like qualities". For example, as shown, input widget 910 may be a type of trigger input widget 910 that may trigger a visual counter to be incremented each time the invisible light sensor construction device 200A transmits certain NORMAL data to device input
connector 352B' of base power sensor construction device 300B, where such a trigger input widget 910 may be configured to provide an "explosion" animation at the widget when the counter has been incremented to a certain number. [0341] Moreover, with continued reference to screen 900r, in response to a user selection of a specific "Tilt-A-Tank" sub-option of "Controllers" option 918 of menu 904 of screen 900n, the control application may provide two output device descriptors 907 associated with two output icons 906 (e.g., output icons 906 associated with device output connectors 362B'" and 362B"" of base power sensor construction device 300B), and an output widget 908 associated with those two output icons 906. Each one of the two output device descriptors 907 may be a symbol indicative of a motor action construction device 500D, which may indicate to a user that he or she must communicatively couple a first motor action construction device 500D to device output connector 362B'" of base power sensor construction device 300B and a second motor action construction device 500D to device output connector 362B"" of base power sensor construction device 300B in order to build the chosen "Tilt-A-Tank" system. Such an output widget 908 may have highly specific features to the selected system and may often exhibit "videogame-like qualities". For example, as shown, a single output widget 908 may be a type of level output widget 908 that may simultaneously control the value of NORMAL data transmitted by each one of device output connectors 362B'" and 362B"" of base power sensor construction device 300B. For example, level output widget 908 of screen 900r may be a multi-axis movement level output widget that may be configured to cause the transmission of first NORMAL data from device output connector 362B'" associated with a first output icon 906, where the value of the first NORMAL data may be based on detected acceleration along a first axis, and that may be configured to cause the transmission of second NORMAL data from device output
connector 362B"" associated with a second output icon 906, where the value of the second NORMAL data may be based on detected acceleration along a second axis. Therefore, the control application may be configured to provide such a multi-axis movement level output widget 908 for enabling a user to tilt device 600 along two different axes for determining the value of NORMAL input data transmitted to two different motors (e.g., two motors that may be coupled to two different wheel assemblies of a toy tank).
[0342] Therefore, in some embodiments, specific sub-options of "Controllers" option 918 of menu 904 (e.g., a "Tilt-A-Tank" sub-option) may be helpful for guiding a user through building a particular system from scratch (e.g., when no construction devices are initially coupled to base construction device 300B). Alternatively or additionally, certain specific sub-options of
"Controllers" option 918 of menu 904 may be provided to help guide a user through building one or more systems based on one or more construction devices already being coupled to base construction device 300B. For example, the control application may detect what types of construction devices are currently coupled to base construction device 300B and may provide one or more recommendations to a user on how he or she may add additional construction devices to build a particular system. As just one example, after a user has already coupled a first motor construction device 500D to device output connector 362B'" of base device 300B, but before a user has coupled any other construction devices to base device 300B (e.g., as shown by screen 900g), at least the "Tilt-A-Tank" controller sub-option as well as any other system controller sub-options that include at least one motor may be recommended to the user for helping the user realize what he or she may be able to construct given the already-coupled devices. The controller application may be configured to continuously update the list of potential controller sub-options that might be recommended to the user based on each change that is made by the user to the amount and types of construction devices that may be coupled to base construction device 300B.
FIGS. 18A-18N
[0343] As shown in FIG. 18 A, a system 1A may include controller device 600
communicatively coupled with base power construction device 300B (e.g., wirelessly), such that the control application of controller device 600 may be configured to provide a screen 1000a, which may be similar to screen 900f and may include status bar 901 indicating such a coupling and I/O map 902 with input port icons 905 and output port icons 906 associated with particular device I/O connectors 352/362 of base device 300B. For example, input icons 905' and 905" of I/O map 902 may be respectively representative of floating device input connectors 352B' and 352B" of base device 300B, while output icons 906', 906", 906'", and 906"" of I/O map 902 may be respectively representative of device output connectors 362B', 362B", 362B'", and 362B"" of base device 300B.
[0344] When a new construction device is communicatively coupled to base device 300B, controller device 600 may be configured to determine the type and UID of that device (e.g., by accessing each module descriptor 745 of the system) and determining an initial widget to present to a user for that new device on I/O map 902. For example, as shown in FIG. 18B, a system I B may be the same as system 1 A but with device input connector 552D of a new motor action construction device 500D communicatively coupled to device output connector 362B"" of base device 300B (e.g., via a cable 55), such that the control application of controller device 600 may be configured to provide a screen 1000b, which may be similar to screen 900g and may include an initial output widget 908i adjacent output icon 906"" on I/O map 902. As shown, initial output widget 908i may be a slider output widget that may be determined by controller device 600 to be initially associated with new motor device 500D. For example, the control application may access a look-up table or any suitable data that may indicate a relationship between initial output widget 908i and motor device 500D, where such a relationship may be defined by previous user preferences (e.g., as described above) or by a default relationship between such an output widgets and action devices of the motor type. In some embodiments, the default initial widget to be used may be determined by controller device 600 consulting a look-up table or any suitable accessible data structure (e.g., from server 10) that may have an updated association of each construction device type and the appropriate default widget to use (e.g., at least until a user selects a new "last used" widget type that controller device 600 may thereafter store and use). Controller device 600 may store new associations between widgets and construction devices 100 such that the associations may appear to a user as being dictated by the construction device itself, where in reality the association may be determined by controller device 600 by utilizing the device type or UID of the construction device 100 to access the correct widget to use as an initial/default widget. Moreover, as shown by screen 1000b, in addition to an initial widget 908i, coupled motor device 500D may also be represented on I/O map 902 by a suitable output device descriptor 907 (e.g., any suitable descriptor that may describe the type of construction device coupled to the device output connector 362B" associated with output port icon 906"", such as a textual or iconic descriptor).
[0345] The control device may be configured to enable a user to change or otherwise customize the widget that is initially provided on I/O map 902 in response to a construction device being coupled to an I/O connector of base device 300B. For example, as shown in FIG. 18C, a system 1 C may be the same as system IB but with initial output widget 908i replaced by an updated output widget 908 on I/O map 902 of screen 1000c. As shown, updated output widget 908u may be a button output widget that may be similar to the updated output widget 908 of screen 900j. The output widget may be updated in any suitable way, such as through user interaction with selectable options of a GUI of the control application of device 600. Once updated widget 908u is determined, not only may the control application be configured to present updated output widget 908u on screen 1000c, but the control application may also be configured to associate updated widget 908u with motor device 500D as the new default/initial output widget 908 to be used for motor device 500D (e.g., by storing such an association in data accessible to base device 300B (e.g., in memory component 320B) and/or in data accessible to controller device 600 (e.g., in memory component 620)). In some
embodiments, the control application may be configured to make this new association for all action construction devices 500 of the motor type (e.g., as dictated by the device type data of a module descriptor 745 of a construction device). Alternatively, the control application may be configured to make this new association for only that specific motor action construction device 500D (e.g., as dictated by the UID 740 of module descriptor 745 of that motor
device 500D).
[0346] When a construction device communicatively coupled to base device 300B is then disconnected from base device 300B, controller device 600 may be configured to remove any representations of that construction device from I/O map 902. For example, as shown in
FIG. 18D, a system ID may be the same as system 1C but with cable 55 disconnected from at least one of device input connector 552D' of motor action construction device 500D and device output connector 362B"" of base device 300B, thereby terminating the communicative coupling between motor device 500D and base device 300B. As shown, due to such a termination, the control application of controller device 600 may be configured to provide a screen lOOOd that does not include either updated output widget 908 or output device descriptor 907 that had previously been displayed adjacent output icon 906"" for representing the coupling of motor device 500D to device output connector 362B"" of base device 300B.
[0347] When a new construction device is communicatively coupled to that device output connector 362B"" of base device 300B, controller device 600 may be configured to determine the type and UID of that device (e.g., by accessing each module descriptor 745 of the system) and determining an initial widget to present to a user for that new device adjacent output icon 906"" of I/O map 902 (e.g., rather than using the last output widget (e.g., updated output widget 908u) that had been associated with that output icon 906""). For example, as shown in FIG. 18E, a system IE may be the same as system ID but with device input connector 552A of a new IR transmitter action construction device 500 A communicatively coupled to device output connector 362B"" of base device 300B (e.g., via a cable 55), such that the control application of controller device 600 may be configured to provide a screen lOOOe that may include an initial output widget 908i' adjacent output icon 906"" on I/O map 902. As shown, initial output widget 908i' may be a microphone level output widget (e.g., a "sound sensor" level output widget) that may be determined by controller device 600 to be initially associated with new IR transmitter device 500A. Moreover, as shown by screen lOOOe, in addition to an initial widget 908i', coupled IR transmitter device 500A may also be represented on I/O map 902 by a suitable output device descriptor 907 (e.g., any suitable descriptor that may describe the type of construction device coupled to the device output connector 362B" associated with output port icon 906"", such as a textual or iconic descriptor).
[0348] When a previously coupled construction device is once again communicatively coupled to base device 300B, but at a different device I/O connector, controller device 600 may be configured to determine the type and UID of that device (e.g., by accessing each module descriptor 745 of the system) and determining an initial/default widget associated with that device to present to a user on I/O map 902. For example, as shown in FIG. 18F, a system IF may be the same as system IE but with device input connector 552D' of motor action
construction device 500D once again communicatively coupled to base device 300B (e.g., via a cable 55). However, now, motor device 500D may be coupled to device output connector 362B" of base device 300 rather than to device output connector 362B"", where IR transmitter device 500A is currently coupled. Therefore, as shown in FIG. 18F, the control application of controller device 600 may be configured to provide a screen lOOOf that may include not only initial output widget 908i' associated with IR transmitter device 500A adjacent output icon 906"", similarly to screen 1 OOOe, but also updated output widget 908u associated with motor
device 500D adjacent output icon 906" (e.g., the output icon associated with device output connector 362B" to which motor device 500D is now coupled). Therefore, as described above with respect to FIG. 18C, the control application of controller device 600 may be configured to recall the last output widget 908u associated with motor device 500D and automatically use that output widget 908u as the new default output widget 908 on I/O map 902 (e.g., rather than previous default output widget 908i of FIG. 18B) whenever motor device 500D is coupled to any device output connector of base device 300B. [0349] When a new base device is communicatively coupled to controller device 600, the control application of controller device 600 may be configured to determine the type and UID of each construction device coupled to that new base device (e.g., by accessing each module descriptor 745 of the new system) and determine initial widgets to present to a user for that new system (e.g., rather than using the last widgets that had been associated with the icons of I/O map 902). For example, as shown in FIG. 18G, a system 1 G may be the same as system IF but with controller device 600 communicatively coupled a new base power construction
device 300B' (e.g., wirelessly) rather than previous base device 300B, with device input connector 552B of a new record -playback action construction device 500B communicatively coupled to device output connector 362B"" of base device 300B (e.g., via a cable 55), and with device output connector 262C of a new movement sensor construction device 200C
communicatively coupled to device input connector 352B" of base device 300B (e.g., via a cable 55). As shown in FIG. 18G, in response to such a connection to a new base device 300B' in place of old base device 300B, the control application of controller device 600 may be configured to provide a screen l OOOg that may include an initial output widget 908 and output device descriptor 907 adjacent output icon 906"" on I/O map 902 that are associated with new record-playback device 500B of the new system as well as an initial input widget 910 and input device descriptor 909 adjacent input icon 905" on I/O map 902 that are associated with new movement sensor device 200C of the new system.
[0350] When a previously coupled base device is once again communicatively coupled to controller device 600, the control application of controller device 600 may be configured to determine the type and UID of each construction device coupled to that base device (e.g., by accessing each module descriptor 745 of the system) and determine initial widgets to present to a user for that system (e.g., rather than using the last widgets that had been associated with the icons of I/O map 902). For example, as shown in FIG. 18H, a system 1H may be the same as system 1 G but with controller device 600 once again communicatively coupled to base power construction device 300B (e.g., wirelessly) rather than previous base device 300B', with device input connector 552 A of IR transmitter device 500 A once again communicatively coupled to device output connector 362B"" of base device 300B (e.g., via a cable 55) and with device input connector 552D' of motor device 500D once again communicatively coupled to device output connector 362B" of base device 300B (e.g., via a cable 55), similarly to system I F. Therefore, as shown in FIG. 18H, the control application of controller device 600 may be configured to provide a screen lOOOh similar to screen lOOOf that may include not only initial output widget 908i' associated with IR transmitter device 500A adjacent output icon 906"", but also updated output widget 908u associated with motor device 500D adjacent output icon 906".
Therefore, as described above with respect to FIGS. 18C and 18F, the control application of controller device 600 may be configured to recall the last widgets associated with particular construction devices and automatically use those widgets as the new default widgets on I/O map 902 (e.g., rather than previous default widgets or the last widgets displayed for a particular I/O icon 905/906 of I/O map 902).
[0351] When a second device connector of a construction device that has already been communicatively coupled to base device 300B via a first device connector, controller device 600 may be configured to utilize the same widget that is being used for the first device connector for the second device connector as well. For example, as shown in FIG. 181, a system II may be the same as system 1H but with other device input connector 552D of motor device 500D
communicatively coupled to device output connector 362B' of base device 300B (e.g., via a cable 55), such that the control application of controller device 600 may be configured to provide a screen lOOOi that may be the same as screen lOOOh but that may also include an initial output widget 908u adjacent output icon 906' on I/O map 902 that is associated with device output connector 362B' of base device 300B and, thus, other device input connector 552D of motor device 500D. Although, as shown, initial widget 908u of icon 906' for the initial coupling of second motor input port 552D may be the same as the updated widget 908u for first motor input port 552D' (e.g., such that any "last used widget" data saved for one particular port of a particular construction device may be used for all ports of that particular constructions device), in other embodiments, each motor input port may be associated with its own initial widget that may be independent of other ports on that same construction device, such that new motor port 552D connection may be represented by an initial default widget 908i similar to the slider input widget 908i of FIG. 18B (e.g., such that each port of a particular construction device may have its initial/last used widget default determined independently of each other port of that
construction device).
[0352] As mentioned, controller device 600 may be configured to communicate with construction devices according to a SMART packet protocol as well as a NORMAL packet protocol. While certain output widgets may be limited for use in dictating the value of NORMAL data to transmitted to a coupled construction device and/or while certain input widgets may be limited for use in being controlled by a value of NORMAL data received from a coupled construction device, other widgets may be configured to be used with SMART packets. As mentioned above, just one example of a SMART_WRITE cycle may be the transmission of multi-connector data to a single connector of a motor action construction device 500D.
Therefore, the control device of controller device 600 may be configured to enable a user to change or otherwise customize the widget that is provided on I/O map 902 to be used for enabling SMART packet communication with motor device 500D via base device 300B. For example, as shown in FIG. 18 J, a system 1J may be the same as system I I but with updated output widget 908u adjacent output icon 906" replaced by a new smart output widget 908s on I/O map 902 of screen l OOOj adjacent output icon 906". As shown, new smart output widget 908s may be a slider output widget that may have been updated in any suitable way, such as through user interaction with selectable options of a GUI of the control application of device 600.
Alternatively, smart output widget 908s may have been automatically recommended to the user by the control application in response to controller device 600 detecting that two device input connectors (e.g., connectors 552D and 552D' of the same motor device 500D have been communicatively coupled to base device 300B), thereby making SMART communication to motor device 500D feasible and/or desirable. As mentioned, once a SMART WRITE cycle has started with a particular port of a device, the processor component of that device may be configured to temporarily disable all other ports of that device (e.g., connector 552D may be temporarily disabled by device 500D when connector 552D' receives a SMART packet) until some later event while the connector that received the SMART packet may be configured to persistently act on that SMART data until a particular event. In some embodiments, only one of device input connectors 552D and 552D' of motor device 500D may be configured to utilize received SMART packet data at a given time, such that controller device 600 may be configured to only allow smart output widget 908s to be associated with the output icon 906 associated with that device connector (e.g., output icon 906" associated with device input connector 552D' and not output icon 906' associated with device input connector 552D).
[0353] For example, such a smart slider output widget 908s may include a virtual slider that may be slid in either of two directions by a user along an I/O interface 655 of device 600 (e.g., downward or upward vertically) for dictating the value of SMART data to be transmitted to a construction device (e.g., to device input port 552D' of motor device 500D). For example, smart slider output widget 908s may be slid from a first end that may be configured to cause the transmission of SMART data representative of control data for driving a motor of motor device 500D in a first direction at a maximum speed to a second end that may be configured to cause the transmission of SMART data representative of control data for driving the motor of motor device 500D in a second direction at a maximum speed, and where smart slider output widget 908s may be slid to a midpoint between the first end and the second end (e.g., as shown in FIG. 18J) that may be configured to cause the transmission of SMART data representative of control data for driving the motor of motor device 500D in a first direction at a minimum speed and in a second direction at a minimum speed (e.g., for not driving motor device 500D at all).
[0354] Once new smart widget 908s is determined, not only may the control application be configured to present smart output widget 908s on screen lOOOj, but the control application may also be configured to associate smart widget 908s with motor device 500D as the new
default/initial smart output widget 908 to be used for motor device 500D (e.g., by storing such an association in data accessible to base device 300B (e.g., in memory component 320B) and/or in data accessible to controller device 600 (e.g., in memory component 620)). In some
embodiments, the control application may be configured to make this new association for all action construction devices 500 of the motor type (e.g., as dictated by the device type data of a module descriptor 745 of a construction device). Alternatively, the control application may be configured to make this new association for only that specific motor action construction device 500D (e.g., as dictated by the UID 740 of module descriptor 745 of that motor device 500D). Moreover, in some specific embodiments (e.g., where only one of the device input ports of motor device 500D is configured to utilize received SMART data), the control application may be configured to make this new association for only that specific device input port (e.g., device input port 552D') either for each motor action construction device 500D or for only that specific motor action construction device 500D currently coupled to base device 300B.
[0355] Once new smart widget 908s is selected, not only may the control application be configured to present smart output widget 908s on screen lOOOj, but the control application may also be configured to disable other widgets 908 that may no longer be useful. For example, as shown in FIG. 18 J, the control application may be configured to disable widget 908u associated with output icon 906' and device input connector 552D (e.g., by "greying out" or otherwise changing an appearance of output icon 906' and/or its associated output device descriptor 907), which may indicate to a user of controller device 600 that motor device 500D may now be controlled only via smart output widget 908s of output icon 906" and not also output
widget 908u of output icon 906', despite device input connector 552D of motor device 500D still being communicatively coupled to connector 362B' of base device 300B. In other embodiments, the control application may be configured to remove widget 908u associated with output icon 906' and device input connector 552D from I/O map 902 of screen lOOOj entirely when smart output widget 908s is selected, despite device input connector 552D of motor device 500D still being communicatively coupled to connector 362B' of base device 300B.
[0356] However, when particular device input connector 552D of motor device 500D that is associated with a disabled control widget 908u is then disconnected from base device 308B, controller device 600 may be configured to remove any representations of that particular device input connector of motor device 500D from I/O map 902 while still maintaining the smart widget 908s that may currently be controlling that motor device 500D. For example, as shown in FIG. 18 , a system IK may be the same as system 1 J but with cable 55 disconnected from at least one of device input connector 552D of motor action construction device 500D and device output connector 362B' of base device 300B, while still maintaining the connection between device input connector 552D' of motor device 500D and device output connector 362B" of base device 300B. As shown, due to such a termination, the control application of controller device 600 may be configured to provide a screen 1000k that does not include either updated output widget 908u or output device descriptor 907 that had previously been displayed adjacent output icon 906' for representing the coupling of device output connector 362B' of motor device 500D to device output connector 362B' of base device 300B, but that still includes smart output widget 908s and output device descriptor 907s displayed adjacent output icon 906" for representing the coupling of device output connector 362B" of motor device 500D to device output connector 362B" of base device 300B (e.g., for SMART packet communication).
[0357] However, when a construction device communicatively coupled to base device 300B is then fully disconnected from base device 300B, controller device 600 may be configured to remove any representations of that construction device from I/O map 902. For example, as shown in FIG. 18L, a system 1 L may be the same as system IK but with cable 55 disconnected from at least one of device input connector 552D' of motor action construction device 500D and device output connector 362B" of base device 300B, thereby terminating the communicative coupling between motor device 500D and base device 300B. As shown, due to such a termination, the control application of controller device 600 may be configured to provide a screen 10001 that does not include either smart output widget 908s or output device
descriptor 907s that had previously been displayed adjacent output icon 906" for representing the coupling of motor device 500D to device output connector 362B" of base device 300B (e.g., for SMART packet communication).
[0358] When a previously coupled construction device is once again communicatively coupled to base device 300B, but at a different device I/O connector, controller device 600 may be configured to determine the type and UID of that device (e.g., by accessing each module descriptor 745 of the system) and determining an initial/default widget associated with that device to present to a user on I/O map 902. For example, as shown in FIG. 18M, a system 1M may be the same as system 1L but with device input connector 552D of motor action
construction device 500D once again communicatively coupled to base device 300B (e.g., via a cable 55). However, now, device input connector 552D of motor device 500D may be coupled to device output connector 362B" of base device 300 rather than to device output
connector 362B' (e.g., as in FIGS. 181 and 18J). For example, this may be done in hopes of "flipping" how a smart output widget controls motor 500D (e.g., by switching the coupling of base device 300B from device input connector 552D' to device input connector 552D, the user may hope to alter the direction at which the motor of motor device 500D may be driven in response to a particular setting of slider smart widget 908s). However, in some embodiments, as shown by screen 1000m of FIG. 17M, the control application of controller device 600 may be configured to associate and display updated output widget 908u as the initial/default output widget for this new coupling of device input connector 552D of motor device 500D to base device 300B (e.g., the last output widget 908 associated with that particular device input connector 552D of motor device 500D, as shown in FIGS. 181 and 18J, for example).
Alternatively, in other embodiments, the control application of controller device 600 may be configured to associate and display smart output widget 908s as the initial/default output widget for this new coupling of device input connector 552D of motor device 500D to base device 300B (e.g., the last smart output widget 908 associated with coupled motor device 500D, as shown in FIG. 18 , for example). In some embodiments, it may be determined how a smart widget is to control a construction device at the application level of controller device 600 and/or at the processor level of the construction device. For example, at FIG. 18K, smart widget 908s may be coupled to first device input connector 552D' of motor 500D (e.g., an input connector associated with a first direction, such as a clockwise direction of motor functional component 570D), such that the application of controller 600 may be configured to generate SMART data that drives motor 500D in that first direction at full speed when slider 908s is slid all the way to the top of the slider, and such that the application of controller 600 may be configured to generate SMART data that drives motor 500D in a second direction at full speed when slider 908s is slid all the way to the bottom of the slider, where the application of controller 600 may be configured to dictate the desired motor direction for each end of smart slider 908s based on controller device 600's knowledge of which device input port of motor 500D it is coupled to
(e.g., controller device 600 may slightly update smart slider 908s depending on which input connector of motor device 500D it is coupled to (e.g., associate the top of the slider with the first motor direction and the bottom of the slider with the second motor direction when associated with first input connector 552D' and associate the top of the slider with the second motor direction and the bottom of the slider with the first motor direction when associated with second input connector 552D). Alternatively, motor device 500D may be configured to compute/act on particular SMART data the same or differently depending on which device input connector the SMART data is received at.
[0359] In some embodiments, at least two base devices may be communicatively coupled to controller device 600 at the same time, such that at least two systems may be controlled independently by controller device 600 and/or such that two systems may be communicatively coupled via controller device 600. For example, as shown in FIG. 18N, a master system IN may include a first subsystem I SO and a second subsystem I SP. First subsystem I SO may include a first base device 300B communicatively coupled to controller device 600 (e.g., wirelessly via a first communications set-up 655), where any suitable construction device or any suitable combination of construction devices may be communicatively coupled to first base device 300B. For example, as shown in FIG. 18N, device input connector 552B of a record-playback action construction device 500B may be communicatively coupled to device output connector 362B"" of first base device 300B (e.g., via a cable 55), device output connector 262B of a user-variable sensor construction device 200B may be communicatively coupled to device input
connector 352B" of first base device 300B (e.g., via a cable 55), and device output
connector 262 A of a visible light sensor construction device 200A may be communicatively coupled to device input connector 352B' of first base device 300B (e.g., via a cable 55).
[0360] As shown in FIG. 18N, in response to such a connection to such a first base
device 300B, the control application of controller device 600 (e.g., through collection and use of module descriptors from first base device 300B and any other data accessible to controller device 600) may be configured to provide a screen 1000η that may include a first base device representation 300BR that may be representative of first base device 300B. In some
embodiments, as shown, first base device representation 300BR may be similar to any one of screens l OOOa-Ι ΟΟΟη and may include a first base device status bar 901 , a first menu toggle bar 903, and a first I/O map 902. First base device status bar 901 may be indicative of the connection status between controller device 600 and first base device 300B. As shown, first I/O map 902 may also include one or more of an output widget 908 adjacent output icon 906"" associated with record-playback device 500B of first subsystem I SO and an input widget 910 adjacent input icon 905" associated with user-variable sensor construction device 200B of first subsystem I SO. In some embodiments, although not shown in FIG. IN, first I/O map 902 may also include an output device descriptor (e.g., similar to output device descriptor 907) adjacent output icon 906"" and/or an input device descriptor (e.g., similar to input device descriptor 909) adjacent input icon 905". As shown in FIG. 18N, in addition to or as an alternative to such an output device descriptor on first I/O map 902, the control application of controller device 600 (e.g., through collection and use of module descriptors from first base device 300B and any other data accessible to controller device 600) may be configured to provide screen 1000η that may include a cable representation 55R1 extending outwardly from first base device
representation 300BR adjacent output icon 906"" to a record-playback device
representation 500BR, where record-playback device representation 500BR may be indicative of record-playback device 500B (e.g., record-playback device representation 500BR may be similar to top surface portion 501B-ts of FIG. 20N) and where cable representation 55R1 may be indicative of the cable 55 coupling first base device 300B to record -playback device 500B.
Moreover, as shown in FIG. 18N, in addition to or as an alternative to such input device descriptors on first I/O map 902, the control application of controller device 600 (e.g., through collection and use of module descriptors from first base device 300B and any other data accessible to controller device 600) may be configured to provide screen 1 OOOn that may include a cable representation 55R2 extending outwardly from first base device representation 300BR adjacent input icon 905" to a user-variable sensor device representation 200BR (e.g., where user-variable sensor device representation 200BR may be indicative of user-variable sensor device 200B (e.g., user-variable sensor device representation 200BR may be similar to top surface portion 201B-ts of FIG. 20D) and where cable representation 55R2 may be indicative of the cable 55 coupling first base device 300B to user-variable sensor device 200B) and/or a cable representation 55R3 extending outwardly from first base device representation 300BR adjacent input icon 905' to a visible light sensor device representation 200AR (e.g., where visible light sensor device representation 200 AR may be indicative of visible light sensor device 200A
(e.g., visible light sensor device representation 200AR may be similar to top surface
portion 201A-ts of FIG. 20A) and where cable representation 55R3 may be indicative of the cable 55 coupling first base device 300B to visible light sensor device 200A). First menu toggle icon 903 of first base device representation 300BR may be toggled through user interaction with menu toggle icon 903 to provide various options to a user of system IN (e.g., to change one or more of the widgets of first I/O map 902).
[0361] Second subsystem 1 SP may include a second base device 300B' communicatively coupled to controller device 600 (e.g., wirelessly via a second communications set-up 655'), where any suitable construction device or any suitable combination of construction devices may be communicatively coupled to second base device 300B'. For example, as shown in FIG. 18N, device input connector 552D' of a motor action construction device 500D may be
communicatively coupled to device output connector 362B"" of second base device 300B' (e.g., via a cable 55), device input connector 552D of motor action construction device 500D may be communicatively coupled to device output connector 362B'" of second base device 300B' (e.g., via a cable 55), device input connector 552A of a visible light emitting action construction device 500A may be communicatively coupled to device output connector 362B' of second base device 300B' (e.g., via a cable 55), device output connector 262A of a second user-variable device 200B' may be communicatively coupled to device input connector 352B' of second base device 300B' (e.g., via a cable 55), and device output connector 462B' of a splitter logic construction device 400B may be communicatively coupled to device input connector 352B" of second base device 300B' (e.g., via a cable 55), where device input connector 452B of splitter logic construction device 400B may be communicatively coupled to device output
connector 262A of a second visible light sensor construction device 200A'.
[0362] As shown in FIG. 18N, in response to such a connection to such a second base device 300B', the control application of controller device 600 (e.g., through collection and use of module descriptors from second base device 300B' and any other data accessible to controller device 600) may be configured to provide a screen 1000η that may include a second base device representation 300B'R that may be representative of second base device 300B'. In some embodiments, as shown, second base device representation 300B'R may be similar to any one of screens lOOOa-ΙΟΟΟη and may include a second base device status bar 90 Γ, a second menu toggle bar 903', and a second I/O map 902'. Second base device status bar 901 ' may be indicative of the connection status between controller device 600 and second base device 300B'. As shown, second I/O map 902' may include one or more of an output widget 908 adjacent output icon 906"" associated with motor device 500D of second subsystem 1 SP, an output widget 908' adjacent output icon 906' associated with visible light emitting action device 500A of second subsystem I SP, and an input widget 910 adjacent input icon 905" associated with splitter logic construction device 400B of second subsystem I SP. In some embodiments, although not shown in FIG. IN, second I/O map 902' may also include an output device descriptor (e.g., similar to output device descriptor 907) adjacent output icons 906"" and 906' and/or an input device descriptor (e.g., similar to input device descriptor 909) adjacent input icon 905". As shown in FIG. 18N, in addition to or as an alternative to such one or more output device descriptor on second I/O map 902', the control application of controller device 600 (e.g., through collection and use of module descriptors from second base device 300B' and any other data accessible to controller device 600) may be configured to provide screen 1000η that may include a cable representation 55R4 extending outwardly from second base device representation 300B'R adjacent output icon 906"" to a first input of a motor device
representation 500DR (e.g., where motor device representation 500DR may be indicative of motor device 500D (e.g., motor device representation 500DR may be similar to top surface portion 501D-ts of FIG. 20Q) and where cable representation 55R4 may be indicative of the cable 55 coupling second base device 300B' to motor device 500D), and/or a cable
representation 55R8 extending outwardly from second base device representation 300B'R adjacent output icon 906"' to a second input of motor device representation 500DR, and/or a cable representation 55R5 extending outwardly from second base device representation 300B'R adjacent output icon 906' to a visible light emitting device representation 500AR (e.g., where visible light emitting device representation 500AR may be indicative of visible light emitting device 500A (e.g., visible light emitting device representation 500AR may be similar to top surface portion 501A-ts of FIG. 20L) and where cable representation 55R5 may be indicative of the cable 55 coupling second base device 300B' to visible light emitting device 500A).
Moreover, as shown in FIG. 18N, in addition to or as an alternative to such input device descriptors on second I/O map 902', the control application of controller device 600
(e.g., through collection and use of module descriptors from second base device 300B' and any other data accessible to controller device 600) may be configured to provide screen 1000η that may include a cable representation 55R9 extending outwardly from second base device representation 300B'R adjacent input icon 905' to a user-variable device representation 200B'R, where user-variable device representation 200B'R may be indicative of user-variable
device 200B' (e.g., user-variable device representation 200B'R may be similar to top surface portion 201B-ts of FIG. 20D and/or to user- variable device representation 200BR of FIG. 18N) and where cable representation 55R9 may be indicative of the cable 55 coupling second base device 300B' to user- variable device 200B'. Moreover, as shown in FIG. 18N, in addition to or as an alternative to such input device descriptors on second I/O map 902', the control application of controller device 600 (e.g., through collection and use of module descriptors from second base device 300B' and any other data accessible to controller device 600) may be configured to provide screen 1000η that may include a cable representation 55R6 extending outwardly from second base device representation 300B'R adjacent input icon 905" to a splitter logic device representation 400BR (e.g., to a representation of device output connector 462B' of splitter logic device 400B on splitter logic device representation 400BR), where splitter logic device representation 400BR may be indicative of splitter logic device 400B (e.g., splitter logic device representation 400BR may be similar to top surface portion 401B-ts of FIG. 20 J) and where cable representation 55R6 may be indicative of the cable 55 coupling second base device 300B' to splitter logic device 400B. Moreover, as shown in FIG. 18N, the control application of controller device 600 (e.g., through collection and use of module descriptors from second base device 300B' and any other data accessible to controller device 600) may be configured to provide screen 1000η that may include a cable representation 55R7 extending outwardly from splitter logic device representation 400BR (e.g., from a representation of device input connector 452B of splitter logic device 400B on splitter logic device representation 400BR) to a visible light sensor device representation 200A'R, where visible light sensor device
representation 200A'R may be indicative of visible light sensor device 200A' (e.g., visible light sensor device representation 200 A'R may be similar to top surface portion 201 A-ts of FIG. 20 A and/or to visible light sensor device representation 200AR of FIG. 18N) and where cable representation 55R7 may be indicative of the cable 55 coupling splitter logic device 400B to visible light sensor device 200A'. Second menu toggle icon 903' of second base device representation 300B'R may be toggled through user interaction with menu toggle icon 903' to provide various options to a user of system IN (e.g., to change one or more of the widgets of second I/O map 902').
[0363] Moreover, as shown in FIG. 18N, the control application of controller device 600 may be configured to enable a virtual connection between any input icon 905 associated with any device input connector of any base device and any output icon 906 associated with any device output connector of any base device, where such a virtual connection may be a direct connection between two such icons or an indirect connection via one or more virtual construction devices. For example, a direct virtual connection may be made between a device input connector and a device output connector of the same base device. As shown in FIG. 18N, for example, a first virtual connector 55VR6 may be generated for virtually coupling input icon 905' associated with device input connector 352B' of second base device 300B' and output icon 906"' associated with device output connector 362B'" of second base device 300B'. When such a direct virtual connector 55VR6 is provided by screen 1000η, the control application of controller device 600 may be configured to enable the routing of any suitable data (e.g., at least any NORMAL data) received by device input connector 352B' of second base device 300B' from user-variable construction device 200B' to device output connector 362B'" of second base device 300B' for use by device input connector 552D of motor device 500D. This may be accomplished by controller device 600 transmitting one or more instructions to second base device 300B' that may configure base device 300B' (e.g., processing component 310B and/or application 313B of such a base device) to automatically enable the data transmitted out from device output connector 362B'" to be equal to the data received by device input connector 352B'. That is, such instruction(s) from controller device 600 may automatically program base device 300B' to link to device connectors in a certain way. Alternatively, this may be accomplished by controller device 600 receiving data from base device 300B' when such data is received by device input connector 352B' of base device 300B' and then forwarding such data from controller device 600 on to device output connector 362B'" of base device 300B'. That is, in some embodiments, controller device 600 may act as a conduit for such data between device connectors 352B' and 362B'" of base device 300B'. In some embodiments, as shown in FIG. 18N, the control application of controller device 600 may be configured to provide a virtual widget 910V (e.g., a bar meter widget) associated with virtual connector 55VR6, where such a virtual widget 910V may provide information indicative of data being passed via such a virtual connector 55VR6. Although not shown, a direct virtual connection may be made by controller device 600 between a device input connector and a device output connector of the two different base devices.
[0364] As another example, an indirect virtual connection may be made between a device input connector and a device output connector of the two different base devices. As shown in
FIG. 18N, for example, a virtual connector 55VR1, a virtual inverter logic device 400AVR, and a virtual connector 55VR2 may be generated for virtually coupling input icon 905' associated with device input connector 352B' of first base device 300B and output icon 906' associated with device output connector 362B' of second base device 300B'. When such an indirect virtual connection (e.g., via a virtual device, such as virtual inverter logic device 400AVR) is provided by screen 1000η, the control application of controller device 600 may be configured to enable the routing of any suitable data (e.g., at least any NORMAL data) received by device input connector 352B' of first base device 300B from visible light sensor construction device 200 A to device output connector 362B' of second base device 300B' for use by device input
connector 552A of visible light emitting construction device 500A, after first applying the logic of the intermediate virtual logic device 400AVR to that received data. This may be
accomplished by controller device 600 receiving data from first base device 300B when such data is received by device input connector 352B' of first base device 300B, then inverting the value of that data (e.g., through a logic function provided by controller device 600 that may be based on the logic dictated by virtual logic device 400AVR), and then forwarding such inverted data from controller device 600 on to device output connector 362B' of second base
device 300B'. That is, in some embodiments, controller device 600 may act as a conduit for such data between device connectors of two different base devices (e.g., a direct conduit when there is a direct virtual connection therebetween and/or a conduit with logic when there is an
intermediate virtual logic device provided along the virtual connection).
[0365] As another example, an indirect virtual connection may be made between a device input connector and a device output connector of the same base device. As shown in FIG. 18N, for example, a virtual connector 55VR3, a virtual splitter logic device 400BVR, and a virtual connector 55VR5 may be generated for virtually coupling input icon 905" associated with device input connector 352B" of second base device 300B' and output icon 906"" associated with device output connector 362B"" of second base device 300B'. When such an indirect virtual connection (e.g., via a virtual device, such as virtual splitter logic device 400BVR) is provided by
screen 1000η, the control application of controller device 600 may be configured to enable the routing of any suitable data (e.g., at least any NORMAL data) received by device input connector 352B" of second base device 300B' from splitter 400B and, thus, from visible light sensor construction device 200A' to device output connector 362B"" of second base device 300B' for use by device input connector 552D' of motor construction device 500D, after first applying the splitting logic of the intermediate virtual logic device 400BVR to that received data. This may be accomplished by controller device 600 receiving data from second base device 300B' when such data is received by device input connector 352B" of second base device 300B', then splitting that data (e.g., through a logic function provided by controller device 600 that may be based on the logic dictated by virtual logic device 400BVR), and then forwarding such split data from controller device 600 on to device output connector 362B"" of second base device 300B'. That is, in some embodiments, controller device 600 may act as a conduit for such data between device connectors of two different base devices. While virtual connector 55VR5 may virtually connect virtual device output connector 462B'VR of virtual splitter logic device 400BVR to output icon 906"" associated with device output connector 362B"" of second base device 300B', screen 1000η may also include a virtual connector 55VR4 for virtually connecting virtual device output connector 462BVR of virtual splitter logic device 400BVR to a virtual widget 910VR, where virtual widget 910VR may be any suitable widget for utilizing the data provided thereto. For example, as shown, virtual widget 910VR may be a pitch shift widget, which may be similar to widget 950o of FIG. 19M. Although not In some embodiments, as shown in FIG. 18N, the control application of controller device 600 may be configured to provide a virtual widget 910V (e.g., a bar meter widget) associated with virtual connector 55VR6, where such a virtual widget 910V may provide information indicative of data being passed via such a virtual connector 55VR6.
[0366] In some embodiments, the control application of controller device 600 may be configured to provide a virtual widget (e.g., virtual widget 910V) and associate it with any virtual connector (e.g., any one or more of virtual connectors 55VR1-55VR6) for providing any suitable information indicative of data being passed via that virtual connector. Any suitable virtual construction device (e.g., virtual construction device 400AVR and/or virtual construction device 400BVR) may be provided as a suitable physical construction device (e.g., as a device 100) and vice versa. Similarly, any suitable virtual connector (e.g., virtual
connectors 55VR1-55VR6) may be provided as a physical connection (e.g., a cable 55) and vice versa.
[0367] Moreover, as shown in FIG. 18N, the control application of controller device 600 may be configured to provide screen 1000η that may include a master menu toggle icon 903N.
Master menu toggle icon 903N may be toggled through user interaction with menu toggle icon 903N to provide various options to a user of system IN. For example, master menu toggle icon 903N may be configured to enable a user to choose whether representations of constructions devices and cables (e.g., representations 500BR and 55R1) may be shown in addition to or as an alternative to any input/output device descriptors on an I/O map 902 of a particular base device. Additionally or alternatively, master menu toggle icon 903N may be configured to enable a user to select, position, and/or remove any virtual connector or virtual construction device from a master map 902N of screen 1000η. Such a master map 902N may include all representations of all physical construction devices, all representations of all physical connectors, all virtual connectors, and all virtual construction devices that are a part of system IN, where a portion or all of map 902N may be provided by controller device 600 on screen 1000η at any given time (e.g., as may be customized by a user).
[0368] The control application of controller device 600 may be configured to utilize the module descriptors received for a particularly system of coupled construction devices in order to generate and compile a "graph scan", which may be indicative of all the particular construction devices and their interconnections within the system of devices coupled to one or all base devices of the system. Such a graph scan may be indicative of not only all physical construction devices and connections but also, in some embodiments, the virtual connectors and virtual construction devices of that system. This may be stored as valuable data that may be used by controller device 600 or any remote server (e.g., server 10) to generate useful information to a user. For example, such a graph scan may be leveraged to generate a "bill of materials", such as a list or schematic of all circuitry components that may be required to replicate the system without construction devices 100 and controller device 600 and cables 55 but instead with various other types of components (e.g., discrete transistors, circuitry, code (e.g., firmware or software), etc.) that may be purchased or provided to a user. The graph scan and/or bill of materials may indicate any redundancy in the system and indicate that certain components may not need to be replicated in the new system. The graph scan may be a data structure
representative of all physical construction devices 100, all physical interconnections, all virtual components, and/or all virtual interconnections that may be leveraged by controller device 600 (e.g., a camera or media playback component) that may then be analyzed to generate the bill of materials (e.g., by an API of a third party service provider, such as at server 10). In some embodiments, a graph scan of a system may be determined and utilized to generate an
application (e.g., a software application that may be run on controller device 600) that may replace some or all of the system. For example if a system of construction devices includes a visible light sensor device component 200A coupled to a device input connector of a base device, a record-playback action device component 500B coupled to a device output connector of the base device, and a virtual connector provided by a control application of controller device 600 between such device input connector and such device output connector of the base device for enabling data generated by the visible light sensor device to control the record-playback device, then a graph scan of such a system may be determined and analyzed to generate a new
application that may be provided to controller device 600, such that when run by device 600, the new application may configure device 600 to leverage data generated by a visible light sensor input component of device 600 to control media playback by a media playback component of device 600 (e.g., without use of any construction devices).
[0369] The control application of controller device 600 may be configured to utilize the module descriptors received for a particularly system of coupled construction devices in order to generate and compile a "power scan", which may be indicative of the power characteristics of each construction device in the system. Such a power scan may reveal whether the system is adequately powered to handle all potential power requirements and/or whether the system is currently drawing a certain amount of power that may or may not be troublesome. For example, as described above, the uint 16_tPower portion of a module descriptor 745 may be indicative of any suitable power characteristic of a construction device of the system (e.g., maximum possible power consumption or present power consumption). When such data is captured and analyzed for all construction devices of a system, base device 300B and/or controller device 600 may act accordingly (e.g., convey a power warning message to a user, such as with particular details about where in the system there may be a power issue).
[0370] Controller device 600 and base device 300B may persistently share a "heartbeat" or "connection is present/active" indication with each other, such that each device may know that they are still actively communicatively coupled to the other device (e.g., even when NORMAL data or SMART data or MANAGEMENT data is not currently being communicated
therebetween). Such heartbeat data may be utilized to determine when to shutdown the function of certain construction devices. For example, if the control application of controller device 600 crashes or otherwise is unable to communicate with base device 300B (e.g., due to the distance between the devices increasing beyond that of communication set-up 655), controller device 600 may not generate a new heartbeat and/or base device 300B may not receive a new heartbeat from controller device 600, which may indicate to base device 300B that a connection has been lost. In response to such a determination, base device 300B may be configured to remove all power from some or all of the other construction devices of the system. This may prevent certain construction devices (e.g., motor device 500D of FIG. 18K from continuing to be driven when controller device 600 is no longer generating or properly communicating control data from motor device 500D). Alternatively, in response to such a determination, base device 300B may be configured to generate and transmit its own default control signals (e.g., NORMAL data signals of default value, such as integer 0) to one or more construction devices. Such behavior may prevent accidents or other faulty behavior when communication between controller device 600 and base device 300B is lost.
FIGS. 21A-24B
[0371] A particular example of a system of construction devices that may be combined with mechanical components to create a combined system built to do one or more functions is shown by system 10 of FIGS. 21 A and 2 IB. As shown, a visible light sensor device 200A, a record-playback action device 500B, a housing vibrating action construction device 500C, and a power construction device 300A may be interconnected (e.g., via one or more cables 55 (not shown)). For example, a device output connector of visible light sensor device 200A may be communicatively coupled to a device input connector of power construction device 300 A, and a device output connector of power construction device 300A (e.g., a device output connector of power construction device 300A that may be a loop-through of the input device connector coupled to device 200A) may be coupled to an input device connector of one of record-playback action device 500B and a housing vibrating action construction device 500C (or to an input device connector of each one of record-playback action device 500B and housing vibrating action construction device 500C via an intermediate splitter logic device (not shown)).
System 10 may also include one or more universal mechanical building block plates (e.g., one or more plates 960) to which mechanical features of the housing of each construction device may be releasably coupled. Suction cups may be provided by portions of plates 960 for suctioning a plate 960 to another surface. System 10 may be configured such that when NORMAL data generated and transmitted by visible light sensor device 200A reaches a certain threshold, at least one of record-playback action device 500B and housing vibrating action construction
device 500C may be configured to act (e.g., to playback media and/or to vibrate).
[0372] Another particular example of a system of construction devices that may be combined with mechanical components to create a combined system built to do one or more functions is shown by system IP of FIGS. 22A and 22B. As shown, a visible light sensor device 200A, a record-playback action device 500B, a user-variable sensor device 200B, a splitter logic device 400B, a motor device 500D, and a power construction device 300A may be
interconnected (e.g., via one or more cables 55 (not shown)). For example, a device output connector of one of visible light sensor device 200A and user-variable sensor device 200B may be communicatively coupled to a device input connector of power construction device 300A, and a device output connector of power construction device 300A (e.g., a device output connector of power construction device 300 A that may be a loop-through of the above-mentioned input device connector) may be coupled to an input device connector of splitter logic device 400B, and each output device connector of splitter logic device 400B may be coupled to an input device connector of a respective one of record-playback action device 500B and motor device 500D. System IP may also include various mechanical components 970 for providing a mechanical structure of a drivable character (e.g., a two-wheeled creature with a head and a tail) to which mechanical features of the housing of each construction device may be releasably coupled.
System IP may be configured such that NORMAL data generated and transmitted by one of visible light sensor device 200A and user-variable sensor device 200B may determine the value of NORMAL data received by a device input connector of both record-playback action device 500B (e.g., to cause media to be played back) and motor device 500D (e.g., to drive an axis of the wheeled structure).
[0373] Another particular example of a system of construction devices that may be combined with mechanical components to create a combined system built to do one or more functions is shown by system 1Q of FIGS. 23 A and 23B. As shown, a first motor device 500D, a second motor device 500D', and a power construction device 300B may be interconnected (e.g., via one or more cables 55 (not shown)) and a control application may be provided on a controller device (e.g., device 600 (not shown)). For example, a first device input connector of first motor device 500D may be coupled to a first device output connector of power construction
device 300B (e.g., a floating device output connector of power construction device 300B) and a first device input connector of second motor device 500D' may be coupled to a second device output connector of power construction device 300B (e.g., a floating device output connector of power construction device 300B), where each of those two floating device output connectors may be associated with a control widget on the controller device (e.g., a smart control widget for controlling both inputs of a motor device). System 1Q may also include various mechanical components 980 for providing a mechanical structure of a drivable character (e.g., a two-wheeled creature with a face and a body) to which mechanical features of the housing of each
construction device may be releasably coupled. System 1Q may be configured such that control data received by each widget of the controller device (e.g., from a user or from other data generated by the controller device) may determine the value of data (e.g., NORMAL or SMART data) received by a device input connector of each one of motors 500D and 500D' (e.g., to drive each wheel of the two-wheeled structure).
[0374] Another particular example of a system of construction devices that may be combined with mechanical components to create a combined system built to do one or more functions is shown by system 1 R of FIGS. 24 A and 24B. As shown, a power construction device 300 A, an infrared transmitter action device 500 A, and a movement sensor construction device 200C may be interconnected (e.g., via one or more cables 55 (not shown)). For example, a device output connector of movement sensor construction device 200C may be communicatively coupled to a device input connector of power construction device 300A, and a device output connector of power construction device 300A (e.g., a device output connector of power construction device 300A that may be a loop-through of the above-mentioned input device connector) may be coupled to an input device connector of infrared transmitter action device 500 A. System 1 R may also include various mechanical components 990 for providing a mechanical structure of a wand-like toy to which mechanical features of the housing of each construction device may be releasably coupled. System 1R may be configured such that data (e.g., NORMAL data or SMART data) generated and transmitted by movement sensor construction device 200C (e.g., in response to a user waving the wand structure with a certain speed) may determine the value of data received by a device input connector of infrared transmitter action device 500A, which may dictate the value of data embedded into an infrared signal generated and transmitted by infrared transmitter action device 500A (e.g., to be received by an infrared receiver senor device 200A).
[0375] Moreover, one, some, or all of the processes and/or components described with respect to FIGS. 1-24B may each be implemented by software, but may also be implemented in hardware, firmware, or any combination of software, hardware, and firmware. They each may also be embodied as machine- or computer-readable code recorded on a machine- or computer- readable medium. In some embodiments, the computer-readable medium may be any data storage device (e.g., a memory component 120 of any construction device and/or memory component 620 of any controller device) that can store data or instructions which can thereafter be read by a computer system. Examples of such a non-transitory computer-readable medium may include, but are not limited to, read-only memory, random-access memory, flash memory, CD-ROMs, DVDs, magnetic tape, removable memory cards, and optical data storage devices. In other embodiments, the computer-readable medium can also be distributed over network-coupled computer systems so that the computer-readable code is stored and executed in a distributed fashion. For example, the computer-readable medium may be communicated from one electronic device to another electronic device using any suitable communications protocol (e.g., the computer-readable medium may be communicated to any construction device via a communications component 140 and/or via any device I/O connector 152/162 (e.g., as at least a portion of application 1 13) and/or to any controller device via communications component640 (e.g., as at least a portion of application 613)). Such a transitory computer-readable medium may embody computer-readable code, instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media. A modulated data signal may be a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
[0376] It is to be understood that any or each component of any construction device and/or any or each component of any controller device may be provided as a software construct, firmware construct, one or more hardware components, or a combination thereof. For example, any or each component of any construction device and/or any or each component of any controller device may be described in the general context of computer-executable instructions, such as program modules, that may be executed by one or more computers or other devices. Generally, a program module may include one or more routines, programs, objects, components, and/or data structures that may perform one or more particular tasks or that may implement one or more particular abstract data types. It is also to be understood that the number, configuration, functionality, and interconnection of the components of any construction device and/or any controller device are merely illustrative, and that the number, configuration, functionality, and interconnection of existing modules may be modified or omitted, additional modules may be added, and the interconnection of certain modules may be altered.
[0377] As mentioned, an input component 650 of controller device 600 (e.g., input
component 650a) may include a touch input component that can receive touch input for interacting with other components of device 600 via wired or wireless bus 619. Such a touch input component 650 may be used to provide user input to device 600 in lieu of or in
combination with other input components, such as a keyboard, mouse, and the like. Software, hardware, firmware, or any combination thereof may be used to process the measurements of the detected touches to identify and track one or more gestures. A gesture may correspond to stationary or non-stationary, single or multiple, touches or near touches on a touch input component 650. A gesture may be performed by moving one or more fingers or other objects in a particular manner on touch input component 650, such as by tapping, pressing, rocking, scrubbing, rotating, twisting, changing orientation, pressing with varying pressure, and the like at essentially the same time, contiguously, or consecutively. A gesture may be characterized by, but is not limited to, a pinching, pulling, sliding, swiping, rotating, flexing, dragging, or tapping motion between or with any other finger or fingers. A single gesture may be performed with one or more hands, by one or more users, or any combination thereof.
[0378] As mentioned, electronic device 600 may drive a display (e.g., display output component 660a) with graphical data to display a graphical user interface ("GUI") 180. GUI 180 may be configured to receive touch input via a touch input component 650a. Embodied as a touch screen (e.g., display output component 660a with touch input component 650a as I/O component 655a), touch I/O component 660a may display GUI 180. Alternatively, GUI 180 may be displayed on a display (e.g., display output component 660a) separate from touch input component 650a. GUI 180 may include graphical elements displayed at particular locations within the interface. Graphical elements may include, but are not limited to, a variety of displayed virtual input devices, including virtual scroll wheels, a virtual keyboard, virtual knobs, virtual buttons, any virtual user interface ("UI"), and the like. A user may perform gestures at one or more particular locations on touch input component 650a, which may be associated with the graphical elements of GUI 180. In other embodiments, the user may perform gestures at one or more locations that are independent of the locations of graphical elements of GUI 180.
Gestures performed on a touch input component 650 may directly or indirectly manipulate, control, modify, move, actuate, initiate, or generally affect graphical elements, such as cursors, icons, media files, lists, text, all or portions of images, or the like within the GUI.
[0379] One or more Application Programming Interfaces ("APIs") may be used in some embodiments (e.g., with respect to communication between a control application of controller device 600 and one or more construction devices). An API may be an interface implemented by a program code component or hardware component (e.g., an "API-implementing component") that may allow a different program code component or hardware component (e.g., an
"API-calling component") to access and use one or more functions, methods, procedures, data structures, classes, and/or other services provided by the API-implementing component. An API can define one or more parameters that may be passed between the API-calling component and the API-implementing component.
[0380] While there have been described systems, methods, and computer-readable media for interconnecting communication devices, it is to be understood that many changes may be made therein without departing from the spirit and scope of the subject matter described herein in any way. Insubstantial changes from the claimed subject matter as viewed by a person with ordinary skill in the art, now known or later devised, are expressly contemplated as being equivalently within the scope of the claims. Therefore, obvious substitutions now or later known to one with ordinary skill in the art are defined to be within the scope of the defined elements. It is also to be understood that various directional and orientational terms such as "up and "down," "front" and "rear," "top" and "bottom," "left" and "right," "side," "length" and "width" and "thickness," "X-" and "Y-" and "Z-," and the like are used herein only for convenience, and that no fixed or absolute directional or orientational limitations are intended by the use of these words. For example, the devices of this disclosure can have any desired orientation. If reoriented, different directional or orientational terms may need to be used in their description, but that will not alter their fundamental nature as within the scope and spirit of this disclosure. Moreover, a device constructed in accordance with the principles of the disclosure may be of any suitable three-dimensional shape, including, but not limited to, a sphere, cone, octahedron, or
combination thereof, rather than a hexahedron, as illustrated by FIGS. 1 A- II.
[0381] Therefore, those skilled in the art will appreciate that the invention can be practiced by other than the described embodiments, which are presented for purposes of illustration rather than of limitation.

Claims

What is Claimed is:
1. A construction device configured to communicate with a remote component, the construction device comprising:
a housing comprising an indicator opening and a connector opening; a connector at least partially within the housing and at least partially exposed through the connector opening, wherein the connector is configured to connect to the remote component;
a processor within the housing, wherein the processor is electrically coupled to the connector for communicating data with the remote component via the connector; and
an indicator at least partially within the housing, wherein the indicator is electrically coupled to the processor, and wherein the indicator is configured to convey interface information that is indicative of the value of the data through the indicator opening to an environment external to the housing.
2. A construction device comprising:
a housing;
a device connector configured to communicate data with a remote device; a device indicator configured to convey interface information to an environment external to the housing; and
a processor within the housing, wherein:
the processor is configured to communicate the data with the device connector; and
the interface information is configured to vary based on a value of the communicated data.
3. The construction device of claim 2, wherein the interface information is conveyed audibly.
4. The construction device of claim 2, wherein the interface information is conveyed visually.
5. The construction device of claim 2, wherein the frequency of the interface information is varied.
6. The construction device of claim 2, wherein the magnitude of the interface information is varied.
PCT/US2013/000260 2012-11-16 2013-11-18 Construction devices, systems, and methods for using the same WO2014077867A1 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201261727637P 2012-11-16 2012-11-16
US61/727,637 2012-11-16
US201361887363P 2013-10-05 2013-10-05
US61/887,363 2013-10-05
US201361902788P 2013-11-11 2013-11-11
US61/902,788 2013-11-11

Publications (1)

Publication Number Publication Date
WO2014077867A1 true WO2014077867A1 (en) 2014-05-22

Family

ID=49956340

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/000260 WO2014077867A1 (en) 2012-11-16 2013-11-18 Construction devices, systems, and methods for using the same

Country Status (1)

Country Link
WO (1) WO2014077867A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI643420B (en) * 2016-12-15 2018-12-01 謝守偉 Card lock switch cover structure

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6488529B1 (en) * 2002-01-22 2002-12-03 Taimag Corporation Socket connector assembly used in a LAN
US20070184719A1 (en) * 2000-01-06 2007-08-09 Super Talent Electronics Inc. USB device with integrated USB plug with USB-substrate supporter inside

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070184719A1 (en) * 2000-01-06 2007-08-09 Super Talent Electronics Inc. USB device with integrated USB plug with USB-substrate supporter inside
US6488529B1 (en) * 2002-01-22 2002-12-03 Taimag Corporation Socket connector assembly used in a LAN

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI643420B (en) * 2016-12-15 2018-12-01 謝守偉 Card lock switch cover structure

Similar Documents

Publication Publication Date Title
US11243617B2 (en) Multi-function stylus with sensor controller
US10534437B2 (en) Modular sensing device for processing gestures
CN105677049B (en) Input unit with more mian engine changeovers
US20160209920A1 (en) Wearable Motion Sensing Computing Interface
CN104866083B (en) Gesture recognition method, device and system
EP2862044A1 (en) Interactive input device
CN102184014A (en) Intelligent appliance interaction control method and device based on mobile equipment orientation
KR20130101975A (en) Wearable motion sensing computing interface
CN103263094A (en) Intelligent induction glove system
WO2013034070A1 (en) Display method, terminal device and multi-terminal device system
CN109276895B (en) Building block system, and method, device and system for identifying topological structure
US20190194990A1 (en) Hinge structure and electronic device with the same
JP6941755B1 (en) Wireless charging adapter with game control keys for computer game controllers
CN109613958A (en) A kind of terminal equipment control method and terminal device
Keir et al. Gesture-recognition with non-referenced tracking
WO2015153690A1 (en) Wearable motion sensing computing interface
WO2014077867A1 (en) Construction devices, systems, and methods for using the same
CN116438503A (en) Electronic device and operation method thereof
KR101691650B1 (en) Movable multimedia device for mobile communication terminal and control method thereof
CN101732862B (en) Double-controller combination
US20150351144A1 (en) Wireless transmission apparatus and implementation method thereof
JP5853006B2 (en) Remote control system and method
WO2016062032A1 (en) Detachable wearable device
CN207489461U (en) Rechargeable touch-control moves KTV systems
EP3758407A1 (en) Electronic device using bluetooth communication and operating method thereof

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13821219

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 23/07/2015)

122 Ep: pct application non-entry in european phase

Ref document number: 13821219

Country of ref document: EP

Kind code of ref document: A1