Patent Description:
There is a general need in the field of civil engineering to instrument structures such as roads, bridges, tunnels and the like with sensors such as wireless sensors, to monitor movement/integrity of the structure. This facilitates, among other things, efficient maintenance and improved safety. It is helpful if such a sensor has wireless communications; it may be battery powered or powered solely by, or supplemented by, energy harvesting. However it is also desirable to be able to achieve a long battery life, although the RF environment is often challenging, with poor signal propagation. Current devices are physically large, with a typical dimension of order <NUM>, and have a limited battery life, for example of order <NUM>-<NUM> months. Considerable improvement is possible by judicious selection of RF frequency (for example <NUM>-<NUM> is helpful), and selective sensor activation, providing sleep and deep-sleep modes. The use of low power processor technology, such as that available from ARM Ltd (UK) can also help to reduce power consumption. However even when all of these techniques are combined significantly losses still remain, with surprising origins.

The use of miniature, low power technology to instrument civil engineering structures brings other difficulties: it is generally desirable to provide a large number of sensors so that a structure can be closely monitored and relative motion of various parts of the structure identified for assessments/action. This often entails programming individual sensors indifferent ways - some may sense motion, some temperature, some humidity, some a combination of all three. These different types of sensors may be arranged over the structure in an optimum manner so that, for example, readings from different sensors may be interpolated/extrapolated. Such an approach generally entails programming different sensors with different software, depending upon the measurement made. However programming each individual sensor may take a significant amount of time, for example of order half an hour (depending upon various factors). When instrumenting a structure with a large number of sensors this programming time constitutes a significant practical problem.

New techniques have therefore been developed to address these difficulties. Although they are particularly useful when instrumenting a structure with sensors, the techniques we describe are not limited to such applications and, potentially, have more general value.

By way of background, a technique for build-to-order manufacturing is described in <CIT>; the manufacturing system can design a master PCB that contains a particular combination of product PCBs. <CIT> proposes a method for manufacturing blister packages provided with one or more conductive grids on a surface thereof such that expulsion of an article from a blister will rupture a conductive trace included as a component of said grid. <CIT> proposes programmable elements, fuses and antifuses.

Thus we describe a method of manufacturing a plurality of electronic devices, the method comprising: manufacturing a multi-device motherboard, the multi-device motherboard comprising: a plurality of programmable device circuit boards, each of said device circuit boards bearing an electronic device comprising at least a device processor and programmable, non-volatile device memory for storing code for controlling the device processor, and a device programming region, wherein each of the device circuit boards is detachable from the remainder of the motherboard except for one of more frangible links to the motherboard (<NUM>) across a scribe line of the motherboard, at least one of said frangible links comprising a programming connection to the programmable circuit board; wherein the device programming region and device circuit boards are all part of the same circuit board, and wherein the device programming region bears a motherboard processor and motherboard program memory storing processor control code for controlling the motherboard processor to program the device circuit boards; storing code for at least one application program for said electronic device in said motherboard program memory; providing a user interface for said multi-device motherboard, wherein said user interface comprises a physical interface for an external computer system and a software user interface, wherein said software user interface is arranged to enable a user to configure each of said electronic devices to perform a defined function, wherein configuration of a said electronic device comprises providing software to said device memory of said electronic device, said software comprising code from said at least one application program such that a user-defined application is enabled to run on said electronic device to perform said user-defined function; using said user interface to configure said electronic devices on said motherboard; and detaching said configured electronic devices for use, wherein said providing of said plurality of electronic devices comprises fabricating said devices on said individual device PCBs on said motherboard (<NUM>),
wherein the electronic device is a sensor device (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>), and wherein said device PCBs and said first PCB array region form a panel, and wherein said removing of a device comprises fastening a case around a said device such that said fastening cuts said frangible link(s).

Surprisingly, when every aspect of a device is considered with the aim of reducing power, one of the significant overheads which remains is that of providing an external, standard device programming interface. Embodiments of the method described in the appended claims enable a very lightweight programming interface to be employed, for example comprising a simple serial data connection to the device processor. This is because the device programming function is effectively distributed between a circuit board to be programmed and the motherboard processor, which can in effect be a dedicated processor for the set of devices. This in turn facilitates achieving a low power consumption for an electronic device fabricated by the method, as well as other advantages such as reduced physical weight.

In embodiments the motherboard processor provides a programming interface for the user, for example enabling selective programming of different devices with different application software. In embodiments this motherboard processor (and its associated circuitry) becomes redundant after the electronic devices have been configured and detached from the motherboard.

Furthermore, in embodiments of the method a batch of the electronic devices can be programmed in parallel and then detached, one by one, from the board as needed. For example one row of devices may be configured as temperature sensors, another as humidity sensors, and so forth; or all the devices on the board may be configured to perform the same, selected function. The motherboard processor enables a user to configure each device on the motherboard to perform a particular, selected function, in embodiments selected from amongst a set of functions for which code is stored locally to the motherboard processor, for example in non-volatile memory. In embodiments the programmable memory of an electronic device is essentially empty, a 'blank page' (apart, potentially, from some small amount of code to enable the actual programming - although this may be on-board on the processor). In embodiments the motherboard processor downloads application program software to an electronic device to configure the device to perform a particular function. Depending on the complexity of the device the application program software may be downloaded in combination with operating system software for the device, to provide standard low level interfaces, for example for a radio transmitter/transceiver, a network connection and the like. In some embodiments the code stored in association with the motherboard processor is source code, and this is compiled by the motherboard processor to perform the user-selected function, and then the compiled code is programmed into a device. Additionally or alternatively, however, a device may be configured by writing general-purpose or multipurpose software into the device, and then configuring this software by writing data into one or more function-defining fields within the non-volatile memory of the device. In still other approaches, rather than compiling code to perform a defined function the motherboard processor may select application code from code for a set of different application programs, each for performing, a different, defined function.

