Motion-based proximity systems and methods
An on-device machine-learning pipeline and decentralized wireless communication system with motion classification and direction signalling address challenges in detecting motion and distance, enabling accurate and efficient proximity interactions on mobile devices.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ANDON TECH PTY LTD
- Filing Date
- 2025-12-16
- Publication Date
- 2026-06-25
AI Technical Summary
Existing systems face challenges in accurately detecting and classifying different motion types on mobile devices in real-time with limited processing and power resources, determining distance and direction between moving devices without fixed infrastructure, and managing wireless communication to avoid interference and latency in cluttered environments.
An on-device machine-learning pipeline for motion classification, combined with a distance and direction signalling architecture using wireless ranging and orientation sensing, and a room-based network setup with time-division topology for decentralized proximity and interaction.
Enables accurate, decentralized proximity and interaction between mobile units without fixed infrastructure, suitable for compact, battery-powered devices, by classifying motion, determining precise distance and direction, and managing wireless communication efficiently.
Smart Images

Figure AU2025051430_25062026_PF_FP_ABST
Abstract
Description
Motion-Based Proximity Systems and MethodsTechnical Field
[0001] The present disclosure broadly relates to electronic devices and systems that determine motion and relative position and, more particularly, to mobile units and associated methods for determining distance and direction between devices using wireless signalling, on-device motion classifying, and establishing and managing wireless communication networks.Background
[0002] Electronic devices that sense motion and manage proximity between mobile units are increasingly used in gaming, fitness, training, industrial monitoring and vehicle safety. Such systems often rely on compact devices equipped with motion sensors and wireless communication circuits to detect how they are being moved, to estimate relative distance and direction to other devices, and to trigger application-level behaviours such as status updates, warnings or interactive game events. In many scenarios, several devices or users are present at the same time, and meaningful interaction depends not just on detecting that “something moved” or that “something is nearby”, but on recognising specific types of movement and understanding which other device is in a relevant zone in front of, beside or behind a given device.
[0003] However, a number of technical challenges arise in these contexts. Accurately detecting and classifying different motion types on a mobile device, in real time and with limited processing and power resources, can be difficult, particularly when noisy sensor data must be interpreted in a robust way. Determining distance and direction between moving devices with sufficient precision, and doing so without relying on extensive fixed infrastructure, is also challenging in cluttered or dynamic environments. When multiple devices share the same space, there is the further problem of setting up and managing wireless communication so that devices can exchange ranging information, proximity events and status messages without excessive interference or latency, while still allowing devices to join and leave the group dynamically.
[0004] Any discussion of documents, acts, materials, devices, articles or the like which has been included in the present specification is not to be taken as an admission that any or all of these matters form part of the prior art base or were common general knowledge in the field relevant to the present disclosure as it existed before the priority date of each claim of this application.Summary
[0005] Described herein are embodiments of an on-device machine-learning pipeline that classifies motion classes from segmented motion sensor data and uses those classes to control application-level functions; a distance and direction signalling architecture in which first wireless signals, received via a plurality of antennas and combined with heading information from an orientation sensor, are used to derive direction vectors, distances and robust target-determination or proximity signals; and a room-based network setup and time-division topology whereby an electronic device operating as an initiator allocates and manages transmission timeslots in a repeating time frame for itself and other devices. This combination supports accurate, decentralised proximity and interaction between mobile units without fixed infrastructure, while remaining suitable for compact, battery-powered electronic devices.
[0006] In one aspect, there is provided an electronic device that performs on-device machine-learning motion classification.
[0007] The device comprises at least one motion sensor configured to provide motion sensor data along a plurality of axes over time, and a controller configured to segment that motion sensor data into time windows and, for each window, compute a feature vector comprising a plurality of statistical features for that time window. The controller provides each feature vector as input to a machine-learning classifier stored at and executed by the electronic device, obtains from the classifier an output indicating a motion class associated with the corresponding time window, and controls at least one application-level function of the electronic device or of an associated system based on the motion class. In some embodiments, the at least one motion sensor comprises an accelerometer and a gyroscope, and the feature vector includes statistical features derived from both accelerometer data and gyroscope data. The machine-learning classifier may be a support vector machine trained on labelled motion data and deployed in the device in the form of stored parameters, allowing the device to recognise movements such as walking, running, shaking, cradling or throwing in real time without reliance on external processing.
[0008] In another aspect, there is provided an electronic device with integrated distance and direction signalling based on a novel combination of wireless ranging and orientation sensing.
[0009] The device comprises a first wireless communication circuit configured to transmit and receive first wireless signals via a plurality of antennas, an orientation sensor configured toprovide heading information indicative of an orientation of the electronic device in a reference frame, and a controller. The controller is configured to obtain the heading information, control the first wireless communication circuit to transmit at least one first wireless signal comprising information indicative of the heading information and an identifier of the electronic device, receive at least one first wireless signal transmitted by another device, and determine, based on differences in arrival time and / or phase of the received first wireless signal at the plurality of antennas, a direction vector from the electronic device towards the other device. The controller further determines, based on a time-of-flight associated with the first wireless signal, a distance between the electronic device and the other device, and compares the direction vector with the heading information. When the direction vector satisfies a directional criterion relative to the heading information and the distance is within a predetermined range, the controller generates a target-determination signal or proximity signal. In some embodiments, this comparison is performed by forming a first vector representing the heading information, computing a dotproduct between the first vector and the direction vector, and determining that the directional criterion is satisfied when an angle between the vectors, derived from the dot-product, lies within a tolerance band. This dual-layer use of heading and angle-of-arrival enables the device to resolve which other device lies in a relevant interaction or hazard sector, rather than merely identifying nearby devices based on distance alone.
[0010] In another aspect there is provided a method for network setup and room topology management for time-division ranging.
[0011] An electronic device in this aspect comprises a wireless communication circuit, a time reference and a controller configured to operate in an initiator mode in which it causes the wireless communication circuit to broadcast a room invitation message, receives a plurality of acceptance messages transmitted by other devices in response to the room invitation message, allocates, for each accepting device and for itself, a respective transmission timeslot within a repeating time frame, and transmits, to the accepting devices, timeslot allocation information identifying the respective transmission timeslots. The controller then causes the wireless communication circuit to transmit a ranging signal during a transmission timeslot allocated to the electronic device and to operate in a receiving mode during transmission timeslots allocated to other devices, in order to receive ranging signals transmitted by those other devices. In a joiner mode, the controller may receive a room invitation message broadcast by another device, transmit an acceptance message, receive timeslot allocation information and store an indication of a transmission timeslot allocated to the electronic device. While operating in the receivingmode, the controller may determine distances and optionally directions to each other device based on the ranging signals, maintain a representation of a relative topology of devices participating in the room, and dynamically update the timeslot allocation in response to devices joining or leaving, broadcasting updated allocation information as required.
[0012] In come embodiments, these features are combined into a multi-device, infrastructure- free spatial tracking and communication system. Each electronic device in such a system can act as both a ranging node and a target, participating in one or more rooms without reliance on fixed anchors. A first wireless communication circuit (for example using ultra-wideband or an equivalent high-precision ranging technology, optionally supplemented by directional optical signalling) provides accurate distance and direction information. A second wireless communication circuit, different from the first, is configured so that, upon the controller generating a target-determination signal or proximity signal, it transmits a message indicating one or more of: an identifier of the electronic device, an identifier of the other device, a category of event and a measure derived from the distance. In some implementations, messages on the second wireless communication circuit fall into distinct classes such as status broadcasts, event notifications or acknowledgements, and devices filter and process messages based on their role and the message type. The same device may also use its on-device machine-learning motion classification to detect specific motion classes and use those classes as trigger conditions for entering initiator mode, transmitting ranging signals in an impulse mode, or initiating particular application-level functions.
[0013] Throughout this specification the word “comprise” or variations such as “comprises” or “comprising”, will be understood to imply the inclusion of a stated element, integer or step, or group of elements, integers or steps, but not the exclusion of any other element, integer or step, or group of elements, integers or steps.Brief Description of Drawings
[0014] Embodiments of the disclosure are now described by way of example with reference to the accompanying drawings in which:
[0015] Figure 1A is a flow diagram of an embodiment of a method for distance and direction signalling.
[0016] Figure IB is a flow diagram of an embodiment of a method for motion detection.
[0017] Figure 1C is a flow diagram of an embodiment of a method for network setup and topology management.
[0018] Figure 2A is a schematic representation of an embodiment of an electronic toy.
[0019] Figure 2B is a schematic representation of an embodiment of an electronic toy.
[0020] Figure 3 is a flow diagram of a method for operating an electronic toy.
[0021] Figure 4A is a flow diagram of a subroutine for using an auxiliary item with an electronic toy.
[0022] Figure 4B is a schematic representation of an embodiment of establishing a multiplayer network.
[0023] Figure 5 shows a number of example embodiments of electronic toys, each in the form of a ball.
[0024] Figure 6 illustrates the use of an auxiliary item with an electronic toy.
[0025] Figures 7A-7C show three flow diagrams for subroutines in the operation of an electronic toy that use inputs from the sensors with respect to velocity and orientation of the toy.
[0026] Figure 8 is a schematic representation of a peer-to-peer gameplay network.
[0027] Figure 9 is a schematic representation of a centralised network for game setup.
[0028] Figure 10 is a block diagram of an example embodiment of a computing device.
[0029] Figure 11 is a flow diagram of a method of controlling a virtual object in a virtual environment.
[0030] Figure 12 is a flow diagram of a method of establishing a peer-to-peer network for gameplay.
[0031] Figure 13 is a schematic block diagram of an embodiment of an electronic device system.
[0032] Figure 14 is a schematic block diagram of an embodiment of a hardware design of an electronic device systemDetailed Description
[0033] Described herein are methods and systems integrating software modules and hardware components to enable precise distance and direction measurement, machine-leaming-based motion detection, and robust multi-device interactions for applications such as collision prevention, asset tracking, and interactive gaming.Integrated Software Modules and Wireless Components
[0034] The electronic devices that are (or become) part of a network, execute a set of software modules that implement distance and direction signalling, room-based and impulse ranging modes, and / or on-device machine-learning motion classification. A controller of the electronic device co-operates with at least one first wireless communication circuit configured to transmit and receive first wireless signals via a plurality of antennas, an orientation sensor configured to provide heading information indicative of an orientation of the device, and at least one motion sensor configured to provide motion sensor data along a plurality of axes over time. These software modules run on the controller and make the device capable of establishing wireless “rooms” for distance and direction measurement, calculating target devices based on heading and angle-of-arrival, and classifying user motions using an on-device machine-learning classifier.Ultra-Wideband Distance and Direction Algorithms
[0035] In some embodiments, the software implements a distance and direction algorithm using ultra-wideband technology as an example of the first wireless communication circuit. The controller controls the first wireless communication circuit to transmit first wireless signals and determines distance to another device based on a time-of-flight associated with the first wireless signal, that is, how long it takes the signal to propagate from a transmitting device to a receiving device. The controller further determines a direction vector from the electronic device towards the other device by analysing differences in arrival time and / or phase of the received signal at the plurality of antennas, thereby obtaining an angle-of-arrival. To reduce interference, the software ensures that only one device is permitted to broadcast ranging signals on a given channel at any one time, so that a receiving device can unambiguously calculate distance and direction for the current broadcasting device. In parallel, a second wireless communication circuit, for example operating in a 2.4 GHz band, may be used for coarse distance estimation based on received signal strength and for exchanging application-layer messages, while the first wireless communication circuit is reserved for precise ranging and direction determination.Distance and Direction Determination Using Ultra-Wideband (UWB)
[0036] In certain embodiments, a plurality of interactive devices are configured to determine relative distance and direction by means of an ultra-wideband (UWB) radio system. A first device (the “broadcasting device”) transmits a UWB signalling packet over a shared UWB channel. A second device (the “receiving device”) receives the packet and, based on the receivedsignal, computes both: a distance value, and a direction value indicating the relative bearing of the broadcasting device.
[0037] The distance is determined using a time-of-flight technique. The receiving device measures the time required for the UWB signal to propagate from the broadcasting device to the receiving device. By multiplying the measured propagation time by an estimate of the speed of light in air, the system derives an estimate of the separation between the devices.
[0038] The direction is obtained using an angle-of-arrival technique. The receiving device comprises multiple UWB antennas that are spatially separated from one another. The same UWB signal is received at the respective antennas at slightly different times and / or with phase differences. From these inter-antenna timing or phase differences, the device computes an angle- of-arrival of the incoming wavefront, which defines a direction vector from the receiving device towards the broadcasting device.
[0039] To avoid interference and ambiguity, only one device is permitted to broadcast its UWB signal at any given time on the shared UWB channel. In certain embodiments this is achieved through a time-division scheme, as described below. Because only one transmitting device is active at a time, the receiver can unambiguously associate the measured distance and angle-of- arrival with that broadcasting device.Wireless Messaging and Coarse Distance Estimation Using ESP-NOW
[0040] In addition to the UWB system, each device may include a radio-frequency transceiver configured to operate using a 2.4 GHz low-latency wireless protocol, such as ESP-NOW™ or a functionally equivalent protocol. This protocol is employed both for exchanging applicationlayer messages among the devices and for obtaining a coarse estimate of separation between devices.
[0041] In one implementation, each device monitors a received signal strength indicator (RS SI) value associated with messages received from another device over the ESP-NOW link. An approximate distance between devices can be inferred from the RSSI, providing a rough range estimate that can be used, for example, for proximity-based behaviours where high precision is not required.
[0042] The ESP-NOW protocol further provides a robust, omni-directional messaging channel for delivering control messages, status updates, acknowledgements, and other applicationspecific data between devices. In some embodiments, the UWB subsystem is used primarily forprecise ranging and direction, whereas the ESP-NOW subsystem is used for general wireless communication and coarse ranging.Room-Based Wireless Communication and Time Division
[0043] In a “virtual room”-based implementation, the controller is configured to operate in an initiator mode. When operating in this mode, the controller causes the wireless communication circuit to broadcast a room invitation message that includes a preamble and an identifier of the device, such as a MAC address. Devices that wish to participate operate in a joiner mode, receive the room invitation message and transmit an acceptance message that includes their own identifiers. After an invitation period, the initiator allocates, for each accepting device and for itself, a respective transmission timeslot within a repeating time frame by applying a time division multiple access technique. It then causes the wireless communication circuit to transmit timeslot allocation information to each joining device, indicating a delay or offset that defines the device’s transmission timeslot. In operation, the initiator may maintain a base period, and other devices transmit at offsets relative to that period, so that all devices share the same channel but are active in different timeslots. During its own timeslot, each device transmits a ranging signal and, for example, its current heading information derived from the orientation sensor, and then switches to a receiving mode for the remainder of the frame. In the receiving mode, each device listens for first wireless signals transmitted by others and determines distances and direction vectors to the other devices. The controller can maintain, based on these periodically exchanged ranging signals, a representation of a relative topology of devices participating in the room. The software may further allow dynamic updating of timeslot allocations when devices join or leave, and can suspend room operation and switch to an impulse mode if conditions such as a low number of participants or a particular battery state are detected.“ Room” -Based UWB Time Division Multiple Access Implementation
[0044] In a first UWB implementation, referred to herein as the “room” implementation, a time-division multiple access (TDMA) scheme is used to coordinate UWB transmissions among a group of devices.
[0045] Each device maintains a local clock that is synchronised to a network time source, such as a network time protocol (NTP) server. The use of a synchronised time base enables devices to share a global schedule of UWB transmission time slots without the need for continuous resy nchroni sati on .
[0046] A first device acts as an initiator for a logical UWB “room”. The initiator broadcasts a room invitation message that includes at least: a preamble field identifying the message as a room-start message, and an identifier for the initiator device, such as a MAC address.
[0047] Neighbouring devices that receive the room invitation and wish to participate respond with an acceptance message. Each acceptance message contains: a preamble field identifying the message as a room-accept message, and an identifier of the accepting device.
[0048] After a predetermined invitation period, sufficient to allow nearby devices to reply, the initiator device compiles a list of accepted devices and allocates a dedicated UWB transmission timeslot to each such device. The allocation is communicated back to the participants in one or more timeslot assignment messages. Each timeslot assignment message includes, for each accepted device, an indication of: the device identifier, and a delay or offset value specifying a first time at which that device should perform its UWB broadcast relative to a reference time (e.g. relative to the initiator’s own broadcast schedule).
[0049] In an illustrative example, the initiator assigns itself a base transmission period, such as 500 ms. The initiator then allocates successive offset delays to the accepted devices, such as 10 ms for a first device and 20 ms for a second device, relative to the initiator’s broadcast time.Thus, during steady-state operation, the initiator broadcasts a UWB signal at the beginning of its period, the first accepted device broadcasts after a first offset, and the second accepted device broadcasts after a second offset, and so on.
[0050] Each device thereby obtains an exclusive UWB transmission timeslot in which it may broadcast its ranging signal without collision. While broadcasting its UWB signal, the device may additionally transmit its current magnetic heading, as measured by its on-board magnetometer. For example, the device may send a heading message that includes: a preamble identifying the message as a heading message, a device identifier, and a coded representation of the device’s heading, such as an encoded angle.
[0051] After completing its broadcast in the assigned timeslot, the device switches its UWB subsystem into a receiving mode for the remainder of the TDMA frame. In this receiving mode, it listens for UWB signals broadcast by other devices, measures the time-of-flight and angle-of- arrival of those signals, and computes the relative position of each broadcasting device.Impulse-Based Ranging and Power Efficiency
[0052] In an impulse implementation, the controller configures the first wireless communication circuit for each device to remain in a receiving state as a default. When a triggercondition is met at a given device, such as a button press or a motion class detected by the machine-learning classifier, the controller causes that device’s first wireless communication circuit to transmit a ranging signal as a broadcast. Neighbouring devices, which are in the receiving state, detect the ranging signal and compute distance and direction vectors to the initiating device using time-of-flight and angle-of-arrival techniques. During the broadcast, the initiating device may also transmit its current heading information derived from the orientation sensor, so that receivers can combine their UWB-based direction vectors with the reported heading of the initiator. After broadcasting, the initiating device returns to the receiving state. This impulse scheme requires significantly less continuous synchronisation than the room-based scheme, and is more power-efficient because devices transmit only when needed, at the cost of less frequent position updates.
[0053] In another implementation, referred to as the “impulse” implementation, UWB ranging is performed on-demand without pre-allocating timeslots.
[0054] In this mode, each device normally operates its UWB subsystem in a receiving state, ready to receive UWB signals. When a user performs a trigger action on a particular device, such as pressing a button, that device switches to a transmit state and emits a UWB broadcast signal to neighbouring devices.
[0055] Neighbouring devices that receive the broadcast compute the distance and direction of the transmitting device using the time-of-flight and angle-of-arrival techniques described above. During its transmission, the initiating device may also broadcast its current magnetic heading, encoded in a heading message that includes a device identifier and a representation of the heading angle.
[0056] After transmitting its UWB burst, the initiating device returns its UWB subsystem to the receiving state. Compared with the room-based TDMA approach, the impulse implementation requires significantly less configuration and synchronisation. It is therefore more powerefficient, as devices broadcast only when needed, at the expense of providing less frequent position updates.Direction Validation Using Heading and Angle-of-Arrival
[0057] The software further provides a direction calculation algorithm that combines heading information from the orientation sensor with the direction vector obtained from the first wireless communication circuit. In this algorithm, each device forms a first vector representing the heading information, for example a three-dimensional vector aligned with the device’sorientation in a global reference frame, and a second vector representing the direction vector derived from the received ranging signal. The controller computes a dot-product between the heading vector and the direction vector, and from this dot-product derives an angle between the two vectors. If the angle lies within a predetermined tolerance band, for example plus or minus ten degrees, the controller determines that the directional criterion is satisfied and that the other device lies substantially along the heading direction. Devices that do not satisfy this criterion disregard a corresponding event, such as an attack signal, while a device for which the criterion is met identifies itself as the intended target and may generate a target-determination signal. This dual-layer direction-validation filter, based on both orientation and angle-of-arrival, improves robustness in environments with multiple devices by reducing the likelihood that a device that is nearby but not in the intended direction will respond.Target Selection Using Combined UWB and Magnetometer Direction Vectors
[0058] In some embodiments, the system combines information derived from the magnetometer and the UWB angle-of-arrival measurements to determine which device is the intended target of an action, such as a game “attack”.
[0059] Each device is capable of computing its own heading vector in a three-dimensional reference frame based on magnetometer readings. When a device acts as an initiator of an action, it broadcasts its heading vector (or an encoded representation of that heading) together with its UWB ranging signal.
[0060] A neighbouring device that receives the UWB signal and the corresponding heading information computes a UWB direction vector that points from the receiving device towards the initiating device. A comparison is then performed between: a vector representing the initiating device’s reported heading, and the UWB direction vector.
[0061] In one implementation, the comparison is carried out using a vector dot-product between the two 3D vectors. The sign and magnitude of the dot-product indicate whether the two vectors are broadly aligned and how closely they align. If the angle between the vectors is within a prescribed tolerance, for example within a band of ±10 degrees, the receiving device concludes that the vectors are aligned.
[0062] Devices for which the vectors are not aligned disregard the action. A device for which the directional comparison indicates alignment identifies itself as the intended target and processes the action accordingly. This dual-layer direction validation, requiring both UWB-derived direction and magnetometer heading to agree, provides robust target resolution in environments with multiple devices.Directional Optical Signalling Alternative
[0063] As an alternative to using the first wireless communication circuit for direction, the software may control a directional optical signalling subsystem. In such an embodiment, the controller is configured, in response to a trigger event, to control at least one optical transmitter to emit a modulated, directional optical signal containing an identifier of the electronic device. Neighbouring devices that have at least one optical receiver receive the modulated signal when they are within the beam and decode the identifier. When the optical receiver detects such a signal, the controller treats the emitting device as a candidate target for possible interaction, and may then further apply the distance and direction logic described above to confirm whether to respond. The optical channel thereby serves as a directional pre-filter for candidate devices, providing a simple line-of-sight mechanism that complements the first wireless communication circuit.
[0064] As an alternative to UWB direction determination, an implementation using infrared (IR) components may be employed. In this variant, an initiating device emits a directional IR beam from a front-facing IR transmitter. Neighbouring devices are equipped with multiple IR receivers disposed around their housings.
[0065] When an IR receiver on a neighbouring device detects the incident IR beam, that device recognises itself as the target of the initiating device’s action. This approach has a lower configuration overhead than either UWB implementation, as it does not require TDMA scheduling or network time synchronisation. However, the maximum practical range of the IR beam, particularly in outdoor conditions, is typically limited (for example, to around 1.5 m), and IR receivers may be obstructed or covered, resulting in missed detections.On-Device Machine-Learning Motion Detection
[0066] The software also implements on-device machine-learning motion detection. The controller receives raw motion sensor data from at least one motion sensor, such as accelerometer and gyroscope data, and segments this data into time windows. For each time window, the controller computes a feature vector comprising a plurality of statistical features of the motion sensor data, such as average, maximum, minimum and counts of average crossings for individual axes and for overall magnitudes, although the specific set of statistical features may vary. The feature vectors are provided as inputs to a machine-learning classifier, such as asupport vector machine that has been trained on labelled motion data. Training may be carried out offline on a separate system using representative examples of motion classes, such as walking, running, throwing, cradling and shaking, and the resulting classifier parameters, including support vectors, weights and intercepts, are then stored in the memory of the electronic device. During operation, the classifier receives feature vectors and outputs a motion class for each time window, and the controller uses these motion classes to control application-level functions, such as initiating a ranging broadcast, adjusting a state of a virtual entity, updating step counts or logging activity for medical or sports analysis. The classifier may also work in combination with a step counter provided by the motion sensor or implemented by the controller, so that step counts are updated only when motion classes indicative of locomotion are detected.Motion Detection Algorithm Using Support Vector Machine (SVM)
[0067] In some embodiments, a motion classification module is provided that utilises a machine-learning algorithm to identify actions performed by a user based on sensor data from the device.
[0068] The device includes motion sensors such as a gyroscope and an accelerometer. During operation, raw sensor readings are sampled over time to obtain time-series data along three axes (x, y, z) as well as an overall magnitude. From this raw data, a feature-extraction stage computes a set of statistical features that characterise the motion.
[0069] In one implementation, the features include, for each of the gyroscope and accelerometer signals: an average value over a window, a maximum value, a minimum value, and a count of “average crossings”, defined as the number of times the signal crosses its mean value over the window (analogous to zero-crossings, but referenced to the average rather than zero).
[0070] These features may be computed for each axis and for an overall magnitude, resulting, in one example, in a feature vector of thirty -two components.
[0071] The feature vectors are provided as inputs to a support vector machine (SVM) classifier. The SVM is trained, in an offline training phase, using labelled examples corresponding to different motion classes, such as throwing, cradling, walking, running, and similar actions.
[0072] The trained SVM yields a set of parameters — such as support vectors, dual coefficients and intercept values — that are small enough to be stored and executed on the device. During normal operation, the device applies the SVM classifier to feature vectors derived from current sensor data to output a predicted motion class.
[0073] By combining the SVM-based action detection with information from an on-board step counter (for example, derived from accelerometer data), the system can reliably determine whether the user is walking or running and can maintain an accurate count of steps taken.Application Scenarios and System Integration
[0074] The software supports higher-level scenarios based on the algorithms described herein. For collision detection and prevention, a set of devices participates in a room-based implementation, allowing each device to know its relative position and movement direction compared to others, without needing fixed anchors as in conventional time-difference-of-arrival systems. For asset locating, an impulse-based implementation allows a user to trigger a broadcast and obtain distance and direction information from attached devices on assets, with results returned over the second wireless communication circuit. For hybrid gaming and interactive applications, the system combines motion classification, distance and direction signalling, directional filtering and messaging so that devices can translate physical motions and proximity into reliable digital interactions across multiple devices.Distance and Direction
[0075] In some embodiments, an electronic device comprises a first wireless communication circuit configured to transmit and receive first wireless signals via a one or more antennas, a controller, and an orientation sensor configured to provide heading information indicative of an orientation of the electronic device in a reference frame. The orientation sensor may comprise orientation sensing circuitry configured to generate a heading signal indicative of an orientation of the device in a reference frame. The orientation sensing circuitry may be configured to determine a heading based at least in part on measurements of an ambient magnetic field and may comprise a magnetic sensor (also called a magnetic field sensor), in the form of a magnetometer.
[0076] The controller is configured to obtain the heading information from the orientation sensor; control the first wireless communication circuit to transmit at least one first wireless signal comprising information indicative of the heading information and an identifier of the electronic device; receive, via the first wireless communication circuit, at least one first wireless signal transmitted by another device; determine, based on differences in arrival time and / or phase of the at least one first wireless signal at the plurality of antennas, a direction vector from the electronic device towards the other device; determine, based on a time-of-flight associated with the at least one first wireless signal, a distance between the electronic device and the otherdevice; and compare the direction vector with the heading information and, when the direction vector satisfies a directional criterion relative to the heading information and the distance is within a predetermined range, generate a target-determination signal or proximity signal.
[0077] In some embodiments, the electronic device provides improved target selection in environments where multiple devices are present. Because the device determines both a direction vector towards another device, based on differences in arrival time and / or phase at multiple antennas, and a heading of the device from the orientation sensor, it can assess whether another device lies substantially along the direction in which it is facing. This allows the controller to identify which device is intended as the target, for example the device “in front of’ the user, and to reduce false positives that might otherwise arise when several devices are nearby but not directionally aligned.
[0078] The described combination also enables infrastructure-free distance and direction awareness. By deriving distance from time-of-flight measurements and direction from multiantenna reception, using only signals exchanged between peer devices, the device can estimate relative position without relying on external anchors, cameras, or fixed beacons. This simplifies deployment and lowers cost, as devices can be used in ad-hoc environments without the need for dedicated positioning infrastructure, while still providing rich spatial information.
[0079] Further, the device can provide more meaningful proximity and collision detection by taking into account both distance and orientation. The controller may determine not only whether another device is within a given range, but also whether that device is located within a defined angular region relative to the device’s heading, such as a forward sector or “field of interaction.” This allows warnings or control actions to be focused on objects that are both close and directionally relevant, reducing nuisance alerts from objects that are nearby but situated to the side or behind the device.
[0080] In certain implementations, each device is capable of transmitting its own heading and identifier, receiving similar signals from others, and performing the direction-heading comparison locally. This symmetric capability permits decentralised operation in which any device can independently determine whether it is a target or at risk, without a central controller. Such decentralisation can improve robustness, remove single points of failure, and permit devices to join or leave the environment dynamically while maintaining useful proximity functionality.
[0081] By jointly using distance, direction and heading information, the system can discriminate more effectively than approaches based only on distance or only on orientation. Distance-only systems may be unable to distinguish between objects that are close but behind the user, and heading-only systems may be unable to distinguish between different objects at similar bearings. The present combination improves spatial discrimination while remaining suitable for compact, battery-powered mobile devices, as it relies on an orientation sensor, a multi-antenna wireless front-end, and timing and phase processing in the controller, without requiring bulky or power-intensive positioning hardware.
[0082] In some embodiments, the controller may be configured to compare the direction vector with the heading information by: forming a first vector representing the heading information; computing a dot-product between the first vector and the direction vector; and determining that the directional criterion is satisfied when an angle between the vectors, derived from the dotproduct, lies within a tolerance band.
[0083] This feature provides a precise and computationally efficient way to decide whether another device is actually in the relevant direction of interest, rather than just somewhere nearby. By representing both the device’s heading and the direction towards the other device as vectors and using a dot-product, the controller can derive the angle between them with simple arithmetic operations that are well suited to low-power embedded processors. Applying a tolerance band to that angle allows the system to define a clear directional acceptance region, such as “within ±30 degrees of straight ahead,” in a mathematically robust way that is insensitive to small measurement errors and noise. As a result, the device can make reliable, repeatable decisions about whether another device lies within its intended interaction or hazard sector, improving target selection and proximity detection without requiring complex or resource-intensive calculations.
[0084] The controller may be configured to define a forward interaction region as a cone or sector extending from the electronic device within a predetermined angular width about the heading information, and to determine that the directional criterion is satisfied when the direction vector lies within the forward interaction region.
[0085] The controller may be configured, when the proximity signal indicates that the distance is less than a speed-dependent threshold, to generate a collision-risk signal.
[0086] The device may comprise an output interface configured to provide, based on the collision-risk signal, at least one of a human-perceptible warning; and a control signal for limiting speed, braking or steering of a vehicle with which the electronic device is associated.
[0087] The first wireless communication circuit may be configured to transmit impulse-radio signals and to support determining the distance using two-way ranging.
[0088] The device may comprise at least one optical transmitter and at least one optical receiver, and wherein the controller is further configured to: in response to a trigger event, control the at least one optical transmitter to emit a modulated, directional optical signal containing an identifier of the electronic device; and when the at least one optical receiver detects a corresponding directional optical signal emitted by another device, decode an identifier of the other device and treat the other device as a candidate target for comparing the direction vector with the heading information.
[0089] This feature means that, in addition to the radio-based ranging and direction functions, the device can also use a light-based (for example infrared) channel to help decide which other device it should pay attention to. The device includes at least one optical transmitter and one optical receiver. When a particular trigger event occurs - such as a user performing an “attack” gesture, pressing a button, or entering a certain mode - the controller drives the optical transmitter to send out a narrow, directional beam carrying a small data packet that includes the device’s identifier. Any other device that is physically in the path of that beam and has its optical receiver exposed can detect this modulated signal, decode it, and recover the identifier of the sending device. When that happens, the receiving device treats the sender as a “candidate target” and then applies the more advanced radio-based distance and direction logic (using the direction vector and heading information) to confirm whether it should respond as the intended target.
[0090] The benefits of this approach are several. Because the optical signal is directional and line-of-sight, it naturally selects devices that are physically pointed at, or directly in front of, the sending device, which reduces the number of devices that need to be considered in later processing. This can simplify and speed up the radio-based computations, since only devices that have actually seen the optical beam are treated as candidates. The use of a modulated optical signal with an identifier also reduces interference and false triggers, as ambient light or reflections are unlikely to carry a valid identifier pattern. In addition, this mechanism allows the system to distinguish between general proximity (devices that are nearby according to radio ranging) and a more deliberate, user-directed interaction (devices that were actually “aimed at”with the optical beam), improving the accuracy and intentionality of targeting while still leveraging the robustness of the radio system for final confirmation.
[0091] The device may comprise an ambient light sensor, wherein the controller is configured to adjust a duty cycle and / or drive level of the modulated, directional optical signal based on an ambient light level measured by the ambient light sensor.
[0092] The device may comprise a second wireless communication circuit different from the first wireless communication circuit, wherein the controller is configured, upon generating the target-determination signal or proximity signal, to cause the second wireless communication circuit to transmit a message indicating at least one of: an identifier of the electronic device; an identifier of the other device; a category of event; and a measure derived from the distance.
[0093] This means the device can use, for example, one radio system for precise distance and direction work, and a different radio system for sharing the results with others. When the controller decides that another device is a target or that there is a relevant proximity event, it tells the second wireless circuit to broadcast a message that can include who sent it, who was involved, what kind of event occurred (for example, a hit, a warning, or a collision risk), and a value based on the measured distance. The benefit is that the demanding ranging and angle calculations can be done on a specialised channel, while a more robust, widely compatible channel is used to distribute simple event messages and state updates. This separation improves reliability, allows many devices to keep a consistent view of what is happening, and lets different products or systems listen for and act on these high-level messages without needing to implement the low-level ranging logic themselves.
[0094] The controller may be configured to maintain, based on the distances and direction vectors determined for a plurality of other devices over time, a table of relative positions of the plurality of other devices with respect to the electronic device.
[0095] Referring to Figure 1A of the drawings, a flow diagram of a method 10 of operating an electronic device to determine distance and direction to another device is shown. The electronic device comprises a first wireless communication circuit, one or more antennas, an orientation sensor (e.g., in the form of a magnetometer) and a controller. The method 10 comprises, at the electronic device:11 obtaining heading information from the orientation sensor;12 controlling the first wireless communication circuit to transmit at least one first wireless signal comprising information indicative of the heading information and an identifier of the electronic device;13 receiving, via the first wireless communication circuit, at least one first wireless signal transmitted by another device;14 determining, based on differences in arrival time and / or phase of the at least one first wireless signal at the one or more antennas, a direction vector from the electronic device towards the other device;15 determining, based on a time-of-flight associated with the at least one first wireless signal, a distance between the electronic device and the other device; and16 comparing the direction vector with the heading information and, when the direction vector satisfies a directional criterion relative to the heading information and the distance is within a predetermined range, generating a target-determination signal or proximity signal.
[0096] The distance and direction algorithms described herein are applicable to various scenarios, including but not limited to:
[0097] Collision detection and presence detection. Using the room-based UWB implementation, each device maintains knowledge of the relative positions and headings of nearby devices. The TDMA-based scheme provides a decentralised, low-cost alternative to conventional time-difference-of-arrival (TDoA) UWB tracking systems, which typically require multiple fixed anchors deployed in an area. In contrast, in the room implementation, each mobile device operates as its own ranging node, obviating the need for a static infrastructure, albeit at increased power consumption due to continuous broadcasts.
[0098] ] Decentralised tracking with reduced power consumption. In the impulse implementation, devices likewise perform decentralised ranging, but UWB broadcasts occur only when explicitly triggered. This reduces power draw relative to continuous broadcasting, making the impulse implementation suitable for use cases where infrequent position updates are acceptable.
[0099] Asset locating. In an asset-tracking scenario, each asset is associated with a device configured to remain in a receiving state. A user wishing to locate an asset triggers their own device to perform a UWB broadcast. Each asset device that receives the signal calculates a distance and direction relative to the user’s device. The resulting information can becommunicated back to the user over the ESP-NOW or similar wireless protocol. The user’s device may present a list of nearby assets and their respective ranges and bearings, allowing the user to move towards a desired asset and re-trigger broadcasts to refine the location. This approach yields a cost-effective and power-efficient location-finding system.Motion Detection
[0100] In some embodiments, an electronic device comprises: at least one motion sensor configured to provide motion sensor data along a plurality of axes over time; and a controller configured to:(i) segment the motion sensor data into time windows;(ii) for each time window, compute a feature vector comprising a plurality of statistical features of the motion sensor data for that time window;(iii) provide the feature vector as input to a machine-learning classifier stored at and executed by the electronic device;(iv) obtain, from the machine-learning classifier, an output indicating a motion class associated with the time window; and(v) control at least one application-level function of the electronic device or of an associated system based on the motion class.
[0101] The plurality of statistical features may comprise, for at least one axis or for a magnitude derived from the axes, at least two of: an average value, a maximum value, a minimum value and a count of average crossings. The count of average crossings may be a number of times the motion sensor data crosses the average value within the time window.
[0102] This device can recognise what kind of movement is happening, in real time, on the device itself, and then use that information to do something useful. By segmenting the motion sensor data into time windows and converting each window into a feature vector, the controller gives the machine-learning classifier a compact summary of the motion rather than raw, noisy data. The classifier then labels each window with a motion class (for example, a particular type of gesture, gait, or activity), and the controller uses that label to drive higher-level behaviour, such as triggering an interaction, updating a counter, changing state, or sending a message. This combination provides several benefits: it allows more reliable and nuanced recognition of different motions than simple thresholding; it runs locally on the device without needing a continuous cloud connection; it can be adapted or retrained for different applications and motionclasses; and it enables the device, or a connected system, to respond intelligently to how it is being moved or used, rather than just reacting to raw sensor magnitudes.
[0103] The at least one motion sensor may comprise an accelerometer and a gyroscope, and the feature vector may comprise the plurality of statistical features for both accelerometer data and gyroscope data. This means that the device uses both an accelerometer (which measures linear acceleration) and a gyroscope (which measures rotational movement), and that the controller calculates the same set of statistical features separately from each of these two types of data. In other words, for each time window it builds one combined feature vector that includes features from the accelerometer signals and features from the gyroscope signals. The benefit is that the classifier sees a richer description of how the device is moving: it knows not only how fast and in what direction the device is translating, but also how it is rotating. This extra information makes it easier to distinguish between similar-looking movements (for example, a straight shake versus a twist, or walking versus a swinging motion), improving the accuracy and robustness of motion classification without adding much extra hardware complexity, since accelerometer and gyroscope functions are often available in a single sensor package.
[0104] The feature vector may comprise the plurality of statistical features computed for a magnitude signal representing a magnitude of a multi-axis acceleration and / or angular rate vector.
[0105] In some embodiments, the machine-learning classifier may be a support vector machine (SVM). The SVM may be configured as a binary or multi-class classifier that receives the feature vector as input and outputs an indication of a corresponding motion class. The SVM may employ a linear or non-linear decision function, for example by using a kernel function such as a radial basis function (RBF), polynomial kernel, or other suitable kernel. The SVM may be trained in advance using labelled examples of motion data, and parameters of the trained SVM, such as support vectors, weights and bias terms, may be stored in a memory of the electronic device for use during normal operation.
[0106] The SVM may be trained offline on an external computing system using a large training dataset and then deployed to the electronic device in the form of pre-computed parameters, or, in some implementations, the electronic device itself may perform training or re-training of the SVM using locally captured and labelled motion data. Using an SVM can provide good classification performance with relatively modest computational and memory requirements, which is advantageous for resource-constrained devices powered by batteries.
[0107] In other embodiments, the machine-learning classifier is not limited to an SVM. The classifier may instead comprise any suitable statistical or machine-learning model capable of mapping feature vectors to motion classes. Examples include, without limitation, a logistic regression classifier, a decision tree, a random forest, a gradient-boosted ensemble, a k-nearest neighbours (k-NN) classifier, a naive Bayes classifier, or a neural network such as a multilayer perceptron or a convolutional or recurrent neural network. The classifier may also comprise an ensemble of two or more such models, with their outputs combined using a voting or weighting scheme.
[0108] In further implementations, the machine-learning classifier may be implemented using a model-compression or quantisation technique, such as fixed-point or integer quantisation, pruning or knowledge distillation, to reduce memory footprint and computational load on the electronic device. In addition, the classifier may be implemented using an embedded machinelearning engine provided by the motion sensor itself, where the sensor includes an integrated finite state machine or machine-learning core; in such cases, at least part of the classification logic may execute on the sensor, and the controller may receive motion class labels or intermediate outputs directly from the sensor.
[0109] The controller may be configured to: obtain labelled motion sensor data corresponding to a plurality of motion classes; train the machine-learning classifier using feature vectors derived from the labelled motion sensor data; and store parameters of the trained machinelearning classifier in a memory of the electronic device for use in step (iii), i.e., providing the feature vector as input to a machine-learning classifier stored at and executed by the electronic device
[0110] The motion classes may comprise at least two of walking, running, shaking, cradling, throwing and idle, and wherein the controller is further configured to: maintain a step count based at least on the motion sensor data; and update the step count in dependence on a subset of the motion classes indicating locomotion. The at least one application-level function may comprise of one or more of the following: initiating a wireless signalling sequence; adjusting a state of a virtual entity represented by the electronic device; logging activity for medical or fitness monitoring; and providing feedback for sports training.
[0111] This means that the device is not just detecting “movement” in a vague way; it is classifying movement into specific, named categories such as walking, running, shaking, cradling, throwing, and idle. At least two of these classes are recognised, and some of them, such as walking and running, are treated as locomotion classes. The controller keeps a step countbased on the motion sensor data, and it only updates that step count when the current motion class is one of the locomotion classes (for example, walking or running), rather than when the device is simply being shaken or manipulated in place. This makes the step count more accurate and harder to “cheat” by random shaking. These recognised motion classes can then drive one or more higher-level functions: the device can automatically initiate a wireless signalling sequence when a certain motion is detected, change or evolve the state of a virtual character or game entity, log activity for later analysis in a medical or fitness context, or give real-time feedback for sports training. The benefits are that the device can interpret how it is being moved in a more meaningful way, distinguish purposeful locomotion from other types of motion, produce more reliable activity metrics, and react intelligently in different application domains, from games through to health and performance, without needing separate hardware for each use case.
[0112] Referring to Figure IB of the drawings, a flow diagram of an embodiment of a method 20 of classifying motion of an electronic device is shown. The electronic device comprises at least one motion sensor and a controller. The method 20 comprises:21 obtaining motion sensor data from the at least one motion sensor along a plurality of axes over time;22 segmenting the motion sensor data into time windows;23 for each time window, computing a feature vector comprising a plurality of statistical features of the motion sensor data,24 providing the feature vector as input to a machine-learning classifier stored at and executed by the electronic device;25 obtaining, from the machine-learning classifier, an output indicating a motion class associated with the time window; and26 controlling at least one application-level function of the electronic device or of an associated system based on the motion class.
[0113] The plurality of statistical features may comprise, for at least one axis or a magnitude derived from the axes, one or more of the following: an average value, a maximum value, a minimum value, and a count of average crossings, being a number of times the motion sensor data crosses the average value within the time window.
[0114] The motion detection methods described herein can be utilised in a variety of application domains, including:
[0115] Medical and fitness analysis. The classification of user movements and accurate step counting can be applied to orthopaedic studies and fitness monitoring, providing quantitative data about gait, movement patterns, and activity levels.
[0116] Sports training. The system can analyse sports-related movements and provide feedback to assist athletes in refining technique and performing specific motions with greater precision.
[0117] Gaming and human-computer interaction. In gaming applications, including virtual reality and augmented reality, the classified actions can be mapped directly to in-game commands. Physical gestures such as throws, swings or steps performed by the user are translated into input signals controlling virtual characters or objects.Network Setup
[0118] In some embodiments, an electronic device comprises: a wireless communication circuit configured to transmit and receive wireless signals; a time reference; and a controller. The controller is configured to:(i) operate in an initiator mode in which the controller is configured to:(a) cause the wireless communication circuit to broadcast a room invitation message;(b) receive, via the wireless communication circuit, a plurality of acceptance messages transmitted by other devices in response to the room invitation message;(c) allocate, for each accepting device and for the electronic device, a respective transmission timeslot within a repeating time frame; and(d) cause the wireless communication circuit to transmit, to the accepting devices, timeslot allocation information identifying the respective transmission timeslots;(ii) cause the wireless communication circuit to transmit a ranging signal during a transmission timeslot allocated to the electronic device; and(iii) cause the wireless communication circuit to operate in a receiving mode during transmission timeslots allocated to other devices, to receive ranging signals transmitted by the other devices.
[0119] In these embodiments, each device is able to set up and manage a structured “room” for ranging on its own, without any fixed infrastructure or preconfigured master node. When the controller enters the initiator mode, it does not just start transmitting; it first broadcasts a room invitation message, listens for acceptance messages from other devices, and then activelyallocates a unique transmission timeslot to itself and to each joining device within a repeating time frame. It then informs all participants of their respective timeslots. After that, every device knows exactly when to transmit its ranging signal and when to listen, so ranging signals are neatly separated in time rather than colliding. This is different from simple ad-hoc broadcast schemes, where devices compete for the channel or rely on random back-off, and different again from fixed-anchor systems where the topology is predetermined and not initiated by a mobile unit.
[0120] The benefits of this approach are that it provides an organised, collision-free ranging schedule that is created on the fly by one of the mobile devices themselves. Devices can join a room dynamically and immediately receive a precise timeslot, enabling reliable ranging even when many devices are present. Because the time reference is shared and the timeslots repeat in a known pattern, each device can obtain regular distance and direction measurements to every other participant without complex contention management or heavyweight networking protocols. This leads to more accurate and timely relative position information, better scalability with the number of devices, and the ability to deploy the system in arbitrary locations without installing fixed beacons or infrastructure. Any suitable device can assume the initiator role and build a functioning ranging “room” around it.
[0121] The controller may be configured, when operating in a joiner mode, to receive, via the wireless communication circuit, a room invitation message broadcast by another device; transmit, via the wireless communication circuit, an acceptance message; receive timeslot allocation information; and store an indication of a transmission timeslot allocated to the electronic device.
[0122] This feature allows any device to seamlessly join an existing “room” that another device has already set up. When the controller is in the joiner mode, it listens for a room invitation message, responds with an acceptance message, and then receives and stores its assigned transmission timeslot. The benefit is that a new device can integrate itself into a time-organised ranging and communication schedule without manual configuration or central coordination. It immediately knows exactly when to transmit and when to listen, avoiding collisions with other participants. This makes the system highly dynamic and scalable: devices can appear, join, and leave on the fly, while the overall network still maintains an orderly structure for exchanging ranging signals and other messages, which improves reliability, reduces interference, and supports ad-hoc deployments.
[0123] The time reference may be synchronised to an external time source, and wherein the controller is configured to schedule transmissions and receptions for the transmission timeslots based on the time reference.
[0124] The controller may be configured, while operating in the receiving mode, to determine at least one of: a distance to each other device, based on a time-of-flight associated with the ranging signal transmitted by that other device; and a direction to each other device, based on differences in arrival time and / or phase of the ranging signal at a plurality of antennas of the electronic device.
[0125] When the device is in its receiving mode, it does more than just listen; it actively extracts useful spatial information from each ranging signal it hears. From the timing of the signal it can estimate distance (time-of-flight), and from small differences in how the signal arrives at multiple antennas it can estimate direction. The benefit is that each device gains its own local map of how far away other devices are and where they are located relative to itself, without needing external infrastructure.
[0126] The controller may be configured to maintain, based on ranging signals transmitted and received within the repeating time frame, a representation of a relative topology of devices participating in the room.
[0127] The controller keeps a running internal representation of how all the participating devices are arranged with respect to one another, based on the repeated ranging signals exchanged in the room. This “relative topology” may include who is near whom, who is ahead or behind, and how the pattern changes over time. The benefit is that applications can work with a coherent picture of the group layout (for example for collision avoidance, formation control, or multiplayer interaction) rather than dealing with isolated distance readings.
[0128] The controller may be configured to dynamically update the timeslot allocation in response to detection of a device joining or leaving the room, and to broadcast updated timeslot allocation information. This allows the system to adapt its time-slot schedule whenever devices join or leave the room. When the controller detects a change in membership, it reallocates timeslots so that every active device still has a unique slot and then broadcasts the new allocation. The benefit is that the network remains orderly and collision-free even as devices come and go, making the system robust and scalable in dynamic, real-world environments.
[0129] The controller may be configured, when a number of participating devices falls below a threshold or when a battery state of the electronic device satisfies a condition, to suspendoperation in the initiator mode and / or joiner mode and to operate in an impulse mode in which the wireless communication circuit normally remains in a receiving state and transmits ranging signals only in response to a trigger condition. This provides an energy-saving and low-traffic alternative mode. If there are too few devices to justify maintaining a full scheduled room, or if the battery level is low, the controller can suspend the regular initiator / joiner behaviour and switch to an impulse mode where the radio mostly listens and only transmits ranging bursts when a specific trigger occurs (such as a user action or a safety condition). The benefit is reduced power consumption and less channel usage while still allowing on-demand ranging when needed, which extends battery life and makes the system more practical for mobile, battery- powered devices.
[0130] Referring to Figure 1C of the drawings, a flow diagram of an embodiment of a method 30 of operating an electronic device for network setup and room topology management is shown. The electronic device comprises a wireless communication circuit, a time reference and a controller. The method 30 comprises, at the electronic device:31 operating in an initiator mode;32 causing the wireless communication circuit to transmit a ranging signal during a transmission timeslot allocated to the electronic device; and33 causing the wireless communication circuit to operate in a receiving mode during transmission timeslots allocated to other devices, to receive ranging signals transmitted by the other devices.
[0131] In this embodiment, operating in the initiator mode 31 comprises:34 causing the wireless communication circuit to broadcast a room invitation message;35 receiving, via the wireless communication circuit, a plurality of acceptance messages transmitted by other devices in response to the room invitation message;36 allocating, for each accepting device and for the electronic device, a respective transmission timeslot within a repeating time frame; and37 causing the wireless communication circuit to transmit, to the accepting devices, timeslot allocation information identifying the respective transmission timeslots. / Example Embodiments: Electronic toys
[0132] Referring to Figure 2A of the drawings, an electronic device in the form of an electronic toy 100 includes a processor 110, storage 112, memory 114, and a communication interface 140 (also referred to as a “data interface” herein) for communicating with other computing devices. The electronic toy 100 comprises a first communication module 170, an input module 180, and an output module 190. The various components of the toy 100 are interconnected, and in communication with the processor, 110 via a bus 150. A power source 160 provides power to components of the toy. The memory 139 stores instructions that, when executed by the processor 110, cause the electronic toy 100 to operate.
[0133] In some embodiments the processor may include a CPU with memory, an RF module, a digital wireless module, a peripheral connectivity module, a security module, and / or a real time clock module. An example of a suitable processor is an Xtensa® 32-bit LX7 dual-core microprocessor with 2.4 GHz Wi-Fi (IEEE 802.1 Ib / g / n) and Bluetooth® 5 (LE).
[0134] The input module 180 may include one or more of: a button, a microphone, a touchscreen, a slider, a keyboard, a joystick, and / or a trackball.
[0135] In some embodiments, the toy 100 comprises a sensor module 120 with a plurality of sensors. The sensor module may include one or more of: a proximity sensor, a velocity sensor, a gyro sensor (also referred to as an angular velocity sensor), GPS sensor, etc.
[0136] In some embodiments, the toy 100 comprises a second communication module 172 for radio frequency communication. This radio frequency communication module 172 may be configured for one or more different types of radio frequency and / or near field communication such as Radio Frequency Identification (RFID).
[0137] RFID (Radio Frequency Identification) and NFC (Near Field Communication) are examples of suitable wireless communication technologies. RFID operates across various frequency ranges, such as low frequency (LF), high frequency (HF), and ultra-high frequency (UHF). RFID systems typically consist of a tag (with an antenna and chip) and a reader. Its range can vary from a few centimetres to several meters, depending on the frequency and power. NFC, a subset of RFID technology, operates within the high-frequency (HF) range at 13.56 MHz. It is designed for close-range communication, typically within a few centimetres. NFC allows bidirectional communication, enabling two NFC-enabled devices to exchange information.
[0138] NFC implementation has a focus on short-range, secure, and interactive communication, while RFID is generally used for a broader purpose with varying ranges and unidirectional or bidirectional data transfer depending on the system.
[0139] In some embodiments, the toy 100 includes an NFC reader because it can be more cost effective to implement in a portable device compared to an RFID reader because NFC technology operates within the high-frequency (HF) range, which requires less complex and lower-cost hardware compared to RFID systems that might operate across a broader range of frequencies, such as low frequency (LF), high frequency (HF), and ultra-high frequency (UHF).
[0140] Advantageously, NFC is optimised for short-range communication (a few centimetres), which simplifies its design and power requirements, making it more suitable for integration into portable devices like the electronic toy 100. In contrast, RFID readers, especially those designed to operate over longer ranges or support multiple frequency bands, often require more sophisticated components, increasing their cost and complexity. Accordingly, for the transportable toy described herein, to ensure affordability and low power consumption, NFC is used in the exemplary embodiment.
[0141] Some examples of suitable NFC controller chips include, e.g., NXP PN532 or STMicroelectronics ST25 series, that support typical NFC standards (ISO / IEC 14443, ISO / IEC 15693) and provides an interface compatible with the processor (e.g., I2C, SPI, or UART). In addition, a compact NFC antenna using a copper coil or a printed circuit is used, tuned to the 13.56 MHz frequency used by NFC.
[0142] Figure 2B is a schematic representation of an embodiment of an electronic toy 200. The processor is in the form of a microcontroller unit (MCU) 210, that is in communication with an output module 290 and an input module 280. The output module includes a speaker 281, an LED strip 282, a microphone 283, a vibration motor 284, and a screen 286. The input module 280 includes one or more physical buttons 296 and one or more touch sensors 298. In this embodiment, the toy 200 includes a sensor module with an ultra-wide band antenna 222 (for determining a location of the toy), and a gyro sensor 224 (for determining the orientation of the toy). The radio frequency module 272 includes an RFID reader. The toy 200 includes a battery 260 that is rechargeable, and also a charging port 262 for the battery.
[0143] In another example embodiment, the system is implemented as a pocket-sized, ballshaped electronic device configured as a stand-alone “digital pet” that a user, such as a child, can carry and interact with during everyday activities. Inside the housing, a microcontroller unit(MCU), for example an ESP32 device, is coupled to an external eMMC memory, a colour SPI- connected LCD, motion and magnetic sensors, a UWB transceiver, an NFC front end and various haptic and lighting peripherals.
[0144] The MCU executes firmware that maintains a virtual creature state. Users can hatch, feed and train a virtual creature stored in the eMMC and rendered on the LCD screen. Minigames and interaction loops are implemented by the MCU and presented on the display, while user inputs are received via a touch PCB and any physical keys or touch regions on the housing. The six-axis motion sensor (accelerometer + gyroscope) and optional GPS data are processed to recognise walking, running and other movement; the firmware accumulates this activity into an “adventure” progress metric (for example an Adventure Bar) that unlocks energy, items or abilities for the virtual creature when thresholds are reached.
[0145] For wireless interaction with other devices and back-end services, the MCU integrates or controls multiple radio subsystems. A Bluetooth Low Energy (BLE) interface supports pairing with a companion application on a smartphone or tablet, allowing configuration, statistics viewing or cloud synchronisation. A Wi-Fi interface enables participation in remote activities such as online battles, trading virtual items and accessing leaderboards via an internet connection. A UWB transceiver, for example based on a DecaWave SRI 50 device, provides precise short-range ranging and direction sensing relative to other compatible balls, allowing proximity-based interactions and local, infrastructure-free multiplayer experiences. An NFC front end, for example an RC522 device with a coil antenna, allows the ball to detect and read NFC tags on physical accessories or cards, which may represent additional creatures, items or configuration profiles.
[0146] The device also includes a haptics and lighting subsystem controlled by the MCU. A vibration actuator is driven via a GPIO or dedicated haptic driver to provide tactile feedback for events such as creature actions, successful challenges or nearby players. One or more RGB LED strips and / or discrete RGB LEDs are driven via PWM channels to present rich colour patterns, status effects and ambient feedback that correspond to the creature’s current state, movement rewards or multiplayer events. Together with the LCD graphics, this allows the device to provide expressive feedback while keeping interactions largely “screen-light” and physical.
[0147] A power management subsystem includes a 3.7 V, 1500 mAh lithium-ion battery, a charging and protection IC and a combined charger / UART / debug interface. The charger circuit manages safe battery charging when an external 5 V source (for example via USB) is connected, while an ADC input on the MCU monitors battery voltage (VBAT) to managepower-saving modes and notify the user of low battery conditions. The same physical connector can be used to access a UART / debug interface for firmware download and diagnostics during development or servicing.
[0148] In operation, this embodiment thus combines: (i) on-device sensing (motion, heading, optional GPS), (ii) short-range and long-range wireless connectivity (BLE, Wi-Fi, UWB, NFC), and (iii) multimodal feedback (LCD, RGB LEDs, vibration), to provide a compact electronic device that supports real-world activity tracking, local and remote interaction with other users, and rich, stateful digital-pet behaviour within a single integrated platform.
[0149] In another example embodiment, an electronic toy is implemented as a hand-held, substantially spherical device including a microcontroller unit (MCU), a rechargeable battery and the following sensor set: a. The toy includes an ultra-wideband ranging subsystem based on a single-chip UWB transceiver, for example an SR150 device. The SR150 provides IEEE 802.15.4z-compliant impulse-radio UWB physical layer signalling and supports single-sided and double-sided two- way ranging (TWR) and time-difference-of-arrival (TDoA) techniques, together with angle-of- arrival (AoA) measurement using a dual-receiver architecture, enabling accurate distance and direction determination between toys. b. For heading, the toy incorporates a three-axis digital magnetometer, for example an LIS2MDLTR device. This sensor measures magnetic field along three orthogonal axes over a ±50 gauss range and provides 16-bit digital output via an FC or SPI interface. The MCU periodically reads the magnetometer to obtain an absolute heading (compass direction) of the toy in a global reference frame, which is used in conjunction with the UWB AoA data to resolve which neighbouring toy lies in front of the device or within a particular directional field. c. To capture user motion, the toy uses a six-axis inertial measurement unit, for example an LSM6DSV16X, combining a three-axis accelerometer and a three-axis gyroscope in a single package. The sensor provides selectable full-scale ranges for acceleration and angular rate, low- noise outputs, and embedded features such as a finite state machine and a machine-learning core for motion pattern recognition. The MCU (or optionally the EMU’s own embedded logic) processes the accelerometer and gyroscope data to detect gestures such as throws, shakes and walking patterns, which are used to trigger interaction behaviours and to initiate UWB or IR transmissions.d. For line-of-sight signalling, the toy includes an infrared subsystem comprising one or more IR transmitters and at least one IR receiver module, for example an IRM1838 type device. The IRM1838 integrates a photodiode and preamplifier with an internal band-pass filter tuned to a carrier frequency of about 38 kHz and outputs a demodulated digital signal suitable for direct connection to a microcontroller input. The IR receiver is oriented to detect incident IR signals from other toys, while the IR transmitters at the “front” of the toy are modulated at or near the same carrier frequency to transmit directional IR packets for short-range targeting. e. In this example embodiment, the MCU communicates with the SRI 50 UWB transceiver, the LIS2MDL magnetometer, the LSM6DSV16X IMU and the IRM1838 IR receiver over digital serial interfaces (SPI and / or FC). When the IMU-based motion classifier detects an action such as a throw, the MCU reads an updated heading from the magnetometer, commands the UWB transceiver to transmit a ranging frame, and optionally drives the IR transmitters to emit a directional IR burst. Other toys receiving the UWB frame use their own SRI 50 devices to determine distance and arrival angle from the transmitting toy, and compare this with the transmitted heading to decide whether they are within the intended target region; toys within range and alignment may confirm the interaction via a separate 2.4 GHz RF channel, while the initiating toy updates its internal state and user feedback (e.g. animations on a display, lights or sound) accordingly.2 Example Embodiments: Toy State, Orientation, Discovery
[0150] Figure 3 of the drawings is a flow diagram of a computer-implemented method 300 for operating an electronic toy that has a toy state. The toy state may comprise a game character “focus” or “mood”, such as a happy character associated with a happy toy state, which may provide some advantage to the player in the game.
[0151] The method 300 comprises determining (at 302) a first toy velocity of the toy, (for example as measured by an accelerometer of the toy). The method 300 comprises setting (at 304) a toy operation mode based on the first toy velocity. For example, if the toy is stationary, the toy may be placed in idle mode. Alternatively, if the toy is moving, the toy may be placed in training mode. If the toy is moving fast, the toy may be placed in enhanced training mode (or battle mode, or flight mode, etc.).
[0152] Based on the toy operation mode, the method then performs one or more of the following actions: a. Determining (at 306) a toy orientation, (for example as measured by a gyro sensor, and indicating a user action such as shaking or rolling the toy). Then (at 308) setting a toy action based on the toy orientation. For example, if the toy is stationary (and in an idle mode), and if the toy is in the form of a ball, and is being rolled, then a toy action associated with a character falling over may be executed. b. Transmitting (at 310) a communication discovery request to discover other devices within a game communication range. If (evaluated at 312) another device is discovered, then establishing (at 314) a first communication link with the other device, thereby establishing a game network. If (evaluated at 316) a further device is discovered, then also establish a further communication link with the further device, thereby adding (at 318) the further device to the game network.
[0153] The “game communication range” is a communication range within which toys and / or devices playing the game, or available for gameplay, are able to communicate with one another based on the technology used. For example, if Wi-Fi is used then the range is within a connection range of the Wi-Fi network. Or for example, if the connection technology relies on Bluetooth, then the Bluetooth connection range will determine the game communication range.
[0154] This method provides the advantage of flexibility in setting up and configuring a game network. Advantageously, a multiplayer gameplay is supported in a dynamic and reconfigurable environment.
[0155] The number of devices that can keep track of one another using Bluetooth Low Energy (BLE) depends on a number of factors, including the BLE technology version, the hardware capabilities of the devices, and the specific implementation.
[0156] In BLE, devices typically operate in either central or peripheral roles. A central device (such as a smartphone or hub) can connect to multiple peripherals simultaneously, while peripheral devices usually connect to a single central device. The number of simultaneous connections supported by a central device varies based on the BLE stack and hardware.
[0157] For example: a. Many BLE chips and modules support 7 to 20 simultaneous connections out of the box.b. Advanced BLE controllers and stacks (e.g., Nordic nRF52 series or Silicon Labs modules) can handle upwards of 100 connections with optimized firmware. c. BLE 5.0 and later improve connection capabilities, such as extended advertising and increased data throughput, but they do not explicitly increase the connection limit beyond what the hardware and stack allow.
[0158] In a peer-to-peer tracking system, where all devices need to keep track of one another without relying on a centralised hub, the implementation is more complex. Devices can use connectionless communication via BLE advertising and scanning. In this mode, each device broadcasts its presence and listens for others’ broadcasts. This approach is limited by the BLE advertising interval and scan window, which affect how quickly devices can detect one another and how much data can be exchanged.
[0159] In some embodiments, the BLE-based peer-to-peer tracking system can scale to a few dozen devices reliably, depending on the frequency of updates and the density of the environment. In crowded environments or with high data exchange requirements, interference and collisions in the 2.4 GHz band may limit scalability.
[0160] In practice, the number of devices is generally constrained by the trade-offs between update frequency, power consumption, data throughput, and environmental factors. For a small- scale application with real-time tracking within a 10-15 meter range, a practical limit might be 20-50 devices, depending on the optimisation of the system. For larger networks, additional technologies or hybrid approaches may be used.
[0161] Referring again to Figure 3, optionally the method may include (at 320) the toy action updating the toy state. As used herein, the term “update” with respect to any of the toy and / or game features includes setting, amending, changing, or otherwise affecting the relevant feature.
[0162] The method 300 may further comprise receiving (at 322) a gameplay user input (via the input module) with a gameplay instruction, and processing (at 324) the user gameplay input together with at least one of: the toy velocity, the toy operation mode, the toy orientation, the toy action, and / or the toy state, to determine and effect (at 326) a gameplay action. For example, the outcome of the user’s play may be impacted by how fast they are running, the mode that the toy is in (e.g. training or enhanced training mode), the focus / mood, and / or what the user is doing with the ball (e.g. rolling, shaking, etc.) The “gameplay action” is the player-selected game action, for example the player may provide a user input so that their game character attacks, hides, or some other action.
[0163] The method 300 may further comprise, based on a distance between the electronic toy and another device on the game network, determining (at 328) a proximity measure between the electronic toy and said other device on the game network. In some embodiments, the gameplay action may be determined based on a combination of two or more of: the toy velocity, the proximity measure, a time duration associated with the gameplay action.
[0164] In some embodiments, the distance between the electronic toy and another device (such as another toy, or another electronic device adapted for gameplay), is determined using Bluetooth Low Energy (BLE). In some embodiments Channel Sounding may be used.
[0165] In some embodiments, BLE measures the Received Signal Strength Indicator (RSSI) to estimate distance.
[0166] In other embodiments, Ultra-Wideband (UWB) using modules such as the Decawave DW1000 or Qorvo solutions may be used to determine the distance between the toy and another device. UWB measures the Time of Flight (ToF) of radio waves to calculate distances with high precision, typically within 10 centimetres. This technology is suitable for crowded environments.
[0167] A Wi-Fi-based method transceivers such as the ESP32 or ESP8266 modules may be used, which can measure RSSI or, in newer devices, Time of Flight. Wi-Fi offers a longer range and can be used for both data communication and tracking, but it consumes more power compared to BLE, which may not be ideal for the battery-powered toy.
[0168] In some embodiments, Bluetooth Low Energy is used because it is a feasible option for a low power implementation. Advantageously, BLE transceivers are inexpensive, widely available, and energy-efficient, making them well-suited for portable devices.
[0169] In alternative embodiments, the distance between the toy and another device may be determined using one or more of the following methods: a. Received signal strength (RSSI, or Received Signal Strength Indicator) where a stronger signal typically indicates closer proximity, while a weaker signal suggests greater distance. b. Time of Flight that measures the time it takes for a signal to travel from one device to another and back. c. Phase difference whereby devices compare the phase difference of a signal at the transmitter and receiver. d. Triangulation or Trilateration. When multiple devices or reference points are available, a device can use the geometry of signal arrival angles or distances to calculate its positionrelative to others. GPS, for example, uses trilateration with satellite signals to determine distance. e. Ultrasound or Infrared systems that measure the time it takes for sound waves to bounce back, or that measure reflected light intensity, respectively. f. Bluetooth Low Energy (BLE) may be used to apply advanced signal modulation techniques like Angle of Arrival (AoA) or Angle of Departure (AoD) to determine the relative position and distance between devices.
[0170] Some embodiments are configured to improve the accuracy of determining the location of devices and the distances between devices. To improve the accuracy of BLE distance tracking within a 10-15 meter radius, several techniques can be employed to mitigate the limitations of RSSI-based estimation and enhance precision.
[0171] Calibrating the RSSI-distance relationship for the specific environment is a fundamental step. Environmental factors such as obstacles, signal reflections, and interference can affect RSSI values. Calibration involves collecting RSSI data at known distances in the target environment and creating a custom model that maps RSSI values to distances more accurately than standard free-space models.
[0172] Averaging RSSI values over time can reduce the impact of signal fluctuations caused by noise or transient interference. By continuously sampling RSSI and applying smoothing algorithms, such as a moving average or exponential smoothing, more stable distance estimates can be achieved.
[0173] Implementing machine learning algorithms allows the system to account for complex environmental factors. By training a model on a dataset of RSSI readings and corresponding distances in real-world conditions, the device can predict distances with greater accuracy, even in dynamic environments.
[0174] Using advanced BLE features, such as Angle of Arrival (AoA) or Angle of Departure (AoD), can significantly enhance accuracy. These techniques require devices equipped with multiple antennas to measure the direction of the signal and refine the position estimate. While this approach increases complexity and cost, it can provide precise tracking within the target range.
[0175] Incorporating additional sensors, such as inertial measurement units (IMUs) or accelerometers, can complement BLE-based tracking. By combining BLE distance estimateswith motion data, sensor fusion algorithms, such as Kalman filters, can improve accuracy and reliability in scenarios with obstacles or signal inconsistencies.
[0176] Adjusting the BLE device’s transmit power and scanning frequency can help optimize performance. Higher transmit power improves signal stability, while frequent scanning reduces latency and captures more data points for better accuracy. These adjustments, however, must balance power consumption and battery life.
[0177] Utilising frequency -hopping features of BLE can mitigate interference from other devices operating in the 2.4 GHz band. This ensures more consistent signal quality, which translates to more reliable RSSI measurements and distance estimates.
[0178] Incorporating these techniques enables BLE systems to achieve improved accuracy in distance tracking within a 10-15 meter radius, addressing the challenges posed by RSSI’s inherent variability and environmental factors.3 Example Embodiments: Auxiliary Components & RF Operation
[0179] In some embodiments, the game includes auxiliary components, separate to the toy, that are electronically recognisable by the toy. For example, an electronically tagged item may include a barcode, and RFID code, an NFC identifier, or the like. When the tagged item is within an identification range of the toy, the toy is able to recognise the proximity of the tagged item and determine an item identifier via radio frequency identification means using the second communication module 172. The identification range is the connection range associated with the type of technology used (e.g. RFID, NFC, etc.)
[0180] Figure 4A of the drawings shows a flow diagram of a subroutine in the operation of the toy 100. In the method 400 of the auxiliary item communication method, the toy 100 transmits (at 410) a nearfield polling signal, and receiving (at 420) a response to the polling signal, and based on the response, updating (at 430) the toy state (and / or affecting some other aspect of the game, e.g. updating the toy operation mode, the toy action, or the like).
[0181] Figure 5 shows a number of example embodiments of electronic toys 500, 502, 503, each in the form of a sphere or a ball. The input module 580 includes a number of buttons 582, for example three buttons. The output module 590 includes a screen 592 and speakers 594.
[0182] Figure 6 illustrates the use of an auxiliary item 699 with an electronic toy 600.
[0183] Referring again to Figure 4 A of the drawings, in some embodiments, the transmitting 410 may be in response to receiving (at 440) a user input that instructs the toy 100 to start anitem discovery process. NFC readers can operate in either continuous polling mode or be activated on demand, depending on the use case and design of the device. Continuous polling involves the NFC reader regularly transmitting signals to detect NFC tags or devices in its proximity. However, continuous polling consumes a lot of power, which can be a concern for portable devices with limited battery capacity.
[0184] To conserve power, on-demand activation is more suitable for a portable device such as the electronic toys described herein. In this approach, the NFC reader is only activated when needed, such as when a user presses a button, taps a screen, or performs another specific action. Once activated, the reader initiates polling to detect and communicate with NFC tags or devices within range.
[0185] Figure 4B of the drawings illustrates an embodiment of the step 318 of establishing a multiplayer network. In this example, the initial game network setup is established between toy #1 and device / toy #2. When device / toy #3 is within the game communication range, toy #1 adds device / toy #3 to the game network. In some embodiments device / toy #2 received an alert regarding the proximity of device / toy #3, and the user of device / toy #2 and / or device / toy #3 is then able to establish a communication link between device / toy #2 and #3. In some embodiments, once a device is added to the game network, communication with all other devices on the same network is established automatically.
[0186] In some embodiments, the player’s movement impacts the operation of the toy and the gameplay. For example, the toy velocity may be used to determine the toy operation mode. Similarly, a toy action may be based on the toy orientation. This is illustrated in Figures 7A-7C, which show three flow diagrams for subroutines in the operation of an electronic toy that use inputs from the sensors with respect to velocity and orientation of the toy.
[0187] In some embodiments, a user application run on a separate device (e.g., on a laptop, a smartphone, or the like) may be used to access game-related information and / or provide additional game functionality.
[0188] In some embodiments, a computer-implemented method of operating an electronic toy having a toy state comprises determining a first toy velocity of the toy; setting a toy operation mode based on the first toy velocity; based on said toy operation mode, perform one or more of: determining a toy orientation; and setting a toy action based on the toy orientation; and / or transmitting a communication discovery request to discover other devices within a game communication range; if another device is discovered, establishing a first communication linkwith the other device, thereby establishing a game network; and if a further device is discovered, then also establish a further communication link with the further device, thereby adding the further device to the game network.
[0189] The toy action may update the toy state. As used herein, the term “update” with respect to any of the toy and / or game features includes setting, amending, changing, or otherwise affecting the relevant feature.
[0190] The method may comprise receiving a gameplay user input (e.g., via the input module) with a gameplay instruction, and processing the user gameplay input together with at least one of: the toy velocity, the toy operation mode, the toy orientation, the toy action, and / or the toy state, to determine and effect a gameplay action.
[0191] The method may comprise, based on a distance between the electronic toy and another device on the game network, determining a proximity measure between the electronic toy and said other device on the game network. The gameplay action may be determined based on a combination of two or more of: the toy velocity, the proximity measure, a time duration associated with the gameplay action.
[0192] The method may comprise transmitting a nearfield polling signal; and receiving a response to the polling signal, and based on the response, updating the toy state.
[0193] In some embodiments, an electronic toy comprising: a first communication module; an input module; an output module; a processor in communication with the first communication module, the input module, and the output module; and a power source providing power to components of the toy, wherein the electronic toy comprises memory storing instructions that, when executed by the processor, cause the electronic toy to carry out the method of operating an electronic toy as described above.
[0194] The electronic toy may comprise a second communication module for near field communication. The second communication module may comprise an RFID reader configured to identify RFID tagged items within an RFID range of the electronic toy. The electronic toy may comprise a sensor module with a plurality of sensors. The sensor module may comprise one or more of: a proximity sensor, a velocity sensor, a gyroscope sensor, GPS sensor, and / or a microphone.
[0195] The input module may comprise one or more of: a button, a microphone, a touchscreen, a slider, a keyboard, a joystick, and a trackball.
[0196] In some embodiment, a computer program comprises instructions which, when the program is executed by a computer, cause the computer to carry out the methods described herein.
[0197] In some embodiments, a computer-readable medium comprises instructions which, when executed by a computer, cause the computer to carry out the methods described herein.4 Example Embodiments: Device Configuration
[0198] In some embodiments, the electronic device comprises a housing that contains at least one optical transmitter, at least one optical receiver, an ambient light sensor, at least one motion sensor and a controller. The optical transmitter is implemented, for example, by a plurality of infrared emitters mounted at a front-facing portion of the housing, and the optical receiver is implemented by one or more infrared receiver modules oriented to detect incoming modulated optical signals. An ambient light sensor is positioned near the front of the housing and is configured to provide an indication of environmental light level. The motion sensor may comprise an accelerometer and a gyroscope that together provide motion sensor data for detecting gestures such as throwing. The device further includes a second wireless communication circuit configured to operate according to a low-latency radio-frequency protocol, and one or more output devices such as a display, lighting elements or a haptic actuator.
[0199] The controller is configured to use the motion sensor data to detect a trigger event, such as a throwing-type gesture, and in response to such an event to control the optical transmitter to emit a modulated, directional optical signal containing an identifier of the electronic device. The modulated signal is generated at an infrared carrier frequency selected to balance noise immunity and power consumption, for example around 38 kHz, and is transmitted as a discrete data packet rather than as a continuous beam. In one implementation the controller causes the optical transmitter to emit a burst sequence in which the same packet is transmitted multiple times with an inter-frame delay between successive transmissions. This burst-with-gap topology creates discrete windows in which another device may be in or out of line-of-sight of the beam, which can be exploited by higher-level logic as an opportunity for the other device to move out of the path of the optical signal. The optical payload may comprise a header or preamble to assist synchronisation and noise rejection, followed by a source identifier such as a unique address associated with the electronic device.
[0200] The ambient light sensor provides a measurement of environmental brightness, and the controller is configured to adjust one or more drive parameters of the optical transmitter based on this measurement. When the ambient light level is high, such as in bright outdoor conditions, the controller increases the duty cycle or drive level of the optical carrier in order to maintain an adequate signal -to-noise ratio and practical range. When the ambient light level is low, such as indoors, the controller reduces the duty cycle to mitigate excessive reflections from surrounding surfaces that might otherwise cause false detections and to reduce power consumption. This dynamic duty cycle control adapts the directional optical channel to different environments while preserving the directional selectivity of the optical beam.
[0201] When another device equipped with a corresponding optical receiver is located within the field of view of the transmitted beam, its optical receiver detects the modulated signal and the controller of that other device decodes the packet to recover the identifier of the transmitting device. Upon such optical contact, the receiving device treats the transmitting device as a candidate target in its interaction logic. The receiving device may then apply additional criteria, such as distance and direction determined using a first wireless communication circuit, or local state information, to decide whether and how to respond. In many embodiments the optical channel thus serves as a directional trigger that narrows the set of potential counterparts for subsequent processing.
[0202] The second wireless communication circuit is used to provide a reliable, omnidirectional feedback channel that complements the directional optical signalling. After processing the optical packet and applying local rules, the receiving device updates its internal state, for example by adjusting one or more state variables such as health, score, status flags or counters. The controller then causes the second wireless communication circuit to transmit a feedback message that may include identifiers of the receiving and transmitting devices, a value representing a change in state (such as a damage or reward amount) and an indication of the resulting state. Because this radio-frequency message is not directional, it can be received by the original transmitting device and optionally by other devices in the vicinity, allowing them to update their own state in a coordinated manner.
[0203] The original transmitting device listens, via the second wireless communication circuit, for feedback messages that contain its identifier and, when such a message is received, uses the payload to register the outcome of the interaction. For example, the controller may increment an internal experience counter, determine whether an associated state variable of the other device has crossed a threshold, and, if so, trigger one or more application-level functions such asdisplaying a victory indication, resetting its own state to a defined level or applying a bonus to a reward metric. In this way, the hardware updates provide a dual-mode communication arrangement in which a directional optical channel is used to indicate which devices should be considered as candidates for interaction, and a separate wireless communication circuit is used to confirm and propagate the resulting state changes in a robust and omni-directional manner.
[0204] In some embodiments, the system is implemented in a substantially spherical housing resembling a ball. The ball comprises, at a front-facing region of the housing, a transceiver module including: at least one, and preferably a plurality of, directional IR transmitters arranged to emit modulated IR signals; at least one, and preferably a plurality of, IR receivers arranged to detect incoming modulated IR signals; and an environmental sensor, preferably an ambient light sensor, disposed on an upper-front portion of the housing and configured to detect incident light levels in the environment of the ball.
[0205] The IR transmitters are driven at a carrier frequency selected to provide robust operation in typical ambient lighting conditions. In one embodiment, a carrier frequency of about 38 kHz is used to provide improved immunity to interference from standard lighting sources, while avoiding the higher power consumption associated with higher carrier frequencies such as about 50 kHz.
[0206] The ball is equipped with motion sensors, e.g. an accelerometer and / or gyroscope, coupled to a controller. When the controller detects a throwing-type gesture based on sensor data, the ball transitions into an “attack” state in which an outgoing IR transmission is initiated.
[0207] Rather than transmitting a continuous IR beam, the controller generates and transmits a discrete data packet in order to reduce power consumption and maintain data integrity. In one implementation, the packet is transmitted as a burst sequence in which: the packet is emitted a plurality of times (for example, five repetitions) by the IR transmitters; and an inter-frame delay (for example, about 400 ms) is inserted between successive bursts.
[0208] This burst-with-delay topology produces a series of temporally separated IR transmissions. The inter-frame delay defines a time window between bursts during which the intended target object may move to break line-of-sight with the attacking ball. In the context of a game, this technical timing characteristic can be used to implement a “dodge” window in which a player can physically move the target ball or otherwise interrupt the optical path, thereby avoiding detection of at least one of the bursts.
[0209] In one example, the IR payload is an 8-byte data structure comprising: a 2-byte header or preamble, for example the byte sequence OxAA 0x55, used to assist synchronisation and filtering of spurious signals; and a 6-byte source identifier, for example the unique MAC address of the attacking ball, used to identify the source of the attack.
[0210] The use of IR signalling in different environments gives rise to two technical issues: (i) in high ambient light (e.g. direct sunlight), IR signals may be attenuated and difficult to detect; and (ii) in low ambient light (e.g. indoors), IR signals may reflect from walls and other surfaces, causing undesired “bouncing” and false detections outside the intended line-of-sight path.
[0211] To address these problems, the ball employs a dynamic duty-cycle control scheme based on the ambient light sensor output. The controller monitors the ambient light level and adjusts the drive duty cycle of the IR emitters accordingly. For example: a. in high ambient light conditions, the controller determines that the measured lux value exceeds a first threshold and increases the IR duty cycle, for example to about 100%, to improve the signal-to-noise ratio and maintain adequate range; and b. in low ambient light conditions, the controller determines that the measured lux value is below a second threshold and reduces the duty cycle, for example to about 50%, to reduce undesired reflections and associated false positives and to reduce power consumption.
[0212] As a result, the IR transmission characteristics are adaptively matched to the optical environment. Indoors, reduced duty cycle mitigates reflected signal paths that might otherwise be interpreted as hits on non-aligned targets, while extending battery life. Outdoors, increased duty cycle improves robustness to strong ambient light and increases effective communication range.
[0213] In addition to the directional IR channel, the ball includes a wireless RF communication module configured to operate using a low-latency 2.4 GHz protocol, such as ESP-NOW or a functionally equivalent protocol. The system thereby implements a dual-mode interaction scheme in which: the IR subsystem is used primarily for directional “aiming” and initial attack signalling under line-of-sight conditions; and the RF subsystem is used for reliable, omnidirectional confirmation and state synchronisation between multiple balls.
[0214] In one embodiment, when a first ball (the attacking ball) emits an IR attack packet and a second ball (the targeted ball) is positioned within the IR field of view, the targeted ball receives and decodes the IR packet. Using the source identifier contained in the packet, the targeted ball can identify the attacking ball.
[0215] Upon validating the IR packet, the targeted ball executes game logic to determine an effect of the attack, such as a decrement in its internal health-point (HP) value according to predefined rules.
[0216] Following this local state update, the targeted ball transmits an RF acknowledgement message using the 2.4 GHz protocol. The RF transmission is omni-directional and does not require line-of-sight alignment, thereby providing a robust confirmation channel.
[0217] In one example, the RF feedback packet comprises: a target identifier field containing a unique identifier (e.g. MAC address) of the targeted ball; an attacker identifier field containing the identifier of the attacking ball, as received in the IR packet; a damage delta field indicating the amount of HP removed from the targeted ball by the attack; and a current state field indicating the updated HP or other state metric of the targeted ball after application of the damage.
[0218] On receipt of the RF acknowledgement, the attacking ball inspects the payload to determine whether it is the originator of the corresponding attack. For example, the attacking ball may compare the attacker identifier field with its own identifier. If a match is found, the attacking ball can register a successful hit and update its local state accordingly.
[0219] In one embodiment, successful hit registration results in an increment of an internal experience-point (XP) counter maintained by the attacking ball. The attacking ball may also evaluate the current state field of the targeted ball. If the reported HP or equivalent value indicates that the targeted ball has reached or dropped below a defined defeat threshold (for example zero HP), the attacking ball may: a. trigger a visual output, such as driving a display module, LEDs or other indicators, to render a “victory” animation or other feedback; b. optionally adjust its own HP or other state values, for example resetting its HP to a predefined proportion of its maximum HP, such as approximately 75%; and c. optionally apply a bonus XP increment or other reward to its internal counters.
[0220] The RF feedback may additionally be used to update state in other balls or in an external game controller or server, thereby keeping a consistent game state across multiple devices.5 Example Embodiments: Gameplay
[0221] Figure 8 of the drawings shows a peer-to-peer gameplay network 800 comprising a plurality of electronic devices 802, each with a game application 804. The electronic devices 802 may include personal computing devices such as smartphones 806, smart watches, smart wristbands, smart rings, tablets, or the like. The electronic devices 802 may include electronic toys 808, each comprising a computing device or data processing apparatus with a computer program comprising instructions for gameplay.
[0222] A peer-to-peer network is a decentralized system in which devices, referred to as peers, communicate directly with one another to share resources, data, or services without relying on a central server. Generally, each peer has equal privileges and can function as both a provider and consumer of resources. This structure enhances scalability, resilience, and efficiency in data exchange.
[0223] Smartphones can establish peer-to-peer networks using various technologies. Bluetooth allows nearby devices to form direct connections for file sharing or communication. Wi-Fi Direct enables faster and more robust connections by bypassing traditional access points, allowing devices to connect directly to exchange data. Near Field Communication (NFC) facilitates close-range communication for small data transfers or initiating other connections. Additionally, applications like those based on mesh networking protocols use smartphone hardware to create interconnected networks where data travels between devices without a central hub. These technologies collectively enable peer-to-peer networking on mobile devices for activities such as file sharing, gaming, and secure communication.
[0224] In some embodiments the communication technology used to establish the peer-to-peer network may include one or more of Bluetooth, NFC, Wi-Fi, mobile / cellular communication (GSM).
[0225] This functionality can also be implemented with other types of computing devices as shown in Figure 8, where the network can include smartphones, tablets, and electronic toys with computing capability.
[0226] The process of setting up the peer-to-peer network involves connecting the devices directly to one another to share data or resources. In some embodiments the setup may be automatic. In some embodiments the setup may require user input.
[0227] In one example where the setup is automatic, the devices use technologies such as WiFi Direct, Bluetooth, or mesh networking to establish the connection. The devices detect eachother automatically when within range. Once detected, the devices exchange necessary authentication and connection information without user intervention.
[0228] In an example where user input is required, the setup involves additional steps to authenticate or pair the devices. For example, when setting up a Bluetooth connection, the users of both devices must enable Bluetooth and make them discoverable. After the devices detect each other, the users then select the desired device(s) to connect with from a list. A pairing request is then displayed, and the users may need to confirm or enter a passcode to establish the connection. This approach provides an extra layer of security and control over the devices involved in the network.
[0229] As can be understood from the client-server architecture 900 shown in Figure 9 of the drawings, the software required on each device 802 is typically distributed from a centralised server via an external network 812 such as the Internet. This process involves several steps that ensure each peer device is equipped with the necessary application or game software to participate in the network.
[0230] Initially, the gaming software is hosted on a central server 810 or cloud platform, accessible through the Internet 812. Each peer device 802 connects to this server 810 by downloading the application from a website, an app store, or a direct download link. This download includes the game’s executable files, configuration data, and networking protocols required to establish peer-to-peer connections.
[0231] In some embodiments, the application may include protocols for peer discovery, which allow devices to identify and connect with others running the same software.
[0232] During gameplay, the peer-to-peer functionality is activated. The devices then bypass the central server and directly communicate using technologies such as Bluetooth, Wi-Fi Direct, or local area networks (LAN) - this is illustrated in Figure 8.
[0233] The peer-to-peer setup ensures low-latency communication and reduced reliance on external servers during actual gameplay. However, the central server may still provide supplementary services, such as matchmaking, authentication, or player statistics, even though the primary data exchange occurs between peers.
[0234] This approach combines the centralised distribution of the software with the decentralised benefits of peer-to-peer networking, enabling a seamless gaming experience.
[0235] Figure 10 is a block diagram of an example embodiment of a computing device 1000 that can be used in the system described herein, for example as an electronic device or toy 802 and / or a server 810 as shown in Figures 1 and 2 of the drawings. Each computing device 1000 includes a processor 1010, storage 1020, memory 1030, and a communication interface 1040 (also referred to as a “data interface” herein) for communicating with other computing devices. The various components of the computing device 1000 are interconnected via a bus 1050. This configuration may be implemented using a bespoke computing device (such as an electronic toy), or in one or all embodiments standard devices such as a mobile phone, tablet, desktop computer, laptop or the like may be used.
[0236] In some embodiments the game is played using an electronic device such as a smartphone, smart watch, tablet, or the like. In some embodiments the game is played using an electronic toy. In some embodiments gameplay may employ both an electronic device and an electronic toy.
[0237] The electronic toy offers a hybrid physical-digital gaming experience, combining physical activity with digital gameplay. Designed as a portable item, such as a ball, it incorporates sensors and connectivity features that interact with a companion app. Players’ physical interactions with the toy, including shaking, tapping, and running, directly influence the development and abilities of characters within the game.
[0238] The electronic game combines physical activity with technology, designed to be played using electronic devices such as smartphones and / or handheld electronic toys like a ball. This game encourages players to engage in outdoor activities while maintaining an entertaining connection to their electronic devices.
[0239] In the game, players use electronic devices that they carry with them. These devices interact with one another according to predetermined rules, creating an immersive experience. For example, if the device is a ball, it can be sized to fit comfortably in a player’s hand, designed to be ergonomic and gripped tightly even when running. The device is equipped with electronics that allow it to communicate with other devices, track its movement, and display visual and audio feedback based on the game’s progress.
[0240] During gameplay, each device is associated with an electronic character, and may, for example, be represented by a computer graphic displayed by the device. In some embodiments, this character visually changes according to the points scored in the game, as well as the player’s status as a winner or a loser. As players move and interact with each other, their characters mayincrementally increase or decrease in strength and status, providing a tangible outcome that reflects their physical activity.
[0241] The game can be played with two or more players, each carrying their electronic devices. Players engage in various physical activities, such as running, hiding, and seeking, which are monitored by their devices. The devices communicate with each other to track proximity and interactions, allowing the game to assign points and determine winners and losers. For instance, if one player chases another and successfully tags them, the devices register the interaction and update the players’ scores and statuses accordingly.
[0242] In addition to physical interaction, the devices offer visual, audio, and tactile feedback to enhance the gaming experience. They may emit lights, sounds, and / or vibrations to indicate different modes of play, such as exploring, acquiring virtual items, chasing, being chased, healing, or the like. The devices may also interface with a computer or a smartphone to download game data, update rules, and / or display the electronic character’s progression in a virtual environment.
[0243] In some embodiments, a companion app is provided. The companion app may be run on the user’s electronic device. In some embodiments, the companion app serves as the central platform for a player to manage characters, track progress, and engage in multiplayer battles. It enables players to personalize and evolve their characters based on physical interactions with the toy.
[0244] Social interaction is facilitated through proximity-based mechanics, which detect other players’ devices and allow spontaneous battles. These interactions require strategic decisions, as players must choose to fight, defend, or retreat.
[0245] In some embodiments, the electronic device is configured to operate with removable character modules, referred to herein as Character Chips or Character Cards. Each Character Chip may comprise its own processing circuitry and memory storing character data, including at least one character identifier, initial attributes, evolution parameters and associated animation data. The device may include a connector or receptacle into which a Character Chip is physically insertable, and the controller of the device may be configured, upon insertion of a Character Chip, to establish a communication session with the processing circuitry of the Character Chip, to obtain character data therefrom, and to initialise a corresponding virtual character for use on the device. In certain implementations, the Character Chip and / or the device may perform an authentication procedure, for example using encryption, digital signatures or other offlineverification techniques, to verify that the Character Chip is genuine before enabling use of the character data.
[0246] The integration of removable Character Chips or Cards allows a character to be defined, stored and evolved primarily on the external module rather than solely within the device. In some embodiments, character assignment may be at least partially random and may occur upon first activation or first insertion of a Character Chip, so that a player discovers an assigned character when the Character Chip is used for the first time, introducing an element of surprise and collectability. The character’s attributes and state may then evolve uniquely based on gameplay history recorded either on the device, on the Character Chip, or both, thereby supporting personalisation and sustained interest. Because Character Chips are physically removable and transferable between devices, players may exchange characters by exchanging Character Chips, while the authentication and offline verification mechanisms allow the devices to reject unauthorised or counterfeit modules.
[0247] The app also supports in-game purchases, such as character upgrades, skins, potions, and food, further enriching the gaming experience. The combination of physical activity and digital interaction promotes movement and social engagement, extending the appeal beyond traditional screen-based entertainment. The evolving characters, unique designs, and interplay between the physical and virtual elements create a dynamic and engaging experience for players.
[0248] Advantageously, the electronic game encourages children to be active and social while offering the familiar appeal of technology. It seamlessly integrates outdoor play with electronic entertainment, making it an attractive option for both children and parents who seek to balance physical activity with technological engagement.6 Example Embodiments: Network Setup and Gameplay
[0249] Figure 11 of the drawings shows a flow diagram of a method 1100 of controlling a virtual object in a virtual environment. Referring to Figure 5 of the drawings, the electronic toys pictured can be used for gameplay, with game information displayed on the screen 592 of each toy. Referring to the first toy 500, for example, a first virtual object 512 in a virtual environment 514 can be seen. This virtual object 512 may be associated with the first device 500, with a user of the first device, or both. For example, the virtual object may be in the form of a game character such as a player character, or the virtual object may be in the form of a game item associated with a player character.
[0250] The method 1100 comprising, at the first device 500, establishing 1110 electronic communication between the first device and a second device, and receiving 1120 a signal from the first device 500, the signal associated with the virtual object 512. The method 1100 includes determining 1130 a virtual object action based on the received signal, and effecting 1140 the virtual object action within the virtual environment to cause a virtual change. Effecting the virtual object action may comprise generating data for display of an aiming point The method 1100 includes communicating 1150 the virtual object action, the virtual change, or both the virtual object action and the virtual change to the second device.
[0251] The received signal may comprise a sensor signal from a sensor of the first device, a sensor signal from another device and communicated to the first device, signal metadata, and / or a user input received via a user interface of the first device. The user interface may include buttons, a graphical user interface (GUI), a microphone, a trackball, and / or the like.
[0252] In some embodiments, the received signal may comprise a sensed signals. For example, the received signal may comprise one or more of an audio signal, a video signal, a location signal (e.g., GPS), a movement-related signal, a speed signal, an acceleration signal, a magnetic signal, and RFID signal, an NFC signal, a temperature signal, or the like. For example, a player walking or running with their electronic toy may acquire additional experience points that strengthen their virtual player character. In another embodiment, “caring” for a virtual player character may involve moving, touching, or speaking to the electronic device / toy so that the virtual player character experiences an increase in health.
[0253] In some embodiments, the method 1100 may optionally include processing 1160 the received signal to determine the virtual object action. Processing the signal may comprise determining an aiming direction in the virtual environment. Processing the received signal may comprise progressively learning to match received signals with a plurality of possible virtual object actions in order to respond to distinctive inputs from a particular user of the first device. For example, an electronic device equipped with sensors and capable of processing various user inputs, such as audible, visual, or haptic signals, can learn to distinguish the meaning of user inputs through a combination of machine learning, adaptive algorithms, and contextual analysis. This process involves various techniques to account for variations in how users provide inputs, such as differences in pronunciation, gesture styles, or interaction preferences.
[0254] For audible inputs, such as speech, the device typically employs automatic speech recognition (ASR) systems powered by machine learning models. These models are trained on large datasets that encompass diverse pronunciations, accents, and speech patterns. To handleindividual differences, the device may include a personalization phase, where it adapts its recognition algorithms based on a user’s specific speech characteristics. This could involve allowing the user to provide example phrases or conducting a brief calibration session to finetune the system.
[0255] For visual inputs, such as gestures or facial expressions, the device uses computer vision algorithms to interpret user actions. These algorithms rely on training datasets that include a wide range of variations in human movements or expressions. The device can enhance its accuracy by learning from the user's unique gestures over time, associating specific actions with predefined commands or meanings.
[0256] For haptic inputs, such as touch or pressure, the device uses sensors to detect patterns in how the user interacts with it. It analyses input characteristics like duration, force, or motion to infer intent. Machine learning models enable the device to adapt to individual user preferences or behaviours, ensuring that the input is correctly interpreted regardless of slight variations.
[0257] Contextual understanding further improves input interpretation. The device considers factors such as the current application, previous user behaviour, and / or environmental cues to infer the most likely meaning of an input. For instance, if a user says a word that could have multiple meanings, the device may use the context of the ongoing task to determine the intended interpretation.
[0258] By combining these techniques (machine learning, personalisation, and contextual analysis), the device can effectively learn and adapt to different ways users provide inputs, ensuring accurate recognition and meaningful interaction.
[0259] Figure 12 is a flow diagram of a method of establishing a peer-to-peer network for gameplay by establishing electronic communication between at least a first device and a second device. As shown, in some embodiments establishing electronic communication 1110 between the first device and the second device comprises, at the first device, scanning 1210 a physical environment of the first device to discover other discoverable devices, receiving 1220 a response from the second device, and connecting 1230 the first device with the second device (for example, by pairing the first device and the second device).
[0260] Establishing electronic communication between the first device and the second device may include (for example as part of the received response in step 1220) receiving confirmation from the second device regarding access to the virtual environment via the second device. In other words, the second device confirms that gameplay in the shared, same virtual environmentis possible. In some embodiments, the step of establishing electronic communication 1110 may include, at 1250, initiating gameplay (for example by sharing gameplay information, such as information about the virtual object with the second device). Establishing electronic communication may also, optionally, include outputting 1260 a connection alert to the first device upon establishing said electronic communication. This may be in one or more forms, for example visual, audible, vibration, etc., or a combination thereof.
[0261] As shown in Figure 8, the peer-to-peer network can include a plurality of electronic devices 802. The method 1100 may therefore include establishing electronic communication between the first device and a plurality of other devices, and then communicating gameplay information to the plurality of other devices or to a subset of the plurality. For example, gameplay information may relate to the virtual object action, the virtual change, or the like.
[0262] In some embodiments, communicating the virtual object action, the virtual change, or both the virtual object action and the virtual change to the second device results in a virtual effect at the second device. In other words, players in the peer-to-peer network can cause actions to occur within the virtual environments that the other players are playing in by using their electronic devices to play the game.
[0263] In some embodiments, a method of establishing a multiplayer peer-to-peer gaming network comprises, at a first device, performing a scan to continuously scan a physical environment of the first device to discover other discoverable devices. When the first device receives a response to the scan from a second device, the first device then establishes a communication link with the second device based on the received response from the second device, thereby establishing a peer-to-peer communication network for gameplay. Because the network can be used for multiplayer games (being two or more players, the method includes receiving one or more further responses to the scan from one or more further devices, and based on the further response(s) adding the further device(s) to the peer-to-peer network by establishing one or more additional communication links with the further device. The method may include communicating information about all relevant communication links to all connected devices to ensure communication between the various devices that form part of the peer-to-peer network.
[0264] In some embodiments, the virtual effect at the second device comprises outputting an alert at the second device. The virtual effect at the second device may comprise displaying, on the second device, a visual representation of the virtual change. The virtual change may comprise one or more of the following: a change in the virtual object; a change in the virtualobject action, a change in the virtual environment, or a change to a second virtual object associated with the second device.
[0265] In some embodiments, the virtual action may comprise a composite action made up of sub-actions. For example, a user might shake their electronic device and then stop shaking it, so that the resulting virtual action includes a movement and the end of that movement.
[0266] In some embodiments, the virtual environment may comprise a first virtual item, and effecting the virtual object action may then comprise associating the first virtual item with the first virtual object. For example, the player may provide a user input to their electronic device or electronic toy so that their player character acquires a game item (e.g., a weapon, totem, etc.).
[0267] In some embodiments, the virtual environment may comprise a virtual item so that communicating information about the virtual object action and / or the virtual change to another device in the peer-to-peer network causes the virtual item to be associated with a second virtual object associated with the second device. For example, one player may give another player a virtual item.
[0268] In some embodiments, a virtual item may be associated with the first virtual object, and effecting the virtual object action may comprise disassociating the virtual item and the first virtual object. For example, a player character may have an item (such as a weapon), and the user input may result in the player character putting down or discarding the item.
[0269] Communicating information about the virtual object action and / or the virtual change to ta peer device may cause a virtual item to be associated with a second virtual object associated with the second device. For example, a player may give a virtual item to another player’s player character, and this action is communicated to the other player from the electronic device of the first player to the electronic device of the second player.
[0270] In some embodiments, the method may include receiving a communication from the second device and, based on the received communication, effecting a further virtual object action within the virtual environment to cause a further virtual change. In this way changes and / or actions within the virtual environment occur based on inputs from both the first device and the second device.
[0271] In some embodiments, the electronic devices run client applications in communication with a server via a communication network. For example, referring to the client-server architecture shown in Figure 9 of the drawings, each game application 804 on the devices 802 may include a client that relies on the remote server 810, accessed via the network 812 toperform specific functions or provide resources. In this way, the client application serves as the interface through which the user interacts with the server’s services or data (for example to access in-app purchases and / or game upgrades).
[0272] Client applications typically perform tasks such as sending requests to the server, displaying information retrieved from the server, and processing input provided by the user. The server, in turn, handles computationally intensive tasks, data storage, or centralised coordination, ensuring efficient performance and scalability.
[0273] This architecture is advantageous because it enables lightweight client applications that do not require extensive local processing or storage capabilities. The server handles complex tasks and serves multiple clients simultaneously, ensuring centralised control, consistent data, and easy updates. However, the dependency on network connectivity and server availability can be a limitation, as the client application cannot function without access to the server. This is one reason why the peer-to-peer network works well for gameplay, so that access to the server is only required for limited functions such as in-app purchases.
[0274] For a gaming app on a smartphone, for example, the client-server relationship plays an important role in facilitating in-app purchases. When a user initiates an in-app purchase, the process involves secure communication between the client app, the app store’s payment system, and the games server to ensure the transaction is completed successfully and the purchased content is delivered.
[0275] The process begins when the user selects an item, such as virtual currency, upgrades, or additional features, within the gaming app. The client app sends a purchase request to the app store’s payment gateway, such as Google Play or Apple’s App Store. The payment gateway handles the financial transaction, ensuring it complies with security protocols like encryption and authentication. The user may be prompted to confirm the purchase and verify their identity through passwords, biometrics, or other methods.
[0276] Once the payment is successfully processed, the app store notifies the client app and provides a digital receipt or token that serves as proof of purchase. The client app then communicates with the gaming server, sending the receipt or token for validation. The server verifies the authenticity of the receipt by cross-checking it with the app store's systems, ensuring that the transaction is legitimate and not fraudulent.
[0277] After validation, the server updates the users account to reflect the purchased content. This might involve crediting virtual currency, unlocking features, or delivering other in-gameitems. The server ensures that the purchased content is synchronized across the user's devices if the game supports cross-platform play or multiple logins. Finally, the client app displays the purchased content to the user, completing the process.
[0278] The system relies on the client-server architecture to maintain security, accuracy, and synchronization. The app store acts as an intermediary to handle financial transactions, while the gaming server ensures proper delivery and integration of purchased items into the game. This approach protects user data, prevents unauthorized purchases, and provides a seamless experience for users engaging in in-app transactions.
[0279] In some embodiments, gameplay features may be provided by the server. For example, where the first device runs a first client and the second device runs a second client, and the method comprises receiving a message from the server, then based on the received message, the method may alter, affect, or in some way influence control of the virtual object(s) in the virtual environment.
[0280] The game app on the user’s device supports various features, for example a dashboard or home screen with game information such as scores, virtual characters, objects and / or items, inventory, etc. The game app may provide the user access to a game marketplace (for example to acquire auxiliary components described elsewhere herein). The game app can provide access to game-related data, for example game history, information about other players, etc.
[0281] In some embodiments the method of controlling a virtual object in a virtual environment comprises establishing electronic communication between a first device and a second device, outputting a connection alert to the first and / or second device upon establishing electronic communication, receiving a signal from the first device and / or the second device, where the signal is associated with the virtual object (for example the signal provides a command for an action to be performed with or to or in relation to the virtual object). The method also includes determining a virtual object action based on the received signal, and then effecting the virtual object action within the virtual environment.
[0282] In some embodiments, a method of controlling a first virtual object in a virtual environment comprises, at a first device: establishing electronic communication between the first device and a second device; receiving a signal from the first device, the signal associated with the virtual object; determining a virtual object action based on the received signal; effecting the virtual object action within the virtual environment to cause a virtual change; andcommunicating the virtual object action, the virtual change, or both the virtual object action and the virtual change to the second device.
[0283] Establishing electronic communication between the first device and the second device may comprises, at the first device: scanning a physical environment of the first device to discover other discoverable devices; receiving a response from the second device; and pairing the first device with the second device. Establishing electronic communication between the first device and the second device may comprise, at the first device: receiving confirmation from the second device regarding access to the virtual environment via the second device; and sharing information about the virtual object with the second device.
[0284] The virtual object may be associated with the first device, with a user of the first device, or both. The method may comprise outputting a connection alert to the first device upon establishing said electronic communication. The signal may comprise at least one of the following: a sensor signal from a sensor of the first device, a sensor signal from another device and communicated to the first device, signal metadata, or a user input received via a user interface of the first device.
[0285] The method may comprise establishing electronic communication between the first device and a plurality of other devices; and communicating the virtual object action, the virtual change, or both the virtual object action and the virtual change to the plurality of other devices or to a subset of the plurality.
[0286] Communicating the virtual object action, the virtual change, or both the virtual object action and the virtual change to the second device may result in a virtual effect at the second device. The virtual effect at the second device may comprise outputting an alert at the second device. The virtual effect at the second device may comprise displaying, on the second device, a visual representation of the virtual change.
[0287] The virtual change may comprise one or more of the following: a change in the virtual object; a change in the virtual object action, a change in the virtual environment, or a change to a second virtual object associated with the second device. The virtual action may comprise a composite action made up of sub-actions.
[0288] The method may comprise processing the received signal to determine the virtual object action. Processing the received signal may comprise progressively learning to match received signals with a plurality of possible virtual object actions in order to respond to distinctive inputs from a particular user of the first device.
[0289] The received signal may comprise one or more of the following sensed signals: an audio signal, a video signal, a location signal, a movement-related signal, a speed signal, an acceleration signal, a magnetic signal, and RFID signal, an NFC signal, or a temperature signal.
[0290] The virtual environment may comprise a first virtual item, and effecting the virtual object action may comprise associating the first virtual item with the first virtual object. The virtual environment may comprise a second virtual item, and communicating the virtual object action, the virtual change, or both the virtual object action and the virtual change to the second device may cause the second virtual item to be associated with a second virtual object associated with the second device.
[0291] A third virtual item may be associated with the first virtual object, and effecting the virtual object action may comprise disassociating the third virtual item and the first virtual object. Communicating the virtual object action, the virtual change, or both the virtual object action and the virtual change to the second device may cause the third virtual item to be associated with a second virtual object associated with the second device.
[0292] The method may comprise receiving a communication from the second device and, based on the received communication, effecting a further virtual object action within the virtual environment to cause a further virtual change so that changes and / or actions within the virtual environment occur based on inputs from both the first device and the second device.
[0293] The first device may run a first client and the second device may run a second client, and the method may comprise: receiving a message from a server; and based on the received message, altering control of the first virtual object in the virtual environment based on the received signal.
[0294] In some embodiments, a method of controlling a virtual object in a virtual environment comprises establishing electronic communication between a first device and a second device; outputting a connection alert to the first and / or second device upon establishing electronic communication; receiving a signal from the first device and / or the second device, the signal associated with the virtual object; determining a virtual object action based on the received signal; and effecting the virtual object action within the virtual environment.
[0295] In some embodiments, a method of establishing a multiplayer peer-to-peer gaming network comprises, at a first device: performing a scan to continuously scan a physical environment of the first device to discover other discoverable devices; receiving a response to the scan from a second device; based on the received response from the second device,establishing a communication link with the second device, thereby establishing a peer-to-peer communication network for gameplay; receiving a further response to the scan from a further device, and based on the further response adding the further device to the peer-to-peer network by establishing an additional communication link with the further device.
[0296] In some embodiments, a data processing apparatus comprises means for carrying out the method of establishing electronic communication and controlling a virtual object in a virtual environment. In some embodiments, a computer program comprises instructions which, when the program is executed by a computing device, cause the computing device to carry out the method of establishing electronic communication and controlling a virtual object in a virtual environment.
[0297] In some embodiments, a computer-readable medium comprises instructions which, when executed by a computing device, cause the computing device to carry out the method of establishing electronic communication and controlling a virtual object in a virtual environment.7 Example Embodiments: Peer-to-Peer Proximity Network of Mobile Devices with Auxiliary Tagged Items
[0298] Players have electronic devices (in the form of a smartphone, a tablet, or an electronic toy such as an electronic ball toy) that scan their environment for other devices that they can connect to. When players are within range of one another, their devices are able to discover one another, and take steps to connect so that electronic communication between the devices is established. More than two devices can connect, so that multiplayer games are enabled over the resulting peer-to-peer network.
[0299] After establishing electronic communication, players are able to engage in gameplay. For example, in fighting or battling games, player characters (being virtual characters within the virtual environment of the game) are able to engage in battles in response to user inputs received at the respective electronic devices of the various players. In some embodiments, when no user inputs are received, the virtual characters go into a “sleep mode”; a sleeping character may be displayed by the electronic device until such time as a waking up user input is provided or the virtual character “wakes up” according to the game rules.
[0300] In some embodiments, methods of establishing a peer-to-peer network for multiplayer gameplay may involve connecting to in-range devices that are configured to engage in play (for example, being configured by running the game app and being setup for play according to one of the play modes). In one example play mode, e.g. a “stealth mode”, devices may be added to thenetwork without alerting the users (for example, no notification being output to the user). In this play mode, an approaching player may initiate the connection by establishing or joining a network, and can then also initiate gameplay, for example by launching a surprise attack on an unsuspecting player who has unknowingly been connected to the approaching player’s device.
[0301] In some embodiments the electronic devices need to be within a certain physical range of one another, for example within an electronic communication range for short range communication technologies such as Bluetooth or NFC. In some embodiments, electronic communication may be facilitated via Wi-Fi or via the Internet, so that physical proximity is not necessarily required. In some embodiments, the physical range threshold is about 30cm.
[0302] For “proximity games” where players need to be within a certain physical range of one another, the distance to other players may be displayed on the user interface of a player’s electronic device, so that players can decide whether to initiate gameplay or not. In these games, when another player comes within a certain distance of a player, their electronic device may output an alert (for example an audio, visual, or audiovisual output).
[0303] The virtual character may start off being in the form of an infant or undeveloped character, for example an unhatched egg. Gameplay may involve the player caring for the unhatched egg until the egg hatches and the virtual character can be used in gameplay. “Caring for” the unhatched egg may involve various actions performed by the player via the electronic device, for example moving the device in a certain way, or providing audible inputs.
[0304] In some embodiments play features may be provided via auxiliary electronic components, for example NFC or RFID-tagged items. Electronic devices that are smartphones are typically able to sense NFC tags. For RFID tags the electronic device may require an RFID reader that is typically not provided by a smartphone. For example, NFC / RFID tags may be associated with weapons, food, virtual character features such as skills, skins, health or the like, etc. When the auxiliary electronic component is within reading range of the electronic device, the user is able to include the additional play features in the game.
[0305] Gameplay may support more than one auxiliary electronic component. For example, a shield or barrier totem increases a virtual character’s chance of blocking an attack (this can be, e.g., once per day, and the item’s functionality can be upgraded through the game app). A healing item can heal a virtual character, an energy item can restore a virtual character’s energy, and an experience item can boost a virtual character’s experience points.8 Example Embodiments: Physically Based Line-of-Sight Battle Gameplay
[0306] In one example embodiment, an electronic device in the form of a hand-held ball is used in a simplified, physically based battle system. Each ball comprises at least one motion sensor, an orientation sensor, a first wireless communication circuit configured for distance and direction signalling using, for example, infrared and / or ultra-wideband signals, a second wireless communication circuit for exchanging status messages, a visual display and lighting elements such as RGB LEDs. The controller of each ball maintains a health value for an associated virtual character and controls animations, lighting effects and sounds based on that health value and on detected attack or defence events.
[0307] During play, a first player performs a throwing or attacking motion with their ball. The controller detects the motion using the motion sensor data and, in response to a trigger condition being satisfied, causes the first wireless communication circuit and / or at least one optical transmitter to emit a directional attack signal. The attack signal is transmitted as a modulated, directional optical signal or as a first wireless signal containing at least an identifier of the attacking ball and, in some embodiments, heading information derived from the orientation sensor. The signal is emitted along a line-of-sight direction corresponding to the physical orientation of the ball at the time of the attack.
[0308] A second player attempts to physically dodge the attack by moving their own ball out of the line-of-sight path of the emitted signal. If the second ball remains within this path, its optical receiver and / or first wireless communication circuit detects the incoming signal. The controller of the second ball decodes the signal to recover the identifier of the attacking ball and, where applicable, uses distance and direction information derived from the first wireless communication circuit together with its own heading information to confirm that the directional criterion for a valid hit is satisfied. When a valid hit is determined, the controller generates a target-determination signal and reduces the health value of the character associated with the second ball.
[0309] The balls provide immediate feedback to the players based on these events. When an attack is launched, the attacking ball may flash its LEDs in a first colour pattern or play an animation on its display indicating an outgoing attack. When a hit is registered at a defending ball, that ball changes its LED pattern, vibration output and / or screen animation to indicate that damage has been taken, and shows the updated health value. If the health value falls to zero, the controller may trigger a defeat animation or other end-of-round indication. Because no virtual items, weapons or projectiles are exchanged and no complex inventory is maintained, thegameplay centres on the players’ physical ability to time and aim attacks and to move their balls to avoid the line-of-sight of incoming signals.
[0310] In some implementations, the second wireless communication circuit is used to broadcast simple status messages, such as health updates or round outcomes, to nearby balls or to a companion device so that all participants can maintain a consistent view of the game state. However, all core attack and defence actions are effected through the physical movement of the balls and the detection or avoidance of directional signals. This embodiment thus illustrates a battle system in which the electronic devices use distance and direction signalling and on-device state management to support a real-world, physically driven interaction, rather than a traditional virtual item or weapon exchange mechanic.9 Example Embodiments: Electronic Design
[0311] Figure 13 shows a schematic block diagram of an example electronic device system 1300 according to an embodiment, illustrating principal hardware components used to implement the interaction, proximity and communication features described herein.
[0312] The system 1300 comprises a main processing module 1310 implemented by a microcontroller unit (MCU), for example an ESP32-S3R2 device, having on-chip RAM and program memory. The main processing module 1310 is coupled to an external non-volatile memory device 1342, such as a 4 GB eMMC, and to an SPI-connected display interface 1344 for driving an LCD screen 1330 mounted on the housing of the device.
[0313] The main processing module 1310 further interfaces with a six-axis motion sensor 1346 providing gyroscope and accelerometer data, and with a three-axis magnetometer 1348 providing Earth-field heading information. An audio codec and audio amplifier drive a speaker 1332 and receive audio from a microphone. A key interface 1355 receives user input from multiple keys on the housing. A GPIO expander provides additional general-purpose input / output lines. The main processing module 1310 is coupled to a combined Wi-Fi / Bluetooth antenna 1390 for wireless networking.
[0314] A communication and power interface module 1360 is connected to the main processing module 1310 via a multi-pin connector 1370 carrying UART, power and control signals. The communication and power interface module 1360 includes a UWB transceiver 1362, for example an SRI 50 device, connected to a plurality of UWB antennas disposed around the housing, and an NFC controller 1364, for example an R522 device, connected to an NFC coil antenna. The module 1360 also integrates an LED driver providing RGB PWM control signals, a haptic-output interface, a charger / UART / debug interface, a touch-sensor interface 1374 connected to a touch PCB, and a battery -voltage sensing input. In some embodiments, a character module interface 1375 is included.
[0315] The communication and power interface module 1360 drives a vibration motor and one or more LED RGB strips 1380 arranged on or within the housing. A rechargeable battery, for example a 3.7 V 1500 mAh cell, supplies power to the system, and is chargeable via a USB 5 V connector which also provides a data path for software download and debugging through the charger / UART / debug interface.
[0316] In the illustrated embodiment, the components together form an integrated system 1300 capable of sensing motion and heading, performing ultra-wideband and NFC communication, providing RF connectivity, generating haptic and visual feedback, and managing power and charging for the electronic device.
[0317] Figure 14 shows a schematic block diagram of an embodiment of a hardware design for an electronic device system 1400.
[0318] In this example, the electronic device system 1400 is implemented on a single board and comprises a first processing module 1410 in the form of an ESP32-S3 microcontroller with onboard 8 MB flash memory. The first processing module 1410 is connected to a Wi-Fi / Bluetooth antenna 1412, which may be an on-board antenna or an external IPEX-connected antenna.
[0319] A second processing module 1420 is provided in the form of an STM32U073RCI6 microcontroller. The first processing module 1410 and the second processing module 1420 communicate over a high-speed UART link 1422, for example supporting data rates up to about 5 Mbit / s.
[0320] The system further comprises a motion-sensing module 1430 including a six-axis gyro and accelerometer device LSM6DSTR and a three-axis earth-field magnetometer. The motionsensing module 1430 is interfaced to the first processing module 1410, which may also control an audio codec and amplifier that in turn drive a loudspeaker 1434 and receive signals from a microphone 1436.
[0321] A general-purpose I / O expander, for example a GPIO9555 device, is connected to the first processing module 1410 and provides additional digital inputs and outputs for peripheral control.
[0322] The second processing module 1420 interfaces with a light sensor 1450, for example an OPT3001 device, via an FC bus. An NFC front-end 1460, for example an SL2823 device, is connected to the second processing module 1420 via general-purpose VO lines and to an NFC coil antenna. A touch-sensing pad 1464 is connected to the second processing module 1420 via a touch interface.
[0323] Two annular RGB LED strips, each implemented for example by WS2812 individually addressable LEDs arranged around a central display region, are controlled by the second processing module 1420 via LED drive lines. In addition, a pair of discrete RGB LEDs is provided near the central region of the board.
[0324] A third processing module 1480, for example an STM32G030F6P6 microcontroller, is connected to the second processing module 1420 via a selectable multi-pin jumper interface 1482. The third processing module 1480 is associated with a character-card circuit 1484 including local storage and is connected to an external character-card connector 1486. The third processing module 1480 provides a pulse-width-modulated (PWM) drive signal to a vibration motor 1488 for haptic feedback.
[0325] The second processing module 1420 is further connected to one or more IR transmitter elements positioned at opposite sides of the board for directional IR signalling. A keypad is provided at one comer of the board and is connected to the second processing module 1420 via general-purpose input / output lines. A GPS module 1498 with an associated antenna is connected to the second processing module 1420 via a UART interface supporting data rates up to about 3 Mbit / s.
[0326] Power for the system is supplied by a rechargeable battery, such as a 3.7 V, 1500 mAh cell mounted on the reverse side of the board. The battery is chargeable via a USB 5 V connector, which also serves as a software download and debug interface for the processing modules. / 0 Other EmbodimentsUWB antennas and multi-antenna AoA ranging
[0327] In some embodiments, the UWB hardware subsystem described herein may be used for collision-avoidance and spacing in industrial environments. For example, a set of autonomous guided vehicles (AGVs) or forklift trucks operating in a warehouse may each be equipped with the UWB antenna arrangement. Each vehicle periodically broadcasts UWB ranging signals and receives corresponding signals from other vehicles, thereby determining distance and relativebearing between vehicles. The UWB-based distance and angle-of-arrival data may be used to enforce minimum separation distances, trigger automated braking, or generate operator alerts when two vehicles approach closer than a defined safety threshold.
[0328] In one example embodiment, an integrated hardware-software system is implemented as a collision-avoidance module mounted on an industrial vehicle such as a forklift truck or autonomous guided vehicle (AGV).
[0329] The module is built around a microcontroller unit (MCU) with non-volatile program memory and RAM. The MCU interfaces with: a UWB ranging subsystem (e.g. an SRI 50-based board with multiple antennas), a three-axis magnetometer (e.g. LIS2MDL-type), a six-axis IMU combining accelerometer and gyroscope (e.g. LSM6DSV16X-type), a 2.4 GHz RF transceiver (e.g. ESP-NOW-capable Wi-Fi module), optional IR transmitter / receiver hardware for short- range line-of-sight detection, a vehicle interface block (CAN / LIN / GPIO) to influence speed and braking, and human-machine-interface elements such as LEDs, a buzzer, and a small display.
[0330] The module is fixed to the vehicle chassis with its axes aligned to the vehicle’s forward direction. The IMU is used primarily to estimate vehicle motion (acceleration, deceleration, and turning behaviour), so the MCU can distinguish between low-speed manoeuvring, normal travel, and emergency braking. The magnetometer is used to derive a heading vector that indicates the vehicle’s current orientation in a global frame (for example, aligned to the building’s coordinate system after calibration). This heading is later combined with UWB angular information to reason about which other objects are directly ahead of the vehicle versus off to the side.
[0331] The UWB subsystem includes at least two, and preferably three, UWB antennas positioned around the module to provide good angular resolution in the horizontal plane around the vehicle. The MCU configures the UWB transceiver to participate in a time-division “room” scheme or an impulse scheme, depending on the deployment:
[0332] In a room configuration, one module in a given warehouse zone periodically starts a UWB “room”, assigns time slots, and all vehicles in that zone broadcast short UWB ranging bursts in their assigned slots while listening in the other slots. Each module then calculates distance and angle-of-arrival to every other broadcasting vehicle.
[0333] In an impulse configuration, each vehicle remains in a low-power listening state and transmits a UWB burst only when its speed exceeds a threshold or when the steering angleindicates a manoeuvre, reducing overall power consumption while still providing proximity information when needed.
[0334] In both cases, the local MCU fuses the UWB-derived direction vectors with the vehicle’s own heading from the magnetometer. For each detected neighbour, it computes whether that neighbour lies inside a forward hazard sector, for example, a cone of ±30° around the vehicle’s forward axis, and within a distance threshold that depends on the vehicle’s current speed (shorter threshold at low speed, longer at high speed). Neighbours that fall outside this sector are treated as low risk; neighbours within the forward sector and inside a configurable buffer distance are flagged as potential collision partners.
[0335] The 2.4 GHz RF transceiver provides a robust, omni-directional channel for exchanging status and intent messages. Each module broadcasts messages that may include its current speed, braking state, and any local hazard flags (for example, “emergency braking” or “obstacle detected”). Other modules use these RF messages to refine their local risk assessment — for instance, giving extra weight to a neighbour that has signalled an abrupt stop in the lane ahead, even before UWB distance closes below the normal threshold.
[0336] In some installations, the module also includes a directional IR subsystem pointing forward, with a fixed IR receiver array mounted on fixed infrastructure (such as at loading bays or pedestrian crossings). When the vehicle enters a designated zone, the IR link can provide very local, line-of-sight triggers — for example, confirming alignment with a docking station — or can be used as a low-cost alternative to UWB for fixed, short-range safety interlocks. The ambient light sensor in the IR receiver is used to adapt the transmitter duty cycle so that IR detection remains robust under varying lighting conditions without excessive power draw.
[0337] When the MCU determines that another vehicle or tagged object is within the hazard sector and below the dynamically computed distance threshold, it generates a proximity alert signal. This signal is: presented to the operator via audible and visual indicators (buzzer, warning lights, dashboard message), and / or transmitted over the vehicle interface bus to a brake or speedlimiting system, which may automatically apply gentle braking or cap the maximum speed until the hazard clears.
[0338] At the same time, the module broadcasts an RF hazard message containing its own identifier, the nature of the hazard (e.g. “close approach front-left”), and the relative position of the detected neighbour. Neighbouring modules that receive this message can correlate it with their own UWB observations to build a more consistent view of the local traffic situation.
[0339] In this example embodiment, comparable underlying hardware-software architecture as used for the example of an electronic toy, UWB ranging and direction, magnetometer-based heading, IMU-based motion detection, dual-channel communication and proximity logic, provides a generic collision-avoidance block. Integrated into industrial vehicles the systems and methods described herein provide infrastructure-free proximity management and collisionwarning functionality in warehouses or similar environments.2,4 GHz low-latency RF (e.g. ESP-NOW) transceiver
[0340] In another application, the low-latency 2.4 GHz transceiver may be integrated into wearable tags attached to warehouse workers’ clothing or helmets. Each tag may broadcast its presence and receive status messages from nearby vehicles and infrastructure. The RF link may be used to disseminate safety warnings (for example, indicating that a heavy vehicle is reversing or that a restricted zone is active) and to log historical proximity events between workers and machines for safety analysis and incident reconstruction.Directional IR transmitter / receiver with ambient-light-adaptive drive
[0341] In a further embodiment, the IR subsystem with ambient-light-based duty-cycle control may be employed in interactive exhibition or public-space installations. For example, an information kiosk may emit directional IR beams towards designated “interaction zones” in front of a display. Visitors carrying simple IR-detecting badges or devices can trigger content changes when they enter the beam path. The adaptive duty-cycle control allows the system to maintain reliable operation under varying lighting conditions, such as bright sunlight near windows or low-light environments in galleries, while reducing power consumption and spurious reflections indoors.Motion sensors and magnetometer for heading
[0342] Beyond toys, the motion sensor and magnetometer combination may be incorporated into handheld industrial tools, such as powered screwdrivers or torque wrenches. The device can track orientation and motion patterns during use, enabling automatic logging of tool usage (e.g. number of fastening operations, angular positions reached) and enforcing correct orientation during safety-critical tasks, such as tightening fasteners in aerospace or automotive assembly.Pressure and touch sensors with long-press and stroke recognition
[0343] In some embodiments, the pressure- and touch-sensitive surface may be used in rehabilitation and physiotherapy equipment. For example, a therapy ball may be instrumentedwith the described sensor arrangement to detect squeeze force, press duration and finger-stroke patterns performed by a patient. The recorded interaction patterns can be used to assess grip strength, dexterity and range of motion in post-injury or post-surgical rehabilitation, and to provide real-time feedback to the patient via connected displays or haptic actuators.NFC / RFID reader for tagged items
[0344] In another application, the near-field communication reader may be integrated into a handheld inspection device used in logistics or manufacturing. Items, pallets or containers may be fitted with NFC / RFID tags encoding item identifiers or handling instructions. When the device is brought into proximity with an item, the tag is read and the device automatically retrieves or displays associated information, such as storage location, expiry date or special handling requirements, thereby reducing manual scanning and data entry.Dual-processor architecture (communications processor + main processor)
[0345] The multi-processor architecture described for the toy can likewise be used in safety- critical control units in vehicles or mobile robots. A first processor may be dedicated to real-time communication and sensor interfacing (UWB, RF, IR, etc.), while a second processor performs higher-level decision-making and path planning. This separation of concerns can improve system robustness by ensuring that time-critical communication and safety functions continue to operate even if the higher-level processor becomes overloaded or is updated with new application software.SVM-based motion classification from multi-axis IMU features
[0346] In other embodiments, the motion classification algorithm may be used to analyse human gait and activity for medical monitoring. A patient may wear a compact device incorporating the motion sensors and SVM model, for example attached to the shoe or ankle. The classifier distinguishes between walking, running, standing and other motion classes, and counts steps. The resulting data may be used to quantify rehabilitation progress after orthopaedic surgery, detect abnormal gait patterns indicative of neurological conditions, or monitor compliance with prescribed exercise regimes.“Room”-based UWB TDMA scheduling
[0347] The room-based UWB TDMA implementation can be applied to co-ordination of a fleet of mobile robots in a factory or warehouse. One robot may act as a coordinator and allocate UWB time slots to all robots in the area. Each robot broadcasts its UWB signal during itsallocated slot and listens during the remaining slots, thereby maintaining an up-to-date map of the relative positions of all other robots. This decentralised approach can be used to plan collision-free paths, implement dynamic re-routing around congested areas and optimise flow through aisles or production lines without relying on fixed UWB anchor infrastructure.“Impulse” UWB ranging mode
[0348] The impulse-mode UWB algorithm lends itself to low-duty-cycle locating of assets that are normally stationary. For example, tools, trolleys or mobile medical equipment in a hospital may be equipped with UWB receivers that remain in a low-power listening state. When a staff member wishes to locate an item, they trigger an impulse broadcast from a personal device. Each asset that receives the broadcast computes its distance and direction relative to the staff member’s device and may respond over a secondary channel (e.g. Wi-Fi or ESP-NOW). This provides on-demand localisation without continuous high-power broadcasting from all assets.Combined magnetometer heading and UWB angle-of-arrival target resolution
[0349] In further embodiments, the dual-layer direction determination may be used for automated docking or tool-alignment applications. For example, an autonomous pallet mover may act as an “attacker” device and broadcast its heading together with a UWB ranging signal. A docking station or loading bay equipped with UWB antennas receives the signal, computes the incoming direction and compares it with the reported heading. Only when the mover’s heading and the docking station’s perceived direction are consistent within tolerance does the system permit automatic docking or engagement, thereby reducing misalignment and impact risk.Low-latency RF messaging with distinct message classes
[0350] The RF messaging protocol with predefined message classes (e.g. status, event, acknowledgement, join / leave) can be adopted in building-wide safety or status systems. For instance, portable devices carried by maintenance staff and fixed beacons placed around a facility may exchange RF messages indicating local hazards, equipment status changes, or entry to restricted zones. The defined message classes facilitate prioritisation (e.g. urgent hazard messages versus routine status updates) and allow devices to filter and respond to only those classes relevant to a given role.Infrastructure-free collision detection and spacing for vehicles and machines
[0351] As noted above, the integrated UWB ranging, magnetometer heading and RF messaging system may be deployed on autonomous or human-driven vehicles in warehouses, factories ordistribution centres. Each vehicle operates both as a ranging node and as a communication node, continuously or periodically exchanging distance and direction information with other vehicles and with wearable tags on workers.
[0352] Combined with the described software algorithms, the system can: detect impending collisions or unsafe proximity between vehicles; generate haptic or visual alerts to drivers or operators; and / or automatically limit vehicle speed or initiate braking when proximity thresholds are violated.
[0353] This approach does not require fixed UWB anchors or extensive infrastructure, as each vehicle performs its own position estimation relative to other vehicles and tagged persons.Worker safety and zone-of-danger monitoring
[0354] In another combined embodiment, wearable devices incorporating the hardware and software described herein may be worn by workers in hazardous environments such as construction sites, mines or heavy industrial plants. Fixed machinery and vehicles may also be equipped with compatible devices. The UWB and RF subsystems are used to determine when a worker enters a defined “danger zone” around a machine or vehicle, based on relative distance and orientation. The integrated system may then provide immediate alerts to both the worker and the machine operator, and optionally disable or slow machine motion until the worker exits the zone.Multi-obi ect tracking for sports, training and analytics
[0355] The combination of SVM-based motion classification, UWB / IR-based relative positioning and RF state synchronisation can be applied to sports analytics. Athletes in a team sport (such as football, rugby or basketball) may each wear or carry a device implementing the described system. The devices classify individual movements (e.g. sprints, jumps, changes of direction), determine relative positions of teammates and opponents, and share state over the RF channel. A central system can reconstruct plays, measure player workloads, and evaluate tactical patterns without requiring cameras or external tracking infrastructure.Interactive exhibits and location-aware user interfaces
[0356] In further embodiments, multiple devices incorporating the integrated hardware and software may be installed in a museum, trade show or retail environment. Visitor-carried devices (e.g. badges or handheld units) can interact with fixed and mobile nodes using the same UWB / IR / RF mechanisms: IR signalling provides directional triggers when a visitor points adevice at an exhibit; UWB ranging provides distance and relative orientation between visitors and exhibits; and RF messaging synchronises content and logs interactions.
[0357] This enables context-aware content delivery, such as automatically presenting additional information when a visitor approaches an exhibit, or providing navigation assistance through complex venues.General asset-tracking and recovery systems
[0358] The integrated system may further be used to locate and manage high-value assets in facilities such as airports, hospitals or data centres. Each asset is equipped with a device that can perform UWB ranging, RF communication and optional IR signalling. Staff-carried devices use the impulse-mode UWB algorithms to initiate localisation, while the RF channel is used to relay location estimates and asset status. Optional motion classification may be used to detect abnormal handling patterns (e.g. an asset being dropped, carried or moved when it should remain stationary), triggering alarms or logging events for later review.
[0359] It will be understood to persons skilled in the art of the invention that many modifications may be made without departing from the spirit and scope of the invention.
Claims
CLAIMS:
1. An electronic device comprising: a first wireless communication circuit configured to transmit and receive first wireless signals via a plurality of antennas; an orientation sensor configured to provide heading information indicative of an orientation of the electronic device in a reference frame; and a controller configured to: obtain the heading information from the orientation sensor; control the first wireless communication circuit to transmit at least one first wireless signal comprising information indicative of the heading information and an identifier of the electronic device; receive, via the first wireless communication circuit, at least one first wireless signal transmitted by another device; determine, based on differences in arrival time and / or phase of the at least one first wireless signal at the plurality of antennas, a direction vector from the electronic device towards the other device; determine, based on a time-of-flight associated with the at least one first wireless signal, a distance between the electronic device and the other device; and compare the direction vector with the heading information and, when the direction vector satisfies a directional criterion relative to the heading information and the distance is within a predetermined range, generate a target-determination signal or proximity signal.
2. The electronic device of claim 1, wherein the controller is configured to compare the direction vector with the heading information by: forming a first vector representing the heading information; computing a dot-product between the first vector and the direction vector; anddetermining that the directional criterion is satisfied when an angle between the vectors, derived from the dot-product, lies within a tolerance band.
3. The electronic device of claim 1 or claim 2, wherein the controller is configured to define a forward interaction region as a cone or sector extending from the electronic device within a predetermined angular width about the heading information, and to determine that the directional criterion is satisfied when the direction vector lies within the forward interaction region.
4. The electronic device of any one of the preceding claims, wherein the controller is configured, when the proximity signal indicates that the distance is less than a speeddependent threshold, to generate a collision-risk signal.
5. The electronic device of claim 4, further comprising an output interface configured to provide, based on the collision-risk signal, at least one of a human-perceptible warning; and a control signal for limiting speed, braking or steering of a vehicle with which the electronic device is associated.
6. The electronic device of any one of the preceding claims, wherein the first wireless communication circuit is configured to transmit impulse-radio signals and to support determining the distance using two-way ranging.
7. The electronic device of any one of the preceding claims, further comprising at least one optical transmitter and at least one optical receiver, and wherein the controller is further configured to: in response to a trigger event, control the at least one optical transmitter to emit a modulated, directional optical signal containing an identifier of the electronic device; and when the at least one optical receiver detects a corresponding directional optical signal emitted by another device, decode an identifier of the other device and treat the other device as a candidate target for comparing the direction vector with the heading information.
8. The electronic device of claim 7, further comprising an ambient light sensor, wherein the controller is configured to adjust a duty cycle and / or drive level of the modulated, directional optical signal based on an ambient light level measured by the ambient light sensor.
9. The electronic device of any one of the preceding claims, further comprising a second wireless communication circuit different from the first wireless communication circuit, wherein the controller is configured, upon generating the target-determination signal or proximity signal, to cause the second wireless communication circuit to transmit a message indicating at least one of: an identifier of the electronic device; an identifier of the other device; a category of event; and a measure derived from the distance.
10. The electronic device of any one of the preceding claims, wherein the controller is configured to maintain, based on the distances and direction vectors determined for a plurality of other devices over time, a table of relative positions of the plurality of other devices with respect to the electronic device.
11. A method of operating an electronic device to determine distance and direction to another device, the electronic device comprising a first wireless communication circuit, a plurality of antennas, an orientation sensor and a controller, the method comprising, at the electronic device:(a) obtaining heading information from the orientation sensor;(b) controlling the first wireless communication circuit to transmit at least one first wireless signal comprising information indicative of the heading information and an identifier of the electronic device;(c) receiving, via the first wireless communication circuit, at least one first wireless signal transmitted by another device;(d) determining, based on differences in arrival time and / or phase of the at least one first wireless signal at the plurality of antennas, a direction vector from the electronic device towards the other device;(e) determining, based on a time-of-flight associated with the at least one first wireless signal, a distance between the electronic device and the other device; and(f) comparing the direction vector with the heading information and, when the direction vector satisfies a directional criterion relative to the heading information and the distance is within a predetermined range, generating a target-determination signal or proximity signal.
12. A non-transitory computer-readable medium storing instructions which, when executed by one or more processors of an electronic device comprising a first wireless communication circuit, a plurality of antennas and an orientation sensor, cause the electronic device to perform the method of claim 11.
13. An electronic device comprising: at least one motion sensor configured to provide motion sensor data along a plurality of axes over time; and a controller configured to:(i) segment the motion sensor data into time windows;(ii) for each time window, compute a feature vector comprising a plurality of statistical features of the motion sensor data for that time window;(iii) provide the feature vector as input to a machine-learning classifier stored at and executed by the electronic device;(iv) obtain, from the machine-learning classifier, an output indicating a motion class associated with the time window; and(v) control at least one application-level function of the electronic device or of an associated system based on the motion class.
14. The electronic device of claim 13, wherein the plurality of statistical features comprises, for at least one axis or for a magnitude derived from the axes, at least twoof: an average value, a maximum value, a minimum value and a count of average crossings.
15. The electronic device of claim 14, wherein the count of average crossings is a number of times the motion sensor data crosses the average value within the time window.
16. The electronic device of any one of claims 13 to 15, wherein the at least one motion sensor comprises an accelerometer and a gyroscope, and wherein the feature vector comprises the plurality of statistical features for both accelerometer data and gyroscope data.
17. The electronic device of any one of claims 13 to 16, wherein the feature vector further comprises the plurality of statistical features computed for a magnitude signal representing a magnitude of a multi-axis acceleration and / or angular rate vector.
18. The electronic device of any one of claims 13 to 17, wherein the machine-learning classifier is a support vector machine.
19. The electronic device of any one of claims 13 to 18, wherein the controller is configured to: obtain labelled motion sensor data corresponding to a plurality of motion classes; train the machine-learning classifier using feature vectors derived from the labelled motion sensor data; and store parameters of the trained machine-learning classifier in a memory of the electronic device for use in step (iii).
20. The electronic device of any one of claims 13 to 19, wherein the motion classes comprise at least two of: walking, running, shaking, cradling, throwing and idle, and wherein the controller is further configured to: maintain a step count based at least on the motion sensor data; and update the step count in dependence on a subset of the motion classes indicating locomotion; and wherein the at least one application-level function comprises at least one of:initiating a wireless signalling sequence; adjusting a state of a virtual entity represented by the electronic device; logging activity for medical or fitness monitoring; and providing feedback for sports training.
21. A method of classifying motion of an electronic device, the electronic device comprising at least one motion sensor and a controller, the method comprising:(a) obtaining motion sensor data from the at least one motion sensor along a plurality of axes over time;(b) segmenting the motion sensor data into time windows;(c) for each time window, computing a feature vector comprising a plurality of statistical features of the motion sensor data, the plurality of statistical features comprising, for at least one axis or a magnitude derived from the axes:(i) an average value,(ii) a maximum value,(iii) a minimum value, and(iv) a count of average crossings, being a number of times the motion sensor data crosses the average value within the time window;(d) providing the feature vector as input to a machine-learning classifier stored at and executed by the electronic device;(e) obtaining, from the machine-learning classifier, an output indicating a motion class associated with the time window; and(f) controlling at least one application-level function of the electronic device or of an associated system based on the motion class.
22. A non-transitory computer-readable medium storing instructions which, when executed by one or more processors of an electronic device comprising at least one motion sensor, cause the electronic device to perform the method of claim 21.
23. An electronic device comprising:a wireless communication circuit configured to transmit and receive wireless signals; a time reference; and a controller configured to:(i) operate in an initiator mode in which the controller is configured to:(a) cause the wireless communication circuit to broadcast a room invitation message;(b) receive, via the wireless communication circuit, a plurality of acceptance messages transmitted by other devices in response to the room invitation message;(c) allocate, for each accepting device and for the electronic device, a respective transmission timeslot within a repeating time frame; and(d) cause the wireless communication circuit to transmit, to the accepting devices, timeslot allocation information identifying the respective transmission timeslots;(ii) cause the wireless communication circuit to transmit a ranging signal during a transmission timeslot allocated to the electronic device; and(iii) cause the wireless communication circuit to operate in a receiving mode during transmission timeslots allocated to other devices, to receive ranging signals transmitted by the other devices.
24. The electronic device of claim 23, wherein the controller is further configured, when operating in a joiner mode, to: receive, via the wireless communication circuit, a room invitation message broadcast by another device; transmit, via the wireless communication circuit, an acceptance message; receive timeslot allocation information; and store an indication of a transmission timeslot allocated to the electronic device.
25. The electronic device of claim 23 or claim 24, wherein the time reference is synchronised to an external time source, and wherein the controller is configured toschedule transmissions and receptions for the transmission timeslots based on the time reference.
26. The electronic device of any one of claims 23 to 25, wherein the controller is further configured, while operating in the receiving mode, to determine at least one of: a distance to each other device, based on a time-of-flight associated with the ranging signal transmitted by that other device; and a direction to each other device, based on differences in arrival time and / or phase of the ranging signal at a plurality of antennas of the electronic device.
27. The electronic device of any one of claims 23 to 26, wherein the controller is further configured to maintain, based on ranging signals transmitted and received within the repeating time frame, a representation of a relative topology of devices participating in the room.
28. The electronic device of any one of claims 23 to 27, wherein the controller is configured to dynamically update the timeslot allocation in response to detection of a device joining or leaving the room, and to broadcast updated timeslot allocation information.
29. The electronic device of any one of claims 23 to 28, wherein the controller is configured, when a number of participating devices falls below a threshold or when a battery state of the electronic device satisfies a condition, to suspend operation in the initiator mode and / or joiner mode and to operate in an impulse mode in which the wireless communication circuit normally remains in a receiving state and transmits ranging signals only in response to a trigger condition.
30. A method of operating an electronic device for network setup and room topology management, the electronic device comprising a wireless communication circuit, a time reference and a controller, the method comprising, at the electronic device:(a) operating in an initiator mode by:(i) causing the wireless communication circuit to broadcast a room invitation message;(ii) receiving, via the wireless communication circuit, a plurality of acceptance messages transmitted by other devices in response to the room invitation message;(iii) allocating, for each accepting device and for the electronic device, a respective transmission timeslot within a repeating time frame; and(iv) causing the wireless communication circuit to transmit, to the accepting devices, timeslot allocation information identifying the respective transmission timeslots;(b) causing the wireless communication circuit to transmit a ranging signal during a transmission timeslot allocated to the electronic device; and(c) causing the wireless communication circuit to operate in a receiving mode during transmission timeslots allocated to other devices, to receive ranging signals transmitted by the other devices.
31. A non-transitory computer-readable medium storing instructions which, when executed by one or more processors of an electronic device comprising a wireless communication circuit and a time reference, cause the electronic device to perform the method of claim 30.