Piezoresistive sensors and applications

Information

  • Patent Grant
  • 11204664
  • Patent Number
    11,204,664
  • Date Filed
    Thursday, September 3, 2020
    4 years ago
  • Date Issued
    Tuesday, December 21, 2021
    2 years ago
Abstract
A highly configurable controller is described that includes a number of different types of control mechanisms that emulate a wide variety of conventional control mechanisms using pressure and location sensitive sensors that generate high-density control information which may be mapped to the controls of a wide variety of devices and software.
Description
INCORPORATION BY REFERENCE

An Application Data Sheet is filed concurrently with this specification as part of this application. Each application to which this application claims benefit or priority as identified in the concurrently filed Application Data Sheet is incorporated by reference herein in its entirety and for all purposes.


BACKGROUND

There are a number of controllers used by musicians for triggering drum sounds, manipulating rhythmic beats, adjusting parameters and launching sample-based clips. Minimal user feedback is provided requiring the musician to look at a computer screen for information of the state of the sound producing software. Available controller devices have limited utility and are usually targeted at a specific type of data manipulation or work only with specific software. Typically these devices have used simple switches, variable knobs or slide potentiometers and trigger pads. These limitations require users to have multiple pieces of gear that produce a limited amount of control.


SUMMARY

According to a first class of implementations, a controller is provided that includes N control pads and one or more processors, where N is an integer greater than zero. Each control pad has sensor circuitry associated therewith configured to generate one or more sensor signals representing corresponding touch events on a corresponding surface of the control pad. The one or more sensor signals associated with each control pad also represent corresponding locations of the touch events on the surface of the control pad. The one or more processors are configured to generate control information from the sensor signals. In a first operational mode the one or more processors are configured to map the control information to N control functions. In a second operational mode the one or more processors are configured to map the control information to N×M control functions corresponding to the locations of the touch events on the surfaces of the N control pads, where M is an integer greater than one.


According to one such implementation, N is 16 and M is 4. The N control pads are arranged in a 4×4 array, and the locations of the touch events on the surfaces of the N control pads corresponding to the N×M control functions form an 8×8 control array. According to another such implementation, the first mode of operation corresponds to a drum pad controller, and the second mode of operation corresponds to a grid controller. According to another such implementation, the one or more sensor signals associated with each control pad also represent pressure of the touch events on the surface of the control pad, and the pressure of the touch events is reflected in the control information.


According to yet another such implementation, the sensor circuitry associated with each control pad includes four sensor quadrants. Each sensor quadrant includes first conductive elements connected to a first voltage reference and second conductive elements connected to a second voltage reference. At least some of the first and second conductive elements are connected to the corresponding voltage reference via a resistive element. The sensor circuitry also includes a conductive material configured to make contact with at least some of the first and second conductive elements in at least some of the sensor quadrants in response to the touch events, thereby forming one or more voltage dividers corresponding to the sensor quadrants with which contact is made. According to a specific implementation, the conductive material or at least some of the first and second conductive elements are or include a piezoresistive material. According to another specific implementation, the first and second conductive elements are arranged as concentric conductive traces across the four sensor quadrants, at least some of the concentric conductive traces being discontinuous, thereby defining the four sensor quadrants.


According to another class of implementations, a sensor is configured to generate one or more sensor signals representing corresponding touch events on a corresponding surface associated with the sensor. The sensor includes sensor circuitry that includes four sensor quadrants. Each sensor quadrant includes first conductive elements connected to a first voltage reference and second conductive elements connected to a second voltage reference. At least some of the first and second conductive elements are connected to the corresponding voltage reference via a resistive element. The sensor circuitry also includes a conductive material configured to make contact with at least some of the first and second conductive elements in at least some of the sensor quadrants in response to the touch events, thereby forming one or more voltage dividers corresponding to the sensor quadrants with which contact is made.


According to one such implementation, the conductive material or at least some of the first and second conductive elements are or include a piezoresistive material. According to another such implementation, the first and second conductive elements are arranged as concentric conductive traces across the four sensor quadrants. At least some of the concentric conductive traces are discontinuous, thereby defining the four sensor quadrants.


According to another such implementation, the one or more sensor signals represent pressure of the touch events on the surface of the sensor.


According to yet another such implementation, the one or more sensor signals represent corresponding locations of the touch events on the surface of the sensor. According to a more specific implementation, the touch events correspond to an object in contact with the surface of the sensor, and the one or more sensor signals also represent movement of the object across the surface of the sensor. According to an even more specific implementation, the one or more sensor signals also represent pressure of the touch events on the surface of the sensor, and the one or more sensor signals also represent wiggling of the object on the surface of the sensor.


According to another class of implementations, a sensor is configured to generate one or more sensor signals representing corresponding touch events on a corresponding surface associated with the sensor. The sensor comprising sensor circuitry that includes an arrangement of conductive elements. First one of the conductive elements are connected to a voltage reference, and second ones of the conductive elements are configured to receive sequential drive signals. At least some of the first and second conductive elements are connected to a resistive element. The sensor circuitry also includes a conductive material configured to make contact with at least some of the first and second conductive elements at locations associated with the touch events, thereby forming one or more voltage dividers when the second conductive elements with which contact by the conductive material is made are driven by a corresponding one of the sequential drive signals.


According to one such implementation, the conductive material or at least some of the first and second conductive elements are or include a piezoresistive material.


According to another such implementation, the one or more sensor signals represent corresponding locations of the touch events on the surface of the sensor. According to a more specific implementation, the one or more sensor signals represent the corresponding locations of multiple and simultaneous ones of the touch events on the surface of the sensor. According to another specific implementation, the touch events correspond to an object in contact with the surface of the sensor, and the one or more sensor signals also represent movement of the object across the surface of the sensor. According to an even more specific implementation, the one or more sensor signals also represent pressure of the touch events on the surface of the sensor, and wherein the one or more sensor signals also represent wiggling of the object on the surface of the sensor.


According to another such implementation, the one or more sensor signals represent pressure of the touch events on the surface of the sensor. According to a more specific implementation, the one or more sensor signals also represent corresponding locations of multiple and simultaneous ones of the touch events on the surface of the sensor.


According to yet another such implementation, the arrangement of the first and second conductive elements is an alternating arrangement of the first and second conductive elements. According to a more specific implementation, the alternating arrangement of the first and second conductive elements is either linear, circular, or rectilinear.


According to yet another such implementation, a control system includes at least one instance of the sensor, and one or more processors configured drive the second conductive elements with the sequential drive signals, to generate control information from the one or more sensor signals, and to map the control information to one or more control functions. According to a more specific implementation, the one or more sensor signals represent pressure of the touch events on the surface of the sensor, and a first one of the touch events corresponds to the conductive material making contact with more than one pair of the first and second conductive elements. The one or more processors are configured to generate the control information to represent a first location of the first touch event as corresponding to one of the pairs of the first and second conductive element with reference to the representation of the pressure of the first touch event in the one or more sensor signals. According to another specific implementation, the one or more sensor signals represent pressure of the touch events on the surface of the sensor, and the one or more sensor signals also represent corresponding locations of multiple and simultaneous ones of the touch events on the surface of the sensor. The one or more processors are configured to generate the control information to represent the pressure associated with each of the simultaneous touch events. According to another specific implementation, the one or more sensor signals represent corresponding locations and pressure of the touch events on the surface of the sensor, and the one or more processors are configured to map the control information to multiple control functions corresponding to different gestures. According to yet another specific implementation, the first and second conductive elements are each wedge-shaped and the arrangement of the first and second conductive elements is an alternating circular arrangement of the first and second conductive elements. The one or more processors are configured to generate the control information to represent a distance from a center of the circular arrangement based on a number of the conductive elements represented in the one or more sensor signals.


According to yet another class of implementations, computer program products and computer-implemented methods are provided for configuring a music controller to operate with one or more of a plurality of music applications from a plurality of different vendors. The plurality of music applications are presented as selectable options in a user interface of a computing device. One or more selections of the music applications are received. A location in memory of the computing device is identified for each selected music application. A plurality of script code files is stored in each location. Each script code file maps control information generated by the music controller to functions of the selected music application for the corresponding location. Each selected music application is configured to perform the functions in response to the control information from the controller using the script code files stored in the corresponding location in the memory of the computing device.


According to one such implementation, copies of the script code files are stored in one or more directories in the memory of the computing device separate from the locations for each of the selected music applications.


According to another such implementation, an example file for each selected music application is stored in the memory of the computing device. Each example file including code representing one or more sounds that may be generated using the corresponding selected music application in conjunction with the controller.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a top view of a particular implementation of a controller.



FIG. 2 is a simplified block diagram of a particular implementation of a controller.



FIG. 3 is a diagram of a particular implementation of a sensor.



FIGS. 4A and 4B are bar graphs representing touch events on the sensor of FIG. 3.



FIG. 5A is a diagram of another implementation of a sensor.



FIG. 5B is a bar graph representing a touch event on the sensor of FIG. 5A.



FIG. 6-9 are diagrams of further implementations of sensors.



FIG. 10 is a top view of a layout of an array of LEDs for use with a particular implementation of a controller.



FIGS. 11A and 11B illustrate a drive current and a drive circuit for driving LEDs associated with a particular implementation of a controller.