In some preferred embodiments, once the device has been programmed it is tested by the motherboard processor. When the device is detached from the motherboard, by breaking the one or more frangible links (which provide power and programming data to a device), it is provided with a housing and/or encapsulated (after inserting a battery, if necessary). In sensor embodiments of the devices the programmed code may include code to delay the sensor operation after application of power to the device. This is helpful during installation as it provides time for the sensor to be installed and thus does not generate spurious false readings which might otherwise confuse a network of sensors already in place. Such an approach can also facilitate automatically determining an alignment/orientation to a sensor.

The device circuit boards are part of the same board (PCB - printed circuit board) as the motherboard, in the form of a PCB array, but are detachable by a frangible link as a scribe line.

We also describe a method of fabricating a plurality of sensor devices, the method comprising: fabricating a motherboard comprising a first, PCB (printed circuit board) array region and a second, device programming region, wherein said PCB array region comprises an array of individual device PCBs each with a layout for a sensor device, each having a frangible link to the motherboard such that said device PCBs and said device programming region form a panel; fabricating sensor devices on said individual device PCBs and a programming device on said programming region; operating said programming device whilst on said panel to program said sensor devices whilst said sensor devices are on said panel; and removing said sensor devices from said panel.

In embodiments each of the individual device PCBs is connected within the motherboard panel by one or more breakable tabs carrying power and, in embodiments, a serial programming line and optionally a clock. (Alternatively in these and the previously described embodiments a device may be programmable wirelessly). As previously described, in preferred embodiments the programming device provides a user interface for selecting functions to be performed by the sensor devices, so that different devices on the panel may be programmed with different software to perform different sensing functions.

Such a panel of sensor devices programmed in this manner may be used to instrument a structure by, first, programming a batch or (preferably) all of the devices on the panel, then detaching a device, optionally encapsulating or housing the device, and then mounting a device on the structure as needed.

The above described device (sensor) circuit boards are efficiently manufactured in quantity by fastening a case around a device whilst it is still on the motherboard. The act of fastening the case over the device breaks the frangible link(s) and in embodiment at the same time seals the device within the case. Thus particularly with sensor devices the case may form a substantially waterproof seal around the device, which may be essentially self-contained - that is, it may have an RF link, and be powered by a battery mounted on the device board.

In some preferred embodiments one or both parts of the case carries one or more blades, to cut/break the frangible link(s). In embodiments a blade projects from one part of the case or housing, for example an upper part, and is received by a recess in a second part of the case or housing, for example a lower part. The blade may be of electrically conducting or non-conducting material. The frangible link typically has two or more electrically conducting tracks providing a programming interface for the device. Part of the frangible link may remain trapped between the mating parts of the case/housing and therefore, where the blade is electrically conductive, the programming interface may be deactivated (for example set to <NUM>) so that it is not damaged by being shorted by the blade.

In embodiments the case may be fastened shut by magnetic attraction. This provides a very quick and simple method of completing manufacture of a device. Thus each portion of the case/housing may have a one or more magnets which are brought adjacent to one another when the case/housing is closed around the device. In some preferred embodiments the blade is magnetic and a second magnet is provided at the base of the recess into which the blade fits. Very strong magnets are available but optionally one or more additional fastenings may also be provided to hold the parts of the case/housing together after closing, such as one or more screws.

We also describe a method of fabricating an electronic device, the method comprising: fabricating a motherboard comprising an array of said electronic devices each on a respective region of the motherboard isolated from the motherboard except for one or more frangible links; and detaching a device from said motherboard. In the invention, this is performed by fastening a case around the device such that edges of the case cut said one or more frangible links.

The skilled person will appreciate that features of the previously described aspects and embodiments of the invention may also be incorporated in this aspect of the invention within the scope of the appended claims.

We also describe a multi-device motherboard/panel comprising a plurality of fabricated electronic devices each on a substantially separate PCB of an array region of the panel, and a device programming region comprising a processor, stored control code, and device program code, for programming the device to operate the electronic devices programmed by the methods as described above.

We also describe a method of programming a plurality of electronic devices, the method comprising: providing a motherboard comprising a first, PCB (printed circuit board) array region, wherein said PCB array region defines an array of individual device PCBs each for an electronic device, each having a frangible link across a scribe line of the motherboard; providing a plurality of electronic devices on said individual device PCBs; providing a programming system for said programming region; operating said programming system to program said electronic devices, whilst said electronic devices are on said motherboard, with one or more of: operating system software, application software, and configuration data for the devices; and removing said electronic devices from said motherboard.

In embodiments the devices are each configured for a different end user whilst still on the motherboard. In some at least some of the electronic devices comprise the same type of device - for example the same make and/or model of consumer electronic device. Then the programming may comprise programming different devices or groups of devices with different configuration data for different, individual end users, all whilst the devices are on the motherboard.

Additionally or alternatively at least some the electronic devices may comprise different types of electronic device. Then the programming may comprise programming the different types of electronic device or groups of the different types of device with different operating system software and/or different application software, in particular to perform substantially the same function (for example email, word processing) on the different types of device. Optionally this may include configuring the different application software with configuration data for a common user or common owner of the (different types of) devices - for example different devices may be set up to use the same corporate email system.

In embodiments the method further comprises providing the motherboard with a second, device programming region where the programming system is at least partly located (in embodiments, fabricated), in particular such that the device PCBs and the device programming region together form a PCB panel. In embodiments the electronic devices are provided on the panel by fabricating them on the device PCBs, in situ.

We also describe an electronic device manufactured by a method as described above. Such a device is distinguishable, for example, by the remains of a frangible link (as described above) on the device's circuit board. More particularly, however, the device is fastened within a housing or case as previously described.

We also describe an electronic device in a two-part housing, the housing having upper and lower portions fitting around a board carrying the device and having mating edges, wherein at least one of the mating edges of said upper and lower portions of the housing has a blade, and wherein said board has a frangible link trapped and cut by said blade between said mating edges of said portions of the housing.

In embodiments the frangible link carries a programming connection for the device; such a programming connection may comprise a set of conductive tracks on a narrow isthmus of (printed circuit) board extending from the device. In embodiments the blade is magnetically actuated; for example the mating edges of the housing portions may each bear respective mating magnets, one of which may define the blade. Preferably, the programming connection is deactivated, and is thus not affected by shorting by the blade.

These, and other aspects of the invention, will now be described, by way of further example, with reference to the accompanying figures which are as follows:.

<FIG> illustrates manufacturing of a main board/panel or motherboard <NUM>. In embodiments this contains a variety of sensor devices (200x -> (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>)), a programmable sensor connector platform and base station transceiver <NUM>, a backup board <NUM>, and provision for connected devices. Connected devices may include: camera, screen, storage, NAND/NOR/SPI flash, DDR DRAM interface, Ethernet, memory stick, mouse, LAND, WiFi, Bluetooth, headphone, speakers, keyboard (wired and wireless), USB mini.

In one example the sizes of the boards are as follows:.

<FIG> shows connections of the main board <NUM>, in one embodiment. The main board <NUM> interfaces may include a mini USB, LAN port and a power supply connection. <FIG> also shows linked connections between the main board <NUM>, sensor devices (200x -> (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>)), programmable sensor connector platform, the base station transceiver (<NUM>) and backup board (<NUM>).

<FIG> shows an embodiment of a sensor device board 200x (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and so forth). Board 200x typically contains a sensor 201x (light <NUM>, temperature <NUM>, humidity <NUM>, accelerometer <NUM>, acoustic <NUM>, pressure <NUM>, infrared <NUM>, motion <NUM>, strain <NUM>, and so forth). In many embodiments the sensor device board 200x comprises a processor <NUM>, a clock <NUM>, memory <NUM>, a power management system <NUM>, an energy (power) source <NUM> and a radio (RF link) <NUM> that may include an internal or external antenna. The sensor device board 200x may have more than one processor. The main board <NUM> is connected to a power source, and the sensor device board 200x draws power from the main board <NUM> while it is linked to the main board - the on-board power source does not need to be used until the device board 200x is snipped from the main board. Each device is weakly, ie detachably, linked to the board, for example by an isthmus carrying a set of tracks, allowing it to be separated to be used individually.

In embodiments there are three different layout embodiments of the sensor board 200x, where the positioning of the components may be arranged in three ways:.

In addition, some or substantially all of the components can be integrated into one chip. This has the advantage of speeding up the data processing, increasing robustness, lowering the cost of the device and lowering the power consumption of the sensor board devices 200x.

The Sensor Board 200x can be programmed while connected to the main board. Each Sensor Board 200x is weakly (frangibly) linked via a wire connection to the main board <NUM>, allowing it to be separated to act individually. Once separated from the main board, the Sensor Board 200x can be programmed wirelessly.

The layout options for the board of <FIG> also apply for boards <NUM>, <NUM> and for the main board <NUM>.

A functional block diagram of an embodiment of the sensor board 200x is illustrated in <FIG>. It shows the sensor board 200x connections to components. The sensor devices 201x -> (light <NUM>, temperature <NUM>, humidity <NUM>, accelerometer <NUM>, acoustic <NUM>, pressure <NUM>, infrared <NUM>, motion <NUM>, strain <NUM>, and so forth) are connected to the processor <NUM>. The processor <NUM> is connected to clock <NUM>, memory <NUM>, a power management system <NUM>, an energy (power) source <NUM> and a radio (RF link) <NUM>. Within the sensor 201x (which may have sensor(s) for light <NUM>, temperature <NUM>, humidity <NUM>, accelerometer <NUM>, acoustic <NUM>, pressure <NUM>, infrared <NUM>, motion <NUM>, strain <NUM> and the like) in the embodiment <FIG>, the sensors are formed from a MEMS (Micro-Electro Mechanical) Sensor <NUM>, a demodulator <NUM>, a filter <NUM>, a temperature sensor <NUM>, an ADC (Analogue to Digital Convertor) <NUM>, a digital Logic FIFO & SPI (First In, First Out & Serial Peripheral Interface) <NUM>.

When MEMS sensor <NUM> senses a change of environment or of some physical quantity, it passes the information to the demodulator for processing and then to the filter to remove the noise. For robustness and information reliability, the temperature sensor <NUM> inhibits temperature fluctuations from substantially affecting the readings of MEMS sensor <NUM>. The temperature sensor <NUM> feeds the information to the ADC <NUM> to convert analogue readings to digital signals. The ADC <NUM> then passes the digital signals to digital logic <NUM>. The digital logic <NUM> in turn transfers the readings through for example <NUM> pins, to the processor <NUM>. In embodiments the pins are INT1 (instance1), INT2 (instance2), CS (Chip Select), MOSI (Master Output, Slave Input), (MISO) Master Input, Slave Output and SCLK (Serial Clock).