FIG. 12 shows two different configurations of an array of control pads of a particular implementation of a controller.



FIGS. 13-17 show examples of interfaces for facilitating configuration of a controller to interact with a variety of software applications.





A further understanding of the nature and advantages of various implementations may be realized by reference to the remaining portions of the specification and the drawings.


DETAILED DESCRIPTION

Reference will now be made in detail to specific embodiments of the invention including the best modes contemplated by the inventors for carrying out the invention. Examples of these specific embodiments are illustrated in the accompanying drawings. While the invention is described in conjunction with these specific embodiments, it will be understood that it is not intended to limit the invention to the described embodiments. On the contrary, it is intended to cover alternatives, modifications, and equivalents as may be included within the spirit and scope of the invention as defined by the appended claims. In the following description, specific details are set forth in order to provide a thorough understanding of the present invention. The present invention may be practiced without some or all of these specific details. In addition, well known features may not have been described in detail to avoid unnecessarily obscuring the invention.


Various implementations provide a highly configurable controller that includes a number of different types of control mechanisms that emulate a wide variety of conventional control mechanisms (e.g., buttons, sliders, pads, rotary controls, etc.) using pressure and location sensitive sensors that generate high-density control information which may be mapped to the controls of a wide variety of devices and software.


A particular implementation shown in FIG. 1 is embodied as a musical effects controller 100 and is referred to herein as QuNeo. QuNeo 100 provides a variety of sensors, at least some of which are responsive to X and Y (position) and Z (pressure), by which a user effects control over connected software or device(s). The depicted implementation includes pressure and position sensitive pads 102, buttons/switches 104, decks or rotary sensors 106 (e.g., to emulate spinning vinyl records), faders or sliders 108 or 110 (e.g., to emulate VU or loudness metering). Any of sensors 104, 106, 108 and 110 may also be sensitive to pressure. As will be discussed, each of the depicted sensors generates control information that may be mapped to control a wide variety of software and/or devices.


According to some implementations, pressure and position sensitive pads 102 can be used to elicit percussive sounds that vary in timbre based on where the user strikes the pad which is analogous to real acoustic percussion instruments. Faders 108 are analogous to volume level controls on traditional mixing boards. Buttons 104 can be used to make selections from lists presented by a computer menu and can scroll or navigate more rapidly through the list based on how firmly the button is pushed. A wide variety of other applications of the sensor capabilities and high density control information generated by controllers as implemented herein will be apparent to those of skill in the art.



FIG. 2 shows a simplified block diagram of the components of a controller such as, for example, QuNeo 100. In this diagram only some of the sensors are depicted for the sake of clarity. Pad 102 is shown to include four voltage dividers 202 implemented with piezoresistive material, each of which generates an output signal responsive to pressure exerted on pad 102 that is reflective of the changing characteristics of the respective voltage dividers. The signals are multiplexed (204) and converted to digital form (206) and then provided as input to one or more microprocessors 208.


Sliders 108 and 110, the operation of which is described below, are scanned or driven by microprocessor 208 via decoders, e.g., decoder 210 (only one of which is shown for clarity). The outputs of sliders 108 and 110 are then converted to digital form (not shown) for input to microprocessor 208. Other sensors, e.g., buttons 106 shown in FIG. 1, provide input to microprocessor 208 by similar connections. In this implementation, microprocessor 208 also controls an LED matrix 212 that underlies the translucent surfaces of the various sensors. A particular drive scheme for such an LED matrix is described below. Optional MIDI (Musical Instrument Digital Interface) input and MIDI output are provided by which microprocessor 208 may communicate with and control various MIDI-compliant devices. Control information generated from the various sensors may also be provided over a serial link (e.g., USB link 214) for the control of software (e.g., on computing device 216) or a connected device (not shown). The functionalities of QuNeo 100 may also be configured, programmed, or modified via USB link 214 by software residing on computing device 216. Alternatively, USB link 214 may be replaced by any suitable alternative including, for example, a wireless connection. Computing device 216 may be any of a wide variety of computing devices including, for example, a personal computer (e.g., a laptop or desktop), a mobile device (e.g., a cell phone, smart phone, or tablet), a set top box (e.g., for cable or satellite systems), a smart television, a gaming console, etc.


According to a particular class of implementations, a subset of the sensors (e.g., the sliders and rotary sensors) are implemented using an array of driven or scanned conductive printed circuit board (PCB) elements alternating with conductive elements connected to a voltage reference, e.g., ground, through a resistor. The array overlaid with a conductive pressure sensitive compressible material that may be a piezoresistive material such as, for example, germanium, polycrystalline silicon, amorphous silicon, non-woven impregnated fabric and single crystal silicon. FIG. 3 shows a configuration of a such a sensor in which the conductive elements are arranged in a linear array to form a slider. The microprocessor (not shown) sequentially selects and activates the driven elements (16 elements 302 are used in a particular implementation) via decoder 304 by raising its voltage to a known level (e.g., 3.3V). The other driven elements 302 are set to ground or 0 volts.


The common elements 306 are tied to ground through a resistor. When pressure is applied by the user (e.g., using a finger or stylus) the driven element(s) 302 at the point of contact are connected to the surrounding common elements 306 by the overlying conductive material (not shown). The voltage at the junction of the common elements and the driven element(s) is thereby raised and transmitted via a multiplexer to an ADC (not shown). The microprocessor driving the driven elements (not shown) also sequentially measures the corresponding signal levels, e.g., the voltage at the junction of the driven element(s) and nearby common element(s), to determine whether and where a touch event occurs. The ADC output can be represented as shown in the bar graph of FIG. 4A in which the ADC output from the 16 driven elements is represented as bars along the horizontal axis.


According to implementations in which the overlying material that connects the sensor resistive elements is a piezoresistive material, processing of this data by the microprocessor yields both pressure information (e.g., the sum of all raised data points) and location information (e.g., the centroid of the data points). According to a particular class of implementations, the positional resolution derived from the array may be much greater than the number of elements, i.e., interpolation between the data values using a centroid calculation or similar method yields greater positional accuracy than simply using the locations of the array elements. For example, if the ADC converter that measures the voltages of 16 driven elements is 8 bits the positional resolution is theoretically 1 part in 256 for each of the 16 element locations, or 1 part in 4096 for the array using a simple interpolation approach.


According to some implementations, driven/scanned sensors can be configured to recognize multiple touch points. The graph of FIG. 4B illustrates ADC values for three fingers exerting pressure on the linear array of elements at different locations. Height and number of element voltage values map directly to the pressure applied. In such configurations, user interface gestures such as pinch and stretch and multiple finger swipes can be extracted from the sensor array along with pressure for each of the contact points.


Various configurations of resistive elements are contemplated that yield information about different styles of human gesture. For example, if the elements are arranged in a linear array as shown in FIG. 3 a slider may be implemented. If the elements are arranged in a two-dimensional array (e.g., a circular or rectilinear array) information about motion in two-dimensions, e.g., rotary motion, can be extracted.



FIG. 5A shows an example of a two-dimensional array 500 of PCB conductive elements arranged in a circular pattern. In the depicted implementation, sixteen driven elements alternate with sixteen common elements. Apart from the shape and configuration of the conductive elements, the principle of operation of a sensor using array 500 is similar to the sensor described above with reference to FIG. 3, with the circuitry for driving and measuring signal levels (not shown) being substantially the same. As with the sensor of FIG. 3, each of the driven elements can be driven to an active voltage while the common elements are tied together and biased to a reference, e.g., ground, through a resistor. The entire circular area is covered with a compressible conductive and/or piezoresistive material. As the microprocessor reads the ADC values for each of the 16 driven elements, high-resolution rotational or angular position along with the pressure of the activating finger or object may be determined using, for example, interpolation techniques as mentioned above.


Analyzing the spread of data values using known statistical methods may provide information related to the location of the touch event with respect to the center of circular array 500. This can be expressed as the radius of the gesturing finger. According to a particular implementation, the radial “slices” converge in the center of the array to a radius approximating the size of the activating source, e.g., such as 4-5 mm for a human finger. In the bar graph of FIG. 5B, the ADC output for all of the driven elements shows some voltage associated with their activation. As these approach an equal amount from all radial elements the microprocessor can determine that the finger is in the center of the circular array. In addition, for implementations in which the overlying material is piezoresistive, the summed height or voltage of all elements is substantially proportional to pressure.


Another sensor that may be used with various implementations of a controller as described herein is illustrated in FIG. 6. In this implementation, a piezoresistive material (not shown) overlies an array 600 of concentric conductive traces, a subset of which are discontinuous and divided into four quadrants. As will be discussed, this arrangement is configured to provide both positional information (e.g., X and Y or in the plane of the page), as well as pressure information (e.g., Z or into the page) regarding a touch event. This arrangement of conductive traces may be used to implement, for example, sensor pads 102 shown in FIGS. 1 and 2.


Each of four quadrants of 90 degrees includes discontinuous conductive traces 602 spanning about 90 degrees of arc that are connected to each other and tied to a reference voltage through a resistor (e.g., 10K ohm) and to an ADC through a multiplexer (e.g., as shown in FIG. 2). Alternating with the discontinuous quadrant traces in the radial direction are continuous concentric traces 604 that are at some reference, e.g., ground or 0 Volts. The pattern of traces is covered with a compressible piezoresistive material (not shown).