The processor <NUM> communicates through wired and wireless connections to its surroundings. The wired <NUM> connection and the wireless <NUM> connection provide all the links to the outside of the processor chip. The wired communication <NUM> is constructed from an SPI bus (Serial Peripheral Interface), a I<NUM>C bus (Inter-Integrated Circuit), a UART bus (Universal Asynchronous Receiver/Transmitter), a PWM (Pulse-Width Modulation) and a SW bus (Serial Wire). Through the wired <NUM> connection, the sensor board 200x can be programmed via a serial/USB link (Universal Serial Bus).

In embodiments processor <NUM> has an data acquisition system, a wired data connection <NUM> and a wireless data connection <NUM>. The wired data connection (in this and the later described boards) includes a serial programming connection, which in embodiments runs across the frangible link between boards and is used for programming the daisy chained boards. The data acquisition system has a bandgap voltage reference, which produces constant and steady voltage irrespective of temperature and power supply variations and file loading on the processor. The processor clock <NUM> typically has a watchdog clock, a wake-up clock and one or more general-purpose clocks.

Within the functionality of low power processing circuitry <NUM>, processor memory <NUM> comprising Flash and SRAM (Static random-access memory) is integrated with the circuit; it is also possible to add further memory to the Sensor board device 200x. In addition to the memory, the functionality of the low power processing circuitry <NUM> includes an OSC (Oscillator Start-up Chip), a POR (Power On Reset) function, an Interrupt controller and on-chip peripherals.

Further, the sensor device 200x contains a power management system <NUM>, energy source <NUM> (battery, energy harvester or combination of the two), and a radio <NUM> with an internal or external antenna that is linked to the wireless part of the processor <NUM>. The sensor device 200x may have more than one of any of these components.

<FIG> shows an embodiment of "base station" <NUM>, a board that contains the peripheral connections to the devices and to the transceiver base station. This board may be "snipped" (removed from the motherboard) and used later to change the programmes on the sensor board 200x. However preferably most of the configuration is done wirelessly after the initial programme is loaded to the back-up board <NUM>'s individual CPUs.

The base station <NUM> typically has one processor <NUM>, a clock <NUM>, memory <NUM>, a power management system <NUM>, an energy (power) source <NUM> and a radio (RF link) <NUM> that may include an internal or external antenna. However, the base station <NUM> may have more than one of any of these components.

The Main Board <NUM> provides power to the Base Station <NUM> while they are connected to each other. The Base Station <NUM> does not need to use its in-built energy source until the device is snipped from the main board <NUM>. Each device is weakly linked to the board, allowing it to be separated to act individually. The USB port can connect to a computer or data loader device to pass the data to and from the Base Station <NUM> for data monitoring and collection.

The Functional Block Diagram Board <NUM> in <FIG> illustrates that the Base Station <NUM> has three main purposes:.

The base station <NUM> contains within it processor <NUM>. The processor <NUM> communicates through wired and/or wireless connections to its surroundings (connected devices). The wired connection <NUM> and the wireless connection <NUM> provide links to the outside of the processor chip. The wired communication <NUM> may comprise one or more of: an SPI bus (Serial Peripheral Interface), I<NUM>C bus (Inter-Integrated Circuit), UART bus (Universal Asynchronous Receiver/Transmitter), PWM (Pulse-Width Modulation) and a SW bus (Serial Wire). Through the wired communication, the sensor board 200x can be programmed via a serial/USB link (Universal Serial Bus).

The processor <NUM> has an integrated data acquisition system, wired connection <NUM> and wireless connection <NUM>. The data acquisition system has a bandgap voltage reference (a temperature independent voltage reference circuit). The bandgap reference produces a constant and steady voltage substantially irrespective of temperature and power supply variations and file loading on the processor. The processor clock <NUM> typically has a watchdog clock, a wake-up clock and one or more general-purpose clocks.

Within the functionality of low power processing circuitry <NUM>, the processor memory <NUM> is integrated with the circuit and uses Flash and SRAM (Static random-access memory), however it is also possible to add memory to the Sensor board device 200x. In addition to the memory, the functionality of the low power processing circuitry <NUM> includes an OSC (Oscillator Start-up Chip), a POR (Power On Reset) circuit, an Interrupt controller and on-chip peripherals.

Further, the sensor device 200x contains a power management <NUM> system, an energy source <NUM> (battery, energy harvester or combination of two) and a radio <NUM> with an internal or external antenna that is linked to the wireless part of processor <NUM>. The sensor device 200x may have more than one of any of these components.

The base station <NUM> is preferably awake at all times, and should preferably have a strong signal and the capability of transmitting and receiving to the complete network (the sensor device 200x nodes). Preferably therefore the base station <NUM> includes an external antenna and is typically powered by a wired power supply or an energy harvester rather than a battery. Optionally it may also have the capability of being powered by a battery if necessary.

The base station <NUM> preferably has connectors for connecting to multiple devices - for example a camera, screen, storage, NAND/NOR/SPI flash, DDR DRAM interface, Ethernet, memory stick, mouse, LAND, Wi-Fi, Bluetooth, headphone, speakers, keyboard wired and wireless, external and internal additional memory (SDIO/SD card/Ram/ Flash), minibus, and the like. However for simplicity the functional diagram of <FIG> shows only connections to a minibus <NUM>, a LAN port <NUM>, a screen <NUM>, hard drive <NUM> and internal and external additional memory <NUM> (SDIO/SD card/Ram/ Flash).

An embodiment of the Backup Board <NUM> is shown in <FIG>. The Main Board <NUM> can include or omit the backup board <NUM>.

The backup board <NUM> is a backup system that, in embodiments, has an additional CPU and memory that may store some or all programs for the sensor board 200x devices. The CPU and memory may later retrieve all of the programs for the 200x devices as needed.

The functional block diagram of board <NUM> in <FIG> illustrates that the backup board <NUM> has two main purposes:.

The backup board <NUM> contains within it the processor <NUM>. The processor <NUM> communicates through wired and wireless connections to its surroundings. The wired connection <NUM> and the wireless connection <NUM> provide links to the outside of the processor chip. The wired communication <NUM> may comprise one or more of: an SPI bus (Serial Peripheral Interface), I<NUM>C bus (Inter-Integrated Circuit), UART bus (Universal Asynchronous Receiver/Transmitter), PWM (Pulse-Width Modulation) and SW bus (Serial Wire). Through the wired communication, the sensor board 200x can be programmed via, for example, a serial/USB link (Universal Serial Bus).

Preferably the processor <NUM> has a data acquisition system (which may include an A/D converter), a wired connection <NUM> and a wireless connection <NUM>. The data acquisition system may include a bandgap voltage reference. The processor clock <NUM> typically has a watchdog clock, a wake-up clock and one or more general-purpose clocks.

Within the functionality of the low power processing <NUM>, the processor memory <NUM> is integrated with the circuit using Flash and SRAM (Static random-access memory), however it is also possible to add memory to the Backup Board <NUM>. In addition to the memory, the functionality of the low power processing <NUM> includes an OSC (Oscillator Start-up Chip), a POR (Power On Reset), an Interrupt controller and on-chip peripherals.

Further, the Backup Board <NUM> contains power management <NUM> and an energy source <NUM> (battery, energy harvester or power supply or a combination of any or all these).

The Backup Board <NUM> has connectors which may include connectors for: a camera, screen, storage, NAND/NOR/SPI flash, DDR DRAM interface, Ethernet, memory stick, mouse, LAND, Wi-Fi, Bluetooth, headphone, speakers, keyboard wired and wireless, external and internal additional memory (SDIO/ SD card/Ram/ Flash) and minibus. However, for simplicity the functional diagram <FIG> shows only minibus <NUM>, a LAN port <NUM>, a screen <NUM>, hard drive <NUM> and internal and external additional memory <NUM> (SDIO/ SD card/Ram/ Flash).

<FIG> and <FIG> show functional diagrams illustrating the communication between sensor boards 200X. The 200x boards can be aligned vertically, horizontally or side by side. In embodiments they may be programmed in one or more of three ways:.

In embodiments the sensor devices are linked to the base station by programmable board <NUM> and/or backup board <NUM>. Communication is through a serial wire and base station <NUM> or backup board <NUM> act as a master.

<FIG> illustrates that the main board <NUM>, the base station <NUM> and the back-up board <NUM> have physical mini-USB connections through which they can load programs and program other devices.

<FIG> illustrates an embodiment of a software Graphical User Interface (GUI) <NUM> for the system. In the upper left of the Software Graphical User Interface <NUM> is the File Tab <NUM>. The File Tab <NUM> has the functionality of selecting, opening, creating, saving, printing, connecting, loading, deleting, saving and closing individual files and projects in the software system. The functionality is accessed in the computer or Internet enabled device by clicking on the File Tab <NUM> and selecting one of the sub-categories that appear in a drop-down menu.

The Open <NUM> sub-category offers the options of accessing the sub-options Project <NUM> or the File <NUM>. The Project <NUM> sub-option allows the user to access particular work projects created in the software system. The Project <NUM> sub-option accesses the compiled software for the Base Station <NUM>, the Backup Board <NUM> and the variety of Sensor Boards 200x used in a particular work project. The File <NUM> sub-option accesses individually compiled programs for a particular Base Station <NUM>, the Backup Board <NUM> or Sensor Board 200x.

The New <NUM> sub-category offers the sub-options of Project <NUM> and File <NUM>. The Project <NUM> sub-option allows the user to create a new project that will afterwards be accessible through the Project <NUM> sub-option. The New File <NUM> sub-option allows the user to create individually compiled programs for a particular Base Station <NUM>, the Backup Board <NUM> or Sensor Board 200x that will afterwards be accessible through the File <NUM> sub-option.

The Save <NUM> sub-category offers the sub-options of Save Project <NUM>, Save File <NUM>, Save Graph <NUM>, Save Data <NUM>, Save Raw Data <NUM> or Save Network Data <NUM>.

The Print <NUM> sub-option offers the printing sub-options of Print Project <NUM>, Print File <NUM>, Print Graph <NUM>, Print Data <NUM>, Print Raw Data <NUM> or Print Network Data <NUM>.

To connect to a particular board, the user will select the Connect <NUM> sub-category and to choose one the three sub-options of Connect to Base Station Board <NUM>, Connect to Backup Board <NUM> or Connect to The Sensor Board <NUM>.

The Load <NUM> sub-category allows the user to load a project to a Main Board <NUM> or Backup Board <NUM> or to load a file to a Sensor Board 200x using, respectively, the sub-options Load Project to Base Station Board <NUM>, second Load Project to Backup Board <NUM>, Finally Load File to The Sensor Board.