As the user presses on a silicone pad that covers the piezo-resistive material, the conductive trace of the four quadrants are connected to the reference voltage (via the piezoresistive material) to varying degrees. The location chosen by the user and the pressure exerted in that position can be determined by a microprocessor (e.g., 208) through a comparison and evaluation of the signal levels present in each of the quadrants. As will be understood, this arrangement can provide a very high density of control information that may be mapped to a wide variety of applications. For example, in addition to the control of musical effects, the control information generated using such a sensor may be used to control a cursor or pointer, or the depicted point of view, in the user interface of a computing device. In addition, as discussed below, this arrangement may also be flexibly configured to operate as a single sensor or as multiple sensors.



FIG. 7 shows an arrangement of conductive PCB traces for implementing another type of sensor that allows measurement of pressure at a specific point. Using this configuration, even simple switches, e.g., “On/Off” buttons, may be made pressure sensitive by use of a pattern of traces 700 covered with the piezoresistive material (not shown). One of traces 702 and 704 is pulled up to a reference while the other pull down to another reference. As the user's finger pressure compresses the piezoresistive material the resistance between the conductors 702 and 704 decreases and the voltage to the ADC changes correspondingly. Applications of such a sensor include, for example, pressure controlled scrolling rates when doing selection of items in a user interface, or pressure-sensitive control of musical parameters.


According to various implementations, the geometry, density, opacity and coating of an silicone layer overlying the sensors may be controlled to accomplish any subset of the following: (1) hold the piezoresistive material at a specified distance from the trace patterns; (2) deform evenly over the length, diameter or area of the specific sensor providing a linear and even response; (3) transfer the luminance from an LED indicator over the top of the sensor area; (4) diffuse the LED indicator light so it does not appear as a point; (5) protect the piezoresistive material, LED, trace and/or electronic components underneath; and/or (6) provide an appropriate tactile surface so the finger can slide or grip in a manner appropriate for how the specific sensor is activated.


An example of the relationship of a silicone layer to an underlying sensor configuration is shown in FIG. 8. The sensor configuration is a circular array 800 of driven/scanned conductive elements, e.g., as discussed above with reference to FIG. 5A. Recessing the piezoresistive material 802 into the silicone layer 804 above the conductive elements on PCB 805 keeps the piezoresistive material 802 slightly off contact with the conductive elements (e.g., about 0.008″) which creates a distinctive change in the values read by the ADC when the silicone layer above a given area of the sensor is touched. Increasing pressure on the silicone increases the readings of the ADC. Keeping the piezoresistive material close to the conductive elements with a sufficient silicone layer above the piezoresistive material facilitates transfer of the light from indicator LEDS 806 over the top of the conductive elements.



FIG. 8 also shows a cross-sectional view of a silicone layer 808 with piezoresistive material 810 in a recess in the underside of silicone layer 808. The view illustrates a taper 812 on either side of the piezoresistive material (also present in the cross-sectional view including elements 802 and 804) that allows silicone layer 808 to travel when compressed. It should be noted that this cross-section is not to scale, and may be illustrative of the relationships between the piezoresistive material and the silicone layer for any of the sensors of any of the implementations described herein.


According to a particular class of implementations, position and pressure information generated using appropriately configured sensors (such as those described herein and suitable alternatives) may be used to provide sophisticated types of control. For example, changes in position and/or pressure on a particular sensor may be used to modulate control information around one or more quantized states associated with the sensor. A particular example in the context of a musical effects controller is when a sensor is configured as a piano or synthesizer key. In such a case, changes in position and/or pressure, e.g., when the user wiggles or slides his finger back and forth, can be used to distort or modulate the pitch of the primary note associated with the key, e.g., to effect note bending or vibrato.


According to one such implementation illustrated in FIG. 9, a two-sector sensor 902 is implemented to have a top and a bottom sector of a key, e.g., the top and bottom halves each having a sensor implemented as described with reference to FIG. 6 or 7. The silicone keypad 904 has two recesses 906 and 908 in the underside of the keypad for holding piezoresistive elements, e.g., piezoresistive discs 910.


When the key is activated, e.g., by a touch event, one or both of the piezoresistive discs contact the underlying conductive elements of the sensor(s), and the control information is mapped to the primary quantized state associated with the key, i.e., the corresponding note is reproduced. An initial absolute value is generated representing the difference between the signal(s) generated by the top and bottom sensors. An offset is added to the initial absolute value to define an activation threshold. After a period of delay from when the key is first declared active, real-time absolute values calculated like the initial value are streamed from the key and compared to the activation threshold. If the activation threshold is exceeded, e.g., because the user is rocking the key back and forth by wiggling his finger, the microprocessor maps the correspondingly modulated control information received from the key (i.e., the pressure and/or position information) to the desired effect, e.g., note bending, vibrato, etc.


For more information on materials and sensor configurations that may be used with various implementations, as well as software and devices that may be controlled, please refer to U.S. patent application Ser. No. 12/904,657 entitled Foot-Operated Controller filed on Oct. 14, 2010, the entire disclosure of which is incorporated herein by reference for all purposes.


At least some implementations include an array of LEDs to illuminate the sensor array and employ a scheme for driving the array in a way that allows hundreds of LEDs to be driven off limited current, e.g., the current available from a USB connection. A particular implementation of a controller (e.g., QuNeo 100 of FIG. 1) employs an array of 251 LEDs as shown in FIG. 9 to provide visual feedback to the user. LED array 900 is a PCB layout in which various of the LEDs may be selectively illuminated, e.g., under control of a microprocessor (not shown). One of the design requirements of the depicted implementation is that the controller be safely powered from a USB-2 device host or supply. The electrical specifications for USB-2 include 5V power rails capable of providing up to 500 mA of current for a total of 2.5 watts.


A practical way to control 251 LEDs is to create a 16 by 16 matrix that sources and sinks current for groups of 16 LEDs at a time. This reduces the best case duty cycle or time that the LED is on to 1/16th. Regular efficiency LEDs are ⅓rd the cost of high efficiency LEDs and the LED cost is the dominant component of the product's overall component cost. One problem is how to gain maximum brightness without exceeding the 2.5 watts of available USB power using standard efficiency LEDs; particularly given the fact that not all of this 2.5 watts can be dedicated to LED illumination as the QuNeo must perform other functions. Providing the 16 LEDs with a maximum of 30 mA of current at the 1/16th duty cycle may result in a display that is insufficiently bright for many applications.


While 30 mA is the rated steady state current maximum of regular commercially available LEDs, most can accept a current spike of up to 150 mA for ˜100 microseconds. Heat is the limiting factor for steady state current drive, but the LED can be driven brighter for a brief period of time. Therefore, according to a particular class of implementations, a drive circuit is provided for accomplishing the drive current shown in FIG. 10A for each LED within a matrix of source rows and sink columns. One implementation of such a drive circuit is shown in FIG. 10B.


The parallel R and C associated with each LED (e.g., R1 and C1 associated with LED1) provides a brief near DC path to ground creating a limited current spike for each of the LEDs when switched on from an off state. As the duration of the spike is limited by the charge time of the capacitor, no other supervisory or switching circuitry is required, no increase in processor overhead is created, and component cost is minimal. This design not only increases the brightness of the LEDs, it also allows LED refresh cycles to be much shorter than they would otherwise have to be in order to create the desired level of brightness. This possibility of fast refresh rates allows opportunities for more sophisticated display techniques (such as dimming and color-mixing) that are normally only possible with a costly and component-heavy design.


According to a particular implementation, the default refresh rate for a 16×16 LED matrix is ˜1000 Hz. By skipping refresh opportunities, the LEDs may be dimmed in a controllable manner. 1000 Hz also allows 16 levels of brightness as well as Off, with no discernible flickering perceived even at low brightness levels. This feature allows the device to respond to a wide range of inputs with a complex and nuanced visual display without exceeding current limit requirements or adding significantly to the cost of the controller.


As is well known, there are two dominant switch or pad layouts used in the conventional musical controller world. One is a 4×4 array of drum pads in which sixteen different drum sounds are mapped 1:1 to the sixteen pads. Hitting a pad causes the corresponding drum sound to be produced. Another popular controller uses an array of 8×8 switches that can be configured, for example, to trigger corresponding audio files, or to determine which one of 8 beats of a rhythm is generated (horizontal pads) for each of 8 different instruments (vertical pads).


According to a particular class of implementations and as illustrated in FIG. 11, an array of sixteen 4-quadrant QuNeo sensors may be configured to operate as either a 4×4 sensor array (e.g., array 1102) or an 8×8 sensor array (e.g., array 1104), thus combining the functionality of both types of conventional controllers in a single device. That is, because each of the 16 pads of a particular QuNeo implementation may behave as a positional sensor and includes bicolor LEDs in each corner, each pad can operate as a single sensor, e.g., as a drum-style trigger, or as a set of four pressure-sensitive switches, thus providing the utility of both a 4×4 array and an 8×8 array. The LEDs may be selectively illuminated to provide visual feedback to the user as to the current configuration.