The Remove <NUM> sub-category provides the user with the sub-options Delete Project <NUM> and Delete File <NUM>.

The Close <NUM> sub-category provides the user with the sub-options of Save and Close Project <NUM>, Save and Close File <NUM>, Save All and Shut Down Program <NUM>.

In the upper left of the Software Graphical User Interface <NUM> is the View Tab <NUM>. The View Tab <NUM> has the functionality of selecting and opening information on the Main Board <NUM>, Sensor Boards 200x, Base Station <NUM> and Backup Board <NUM>. The View Tab <NUM> allows users to view wireless sensor network project and file information. The functionality is accessed in the computer or Internet enabled device by clicking on the View Tab <NUM> and selecting one of the sub-categories and sub-options that appear in a drop-down menu.

From the sub-category View Main Board <NUM>, users may choose the Power <NUM>. Using the Power <NUM> sub-option, users may view the power consumption information of the Main Board <NUM>.

From the sub-category View Sensor Boards <NUM>, users may choose the Power <NUM> and Network <NUM> sub-options. Using the Power <NUM> sub-option, users may view the power consumption information of the Sensor Boards 200x. Using the Network <NUM> sub-option, users may view wireless sensor network information about the Sensor Boards 200x such as radio frequency, bandwidth use, register identification, orbit, channel use, bit rate, transmission rate and other information.

From the sub-category View Base Station <NUM>, users may choose the Power <NUM> and Network <NUM> sub-options. Using the Power <NUM> sub-option, users may view the power consumption information of the Base Station <NUM>. Using the Network <NUM> sub-option, users may view wireless sensor network information about the Base Station <NUM> such as radio frequency bandwidth used, radio frequencies used, register identification, orbit, radio channel and frequency used, bit rate, transmission rate and other information.

From the sub-category View Backup Station <NUM>, users may choose the Power <NUM> sub-option. Using the Power <NUM> sub-option, users may view the power consumption information of the Backup Station <NUM>.

In the upper-right of the Software Graphical User Interface <NUM> is the Tools Tab <NUM>. The Tools Tab <NUM> has the functionality of initialising the Main Board <NUM>, Sensor Boards 200x, Base Station <NUM> and Backup Board <NUM>, as well as configuring the Sensor Boards 200x and Base Station <NUM>. The functionality is accessed in the computer or Internet enabled device by clicking on the Tools Tab <NUM> and selecting one of the sub-categories and sub-options that appear in a drop-down menu.