According to some implementations, QuNeo may be configured to power up with presets that emulate the functionality of popular drum pad and grid controllers. For example, in the traditional drum pad mode, QuNeo may behave like an Akai MPD/MPC pad controller configured for dynamic electronic drumming and pad based sequencing. For example, QuNeo may be set up similar to a standard drum pad controller, with four sets of notes from C2 to E7. An appropriate velocity value may be associated with each note. 16 notes may be playable (1 per pad), e.g., starting from the bottom left and ascending chromatically to the right and toward the top.


Alternatively, as a grid controller, the QuNeo may emulate popular 8×8 grid based controllers like the Monome and Novation's Launchpad. Monome style sequencing and sample manipulation is readily emulated, with the added bonus of pressure output for each of the 64 steps. In another example, clip launching in Ableton Live is also easily supported while operating as a grid controller, with 64 possible clips per bank. Multi color LEDs, also in an 8×8 grid, may act as indicators for beats and playing/recording.


According to a particular class of implementations, QuNeo may be configured to work with a wide variety of third-party software and/or devices. This versatility is enabled through the installation of ancillary code into the third-party software to enable the mapping of QuNeo's high-density control information to existing music applications, e.g., synthesizers, DJ applications, recording applications, etc.


Such implementations of QuNeo have a variety of associated templates that allow QuNeo to integrate and work with the various third-party software. These templates facilitate installation of Python script code into the third-party software that maps the QuNeo control information to the inputs recognized by the interface stack of the third-party software. When the QuNeo software is activated (e.g., on a user's PC as downloaded from the web), the user is presented with a list of third-party software. When the user selects one or more options with which he wants the QuNeo to work, the installer finds the selected software and installs the necessary scripts. Corresponding manuals may also be loaded which explain how to use the QuNeo to control the selected software.


QuNeo has the potential to interface with many different software applications since it is a class-compliant MIDI device with control information mappings to complement many of the most popular pieces of software. When the user installs QuNeo software (e.g., downloaded to his PC from the web), the user is prompted to select from among the available software templates as shown in screenshot 1200 of FIG. 12. Each option on the list has an associated group of files that save the user setup time, providing an easy “out-of-box” experience for the user in connecting QuNeo with their favorite software application.


For example, if the user selects the Ableton Live template, an Ableton Live example file is put into the user's install directory along with an automatically installed QuNeo Editor and associated documentation. The example file includes sounds the user can try out to illustrate the way in which QuNeo is initially set up to control the Ableton Live software. Selection of the Ableton Live template also results in installation of a group of remote mapping files. These mapping files control which of the application's functions are triggered when data are received from QuNeo. For example, when a certain button on QuNeo is pressed, the application's play button is triggered). In the case of Ableton Live, the mapping files are Python scripts. However, it should be noted that the mapping file format may vary from application to application.


The installer places the remote mapping files in a location on the user's computer where the corresponding application can find them and interact with them accordingly. The location may be a default, in the user's Applications folder on a Mac. Alternatively, this may be accomplished by asking the user to browse to a particular directory—usually to the location of the selected application itself—as shown in screenshot 1300 of FIG. 13.


There is some error checking in place to make sure the user doesn't accidentally select the wrong location, and then the remote mapping files are copied into the selected location. In the case of Ableton Live, the Python scripts go into a folder within the application where other supported controller scripts typically exist (e.g., as shown in screenshot 1400 of FIG. 14). In this way, the application will then recognize QuNeo as a supported control surface when it is next launched.


A copy of the remote mapping files may also be placed in the install directory in case there is an error during installation, if the user wants to manually add the files to a different version of Ableton Live, or in case they are just curious to look at them. The install directory might end up looking like screenshot 1500 of FIG. 15. As shown, there is a folder within the Software Templates folder for each application the user selects. The folder Ableton Live 1.1 contains the folder Installation Files (which holds the extra copy of the Ableton Live remote mapping files), the Quickstart guides documenting how to use the Ableton Live template, and the example file containing sounds for the user to try out (“QuNeoDemo Project”).


As is well known, Ableton Live is for electronic music performance and composition. Another example of third-party software that may be controlled using QuNeo is Mixxx—a free DJ program. The Mixxx template allows users to play the rotary sensors like turntables, create loops using the pads, and, in turn Mixxx control information is used to control the QuNeo LEDs. So, with a single purchase, i.e., the QuNeo, the user has everything he needs to start DJ-ing right away. Mixxx uses a different file format to keep track of its commands. To recognize QuNeo as a controller Mixxx needs two files with very particular names placed into its MIDI folder called “KMI QuNeo.midi.xml” and “KMI-QuNeo-scripts.js.” When Mixxx sees these two files it creates an option in its menu of MIDI controllers called “KMI QuNeo.” When the user selects this option, QuNeo is configured to control the Mixxx application in the way defined by these two files.


If the user decides to install the Mixxx template in screenshot 1200, he is again prompted to navigate to the location of his Mixxx application (as illustrated in screenshot 1600 of FIG. 16) to find the location where these two remote mapping files should be stored. Finally, a folder called Mixxx 1.0 is created inside of the user's Software Templates folder (see screenshot 1500) holding a Quickstart guide to explain how to use the template, and a copy of the two Remote Files just in case the user needs to move them in manually, or edit them in some way. In this way, the user can quickly configure his QuNeo to control his existing software.


It should be noted that, despite references to particular computing paradigms and software tools herein, the computer program instructions with which embodiments of the invention may be implemented may correspond to any of a wide variety of programming languages, software tools and data formats, and be stored in any type of volatile or nonvolatile, non-transitory computer-readable storage medium or memory device, and may be executed according to a variety of computing models including, for example, a client/server model, a peer-to-peer model, on a stand-alone computing device, or according to a distributed computing model in which various of the functionalities may be effected or employed at different locations. In addition, reference to particular protocols herein are merely by way of example. Suitable alternatives known to those of skill in the art may be employed without departing from the scope of the invention.


While the invention has been particularly shown and described with reference to specific embodiments thereof, it will be understood by those skilled in the art that changes in the form and details of the disclosed embodiments may be made without departing from the spirit or scope of the invention. For example, implementation have been described herein in which sensors are implemented in which piezoresistive material is brought into contact with conductive elements on an underlying PCB. However, it should be noted that implementations are contemplated in which the elements on the PCB themselves include or are constructed with piezoresistive material, and the overlying material that contacts the PCB elements may be conductive and/or piezoresistive.


Finally, although various advantages, aspects, and objects of the present invention have been discussed herein with reference to various embodiments, it will be understood that the scope of the invention should not be limited by reference to such advantages, aspects, and objects. Rather, the scope of the invention should be determined with reference to the appended claims.

Claims
  • 1. A device, comprising: a substrate;a plurality of conductive elements, the conductive elements being arranged on a same surface of the substrate in a plurality of groups of conductive elements;a plurality of pieces of piezoresistive fabric, each piece of piezoresistive fabric corresponding to one of the groups of conductive elements, each piece of piezoresistive fabric being in contact with the corresponding group of conductive elements; andcircuitry configured to apply first signals sequentially to a first subset of the conductive elements, the circuitry also being configured to receive second signals corresponding to the first signals from a second subset of the conductive elements.
  • 2. The device of claim 1, wherein each piece of piezoresistive fabric and the corresponding group of conductive elements are part of a voltage divider.
  • 3. The device of claim 1, wherein a first group of conductive elements includes first conductive elements of the first subset of the conductive elements and second conductive elements of the second subset of the conductive elements, the first and second conductive elements of the first group of conductive elements being arranged on the substrate in an alternating pattern.
  • 4. The device of claim 3, wherein the alternating pattern is a one-dimensional linear array, a two-dimensional circular array, or a two-dimensional rectilinear array.
  • 5. The device of claim 1, wherein the piezoresistive fabric is a non-woven fabric.
  • 6. The device of claim 1, wherein the circuitry is configured to process the second signals to generate location information relative to a surface of the device.
  • 7. The device of claim 6, wherein the circuitry is configured to generate the location information with a positional resolution greater than that represented by the plurality of conductive elements.
  • 8. The device of claim 6, wherein the circuitry is configured to generate the location information for multiple simultaneous touch events on the surface of the device.
  • 9. The device of claim 6, wherein the circuitry is configured to generate the location information by interpolating values derived from a subset of the second signals.
  • 10. The device of claim 1, wherein the circuitry is configured to process the second signals to generate motion information relative to a surface of the device.
  • 11. The device of claim 1, wherein the circuitry is configured to process the second signals to generate information representing an event relative to a surface of the device.
  • 12. The device of claim 11, wherein the information represents the event in three dimensions.
  • 13. The device of claim 1, wherein the circuitry is configured to process the second signals to generate pressure information relative to a surface of the device.
  • 14. The device of claim 13, wherein the circuitry is configured to generate the pressure information by combining values derived from a subset of the second signals.
  • 15. The device of claim 1, wherein the circuitry is configured to process the second signals to determine a state associated with the device, and to modulate control information around the state based on corresponding changes in at least one of the second signals.
  • 16. The device of claim 1, wherein each piece of the piezoresistive fabric forms a sensor with the corresponding group of conductive elements.
  • 17. The device of claim 16, wherein the circuitry is configured to process the second signals independently for each of the sensors.
  • 18. The device of claim 16, wherein the circuitry is configured to process the second signals in combination for two or more of the sensors.
  • 19. The device of claim 16, wherein the circuitry is configured to dynamically configure the sensors for independent or combined operation.
  • 20. The device of claim 1, wherein the circuitry is configured to apply the first signals sequentially to the first subset of the conductive elements in accordance with an arrangement of the first subset of the conductive elements on the substrate.
US Referenced Citations (361)
Number Name Date Kind
4294014 Baumann et al. Oct 1981 A
4438291 Eichelberger et al. Mar 1984 A
4489302 Eventoff Dec 1984 A
4515404 Nishimura et al. May 1985 A
4693530 Stillie et al. Sep 1987 A
4734034 Maness et al. Mar 1988 A
4745301 Michalchik May 1988 A
4790968 Ohkawa et al. Dec 1988 A
4852443 Duncan et al. Aug 1989 A
5033291 Podoloff et al. Jul 1991 A
5079949 Tamori Jan 1992 A
5128880 White Jul 1992 A
5131306 Yamamoto Jul 1992 A
5159159 Asher Oct 1992 A
5219292 Dickirson et al. Jun 1993 A
5237520 White Aug 1993 A
5288938 Wheaton Feb 1994 A
5316017 Edwards et al. May 1994 A
5386720 Toda et al. Feb 1995 A
5429092 Kamei Jul 1995 A
5571973 Taylot Nov 1996 A
5578766 Kondo Nov 1996 A
5624132 Blackburn et al. Apr 1997 A
5659395 Brown et al. Aug 1997 A
5695859 Burgess Dec 1997 A
5729905 Mathiasmeier et al. Mar 1998 A
5815585 Klippel Sep 1998 A
5822223 Genest Oct 1998 A
5866829 Pecoraro Feb 1999 A
5878359 Takeda Mar 1999 A
5943044 Martinelli et al. Aug 1999 A
5989700 Krivopal Nov 1999 A
6029358 Mathiasmeier et al. Feb 2000 A
6032109 Ritmiller, III Feb 2000 A
6049327 Walker et al. Apr 2000 A
6087930 Kulka et al. Jul 2000 A
6121869 Burgess Sep 2000 A
6141643 Harmon Oct 2000 A
6155120 Taylor Dec 2000 A
6215055 Saravis Apr 2001 B1
6216545 Taylor Apr 2001 B1
6304840 Vance et al. Oct 2001 B1
6331893 Brown et al. Dec 2001 B1
6360615 Smela Mar 2002 B1
6388556 Imai et al. May 2002 B1
6452479 Sandbach Sep 2002 B1
6486776 Pollack et al. Nov 2002 B1
6490515 Okamura et al. Dec 2002 B1
6531951 Serban et al. Mar 2003 B2
6609054 Wallace Aug 2003 B2
6626046 Taguchi et al. Sep 2003 B2
6687523 Jayaramen et al. Feb 2004 B1
6763320 Kimble Jul 2004 B2
6815602 De Franco Nov 2004 B2
6822635 Shahoian et al. Nov 2004 B2
6829942 Yanai et al. Dec 2004 B2
6964205 Papakostas et al. Nov 2005 B2
7037268 Sleva et al. May 2006 B1
7066887 Flesch et al. Jun 2006 B2
7109068 Akram et al. Sep 2006 B2
7113856 Theiss et al. Sep 2006 B2
7138976 Bouzit et al. Nov 2006 B1
7157640 Baggs Jan 2007 B2
7162344 Kojima et al. Jan 2007 B2
7302866 Malkin et al. Dec 2007 B1
7311009 Kotovsky Dec 2007 B2
7332670 Fujiwara et al. Feb 2008 B2
7409256 Lin et al. Aug 2008 B2
7439465 Parkinson Oct 2008 B2
7483866 Luo Jan 2009 B2
7493230 Schwartz et al. Feb 2009 B2
7536794 Hay et al. May 2009 B2
7584666 Kim et al. Sep 2009 B2
7608776 Ludwig Oct 2009 B2
7719007 Tompkins et al. May 2010 B2
7726199 Shkel et al. Jun 2010 B2
7754956 Gain et al. Jul 2010 B2
7780541 Bauer Aug 2010 B2
7855718 Westerman Dec 2010 B2
7878075 Johansson et al. Feb 2011 B2
7928312 Sharma Apr 2011 B2
7984544 Rosenberg Jul 2011 B2
8109149 Kotovsky Feb 2012 B2
8117922 Xia et al. Feb 2012 B2
8120232 Daniel et al. Feb 2012 B2
8127623 Son et al. Mar 2012 B2
8161826 Taylor Apr 2012 B1
8162857 Lanfermann et al. Apr 2012 B2
8250934 Sakurai Aug 2012 B2
8274485 Liu et al. Sep 2012 B2
8346684 Mirbach et al. Jan 2013 B2
8368505 Deppiesse et al. Feb 2013 B2
8448530 Leuenberger et al. May 2013 B2
8479585 Shaw-Klein Jul 2013 B2
8536880 Philipp Sep 2013 B2
8571827 Jang et al. Oct 2013 B2
8587422 Andrews et al. Nov 2013 B2
8661917 Jheng et al. Mar 2014 B2
8680390 McMillen et al. Mar 2014 B2
8813579 Aufrere Aug 2014 B2
8857274 Mamigonians Oct 2014 B2
8880358 Cunningham Nov 2014 B2
8884913 Saynac et al. Nov 2014 B2
8892051 Yi et al. Nov 2014 B2
8893565 White et al. Nov 2014 B2
8904876 Taylor et al. Dec 2014 B2
8925392 Esposito et al. Jan 2015 B2
8925393 Cannard et al. Jan 2015 B2
8928014 Tischler et al. Jan 2015 B2
8945328 Longinotti-Buitoni et al. Feb 2015 B2
8947889 Kelley et al. Feb 2015 B2
8950265 Dunn et al. Feb 2015 B2
8964205 Shimizu Feb 2015 B2
8970513 Kwon et al. Mar 2015 B2
9032804 Granado et al. May 2015 B2
9038482 Xia et al. May 2015 B2
9075404 McMillen et al. Jul 2015 B2
9076419 McMillen et al. Jul 2015 B2
9112058 Bao et al. Aug 2015 B2
9116569 William et al. Aug 2015 B2
9164586 Zellers et al. Oct 2015 B2
9182302 Lim et al. Nov 2015 B2
9271665 Sarrafzadeh et al. Mar 2016 B2
9413376 Lowe et al. Aug 2016 B2
9417693 Seth Aug 2016 B2
9442614 McMillen Sep 2016 B2
9480582 Lundborg Nov 2016 B2
9529433 Shankar et al. Dec 2016 B2
9546921 McMillen et al. Jan 2017 B2
9582035 Connor Feb 2017 B2
9612102 Reese et al. Apr 2017 B2
9652101 McMillen et al. May 2017 B2
9682856 Whitesides et al. Jun 2017 B2
9696223 Lisseman et al. Jul 2017 B2
9696833 McMillen Jul 2017 B2
9710060 McMillen et al. Jul 2017 B2
9721553 McMillen et al. Aug 2017 B2
9753568 McMillen Sep 2017 B2
9756895 Rice et al. Sep 2017 B2
9827996 McMillen Nov 2017 B2
9836151 McMillen Dec 2017 B2
9851267 Ma et al. Dec 2017 B1
9860982 Main et al. Jan 2018 B1
9863823 McMillen Jan 2018 B2
9891718 Connor Feb 2018 B2
9965076 McMillen May 2018 B2
9970832 Hong et al. May 2018 B2
9993921 Lessing et al. Jun 2018 B2
10046671 Seiller et al. Aug 2018 B2
10064270 Jur et al. Aug 2018 B2
10076143 Marriott et al. Sep 2018 B2
10082381 McMillen et al. Sep 2018 B2
10114493 McMillen et al. Oct 2018 B2
10268315 McMillen et al. Apr 2019 B2
10282011 McMillen et al. May 2019 B2
10288507 McMillen et al. May 2019 B2
10352787 McMillen et al. Jul 2019 B2
10362989 McMillen et al. Jul 2019 B2
10654486 McMillen et al. May 2020 B2
10753814 McMillen et al. Aug 2020 B2
10802641 McMillen et al. Oct 2020 B2
10884496 McMillen et al. Jan 2021 B2
20020078757 Hines et al. Jun 2002 A1
20020180578 Sandbach Dec 2002 A1
20040031180 Ivanov Feb 2004 A1
20040060427 Franco Apr 2004 A1
20040093746 Varsallona May 2004 A1
20040118619 Gray et al. Jun 2004 A1
20040183648 Weber et al. Sep 2004 A1
20040189145 Pletner et al. Sep 2004 A1
20040249536 Hattori Dec 2004 A1
20040252007 Lussey et al. Dec 2004 A1
20050072249 Maeda et al. Apr 2005 A1
20050109095 Sinnett May 2005 A1
20050220673 Thaysen Oct 2005 A1
20060103192 Norton May 2006 A1
20060150752 Lorenz et al. Jul 2006 A1
20060192417 Ellinger et al. Aug 2006 A1
20060209050 Serban Sep 2006 A1
20060274055 Reynolds et al. Dec 2006 A1
20060289469 Chandra et al. Dec 2006 A1
20070063992 Lundquist Mar 2007 A1
20070129776 Robins et al. Jun 2007 A1
20070151348 Zdeblick et al. Jul 2007 A1
20070188179 Deangelis et al. Aug 2007 A1
20070188180 Deangelis et al. Aug 2007 A1
20070202765 Krans et al. Aug 2007 A1
20070234888 Rotolo de Moraes Oct 2007 A1
20080046152 Ohtake et al. Feb 2008 A1
20080069412 Champagne et al. Mar 2008 A1
20080158145 Westerman Jul 2008 A1
20080189827 Bauer Aug 2008 A1
20080254824 Moraes Oct 2008 A1
20090013793 Kim et al. Jan 2009 A1
20090049980 Sharma Feb 2009 A1
20090134966 Baker May 2009 A1
20090237374 Li et al. Sep 2009 A1
20090272197 Granado et al. Nov 2009 A1
20090301190 Ross, Jr. et al. Dec 2009 A1
20090303400 Hou et al. Dec 2009 A1
20100066572 Dietz et al. Mar 2010 A1
20100123686 Klinghult et al. May 2010 A1
20100134327 Dinh et al. Jun 2010 A1
20100149108 Hotelling et al. Jun 2010 A1
20100179724 Weston Jul 2010 A1
20100199777 Hooper et al. Aug 2010 A1
20100242274 Rosenfeld et al. Sep 2010 A1
20100274447 Stumpf Oct 2010 A1
20100286951 Danenberg et al. Nov 2010 A1
20100292945 Reynolds et al. Nov 2010 A1
20100315337 Ferren et al. Dec 2010 A1
20110005090 Lee et al. Jan 2011 A1
20110088535 Zarimis Apr 2011 A1
20110088536 McMillen et al. Apr 2011 A1
20110107771 Crist et al. May 2011 A1
20110141052 Bernstein et al. Jun 2011 A1
20110153261 Jang et al. Jun 2011 A1
20110199284 Davis et al. Aug 2011 A1
20110203390 Tao et al. Aug 2011 A1
20110221564 Deppiesse et al. Sep 2011 A1
20110241850 Bosch et al. Oct 2011 A1
20110246028 Lisseman et al. Oct 2011 A1
20110260994 Saynac Oct 2011 A1
20110271772 Parks et al. Nov 2011 A1
20110279409 Salaverry et al. Nov 2011 A1
20110292049 Muravsky Dec 2011 A1
20110302694 Wang et al. Dec 2011 A1
20120007831 Chang et al. Jan 2012 A1
20120024132 Wallace et al. Feb 2012 A1
20120026124 Li et al. Feb 2012 A1
20120055257 Shaw-Klein Mar 2012 A1
20120090408 Jheng et al. Apr 2012 A1
20120097009 Eventoff et al. Apr 2012 A1
20120143092 Xia et al. Jun 2012 A1
20120191554 Xia et al. Jul 2012 A1
20120197161 Xia et al. Aug 2012 A1
20120198949 Xia et al. Aug 2012 A1
20120222498 Mamigonians Sep 2012 A1
20120234105 Taylor Sep 2012 A1
20120246795 Scheffler et al. Oct 2012 A1
20120258302 Hunt et al. Oct 2012 A1
20120283979 Bruekers et al. Nov 2012 A1
20120296528 Wellhoefer et al. Nov 2012 A1
20120297885 Hou et al. Nov 2012 A1
20120299127 Fujii et al. Nov 2012 A1
20120303332 Mangione-Smith Nov 2012 A1
20120312102 Alvarez et al. Dec 2012 A1
20120323501 Sarrafzadeh et al. Dec 2012 A1
20130009905 Castillo et al. Jan 2013 A1
20130055482 D'Aprile et al. Mar 2013 A1
20130082970 Frey et al. Apr 2013 A1
20130085394 Corbett, III et al. Apr 2013 A1
20130113057 Taylor May 2013 A1
20130113704 Sarrafzadeh et al. May 2013 A1
20130015817 Horst et al. Jun 2013 A1
20130165809 Abir Jun 2013 A1
20130192071 Esposito et al. Aug 2013 A1
20130203201 Britton et al. Aug 2013 A1
20130211208 Varadan et al. Aug 2013 A1
20130214365 Schlarmann et al. Aug 2013 A1
20130239787 McMillen et al. Sep 2013 A1
20130248024 Dunn et al. Sep 2013 A1
20130274985 Lee et al. Oct 2013 A1
20130275057 Perlin et al. Oct 2013 A1
20130327560 Ichiki Dec 2013 A1
20130340598 Marquez et al. Dec 2013 A1
20140007704 Granado et al. Jan 2014 A1
20140007706 Aufrere et al. Jan 2014 A1
20140013865 White et al. Jan 2014 A1
20140026678 Cannard et al. Jan 2014 A1
20140033829 Xia et al. Feb 2014 A1
20140060211 Van den Broeck Mar 2014 A1
20140090488 Taylor et al. Apr 2014 A1
20140104776 Clayton et al. Apr 2014 A1
20140104792 Jeziorek Apr 2014 A1
20140107966 Xia et al. Apr 2014 A1
20140107967 Xia et al. Apr 2014 A1
20140107968 Xia et al. Apr 2014 A1
20140125124 Verner May 2014 A1
20140130270 Baudouin et al. May 2014 A1
20140130593 Ciou et al. May 2014 A1
20140146501 Thiel et al. May 2014 A1
20140150573 Cannard et al. Jun 2014 A1
20140182170 Wawrousek et al. Jul 2014 A1
20140195023 Statham et al. Jul 2014 A1
20140215684 Hardy et al. Aug 2014 A1
20140222173 Giedwoyn et al. Aug 2014 A1
20140222243 McMillen et al. Aug 2014 A1
20140238153 Wood et al. Aug 2014 A1
20140240214 Liu et al. Aug 2014 A1
20140264407 Tischler et al. Sep 2014 A1
20140288383 Barnett Sep 2014 A1
20140318699 Longinotti-Buitoni et al. Oct 2014 A1
20140347076 Barton et al. Nov 2014 A1
20150035743 Rosener Feb 2015 A1
20150084873 Hagenbuch et al. Mar 2015 A1
20150086955 Poniatowski et al. Mar 2015 A1
20150130698 Burgess May 2015 A1
20150168238 Raut et al. Jun 2015 A1
20150177080 Esposito et al. Jun 2015 A1
20150231991 Yetukuri et al. Aug 2015 A1
20150248159 Luo et al. Sep 2015 A1
20150261372 McMillen et al. Sep 2015 A1
20150316434 McMillen et al. Nov 2015 A1
20150317964 McMillen et al. Nov 2015 A1
20150328492 Marriott et al. Nov 2015 A1
20150330855 Daniecki et al. Nov 2015 A1
20150331512 McMillen et al. Nov 2015 A1
20150331522 McMillen et al. Nov 2015 A1
20150331523 McMillen et al. Nov 2015 A1
20150331524 McMillen et al. Nov 2015 A1
20150331533 McMillen et al. Nov 2015 A1
20150370396 Hotelling et al. Dec 2015 A1
20160052131 Lessing et al. Feb 2016 A1
20160054798 Messingher et al. Feb 2016 A1
20160070347 McMillen et al. Mar 2016 A1
20160073539 Driscoll et al. Mar 2016 A1
20160147352 Filiz et al. May 2016 A1
20160162022 Seth Jun 2016 A1
20160169754 Kowalewski et al. Jun 2016 A1
20160175186 Shadduck Jun 2016 A1
20160187973 Shankar et al. Jun 2016 A1
20160194792 Satharasinghe et al. Jul 2016 A1
20160209441 Mazzeo et al. Jul 2016 A1
20160238547 Park et al. Aug 2016 A1
20160246369 Osman Aug 2016 A1
20160252412 McMillen et al. Sep 2016 A1
20160270727 Berg et al. Sep 2016 A1
20160278709 Granado et al. Sep 2016 A1
20160313798 Connor Oct 2016 A1
20160318356 McMillen et al. Nov 2016 A1
20160340534 Wijesundara et al. Nov 2016 A1
20160358849 Jur et al. Dec 2016 A1
20160375910 McMillen et al. Dec 2016 A1
20170000369 Hyde et al. Jan 2017 A1
20170038881 McMillen Feb 2017 A1
20170056644 Chahine et al. Mar 2017 A1
20170059426 Choi et al. Mar 2017 A1
20170086519 Vigano et al. Mar 2017 A1
20170108929 Sinko et al. Apr 2017 A1
20170110103 McMillen et al. Apr 2017 A1
20170127736 Roberts et al. May 2017 A1
20170167931 McMillen et al. Jun 2017 A1
20170176267 Keller et al. Jun 2017 A1
20170021263 McMillen Jul 2017 A1
20170215495 Okumiya et al. Aug 2017 A1
20170303853 McMillen et al. Oct 2017 A1
20170305301 McMillen et al. Oct 2017 A1
20170361045 Fu et al. Dec 2017 A1
20180003579 Esposito et al. Jan 2018 A1
20180015932 McMillen et al. Jan 2018 A1
20180077976 Keller et al. Mar 2018 A1
20180094991 McMillen et al. Apr 2018 A1
20180263563 McMillen et al. Sep 2018 A1
20190034019 McMillen et al. Jan 2019 A1
20190219465 McMillen et al. Jul 2019 A1
20200012344 McMillen et al. Jan 2020 A1
20200150761 Hogbin May 2020 A1
20200200621 McMillen et al. Jun 2020 A1
20200292399 McMillen et al. Sep 2020 A1
20200400519 McMillen et al. Dec 2020 A1
Foreign Referenced Citations (49)
Number Date Country
200980381 Nov 2007 CN
201920728 Aug 2011 CN
102551728 Jul 2012 CN
202396601 Aug 2012 CN
203234132 Oct 2013 CN
102406282 Mar 2014 CN
102 12 023 Oct 2003 DE
11 2010 004 038 Sep 2012 DE
0 014 022 Nov 1984 EP
0 211 984 Mar 1987 EP
2 682 724 Jan 2014 EP
S47-18925 May 1972 JP
H04-011666 Jan 1992 JP
H06-323929 Nov 1994 JP
H08-071978 Mar 1996 JP
H08-194481 Jul 1996 JP
H10-198503 Jul 1998 JP
2000-267664 Sep 2000 JP
2006-503350 Jan 2006 JP
2007-503052 Feb 2007 JP
2008-515008 May 2008 JP
2009-543030 Dec 2009 JP
2010-503113 Jan 2010 JP
2011-502313 Jan 2011 JP
2012-521550 Sep 2012 JP
2012-220315 Nov 2012 JP
2014-077662 May 2014 JP
2017-518338 Dec 2017 JP
10-2007-0008500 Jan 2007 KR
100865148 Oct 2008 KR
10-1362742 Feb 2014 KR
10-2014-0071693 Jun 2014 KR
8900820 Nov 1990 NL
2 533 539 Nov 2014 RU
WO 99020179 Apr 1999 WO
WO 2007024875 Mar 2007 WO
WO 2008032661 Mar 2008 WO
WO 2009155891 Dec 2009 WO
WO 2011047171 Apr 2011 WO
WO 2013116242 Aug 2013 WO
WO 2013181474 Dec 2013 WO
WO 2014058473 Apr 2014 WO
WO 2015175317 Nov 2015 WO
WO 2016070078 May 2016 WO
WO 2016138234 Sep 2016 WO
WO 2016176307 Nov 2016 WO
WO 2016210173 Dec 2016 WO
WO 2017066096 Apr 2017 WO
WO 2017184367 Oct 2017 WO
Non-Patent Literature Citations (133)
Entry
NPL_131_1 Search Results, Jul. 30, 2021, 1 pp. (Year: 2021).
U.S. Office Action dated Sep. 12, 2012 issued in U.S. Appl. No. 12/904,657.
U.S. Office Action dated Apr. 15, 2013 issued in U.S. Appl. No. 12/904,657.
U.S. Notice of Allowance dated Nov. 8, 2013 issued in U.S. Appl. No. 12/904,657.
U.S. Office Action dated Mar. 12, 2015 issued in U.S. Appl. No. 14/173,617.
U.S. Notice of Allowance dated May 1, 2015 issued in U.S. Appl. No. 14/173,617.
U.S. Office Action dated Mar. 10, 2016 issued in U.S. Appl. No. 14/727,619.
U.S. Final Office Action dated Jul. 18, 2016 issued in U.S. Appl. No. 14/727,619.
U.S. Notice of Allowance dated Sep. 15, 2016 issued in U.S. Appl. No. 14/727,619.
U.S. Office Action dated Dec. 31, 2018 issued in U.S. Appl. No. 15/374,816.
U.S. Notice of Allowance dated Mar. 11, 2019 issued in U.S. Appl. No. 15/374,816.
U.S. Office Action dated Jan. 10, 2020 issued in U.S. Appl. No. 16/362,017.
U.S. Notice of Allowance dated May 13, 2020 issued in U.S. Appl. No. 16/362,017.
U.S. Office Action dated Apr. 2, 2015 issued in U.S. Appl. No. 13/799,304.
U.S. Notice of Allowance dated Apr. 24, 2015 issued in U.S. Appl. No. 13/799,304.
U.S. Office Action dated Sep. 1, 2015 issued in U.S. Appl. No. 14/728,872.
U.S. Final Office Action dated Mar. 9, 2016 issued in U.S. Appl. No. 14/728,872.
U.S. Office Action dated Jun. 22, 2016 issued in U.S. Appl. No. 14/728,872.
U.S. Final Office Action dated Oct. 18, 2016 issued in U.S. Appl. No. 14/728,872.
U.S. Advisory Action dated Feb. 10, 2017 issued in U.S. Appl. No. 14/728,872.
U.S. Office Action dated May 19, 2017 issued in U.S. Appl. No. 14/728,872.
U.S. Notice of Allowance dated Oct. 16, 2017 issued in U.S. Appl. No. 14/728,872.
U.S. Office Action dated Jul. 25, 2016 issued in U.S. Appl. No. 14/728,873.
U.S. Office Action dated Dec. 30, 2016 issued in U.S. Appl. No. 14/728,873.
U.S. Final Office Action dated Mar. 31, 2017 issued in U.S. Appl. No. 14/728,873.
U.S. Advisory Action and Examiner initiated interview summary dated May 26, 2017 issued in U.S. Appl. No. 14/728,873.
U.S. Office Action dated Aug. 25, 2017 issued in U.S. Appl. No. 14/728,873.
U.S. Final Office Action dated Dec. 22, 2017 issued in U.S. Appl. No. 14/728,873.
U.S. Office Action dated Mar. 26, 2018 issued in U.S. Appl. No. 14/728,873.
U.S. Notice of Allowance dated Jul. 19, 2018 issued in U.S. Appl. No. 14/728,873.
U.S. Office Action dated Mar. 19, 2020 issued in U.S. Appl. No. 14/728,873.
U.S. Notice of Allowance dated Jun. 15, 2020 issued in U.S. Appl. No. 14/728,873.
U.S. Office Action dated Mar. 9, 2016 issued in U.S. Appl. No. 14/299,976.
U.S. Final Office Action dated Jul. 6, 2016 issued in U.S. Appl. No. 14/299,976.
U.S. Office Action dated Oct. 21, 2016 issued in U.S. Appl. No. 14/299,976.
U.S. Final Office Action dated Apr. 19, 2017 issued in U.S. Appl. No. 14/299,976.
U.S. Final Office Action dated Jun. 8, 2017 issued in U.S. Appl. No. 14/299,976.
U.S. Office Action dated Sep. 1, 2017 issued in U.S. Appl. No. 14/299,976.
U.S. Notice of Allowance dated Feb. 22, 2018 issued in U.S. Appl. No. 14/299,976.
U.S. Office Action dated Jan. 13, 2016 issued in U.S. Appl. No. 14/464,551.
U.S. Notice of Allowance dated Jun. 23, 2016 issued in U.S. Appl. No. 14/464,551.
U.S. Office Action dated Sep. 23, 2016 issued in U.S. Appl. No. 14/800,538.
U.S. Notice of Allowance dated Jan. 17, 2017 issued in U.S. Appl. No. 14/800,538.
U.S. Office Action dated Jul. 12, 2018 issued in U.S. Appl. No. 15/483,926.
U.S. Notice of Allowance dated Dec. 31, 2018 issued in U.S. Appl. No. 15/483,926.
U.S. Office Action dated Feb. 22, 2017 issued in U.S. Appl. No. 14/671,821.
U.S. Notice of Allowance dated Jul. 3, 2017 issued in U.S. Appl. No. 14/671,821.
U.S. Office Action dated Jun. 30, 2017 issued in U.S. Appl. No. 15/251,772.
U.S. Final Office Action dated Nov. 15, 2017 issued in U.S. Appl. No. 15/251,772.
U.S. Office Action dated Feb. 22, 2018 issued in U.S. Appl. No. 15/251,772.
U.S. Office Action dated Sep. 4, 2018 issued in U.S. Appl. No. 15/251,772.
U.S. Final Office Action dated Dec. 21, 2018 issued in U.S. Appl. No. 15/251,772.
U.S. Notice of Allowance dated Mar. 5, 2019 issued in U.S. Appl. No. 15/251,772.
U.S. Office Action dated Jun. 28, 2016 issued in U.S. Appl. No. 14/671,844.
U.S. Final Office Action dated Nov. 25, 2016 issued in U.S. Appl. No. 14/671,844.
U.S.Notice of Allowance dated Mar. 13, 2017 issued in U.S. Appl. No. 14/671,844.
U.S. Office Action dated Jan. 26, 2017 issued in U.S. Appl. No. 15/052,293.
U.S. Final Office Action dated May 2, 2017 issued in U.S. Appl. No. 15/052,293.
U.S. Notice of Allowance dated May 24, 2017 issued in U.S. Appl. No. 15/052,293.
U.S. Notice of Allowance [Supplemental Notice of Allowability] dated Jun. 20, 2017 issued in U.S. Appl. No. 15/052,293.
U.S. Notice of Allowance dated Sep. 22, 2017 issued in U.S. Appl. No. 15/052,293.
U.S. Notice of Allowance [Supplemental Notice of Allowability] dated Oct. 19, 2017 issued in U.S. Appl. No. 15/052,293.
U.S. Office Action dated Jul. 24, 2018 issued in U.S. Appl. No. 15/835,131.
U.S. Notice of Allowance dated Dec. 4, 2018 issued in U.S. Appl. No. 15/835,131.
U.S. Office Action dated Mar. 6, 2019 issued in U.S. Appl. No. 15/835,131.
U.S. Notice of Allowance dated May 13, 2019 issued in U.S. Appl. No. 15/835,131.
U.S. Office Action dated May 20, 2016 issued in U.S. Appl. No. 14/928,058.
U.S. Final Office Action dated Jan. 6, 2017 issued in U.S. Appl. No. 14/928,058.
U.S. Notice of Allowance dated Mar. 16, 2017 issued in U.S. Appl. No. 14/928,058.
U.S. Office Action dated Aug. 14, 2018 issued in U.S. Appl. No. 15/621,935.
U.S. Final Office Action dated Feb. 14, 2019 issued in U.S. Appl. No. 15/621,935.
U.S. Notice of Allowance dated May 22, 2019 issued in U.S. Appl. No. 15/621,935.
U.S. Supplemental Notice of Allowance dated Jun. 13, 2019 issued in U.S. Appl. No. 15/621,935.
U.S. Office Action dated Oct. 21, 2019 issued in U.S. Appl. No. 15/621,935.
U.S. Final Office Action dated Apr. 28, 2020 issued in U.S. Appl. No. 15/621,935.
U.S. Office Action dated Jul. 13, 2020 issued in U.S. Appl. No. 15/621,935.
U.S. Office Action dated Nov. 3, 2017 issued in U.S. Appl. No. 15/138,802.
U.S. Final Office Action dated Mar. 1, 2018 issued in U.S. Appl. No. 15/138,802.
U.S. Advisory Action dated May 16, 2018 issued in U.S. Appl. No. 15/138,802.
U.S. Notice of Allowance dated Jul. 3, 2018 issued in U.S. Appl. No. 15/138,802.
U.S. Office Action dated Jun. 23, 2017 issued in U.S. Appl. No. 15/190,089.
U.S. Notice of Allowance dated Aug. 10, 2017 issued in U.S. Appl. No. 15/190,089.
U.S. Office Action dated Dec. 13, 2018 issued in U.S. Appl. No. 15/690,108.
U.S. Office Action dated Jul. 5, 2019 issued in U.S. Appl. No. 15/690,108.
U.S. Notice of Allowance dated Jan. 29, 2020 issued in U.S. Appl. No. 15/690,108.
U.S. Office Action dated May 24, 2019 issued in U.S. Appl. No. 15/479,103.
U.S. Final Office Action dated Sep. 20, 2019 issued in U.S. Appl. No. 15/479,103.
U.S. Office Action dated Dec. 27, 2016 issued in U.S. Appl. No. 15/287,520.
U.S. Notice of Allowance dated Mar. 27, 2017 issued in U.S. Appl. No. 15/287,520.
U.S. Office Action dated May 28, 2020 issued in U.S. Appl. No. 16/449,017.
PCT International Search Report dated May 27, 2011, issued in PCT/US2010/052701.
PCT International Preliminary Report on Patentability and Written Opinion dated Apr. 26, 2012, issued in PCT/US2010/052701.
Japanese Office Action dated Feb. 25, 2014 issued in JP 2012-534361.
PCT International Search Report and Written Opinion dated Sep. 3, 2015 issued in PCT/US2015/029732.
PCT International Preliminary Report on Patentability and Written Opinion dated Nov. 24, 2016 issued in PCT/US2015/029732.
Japanese Office Action dated Dec. 4, 2018 issued in JP 2016-566814.
PCT International Search Report and Written Opinion dated May 26, 2016 issued in PCT/US2016/019513.
PCT International Preliminary Report on Patentability and Written Opinion dated Sep. 8, 2017 issued in PCT/US2016/019513.
Japanese Office Action dated Jul. 30, 2019 issued in JP 2017-518338.
Japanese Office Action dated May 22, 2020 issued in JP 2017-518338.
Japanese Office Action dated Jul. 9, 2019 issued in JP 2018-114012.
Japanese Office Action dated Apr. 22, 2020 issued in JP 2018-114012.
Japanese Office Action dated Aug. 17, 2020 issued in JP 2018-114012.
PCT International Search Report and Written Opinion dated Apr. 14, 2016 issued in PCT/US2015/058370.
PCT International Preliminary Report on Patentability and Written Opinion dated May 11, 2017 issued in PCT/US2015/058370.
PCT International Search Report and Written Opinion dated Nov. 8, 2018 issued in PCT/US2018/035848.
PCT International Preliminary Report on Patentability and Written Opinion dated Dec. 26, 2019 issued in PCT/US2018/035848.
PCT International Search Report and Written Opinion dated Sep. 15, 2016 issued in PCT/US2016/029528.
PCT International Preliminary Report on Patentability and Written Opinion dated Oct. 31, 2017 issued in PCT/US2016/029528.
PCT International Search Report and Written Opinion dated Sep. 29, 2016 issued in PCT/US2016/039089.
PCT International Preliminary Report on Patentability and Written Opinion dated Dec. 26, 2017 issued in PCT/US2016/039089.
PCT International Search Report and Written Opinion dated Jan. 19, 2017 issued in PCT/US2016/055997.
PCT International Preliminary Report on Patentability and Written Opinion dated Apr. 26, 2018 issued in PCT/US2016/055997.
German Office Action dated Sep. 29, 2020 issued inDE 112016004743.6.
PCT International Search Report and Written Opinion dated Aug. 14, 2017 issued in PCT/US2017/026812.
PCT International Preliminary Report on Patentability dated Nov. 1, 2018 issued in PCT/US2017/026812.
“Electronic Foot Size Measuring Devices,” Sensatech Research LTD., Custom Electronic Sensing Solutions, Registered Office: 4 Heath Square, Boltro Road, Haywards Heath, RH16 1BL Company Registration No. 4524018 Cardiff [retrieved at http:www.electronicsarena.co.uk/companies/sensatech-research/products/electronic-foot-size-measureing-devices on Sep. 17, 2015], 3 pages.
“iStep® Digital Foot Scan,” (© 2002-2015) [retrieved at http://www.foot.com/site/iStep on Sep. 17, 2015], 1 page.
“Podotech Elftman,” and Podotech Elftman Brochure (UK Version) [retrieved at http://www.podotech.com/diagnostics/podotech-elftman-2/ on Sep. 17, 2015] podo+tech®, Foot Care Technology Solutions, 7 pages.
Roh, Jung-Sim et al. (2011) “Robust and reliable fabric and piezoresistive multitouch sensing surfaces for musical controllers,” from Alexander Refsum Jensenius, Recorded at: 11th International Conference on New Interfaces for Musical Expression May 30-Jun. 1, 2011, Oslo, Norway, a vimeo download at http://vimeo.com/26906580.
“The Emed®-Systems,” [retrieved at http://www.novel.de/novelcontent/emed on Sep. 17, 2015] novel.de, 4 pages.
U.S. Appl. No. 16/947,140, filed Jul. 20, 2020, McMillen et al.
U.S. Appl. No. 16/948,131, filed Sep. 3, 2020, McMillen et al.
U.S. Office Action dated Feb. 11, 2021 issued in U.S. Appl. No. 15/621,935.
U.S. Final Office Action dated Jun. 3, 2021 issued in U.S. Appl. No. 15/621,935.
U.S. Notice of Allowance dated Jul. 14, 2021 issued in U.S. Appl. No. 15/621,935.
U.S. Notice of Allowance dated Nov. 23, 2020 issued in U.S. Appl. No. 16/449,017.
U.S. Office Action dated Jul. 12, 2021 issued in U.S. Appl. No. 16/692,626.
Almassri, “Self-Calibration Algorithm for a Pressure Sensor with a Real-Time Approach Based on an Artificial Neural Network” Sensors, pp. 1-16, Aug. 5, 2018 (Year: 2018).
Bengtsson, “Lookup Table Optimization for Sensor Linearization in Small Embedded Systems” Journal of Sensor Technology, pp. 177-174.Dec. 6, 2012 (Year: 2012).
Brownlee, “How to Code a Neural Network with Backpropagation In Python (from scratch)” Machine Learning Mastery, Nov. 7, 2016,downloaded from https://machinelearningmastery.com/implement-backpropagation-algorithm-scratch-python/. downloaded Sep. 1, 2021 (Year: 2016).
Tech Target Contributor, “exponential function” TechTarget, Dec. 2005, downloaded from https://whatis.techtarget.com/definition/exponential-function downloaded Sep. 1, 2021 (Year: 2005).
U.S. Appl. No. 17/302,955, filed May 17, 2021, McMillen et al.
Related Publications (1)
Number Date Country
20210042006 A1 Feb 2021 US
Provisional Applications (1)
Number Date Country
61610924 Mar 2012 US
Continuations (3)
Number Date Country
Parent 16148570 Oct 2018 US
Child 16948131 US
Parent 14728873 Jun 2015 US
Child 16148570 US
Parent 13799304 Mar 2013 US
Child 14728873 US