From the sub-category Initialisation <NUM>, users may configure the initialization of the Main Board <NUM>, the Sensor Boards 200x such as the type of sensor ((light <NUM>, temperature <NUM>, humidity <NUM>, accelerometer <NUM>, acoustic <NUM>, pressure <NUM>, infrared <NUM>, motion <NUM>, strain <NUM>, and the like), the Base Station <NUM> and the Backup Board <NUM>. These are accomplished using, respectively, the Main Board <NUM>, Sensor Boards <NUM>, Base Station <NUM> and Backup Board <NUM> sub-options.

The Sensor Boards 200x and the Base Station <NUM> are the wireless sensor network components that have radios. From the Configure Network <NUM> sub-category, users may configure elements of the Sensor Boards 200x and Base Station <NUM> such as radio frequency bandwidth use, register identification, orbit, channel use, bit rate and transmission rate.

In the lower-left quadrant of the Software Graphical User Interface <NUM> is a Help Tab <NUM>. The Help Tab <NUM> has the functionality of searching any query or information within the graphical interface.

In the embodiment of the Software Graphical User Interface <NUM>, <FIG>, the File Window <NUM> is located in the upper-left quadrant, the View Window <NUM> is located in the lower-left quadrant, the Tools Window <NUM> is located in the upper-right quadrant and the Help/Information Window <NUM> is located in the lower-right quadrant.

The File Window <NUM> displays all available actions under the File Tab <NUM>, including selecting, opening, creating, saving, printing, connecting, loading, deleting, saving and closing individual files and projects in the software system.

The View Window <NUM> displays all available actions under the View Tab <NUM>, including selecting and opening information on the Main Board <NUM>, Sensor Boards 200x, Base Station <NUM> and Backup Board <NUM>.

The Tools Window <NUM> displays all available actions under the Tools Tab <NUM>, including initialising the Main Board <NUM>, Sensor Boards 200x, Base Station <NUM> and Backup Board <NUM>, as well as configuring the Sensor Boards 200x and Base Station <NUM>.

The Help Window <NUM> displays all available actions under the Help Tab <NUM>, including searching any query or information within the graphical interface.

In the embodiment of the Software Graphical User Interface <NUM>, <FIG>, the Connection Status and Version Number Display <NUM> is located at the top of the upper-right quadrant. The Connection Status and Version Number Display <NUM> informs the user whether the interface is connected to the Main Board <NUM>, the Sensor Boards 200x, the Base Station <NUM> and/or the Backup Board <NUM>, as well as the version number of the software.

Referring now to <FIG> shows a portion of the motherboard <NUM> illustrating device boards <NUM> each with two frangible links 1402a,b formed by an isthmus of board linking one board to another and, at each end, to the motherboard. Apart from these frangible connections, the boards are separated from the motherboard by a cut or channel <NUM>. <FIG> shows a device in more detail, illustrating that each link <NUM> comprises a plurality of conductive tracks <NUM> for programming the device. In a <NUM>-wire embodiment these comprise a data line and a clock line; in a <NUM>-wire embodiment these comprise DATA_IN, DATA_OUT, CLOCK, and RESET. As illustrated in <FIG>, in embodiments the devices are daisy-chained via these connections/programming interfaces. <FIG> illustrated that in embodiments one or more fastening holes may be provided in a device board; the interface tracks may be run around these.

<FIG> shows a device housing <NUM>, <NUM>' prior to fastening around a device. In some embodiments housing <NUM> comprises upper and lower portions <NUM>, <NUM> hinged along one edge in a clamshell-type arrangement; in other embodiments the upper and lower portions <NUM>', <NUM>' of the housing <NUM>' are separate until fastened together. Figure 15b shows a view from above of one of these housing portions bearing a blade <NUM> at either end. <FIG> shows an enlargement of such a blade, viewed from above, and <FIG> shows a cross-sectional view through the housing when closed around a device. In Figures 15b, <FIG> and <FIG> the blade is curved, but it may alternatively be straight, as shown in <FIG>.

Referring to <FIG>, blade <NUM> in one portion <NUM> of the housing fits into a recess or step <NUM> in the other <NUM> portion of the housing. Blade <NUM> is preferably magnetic and mates magnetically with a corresponding magnet <NUM> in housing portion <NUM>. It is preferably but not essential to use strong magnets such as a rare earth magnet, for example a neodymium iron magnet, these can provide very high attractive forces. The isthmus <NUM> of board <NUM> is cut by the blade; the recess <NUM> has a stepped edge to allow the housing edges to close against one another, making space for the thickness of the board trapped between the edges of the housing. The conductive tracks <NUM> may be shorted by blade <NUM>, so preferably after programming voltages on these tracks are set to zero volts or the connections are left floating, for example by deactivating the programming interface. As shown in <FIG>, optionally the housing may be further held closed by fastenings <NUM>, such as screws or bolts.

In some preferred embodiments a device is sealed once within its housing. In embodiments a housing may be colour-coded according to a function of the device it contains, for example to simplify identification of the sensor type (temperature, humidity, displacement, tilt, acceleration, pressure and the like).

We now describe some further example applications of embodiments of the invention.

Companies typically desire to achieve uniformity in the use of the same security software and/or the same email system and/or the same applications, and so forth for a particular type of technology they use. Frequently, however, the types or brands and versions of the technology used by employees of a company vary, potentially also using different operating systems. This makes programming the devices according to company and employee requirements time-consuming, as each device must be individually configured according to the operating system it uses.

Embodiments of the invention address this problem, as one can program the devices, sequentially or simultaneously, by type or brand and/or operating system, in each case allowing each device to download the software appropriate to its operating system, thereby achieving substantial software uniformity across different hardware devices. For example, on the Main Board <NUM>, the Boards 200x can be set out in rows according to sensor type, with each row being a different device type. The Backup Board <NUM> instructs the Sensor Boards 200x either sequentially by row or all at once, to download software. The devices are programmed to download software compatible with their individual operating systems, thus saving time and achieving uniformity in the download of the same software across the rows of devices. Here the devices may comprise, for example, different main circuit boards of different consumer electronic devices such as mobile phones, or even laptops.

In this scenario, different pieces of the same type of technology are programmed with the same software and applications, but use they different operating systems. For example, one type or brand of mobile phones may use Mac OS™, another may use Android™, while still another may use WinC™. These devices are not configured in the same manner due to their differing operating systems, and the same versions of software and applications cannot be installed simultaneously on all of the devices. Instead, each device must be individually programmed with the particular version of software that is compatible with that particular operating system.

Thus to address this we use a main board as shown in the embodiment of <FIG>: within the Main Board <NUM> the "Sensor Boards" 200X are mobile phones set out in rows according to operating system i.e. a different operating system per row. The mobile phones are connected into the main board <NUM> by a JTAG interface or connection serial wire. In this example, an iPhone <NUM>, Samsung <NUM>, Nokia <NUM> are shown by way of illustration. In operation the Backup Board <NUM> programs the iPhone <NUM>, Samsung <NUM> and Nokia <NUM>.

The process begins with Backup Board <NUM> instructing the first row of iPhone <NUM> mobile phones to begin downloading the desired software, such as security software, an email system and other applications. Following programming completion, the first row of mobile phones may then be configured with the same customised software and applications. Next, Backup Board <NUM> instructs the second row of (here Samsung <NUM>) mobile phones to begin downloading the desired software, such as security software, an email system and other applications. Following programming completion, the second row of mobile phones will each be configured with the same customised software and applications; the second row will also be configured with the same customised software and applications as was downloaded by the first row iPhone <NUM> mobile phones, despite the fact that they use different operating systems. The Backup Board then instructs the third row of Nokia <NUM> mobile phones to begin downloading the desired software. This process continues on a row-by-row basis until all devices have been programmed.

Alternatively, the Backup Board <NUM> instructs all rows of mobile phones to simultaneously download the same software and configurations. Thus the iPhone <NUM>, Samsung <NUM> and Nokia <NUM> may download the same security software, the same email system and achieve substantially the same configuration at once, without the need to perform this function individually on a device by device basis.

In Scenario <NUM>, different types of technology, such as different types of mobile phone, a laptop and and/or laptops and/or tablets, are to be programmed with the same software for use within a company. These devices are not configured in the same manner because they are different types of technology and they use differing operating systems. Thus the same versions of software and applications cannot be installed simultaneously on all of the devices. Instead, each device must be individually programmed with the particular version of software that is compatible with that particular operating system. This makes programming the devices according to company and employee requirements time-consuming, as each device must be individually configured according to the operating system it uses (and different licenses are required for different devices).

Embodiments of the invention address this problem as they can program the devices, sequentially or simultaneously, by type and/or operating system, allowing each device to download the software appropriate to its operating system, thereby achieving application software uniformity across the devices. On the Main Board <NUM>, the "Sensor Boards" 200x are set out in rows according to sensor type, with each row being a different sensor type. Backup Board <NUM> instructs the Sensor Boards 200x, either sequentially by row or some or all at once, to download software. The devices are programmed to download software compatible with their individual operating systems, thus saving time and achieving uniformity in the download of the same software across the rows of boards.

The skilled person will appreciate the previously described "sensor boards" may be replaced by boards of various other device types. For example, in one example embodiment, the Main Board <NUM> carries one or more of: Nokia™ <NUM> mobile phones, HP <NUM> laptops, iPad™ <NUM> tablets and iPhone™ <NUM> mobile phones. These are set out in rows according to device type and connected to Backup Board <NUM> by a JTAG interface and/or serial wire. The Backup Board initialises the first row of Nokia <NUM> mobile phones to download security software, an email system and an application. After this completes, Backup Board <NUM> initialises second row of, say, HP™ laptops <NUM> to download the same security software, email system and application as the first row of Nokia <NUM> mobile phones, but appropriate to their own operating systems. Once this is accomplished, Backup Board <NUM> instructs the third row of, say, iPad™ tablets <NUM> to download the applications and so forth, until all devices are programmed with (functionally) the same security software, email systems and applications.

Alternatively, the Backup Board <NUM> may instruct some or all rows devices to simultaneously download the same software and configured to their operating systems. Thus in the preceding example the Nokia <NUM> mobile phones, the HP <NUM> laptops, the iPad <NUM> tablets and the iPhone <NUM> mobile phones may download the same security software, the same email system and achieve the same effective configuration in parallel, without the need to perform this function individually on a device by device basis.

In this scenario RFID chips are added to mobile phones and tablets for the purposes of employee identification allowing, say, access to company premises at doors, elevators and gates and, for example, for use at vending machines or checkouts where they may be used to debit an employee's cash account when purchasing goods or services.

In this example, on the Main Board <NUM>, the Sensor Boards 200x may comprise or consist of RFID chips or devices. The RFID chips or devices may be uniformly programmed as well as personalised per device where required. With programmed and personalised RFID chips or devices employees may, for example, have personal identification information such as biometric information pre-installed ready for identification purposes. Similarly electronic funds (cash) may be pre-installed on such or other devices.

In this example scenario the sensors are used to assess and monitor the activity and performance of the different muscles and body parts of the athletes. For example a team coach may configure sensors for each of the players on the team. For instance a team coach may wish wants to see the activity of the players' muscles or organs such as heart, lungs, thighs, biceps, chest and/or knees. The coach may wish the entire team to have at least a minimum performance standard, and where there are injured players, may wishs to monitor those players' performance while they recover. The Backup Board <NUM> may, for example, program the sensor boards 200x with the team's acceptable performance range. Additionally, each player may have their personalised information programmed into their sensors, which may, for example, be mounted on their clothes. This can allow, for example, a coach to monitor which players perform within the acceptable team-wide performance range; and/or which players perform within position specific performance ranges; and/or how players are performing based on historical measurements. Optionally the coach may also be able to examine how the players perform in comparison to each other. This can allow the team to refine training methods and produce personalised programs for each player to enhance sports performance. Such a system may, for example, allow a coach to identify performance weaknesses in certain areas of each player's body that may indicate whether an injury has occurred or is in danger of occurring, thus allowing remedial action to be taken.

In this scenario the sensors are used to monitor patient location and/or health indicators in a hospital. When patients check in to the hospital, they receive a tag containing the technology already configured to communicate with sensors deployed throughout the hospital, programmed in accordance with embodiments of the invention. The tag may communicate with sensors throughout the building to identify the patient's location in the hospital. Additionally or alternatively a tag may be programmed with identifiers such as the patient's identity, health history, medication required and so forth. Further information monitored during the patient's stay such as vital signs, nurse and doctor visits, and/or medication given may be stored onto the tag in use. Thus sensors programmed in accordance with embodiments of the invention can allow hospitals to provide more accurate, efficient and complete care to patients.

Claim 1:
A method of manufacturing a plurality of electronic devices, the method comprising:
programming the plurality of electronic devices, where the programming comprises:
providing a motherboard (<NUM>) comprising a first PCB, printed circuit board, array region, wherein said PCB array region defines an array of individual device PCBs (<NUM>) each for an electronic device, each having a frangible link (<NUM>) to the motherboard (<NUM>) across a scribe line of the motherboard;
providing the plurality of electronic devices on said individual device PCBs (<NUM>); providing a programming system for said PCB array region; and
operating said programming system to program said electronic devices by providing programming data through said frangible links (<NUM>), whilst said electronic devices are on said motherboard, with one or more of: operating system software, application software, and configuration data for the devices;
the method further comprising
removing said electronic devices from said motherboard (<NUM>),
wherein said providing of said plurality of electronic devices comprises fabricating said devices on said individual device PCBs on said motherboard (<NUM>),
wherein the electronic device is a sensor device (<NUM>, <NUM>, <NUM>, <NUM>, <NUM>), and
wherein said device PCBs and said first PCB array region form a panel, and wherein said removing of a device comprises fastening a case around a said device such that said fastening cuts said frangible link(s).