Coffee bean grinder, method, and espresso machine

The coffee bean grinder system uses sound emitters and sensors to accurately detect hopper fill levels, addressing detection inaccuracies and ensuring complete grinding operations by providing multiple fill state indications.

WO2026128973A1PCT designated stage Publication Date: 2026-06-25BREVILLE HLDG PTY LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
BREVILLE HLDG PTY LTD
Filing Date
2025-12-18
Publication Date
2026-06-25

Smart Images

  • Figure AU2025051449_25062026_PF_FP_ABST
    Figure AU2025051449_25062026_PF_FP_ABST
Patent Text Reader

Abstract

A coffee bean grinder (100) includes a housing with a sound emitter (740) and sound sensor (750), a hopper (150) for storing and feeding coffee beans to a grinding mechanism, an output device (760), and a controller (702) electrically coupled with the sound emitter (740), sound sensor (750), and output device (760). The controller (702) includes a processor (710) and memory (720) with stored instructions. Execution of the instructions causes the controller (702) to control the sound emitter (740) to output a sound wave, sample the sound sensor (750) to obtain a measurement, determine whether the hopper (150) is empty, and control the output device (760) to indicate the hopper (150) is empty.
Need to check novelty before this filing date? Find Prior Art

Description

COFFEE BEAN GRINDER, METHOD, AND ESPRESSO MACHINERELATED APPLICATIONS

[0001] The present application claims priority from Australian Provisional Application No. 2024904185, filed 18 December 2025, the contents of which are incorporated by reference in its entirety.TECHNICAL FIELD

[0002] The present invention relates to a coffee bean grinder, a method performed by a coffee bean grinder, an espresso machine, and a computer readable medium.BACKGROUND

[0003] Coffee bean grinders are used to grind roasted coffee beans into ground coffee suitable for brewing. A coffee bean grinder typically includes a hopper for storing coffee beans prior to grinding, a grinding mechanism for reducing the coffee beans to a desired particle size, and a dispensing arrangement for delivering the ground coffee to a receptacle such as a portafilter or storage container. The hopper is generally positioned above the grinding mechanism and feeds coffee beans to the grinding mechanism by gravity. Coffee bean grinders may be provided as standalone appliances or may be integrated into espresso machines that combine grinding, tamping, and brewing functions.

[0004] Automatic detection of whether coffee beans are contained in a hopper for a coffee bean grinder can be difficult. Attempts have been made to utilise light sensors to sense light emitted from a light source through the hopper, wherein the amount of sensed light is indicative of the emptiness of the hopper and thus whether coffee beans are contained in the hopper. However, dust from the coffee beans as well as the grinding of the coffee beans can accumulate on the inside surface of the hopper walls, thereby resulting in an incorrect sensed detection.

[0005] Capacitive sensing has also been explored for detecting the presence of coffee beans in a hopper. Capacitive sensors measure changes in capacitance caused by the presence of material between or near conductive elements. However, capacitive sensing can be susceptible to interference from environmental factors such as humidity, temperature variations, and electromagnetic interference from nearby electronic devices. Additionally, deposits or residue on the hopper walls can affect the accuracy of capacitive measurements overtime.

[0006] Existing detection approaches may provide a binary indication of whether the hopper is empty or contains beans, without providing information about intermediate fdl levels. This can result in situations where a user initiates a grinding operation without sufficient beans to complete the desired dose, leading to an incomplete or unsatisfactory result. Furthermore, some detection systems may not provide advance warning to users that the bean supply is running low, preventing users from replenishing the hopper before the beans are exhausted.SUMMARY

[0007] The present disclosure to ameliorate one or more of the above-mentioned disadvantages or provide a useful alternative.

[0008] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description.

[0009] In one aspect, a coffee bean grinder comprises a housing having mounted thereto a sound emitter and a sound sensor, a hopper for storing and feeding coffee beans to a grinding mechanism, wherein the hopper is positioned such that the sound emitter is configured to output sound waves into the hopper and the sound sensor is configured to receive sound waves from the hopper, an output device, and a controller electrically coupled with the sound emitter, the sound sensor, and the output device, wherein the controller includes a processor and a memory having stored therein instructions, wherein execution of the instructions by the processor causes the controller to control the sound emitter to output asound wave, sample the sound sensor to obtain a measurement indicative of the sound wave output by the sound emitter, determine, based on the measurement, whether the hopper is empty of coffee beans, and control, based on a positive determination, the output device to indicate the hopper is empty.

[0010] In one or more embodiments, the hopper includes one or more apertures formed in a wall of the hopper, wherein the one or more apertures provide a direct acoustic path between the sound emitter and an interior of the hopper.

[0011] In one or more embodiments, the one or more apertures are covered with a mesh material, wherein the mesh material allows sound waves to propagate directly from the sound emitter into the interior of the hopper while preventing coffee beans from falling out of the hopper through the one or more apertures.

[0012] In one or more embodiments, the mesh material is positioned in the wall of the hopper adjacent to the sound emitter.

[0013] In one or more embodiments, the mesh material has openings that are sized to be smaller than the coffee beans stored in the hopper.

[0014] In one or more embodiments, the mesh material is formed from a metallic material.

[0015] In one or more embodiments, the mesh material is formed from a polymeric material.

[0016] In one or more embodiments, the measurement is a peak-to-peak output measurement.

[0017] In one or more embodiments, the controller is configured to obtain a plurality of peak-to-peak output measurements for each sound wave output by the sound emitter and calculate an average across the plurality of peak-to-peak output measurements.

[0018] In one or more embodiments, the memory has stored therein one or more classification parameters, wherein the controller is configured to determine whether the hopper is empty of coffee beans using the one or more classification parameters.

[0019] In one or more embodiments, the sound sensor is mounted adjacent to the sound emitter.

[0020] In one or more embodiments, the sound sensor is located approximately 10 millimetres from the sound emitter.

[0021] In one or more embodiments, the sound sensor includes a microphone electrically coupled to a microphone amplifier, wherein the measurement is sampled from an amplified microphone signal received from the microphone amplifier.

[0022] In one or more embodiments, the sound emitter includes a speaker electrically coupled to a speaker amplifier, wherein the controller is configured to control the speaker amplifier to output the sound wave by the speaker.

[0023] In one or more embodiments, the coffee bean grinder further comprises a further sound sensor electrically coupled to the controller, wherein the further sound sensor is mounted diametrically opposite to the sound emitter relative to the hopper, wherein the controller is configured to sample the further sound sensor to obtain a further measurement indicative of the sound wave output by the sound emitter, and determine, based on the measurement and the further measurement, whether the hopper is empty of coffee beans.

[0024] In one or more embodiments, the memory has stored therein sound data indicative of a sound wave tuple, wherein the sound wave tuple includes an output frequency and an output gain, wherein the controller is configured to control the sound emitter to output the sound wave according to the sound wave tuple.

[0025] In one or more embodiments, the sound data is indicative of a tuple pair, wherein the tuple pair includes a pair of sound wave tuples, wherein the controller is configured to control the sound emitter to output a plurality of sound waves according to the tuple pair, sample the sound sensor to obtain a plurality of measurements in relation to the plurality ofsound waves output by the sound emitter, and determine, based on the plurality of measurements, whether the hopper is empty of coffee beans.

[0026] In one or more embodiments, the memory has stored therein a classifier, wherein the controller is configured to determine whether the hopper is empty of coffee beans using the classifier.

[0027] In one or more embodiments, the controller is configured to classify the plurality of measurements using the classifier according to a plurality of hopper fill states, wherein the plurality of hopper fill states include an empty state indicative of the hopper being empty, a half-full state indicative of the hopper being half full, and a full state indicative of the hopper being full.

[0028] In one or more embodiments, the classifier is a nearest centroid classifier.

[0029] In one or more embodiments, the nearest centroid classifier uses centroid classification parameter data indicative of a full centroid associated with the hopper being full of coffee beans, a half-full centroid associated with the hopper being half full of coffee beans, and an empty centroid associated with the hopper being empty of coffee beans.

[0030] In one or more embodiments, the centroid classification parameter data is further indicative of a three-quarters full centroid associated with the hopper being three-quarters full of coffee beans, and a quarter-full centroid associated with the hopper being a quarter full of coffee beans.

[0031] In one or more embodiments, the memory has stored therein a plurality of tuple pairs forming a pool of tuple pairs, wherein the controller is configured to (a) control the sound emitter to output one or more sound waves using one or more selected tuple pairs from the pool of tuple pairs, (b) sample the sound sensor to obtain one or more measurements for the one or more sound waves, (c) determine, using the nearest centroid classifier and based on the one or more measurements, a nearest centroid, (d) in the event that the nearest centroid is the full centroid or the empty centroid, classify the hopper as being full of coffee beans or empty of coffee beans respectively, (e) in the event that the nearest centroid is not the fullcentroid nor the empty centroid and one or more further tuple pairs of the plurality of tuple pairs have not been selected, (i) discard the selection of the one or more tuple pairs and incrementally increase selection of tuple pairs from the pool of tuple pairs, and (ii) repeat steps (a) to (e), and (f) in the event that all tuple pairs have been used to output the plurality of sound waves, classify the hopper as being half full of coffee beans.

[0032] In one or more embodiments, the controller is configured to iteratively increase the number of tuple pairs used for classification until a definitive determination that the nearest centroid is the full centroid or the empty centroid is achieved.

[0033] In one or more embodiments, the output device includes an electronic display device, wherein in the event that the controller determines that the hopper is empty of coffee beans, the controller is configured to control the electronic display device to present indicia indicative of the hopper being empty of coffee beans.

[0034] In one or more embodiments, the housing includes a collar having an annular profile, wherein the hopper is receivable within the collar.

[0035] In one or more embodiments, when the hopper contains coffee beans at a level at or above the sound emitter and sound sensor mounted to the collar, sound waves emitted by the sound emitter into the hopper are reflected by the coffee beans, and the sound sensor captures a measurement indicative of the reflected sound waves.

[0036] In one or more embodiments, the sound emitter is located within a first cavity of the collar and the sound sensor is located within a second cavity of the collar.

[0037] In one or more embodiments, the sound emitter includes a speaker oriented to face substantially orthogonal to a central axis of the collar.

[0038] In one or more embodiments, the sound emitter is positioned to provide an unobstructed acoustic path from the sound emitter into an interior of the hopper.

[0039] In one aspect, an espresso machine includes the coffee bean grinder as described herein.

[0040] In one aspect, a method performed by a coffee bean grinder is provided, wherein the coffee bean grinder comprises a housing having mounted thereto a sound emitter and a sound sensor, a hopper for storing and feeding coffee beans to a grinding mechanism, wherein the hopper is positioned such that the sound emitter is configured to output sound waves into the hopper and the sound sensor is configured to receive sound waves from the hopper, an output device, and a controller electrically coupled with the sound emitter, the sound sensor, and the output device, wherein the controller includes a processor and a memory having stored therein instructions, wherein execution of the instructions by the processor causes the controller to perform the method including steps of controlling the sound emitter to output a sound wave, sampling the sound sensor to obtain a measurement indicative of the sound wave output by the sound emitter, determining, based on the measurement, whether the hopper is empty of coffee beans, and controlling, based on a positive determination, the output device to indicate the hopper is empty.

[0041] In one or more embodiments, the hopper includes one or more apertures formed in a wall of the hopper, wherein the one or more apertures provide a direct acoustic path between the sound emitter and an interior of the hopper.

[0042] In one or more embodiments, the one or more apertures are covered with a mesh material, wherein the mesh material allows sound waves to propagate directly from the sound emitter into the interior of the hopper while preventing coffee beans from falling out of the hopper through the one or more apertures.

[0043] In one or more embodiments, the measurement is a peak-to-peak output measurement.

[0044] In one or more embodiments, the memory has stored therein one or more classification parameters, wherein the method includes the controller determining whether the hopper is empty of coffee beans using the one or more classification parameters.

[0045] In one or more embodiments, the sound sensor is mounted adjacent to the sound emitter.

[0046] In one or more embodiments, the sound sensor is located approximately 10 millimetres from the sound emitter.

[0047] In one or more embodiments, the sound sensor includes a microphone electrically coupled to a microphone amplifier, wherein the measurement is sampled from an amplified microphone signal received from the microphone amplifier.

[0048] In one or more embodiments, the sound emitter includes a speaker electrically coupled to a speaker amplifier, wherein the method includes the controller controlling the speaker amplifier to output the sound wave by the speaker.

[0049] In one or more embodiments, the coffee bean grinder further comprises a further sound sensor mounted diametrically opposite to the sound emitter relative to the hopper, wherein the method includes the controller sampling the further sound sensor to obtain a further measurement indicative of the sound wave output by the sound emitter, and determining, based on the measurement and the further measurement, whether the hopper is empty of coffee beans.

[0050] In one or more embodiments, the memory has stored therein sound data indicative of a sound wave tuple, wherein the sound wave tuple includes an output frequency and an output gain, wherein the method includes the controller controlling the sound emitter to output the sound wave according to the sound wave tuple.

[0051] In one or more embodiments, the sound data is indicative of a tuple pair, wherein the tuple pair includes a pair of sound wave tuples, wherein the method includes the controller controlling the sound emitter to output a plurality of sound waves according to the tuple pair, sampling the sound sensor to obtain a plurality of measurements in relation to the plurality of sound waves output by the sound emitter, and determining, based on the plurality of measurements, whether the hopper is empty of coffee beans.

[0052] In one or more embodiments, the memory has stored therein a classifier, wherein the method includes the controller determining whether the hopper is empty of coffee beans using the classifier.

[0053] In one or more embodiments, the method includes the controller classifying the plurality of measurements using the classifier according to a plurality of hopper fill states, wherein the plurality of hopper fill states include an empty state indicative of the hopper being empty, a half-full state indicative of the hopper being half full, and a full state indicative of the hopper being full.

[0054] In one or more embodiments, the classifier is a nearest centroid classifier.

[0055] In one or more embodiments, the nearest centroid classifier uses centroid classification parameter data indicative of a full centroid associated with the hopper being full of coffee beans, a half-full centroid associated with the hopper being half full of coffee beans, and an empty centroid associated with the hopper being empty of coffee beans.

[0056] In one or more embodiments, the centroid classification parameter data is further indicative of a three-quarters full centroid associated with the hopper being three-quarters full of coffee beans, and a quarter-full centroid associated with the hopper being a quarter full of coffee beans.

[0057] In one or more embodiments, the memory has stored therein a plurality of tuple pairs forming a pool of tuple pairs, wherein the method includes the controller performing steps of (a) controlling the sound emitter to output one or more sound waves using one or more selected tuple pairs from the pool of tuple pairs, (b) sampling the sound sensor to obtain one or more measurements for the one or more sound waves, (c) determining, using the nearest centroid classifier and based on the one or more measurements, a nearest centroid, (d) in the event that the nearest centroid is the full centroid or the empty centroid, classifying the hopper as being full of coffee beans or empty of coffee beans respectively, (e) in the event that the nearest centroid is not the full centroid nor the empty centroid and one or more further tuple pairs of the plurality of tuple pairs have not been selected, (i) discarding the selection of the one or more tuple pairs and incrementally increasing selection of tuple pairs from the pool of tuple pairs, and (ii) repeating steps (a) to (e), and (f) in the event that all tuple pairs have been used to output the plurality of sound waves, classifying the hopper as being half full of coffee beans.

[0058] In one or more embodiments, the output device includes an electronic display device, wherein in the event that the controller determines that the hopper is empty of coffee beans, the method includes the controller controlling the electronic display device to present indicia indicative of the hopper being empty of coffee beans.

[0059] In one or more embodiments, the sound wave has a frequency in a range of 600 Hz to 1000 Hz.

[0060] In one or more embodiments, the method is performed in response to receiving a command to perform a grind function or upon the coffee bean grinder being powered on.

[0061] In one or more embodiments, the method is performed periodically, in response to completing a grind function.

[0062] In one aspect, a computer readable medium having stored therein executable instructions for performing the method as described herein is provided.

[0063] Other aspects and embodiments will be appreciate throughout the detailed description.BRIEF DESCRIPTION OF FIGURES

[0064] Embodiments will be described, by way of example, with reference to the following drawings.

[0065] FIG. 1 illustrates an isometric view of an example of a coffee bean grinder, according to aspects of the present disclosure.

[0066] FIG. 2 illustrates an isometric view of an example of an espresso machine incorporating a coffee bean grinder.

[0067] FIG. 3 illustrates a cross-sectional side view of a collar without a hopper installed.

[0068] FIG. 4 illustrates a cross-sectional side view of the collar of FIG. 3 with a hopper received therein.

[0069] FIG. 5 illustrates a plan view of the collar of FIG. 3.

[0070] FIG. 6 illustrates a cross-sectional side view of a hopper received within a collar of an espresso machine.

[0071] FIG. 7a illustrates a functional block diagram of a bean level detection system.

[0072] FIG. 7b illustrates a functional block diagram of a further example of the bean level detection system of FIG. 7a.

[0073] FIG. 8 illustrates a plan view of a further example of a collar.

[0074] FIG. 9 illustrates a cross-sectional side view of an espresso machine incorporating the collar of FIG. 8.

[0075] FIG. 10 illustrates a functional block diagram of a further example of a bean level detection system.

[0076] FIG. 11 illustrates a plan view of a further example of a collar with multiple sound emitters and sound sensors.

[0077] FIG. 12 illustrates a functional block diagram of a further example of a bean level detection system with multiple sound emitters and sound sensors.

[0078] FIG. 13 illustrates a flowchart representing a method performed by a controller of a bean level detection system.

[0079] FIG. 14a illustrates a scatter plot showing a relationship between bean levels and microphone peak-to-peak level measurements.

[0080] FIG. 14b illustrates a scatter plot showing a relationship between microphone peak-to-peak level measurements and bean levels.

[0081] FIG. 15 illustrates a flowchart representing a method performed by a controller using a nearest centroid classifier.

[0082] FIG. 16a illustrates a scatter plot showing peak-to-peak output measurements at different frequency and gain combinations.

[0083] FIG. 16b illustrates a scatter plot showing peak-to-peak output measurements at different frequency and gain combinations.

[0084] FIG. 16c illustrates a scatter plot showing peak-to-peak output measurements at different frequency and gain combinations.

[0085] FIG. 16d illustrates a scatter plot showing peak-to-peak output measurements at different frequency and gain combinations.

[0086] FIG. 16e illustrates a scatter plot showing peak-to-peak output measurements at different frequency and gain combinations.

[0087] FIG. 16f illustrates a scatter plot showing peak-to-peak output measurements at different frequency and gain combinations.

[0088] FIG. 17 illustrates source code defining classification parameters for a bean level detection system, according to an embodiment.

[0089] FIG. 18a illustrates a scatter plot showing peak-to-peak output measurements for different hopper fill states.

[0090] FIG. 18c illustrates a scatter plot showing peak-to-peak output measurements for different hopper fill states.

[0091] FIG. 18e illustrates a scatter plot showing peak-to-peak output measurements for different hopper fill states.

[0092] FIG. 19 illustrates a flowchart representing a method performed by a controller utilizing classification parameters.

[0093] Common reference numerals are used throughout the figures to indicate similar features.DETAILED DESCRIPTION

[0094] Coffee bean grinders include a hopper 150 for storing coffee beans prior to grinding. The hopper 150 allows storage of coffee beans for multiple doses, providingconvenience to users. Detection of the quantity of coffee beans remaining in the hopper 150 enables users to be informed when the hopper 150 requires refilling.

[0095] Various approaches have been investigated for detecting coffee bean levels in hoppers. Light-based sensing methods measure light transmitted through the hopper 150, where the amount of sensed light indicates the emptiness of the hopper 150. However, dust from coffee beans and from the grinding process accumulates on interior surfaces of hopper 150 walls, resulting in incorrect detection. Capacitance-based methods have also been explored, though these methods present their own limitations.

[0096] An acoustic approach for detecting coffee bean levels addresses limitations of prior detection methods. The acoustic approach uses a sound emitter 740 and a sound sensor 750 positioned relative to a hopper 150. The sound emitter 740 outputs sound waves into the hopper 150. The sound sensor 750 captures measurements indicative of the sound waves. The measurements vary depending on the quantity of coffee beans present within the hopper 150. Advantageously, the acoustic approach is less susceptible to interference from dust accumulation on hopper walls compared to optical sensing methods, as sound waves can propagate through the hopper interior regardless of surface contamination. Furthermore, the acoustic approach provides improved reliability compared to capacitive sensing methods, as acoustic measurements are less affected by environmental factors such as humidity variations, temperature changes, and electromagnetic interference from nearby electronic devices.

[0097] When the hopper 150 contains coffee beans at a level covering the sound emitter 740 and sound sensor 750, sound waves emitted by the sound emitter 740 are reflected by the coffee beans. The sound sensor 750 captures a measurement indicative of the reflected sound waves. When the hopper 150 contains fewer coffee beans or is empty, sound waves propagate through the hopper 150 interior and resonate within the hopper 150 structure. The sound sensor 750 captures a different measurement under these conditions.

[0098] A controller 702 processes measurements from the sound sensor 750 to determine a fill state of the hopper 150. The controller 702 compares the measurements againstclassification parameters to classify the hopper 150 as being in one of a plurality of fill states. The fill states include an empty state, a half-full state, and a full state. Advantageously, the provision of multiple fill states beyond a binary empty or non-empty indication enables users to receive advance warning that the bean supply is running low, allowing users to replenish the hopper 150 before the beans are exhausted. This prevents situations where a user initiates a grinding operation without sufficient beans to complete the desired dose, thereby avoiding incomplete or unsatisfactory results. Upon determining that the hopper 150 is empty or contains insufficient coffee beans, the controller 702 controls an output device 760 to indicate the fill state to a user. The output device 760 presents information advising the user to refill the hopper 150 with coffee beans.

[0099] FIG. 1 is an isometric view of an example of a coffee bean grinder 100. The coffee bean grinder 100 is an electrical, motorised coffee grinder which comprises a grinder body 130 which houses a grinder mechanism (not shown). The coffee bean grinder 100 includes a collar 160 for releasably coupling a hopper 150 which feeds coffee beans to the grinder mechanism. The grinder body 130 and the collar 160 together form a housing of the coffee bean grinder 100. As described in further detail below, the collar 160 includes a sound emitter 740 and a sound sensor 750 mounted thereto for detecting a level of coffee beans contained in the hopper 150. A hopper lid 155 is coupled to an open top of the hopper 150 to allow coffee beans to be contained within. A front panel 120 of the grinder body 130 of the coffee bean grinder 100 includes an output device 760 such as a display panel 114. The grinder body 130 has a grounds chute 111 which ground coffee is dispensed from the grinding mechanism. A portafilter cradle 112 is located adjacent the opening of the grounds chute 111 which can accommodate containers such as a portafilter 206, filter or storage canister. The portafilter cradle 112 can releasably hold the portafilter 206 to receive the discharged ground coffee beans from the grounds chute 111. The front panel 120 of the grinder body 130 features various user controls including control dials 115 and buttons 116, 117. A grind adjustment dial 118 mechanically controls the vertical movement of an upper burr of the grinder mechanism. An indicator 156 of the grind size 155 can be shown on thedisplay panel 114. The spacing between the upper burr and a lower burr determines the grind size. The grounds chute 119 extends from the front of the grinder body 130 and directs ground coffee into the portafilter 206. The grinder body 130 is supported by a base which provides stability to the coffee bean grinder 100. A steam wand 250 extends from the side of the coffee bean grinder 100. Parameters such as grinding time and grinding type are related to the discharge amount in accordance with a look up table stored in memory 720 of the coffee bean grinder 100. A rear surface of a recess 12 of the grinder body 130 113 has an external button 119 coupled to an electrical switch that is activated with the presence of a portafilter 206 to dispense ground coffee. Further details in relation to the coffee bean grinder 100 are disclosed in PCT / AU2011 / 000274, the contents of which is herein incorporated by reference in its entirety.

[0100] As shown in FIG. 2, an espresso machine 200 may incorporate an integral coffee bean grinder 100 having the collar 160 configured to receive the hopper 150. A group head 225 of the espresso machine 200 releasably holds the portafilter 206 to receive ground coffee from the coffee bean grinder 100. In some configurations, the espresso machine 200 can also include a tamping augur for tamping the ground coffee beans contained in a basket 220 of the portafilter 206 whilst engaged with the portafilter cradle 112. The portafilter 206 can be disengaged from the group head 225 and releasably engaged therewith by applying a torque to the handle 204 of the portafilter 206. Pressurised hot water is forced through the 220 basket 112 of the portafilter 206 to discharge espresso coffee via a dispensing spout 207 into a vessel located below the group head 225. An output device 760 is located on the front 120 panel of the espresso machine 200, providing a display interface for user interaction and information presentation. A steam wand 250 extends from the side of the espresso machine 200, providing functionality for steaming and frothing milk. Further details regarding the espresso coffee making machine are disclosed by PCT / AU2014 / 000378, the contents of which are herein incorporated by reference in its entirety.

[0101] FIG. 3 is a cross-sectional side view of an example of the collar 160 of the coffee bean grinder 100 and espresso machine 200 of FIGS. 1 and 2 without the hopper 150installed. FIG. 4 is a cross-sectional side view of the hopper 150 received within the collar 160 of FIG. 3. FIG. 5 is a plan view of the collar 160 of FIG. 3. FIG. 6 is a cross-sectional side view of the hopper 150 received within the collar 160 of the espresso machine 200 of FIG. 2. As can be seen in these figures, the collar 160 includes a sound emitter 740 and a sound sensor 750. The collar 160 has an annular profile defining a hopper aperture 162 through which coffee beans are fed to the grinder mechanism. The sound emitter 740 is located within a first cavity of the collar 160. The cavity can allow for a speaker 744 of the sound emitter 740 to face substantially orthogonal to a central axis of the collar 160. The sound emitter 740 may be positioned to provide an unobstructed acoustic path from the sound emitter 740 into an interior of the hopper 150. In some embodiments, the collar 160 includes one or more apertures or openings that allow sound waves output by the sound emitter 740 to propagate directly into the interior of the hopper 150 without obstruction. The unobstructed acoustic path may facilitate transmission of sound waves into the hopper 150 and may improve the accuracy of measurements obtained by the sound sensor 750. The cavity can be rectangular to tight fittingly receive a rectangular circuit board of the sound emitter 740. The sound sensor 750 is also located within a respective cavity within the wall of the collar 160. The cavity has a cylindrical profile to allow for a microphone 752 of the sound sensor 750 to be tight-fittingly received therein. Advantageously, mounting the sound emitter 740 and sound sensor 750 within the collar 160 rather than within the hopper 150 itself enables the hopper 150 to be removable for cleaning and refilling without disconnecting electrical connections to the acoustic sensing components. This arrangement also protects the sound emitter 740 and sound sensor 750 from direct contact with coffee beans and coffee dust, thereby improving the longevity and reliability of the sensing components.

[0102] In some embodiments, the hopper 150 includes one or more apertures formed in a wall of the hopper 150. The one or more apertures provide a direct acoustic path between the sound emitter 740 and an interior of the hopper 150, enabling the sound sensor 750 to capture measurements directly from sound waves propagating through the interior of the hopper 150 rather than indirectly through the wall of the hopper 150. The one or more apertures may becovered with a mesh material 745. The mesh material 745 may be positioned in the wall of the hopper 150 adjacent to the sound emitter 740. The mesh material 745 allows sound waves to propagate directly from the sound emitter 740 into the interior of the hopper 150 while preventing coffee beans from falling out of the hopper 150 through the one or more apertures. The mesh material 745 may have openings that are sized to be smaller than the coffee beans stored in the hopper 150, thereby retaining the coffee beans within the hopper 150 while permitting direct acoustic transmission into and out of the hopper 150 interior. In some aspects, the mesh material 745 is formed from a metallic material such as stainless steel or aluminum. In other aspects, the mesh material 745 is formed from a polymeric material. The mesh material 745 may be secured to the wall of the hopper 150 by adhesive, mechanical fasteners, press-fitting, or other suitable attachment methods. Advantageously, the direct acoustic path provided by the mesh-covered apertures improves the signal-to-noise ratio of the acoustic measurements compared to configurations where sound waves propagate through solid hopper walls, thereby enhancing the accuracy and reliability of fill state classification.

[0103] In some embodiments, alternative structures may be used in place of or in addition to the mesh material 745 to facilitate direct acoustic measurement within the hopper 150. For example, a perforated plate may be positioned in the wall of the hopper 150 adjacent to the sound emitter 740, where the perforated plate includes a plurality of holes that permit direct sound wave transmission into and out of the hopper 150 interior while blocking passage of coffee beans. In some cases, a grille structure having elongated slots may be used, where the slots are oriented and sized to allow direct acoustic propagation between the sound emitter 740, the hopper 150 interior, and the sound sensor 750 while retaining coffee beans. In other embodiments, a fabric or woven material may be stretched across the aperture in the hopper 150 wall to provide acoustic transparency for direct measurement while preventing coffee bean egress. In some aspects, a combination of structures may be employed, such as a mesh material 745 backed by a supporting grille to provide both direct acoustic permeability and structural rigidity.

[0104] As shown clearly in FIG. 5, in one form the sound sensor 750 is located substantially adjacent to the sound emitter 740. In one form, the sound sensor 750 is located approximately 10 millimetres from the sound emitter 740. This spacing has been found advantageous for capturing measurements for classifying a fill state of the hopper 150. The adjacent positioning of the sound sensor 750 relative to the sound emitter 740 enables the sound sensor 750 to capture reflected sound waves from coffee beans within the hopper 150, providing a compact sensor arrangement that can be readily integrated into the collar 160 without requiring modifications to opposite sides of the collar 160.

[0105] Referring to FIG. 7a, there is shown a functional block diagram representing an example of a bean level detection system 700 of the coffee bean grinder 100 of FIG. 1 and / or the espresso machine 200 of FIG. 2 incorporating the collar 160 of FIG. 3. The bean level detection system 700 is configured to detect a level of coffee beans contained in the hopper 150. The bean level detection system 700 includes a controller 702 electrically coupled to the sound emitter 740, the sound sensor 750 and an output device 760. The controller 702 includes a processor 710, a memory 720, and an input / output (I / O) interface 730, coupled together via a bus 704. The sound emitter 740, sound sensor 750 and the output device 760 can be electrically coupled to the I / O interface 730 of the controller 702. In a form, the controller 702 is provided in the form of a microcontroller.

[0106] The memory 720 has stored therein sound data, classification data, and a control computer program. In one form, the control computer program can have defined therein the sound data and the classification data. Alternatively, the sound data can be stored in a separate file / data structure. The sound data can define one or more sound wave characteristics for outputting one or more sound waves. The sound wave characteristics can include an output frequency and an output gain. The classification data can be various values used for classifying measurements obtained from the sound sensor 750 into a hopper 150 fill state. In one form, the hopper 150 fill states can include a full hopper 150, an empty hopper 150, and a half full hopper 150. The classification data can be contained within the controlcomputer program (e.g., defined in a data structure within the control computer program) or can be defined in a separate file such as a lookup table file.

[0107] FIG. 7b is a functional block diagram representing a further example of the bean level detection system 700 of the coffee bean grinder 100 of FIG. 1 and / or the espresso machine 200 of FIG. 2 incorporating the collar 160 of FIG. 3. With respect to FIG. 7 a, the sound emitter 740 includes a digital -to-analog converter 741 (DAC) electrically coupled to a speaker amplifier 742 which in turn is electrically coupled to a speaker 744. The speaker amplifier 742 is electrically coupled to the I / O interface 730 of the controller 702 via the digital-to-analog converter 741. Furthermore, with respect to FIG. 7a, the sound sensor 750 includes a microphone 752 which is electrically coupled to a microphone amplifier 754 which in turn is electrically coupled to an analog -to-digital converter 755 (ADC) which in turn is electrically coupled to the I / O interface 730 of the controller 702. In a form, the microphone amplifier 754 is a MAX9814 microphone amplifier 754, with automatic gain control (AGC) and low -noise microphone 752 bias. The MAX9814 microphone amplifier 754 features a low-noise preamplifier, variable gain amplifier (VGA), output amplifier, microphone-bias-voltage generator, and AGC control circuitry. In a form, the speaker amplifier 742 is a XC3744 audio amplifier with speaker 744 module. It will be appreciated that other components of FIG. 7b are configured in a similar or same manner as FIG. 7a.

[0108] FIG. 7b shows that the sound emitter 740 comprising a passive speaker 744 and the sound sensor 750 includes a passive microphone 752. In this embodiment, a microphone amplifier 754 is electrically coupled with the passive microphone 752 and a speaker amplifier 742 is electrically coupled with the speaker 744. However, as will be appreciated from FIG. 7a, it is possible that the speaker 744 can be provided as an active speaker 744 having an integrated speaker amplifier 742. Additionally or alternatively, it is possible that the microphone 752 can be provided as an active microphone 752 that has an integrated amplifier.

[0109] FIG. 8 is a plan view of a further example of a collar 160 of the coffee bean grinder 100 of FIG. 1 and / or the espresso machine 200 of FIG. 2. In this example, the collar160 includes a first sound sensor 750a and a second sound sensor 750b. Similarly to the example discussed in relation to FIGS. 3 to 6, the first sound sensor 750a is adjacent to the sound emitter 740. The second sound sensor 750b is located in a face-to-face orientation with respect to the sound emitter 740. As shown in FIG. 8, as the collar 160 has an annular profile, the second sound sensor 750b is mounted diametrically opposite to the sound emitter 740. Similar to the earlier embodiment of the collar 160 discussed in relation to FIGS. 3 to 6, the collar 160 includes a hole for accommodating the microphone 752 of the second sound sensor 750b, in a tight-fitting manner. FIG. 9 is a cross-sectional side view of the espresso machine 200 incorporating the collar 160 of FIG. 8. As can be seen from FIG. 9, the second sound sensor 750b is located diametrically opposite relative to the sound emitter 740. Advantageously, the provision of both an adjacent sound sensor 750a and a diametrically opposite sound sensor 750b enables the controller 702 to obtain measurements from both reflected sound waves and transmitted sound waves, thereby providing additional data points for more accurate fill state classification.

[0110] FIG. 10 is a functional block diagram representing a further example of a bean level detection system 700 of the coffee bean grinder 100 of FIG. 1 and / or the espresso machine 200 of FIG. 2 incorporating the collar 160 of FIG. 8. The first sound sensor 750a is electrically coupled to the I / O interface 730. The first sound sensor 750a includes a first microphone 752a electrically coupled to a first microphone amplifier 754a which is in turn electrically coupled to a first speaker amplifier 742a which in turn is electrically coupled to the I / O interface 730. As can be seen from FIG. 10, the second sound sensor 750b is electrically coupled to the I / O interface 730 of the controller 702. Similarly to the earlier embodiment of FIG. 7b, the second sound sensor 750b can include a passive second microphone 752b electrically coupled to a second microphone amplifier 754b which is in turn electrically coupled to a second speaker amplifier 742b which is in turn electrically coupled to the I / O interface 730. However, it will be appreciated that the first sound sensor 750a and / or the second sound sensor 750b can be provided in the form of an active microphone752 having an integrated amplifier. It will be appreciated that other components of FIG. 10 are configured in a similar or same manner as FIG. 7a.[oni] FIG. 11 is a plan view of a further example of a collar 160 of the coffee bean grinder 100 of FIG. 1 and / orthe espresso machine 200 of FIG. 2. In particular, the collar 160 includes a first sound emitter 740a and a second sound emitter 740b. The first sound emitter 740a has associated therewith a first sound sensor of first group 750aa and a second sound sensor of first group 750ab. The second sound emitter 740b has associated therewith a first sound sensor of second group 750ba and a second sound sensor of second group 750bb. Each sound sensor 750aa, 750ba is located substantially adjacent to the respective sound emitter 740a, 740b, for example, being located approximately 10 millimetres from the respective sound emitter 740a, 740b. Each further sound sensor 750ab, 750bb is located diametrically opposite to the respective sound emitter 740a, 740b. This arrangement therefore leads to the collar 160 including two sound emitters 740a, 740b and four sound sensors 750aa, 750ab, 750ba, 750bb in total. Advantageously, the provision of multiple sound emitters 740a, 740b and multiple sound sensors 750aa, 750ab, 750ba, 750bb enables acoustic measurements to be obtained from multiple positions around the hopper 150, which can improve classification accuracy when coffee beans are unevenly distributed within the hopper 150.

[0112] FIG. 12 is a functional block diagram representing a bean level detection system 700 of the coffee bean grinder 100 of FIG. 1 and / orthe espresso machine 200 of FIG. 2 incorporating the collar 160 of FIG. 11. As shown in FIG. 12, a first sound emitter 740a and a second sound emitter 740b are electrically coupled to the I / O interface 730 of the controller 702. The first sound emitter 740a includes a first speaker amplifier 742a, a first speaker 744a, and a first digital-to-analog converter 741a. The second sound emitter 740b includes a second speaker amplifier 742b, a second speaker 744b and a second digital-to-analog converter 741b. The first sound sensor of first group 750aa includes a first microphone of first group 752aa electrically coupled to a first microphone amplifier of first group 754aa which is in turn electrically coupled to a first analog-to-digital converter of first group 755aa which in turn is electrically coupled to the I / O interface 730. The second sound sensor of first group750ab includes a second microphone of first group 752ab electrically coupled to a second microphone amplifier of first group 754ab which is in turn electrically coupled to a second analog-to-digital converter of first group 755ab which in turn is electrically coupled to the I / O interface 730. The first sound sensor of second group 750ba includes a first microphone of second group 752ba electrically coupled to a first microphone amplifier of second group 754ba which is in turn electrically coupled to a first analog-to-digital converter of second group 755ba which in turn is electrically coupled to the I / O interface 730. The second sound sensor of second group 750bb includes a second microphone of second group 752bb electrically coupled to a second microphone amplifier of second group 754bb which is in turn electrically coupled to a second analog-to-digital converter of second group 755bb which is turn is electrically coupled to the I / O interface 730. Similarly to other examples, a passive speaker 744 and passive microphone 752 has been illustrated by the example shown in FIG. 12, however, it is possible to utilise one or more active speakers and one or more active microphones which have integrated amplifiers. It will be appreciated that other components of FIG. 12 are configured in a similar or same manner as FIG. 7a.

[0113] FIG. 13 is a flowchart representing a method 1300 performed by a controller 702 of the bean level detection system 700 of FIGS. 7a, 7b, 10 or 12.

[0114] At step 1310, the method 1300 includes the controller 702 controlling the sound emitter 740 to output a sound wave. At step 1320, the method 1300 includes the controller 702 sampling the sound sensor 750 to obtain a measurement indicative of the sound wave output by the sound emitter 740. At step 1330, the method 1300 includes the controller 702 determining, based on the measurement, whether the hopper 150 is empty of coffee beans. At step 1340, the method 1300 includes the controller 702 controlling, based on a positive determination, the output device 760 to indicate that the hopper 150 is empty.

[0115] It will be appreciated that method 1300 can include outputting multiple sound waves via multiple sound emitters 740. Furthermore, it will be appreciated that the method 1300 can include sampling multiple sound waves via multiple sound sensors 750.

[0116] The method 1300 can determine, based on the measurement, whether the hopper 150 is empty using classification data stored in the memory 720. In one form, the classification data may include a lookup table that can be stored in memory 720 which includes a range of measurement values for a plurality of hopper 150 fill states. The processor 710 of the controller 702 can compare the measurement captured in response to outputting the one or more sound waves against the ranges defined in the lookup table to determine a corresponding hopper 150 fill state for the hopper 150.

[0117] Advantageously, the use of outputting one or more sound waves toward the hopper 150 by the collar 160 and measuring the response to the one or more sound waves at least substantially overcomes problems that arise with coffee bean dust coating the inside of the hopper 150 with respect to light detection technologies for detecting the hopper 150 fill state. Furthermore, the acoustic detection approach does not require any components to be positioned inside the hopper 150, thereby simplifying hopper 150 cleaning and maintenance.

[0118] FIG. 14a is a scatter plot of bean levels versus a peak-to-peak output measurement captured by the sound sensor 750 of the bean level detection system 700 in response to an output sound wave of 890Hz. FIG. 14b is a scatter plot of bean levels versus a peak-to-peak output measurement captured by the sound sensor 750 of the bean level detection system 700 in response to an output sound wave of 745Hz. From the scatter plots shown in FIGS. 14a and 14b, a substantially linear relationship exists between the measured peak-to-peak output measurements received from the sound sensor 750 and the hopper 150 fill state. As mentioned, the memory 720 of the controller 702 can have stored therein threshold data which is used by the processor 710 of the controller 702 to determine a hopper 150 fill state for the hopper 150. In one form, the threshold data stored in memory 720 can be a lookup table with measurement ranges and associated fill states for the hopper 150 associated therewith. The measurement ranges can be peak-to-peak output measurement ranges received from the sound sensor(s) 750. In these examples, the speaker amplifier 742 used did not have any fixed gain. Rather, in these examples, the speaker amplifier 742 had a variable resistor which was adjusted so that the microphone's output was observed on theoscilloscope when all relevant frequencies were emitted and that the microphone's output voltage did not exceed the maximum voltage for any relevant frequency.

[0119] FIG. 15 is a flowchart representing a method 1500 performed by the controller 702 of the bean level detection system 700 to classify the one or more measurements into a hopper 150 fdl state using a nearest centroid classifier. The method 1500 implements a classification decision tree. Advantageously, the nearest centroid classifier provides a computationally efficient classification approach that can be implemented on a microcontroller with limited processing resources, while still achieving accurate fill state classification.

[0120] At a first step 1510, the method 1500 includes the controller 702 selecting a tuple pair from a tuple pair pool for use in determining a fill state of the hopper 150. As shown in FIG. 17, the tuple pair pool may be a data structure defining a plurality of pairs of tuples. Each tuple defines an output frequency and an output gain of a sound wave. The pair of tuples are associated together to form the tuple pair to more accurately detect a hopper 150 fill state. The tuple pair pool can be a data structure like a list, a struct / array, or the like.

[0121] For example, a tuple pair selected from the tuple pair pool may include a first tuple having a frequency of 900Hz and a gain of lOOdB, and a second tuple having a frequency of 800 Hz and a gain of 500dB. Two sound waves are output using these parameters of the tuple pair resulting in a first audible sound wave being output followed by a second audible sound wave being output. In some embodiments, the sound waves have a frequency in a range of 500 Hz to 1000 Hz. In some embodiments, the sound waves have a frequency in a range of 600 Hz to 1000 Hz. This frequency range has been found to provide effective differentiation between hopper 150 fill states for coffee bean detection applications. However, it will be appreciated that other frequency ranges may be used depending on the acoustic properties of the hopper 150 and the type of coffee beans being detected. The sound waves that are output can be within the human hearing range (20Hz to 20kHz), although it will be appreciated that the sound waves can also be outside the human hearing range if the detection is not to be perceptible to the user. In addition, the sound waves may be the resultof vibration that is generated. Generally, the memory 720 of the controller 702 has stored therein a data structure of sound wave tuples that can be used for classification. The data structure could be a table data structure like a two-dimensional array, a data frame, or the like. It will be appreciated that the controller 702 keeps track of the tuple pairs that have already been selected from the tuple pair pool for classification during the execution of method 1500. For example, the controller 702 may incrementally work through the list of tuple pairs until a definitive classification of the fill state of the hopper 150 has been determined or no available tuple pairs remain in the tuple pair pool, thereby leading ultimately to a definitive classification.

[0122] At step 1510, the method 1500 includes the controller 702 controlling the sound emitter 740 to output one or more sound waves using the selection from the tuple pair pool. The processor 710 of the controller 702 is configured to generate an electrical signal which is output via the I / O interface 730. The speaker amplifier 742 can receive the electrical signal from the I / O interface 730, which is then amplified, and the amplified output signal is received by the speaker 744 to thereby produce the sound wave. As indicated above, the sound waves are output in sequence (i.e. first sound wave is output followed by the second sound wave). In the event the collar 160 includes multiple speakers, each sound wave can be output simultaneously via the multiple speakers.

[0123] At step 1520, the method 1500 includes the controller 702 sampling the sound sensor 750 to obtain one or more measurements for the one or more sound waves output by the sound emitters) 740. In particular, each microphone 752 generates an electrical signal which is received by the respective microphone amplifier 754. Each microphone amplifier 754 amplifies the microphone 752 signal to generate an amplified microphone 752 signal which is received by the controller 702 via the I / O interface 730. If the collar 160 includes multiple microphones, each microphone 752 generates an electrical signal of the captured sound wave (or sound waves) which is received by the respective amplifier, then amplified, and output to the I / O interface 730 of the controller 702.

[0124] As the sound emitter(s) 740 emit one wavelength, data from each microphone 752 is sampled and stored in memory 720. Maximum and minimum values are calculated by the processor 710 and their difference is the peak-to-peak output measurement which is a discrete number after sampling by an ADC. The peak-to-peak output measurement is stored in memory 720. After each sound emitter 740 finishes emitting N wavelengths, N peak-to- peak output measurements are stored in the memory 720 for the respective sound emitter 740. The processor 710 is then configured to calculate an average across the N samples for the respective sound emitter 740. There is no averaging across multiple microphones - each microphone 752 is treated as an independent parameter. Advantageously, averaging multiple peak-to-peak output measurements for each sound wave reduces the effect of transient noise on the classification result, thereby improving the reliability of fill state detection.

[0125] At step 1530, the method 1500 includes the controller 702 determining, using a nearest centroid classifier and the one or more measurements, a nearest centroid. In particular, the memory 720 of the controller 702 has stored therein centroid classification parameter data indicative of a full centroid associated with the hopper 150 being full of coffee beans, a half-full centroid associated with the hopper 150 being half full of coffee beans, and an empty centroid associated with the hopper 150 being empty of coffee beans. The centroid classification parameter data can be defined in a data structure such as a two- dimensional array, a struct, or the like. The centroid classification parameter data can be defined in the control computer program or can be defined in a separate file such as a lookup table file. The centroid classification parameter data can be determined by performing a calibration process. The calibration process can include outputting a plurality of sound waves at different frequencies and gains and capturing the peak-to-peak output measurements for each sound wave at each fill state. The mean peak-to-peak output measurements for each fill state can then be calculated and stored as the centroid classification parameter data. The centroid classification parameter data can be stored in the memory 720 of the controller 702. In one specific example, a sound wave tuple of 800Hz and a gain of lOOdB can have a mean peak-to-peak output measurement for the empty centroid of 1.143, a mean peak-to-peakoutput measurement for the half-full centroid of 0.898, and a mean peak-to-peak output measurement for the full centroid of 0.642.

[0126] The processor 710 of the controller 702 is configured to determine a distance between the one or more measurements and each centroid. The distance can be a Euclidean distance, a Manhattan distance, or any other suitable distance metric. The processor 710 is configured to determine the nearest centroid based on the calculated distances. The nearest centroid is the centroid with the shortest distance to the one or more measurements. In particular, multiple measurements obtained for a tuple pair can be combined into a measurement coordinate (e.g., similar to a cartesian coordinate or point). The processor 710 of the controller 702 can then calculate a distance between the measurement coordinate and a centroid coordinate formed from the peak-to-peak output measurements (i.e., discrete numbers) from the ADC for a respective centroid for each tuple of the tuple pair. For example, the peak-to-peak output measurement measured for a tuple pair resulting in a first sound wave and a second sound wave may be 1.1 and 1.0. The measurement coordinate may be represented as (1.1, 1.0). The empty centroid for the first and second tuples of the tuple pair may be 0.9 and 0.8, the half-full centroid for the first and second tuples of the tuple pair may be 0.7 and 0.75, and the full centroid for the first and second tuples of the tuple pair may be 0.6 and 0.65. Therefore, the empty centroid coordinate may be (0.9, 0.8), the half-full centroid coordinate may be (0.7, 0.75) and the full centroid coordinate may be (0.6, 0.65). Three distances are then calculated between the measurement coordinate (0.5, 1.0) and the three centroid coordinates (0.9, 0.8), (0.7, 0.75) and (0.6, 0.65). The nearest centroid is determined to be associated with the minimum calculated distance. In this example, the minimum distance is associated

[0127] At step 1540, the method 1500 includes the controller 702 determining whether the nearest centroid is the full centroid or the empty centroid. If the nearest centroid is the full centroid or the empty centroid, the method 1500 proceeds to step 1550. Otherwise, if the nearest centroid is the half-full centroid, the method 1500 proceeds to step 1560.

[0128] At step 1550, the method 1500 includes the controller 702 outputting the full or empty classification via the output device 760. In particular, the controller 702 controls the output device 760 to present indicia indicative of the hopper 150 being full of coffee beans or empty of coffee beans respectively. The output device 760 can be an electronic display device such as a liquid crystal display (LCD), a light-emitting diode (LED) display, or the like. The output device 760 can present a graphical representation of the fill state of the hopper 150, such as a bar graph, a pie chart, or the like. Alternatively, the output device 760 can present a textual representation of the fill state of the hopper 150, such as "Full", "Half Full", or "Empty". The method 1500 then ends.

[0129] At step 1560, the method 1500 includes the controller 702 determining whether further tuple pairs are available for selection from the tuple pair pool. If further tuple pairs are available, the method 1500 proceeds to step 1580. Otherwise, if no further tuple pairs are available, the method 1500 proceeds to step 1570.

[0130] At step 1570, the method 1500 includes the controller 702 outputting a half full classification via the output device 760. In particular, the controller 702 controls the output device 760 to present indicia indicative of the hopper 150 being half full of coffee beans. The method 1500 then ends.

[0131] It will be appreciated that step 1570 may not be performed in all embodiments. For example, in some embodiments, the controller 702 may not output a half full classification via the output device 760. Instead, the controller 702 may output a full classification or an empty classification based on the nearest centroid. In some embodiments, it may not be necessary to output an empty state when identified. As such, the method 1500 may simply end if step 1570 does not require to be performed.

[0132] At step 1580, the method 1500 includes the controller 702 discarding the current tuple pair selection (i.e., one or more tuple pairs) and incrementally increasing a selection of tuple pairs from the tuple pair pool for use in classification of the hopper 150 state. Thus, the first iteration analyses a single tuple pair. If a further iteration requires to be performed (as the nearest centroid was the half-full centroid), the current single tuple pair is discarded andthe selection is incrementally increased to two, such that two new tuple pairs are selected from the pool. If another iteration requires to be performed and tuple pairs are still available in the tuple pair pool, the current two tuple pairs are discarded and the selection is again incrementally increased to three, such that three new tuple pairs are selected from the pool. Advantageously, this iterative approach enables the controller 702 to achieve a definitive full or empty classification using a minimum number of tuple pairs, thereby reducing the time and computational resources required for classification while still providing accurate results when the fill state is ambiguous.

[0133] When the next iteration of method 1500 is performed, the shortest distance to the nearest centroid for a first tuple pair and a second tuple pair is determined collectively (i.e. the shortest distance across both tuple pairs), and the same process is performed to determine whether the nearest centroid is the empty or the full centroid (indicating that the hopper 150 is empty or full respectively), whether further tuple pairs can be selected, or whether no further tuples are available in the tuple pair pool thereby indicating that the nearest centroid is the half-full centroid (indicating that the hopper 150 is half-full).

[0134] Once step 1580 has been performed, the method 1500 proceeds back to step 1510 to perform another iteration using the newly selected and incrementally increased tuple pairs until either the hopper 150 is classified as full or empty, or no further sound wave pairs remain available in memory 720 for selection, wherein the hopper 150 is definitively classified as half-full.

[0135] FIGS. 16a to 16f show scatter plots of the peak-to-peak output measurements received by the controller 702 from the sound sensor 750 for specific frequency and gain tuples. The peak-to-peak measurements have then been used to define the mean peak-to-peak output measurements of the centroids for the fill states of each tuple pair. The points on the scatter plot are either full, half-full or empty as shown by the legend. The scatter plots show distinct groupings of peak-to-peak output measurements for pairs of sound wave tuples, including a full state cluster 1610, a half-full state cluster 1620, and an empty state cluster 1630. More specifically, FIG. 16a is a scatter plot of the peak-to-peak output measurementsreceived from the sound sensor 750 of a first sound wave output at 595Hz with a gain of 50dB versus a peak-to-peak output measurement received from the sound sensor 750 of a second sound wave output at 700Hz with a gain of 50dB, showing the full state cluster 1610, the half-full state cluster 1620, and the empty state cluster 1630. FIG. 16b is a scatter plot of the peak-to-peak output measurement received from the sound sensor 750 of a first sound wave output at 595Hz with a gain of 50dB versus a peak-to-peak output measurement received from the sound sensor 750 of a second sound wave output at 700Hz with a gain of lOOdB, showing the full state cluster 1610, the half-full state cluster 1620, and the empty state cluster 1630. FIG. 16c is a scatter plot of the peak-to-peak output measurement received from the sound sensor 750 of a first sound wave output at 595Hz with a gain of 50dB versus a peak-to-peak output measurement received from the sound sensor 750 of a second sound wave output at 800Hz with a gain of 500dB, showing the full state cluster 1610, the half-full state cluster 1620, and the empty state cluster 1630. FIG. 16d is a scatter plot of the peak-to- peak output measurement received from the sound sensor 750 of a first sound wave output at 700Hz with a gain of lOOdB versus a peak-to-peak output measurement received from the sound sensor 750 of a second sound wave output at 700Hz with a gain of 500dB, showing the full state cluster 1610, the half-full state cluster 1620, and the empty state cluster 1630. FIG. 16e is a scatter plot of the peak-to-peak output measurement received from the sound sensor 750 of a first sound wave output at 700Hz with a gain of lOOdB versus a peak-to-peak output measurement received from the sound sensor 750 of a second sound wave output at 800Hz with a gain of 500dB, showing the full state cluster 1610, the half-full state cluster 1620, and the empty state cluster 1630. FIG. 16f is a scatter plot of the peak-to-peak output measurement received from the sound sensor 750 of a first sound wave output at 700Hz with a gain of 500dB versus a peak-to-peak output measurement received from the sound sensor 750 of a second sound wave output at 800Hz with a gain of 500dB, showing the full state cluster 1610, the half-full state cluster 1620, and the empty state cluster 1630.

[0136] FIG. 17 is source code (specifically C code) defining an example of classification parameters including a plurality of mean peak-to-peak output measurements for empty, half-full and full centroids for a plurality of tuples. Furthermore, the source code defines the frequencies and gains of tuples in separate data structures (e.g., arrays). It will be appreciated that a single data structure (e.g., a struct or 2D array) could be used to define the sound wave tuples rather than separate data structures. Additionally, the source code defines the tuple pair pool as a struct of tuples.

[0137] FIGS. 18a, 18b, 18c, 18d, 18e,and 18f show scatter plots for different frequency and gain tuples. In particular, FIG. 18a is a scatter plot of the peak-to-peak output measurement received from the sound sensor 750 of a first sound wave output at 800Hz with a gain of lOOdB versus a peak-to-peak output measurement received from the sound sensor 750 of a second sound wave output at 800Hz with a gain of 500dB. FIG. 18b is a scatter plot of the peak-to-peak output measurement received from the sound sensor 750 of a first sound wave output at 800Hz with a gain of lOOdB versus a peak-to-peak output measurement received from the sound sensor 750 of a second sound wave output at 700Hz with a gain of 500dB. FIG. 18c is a scatter plot of the peak-to-peak output measurement received from the sound sensor 750 of a first sound wave output at 800Hz with a gain of lOOdB versus a peak- to-peak output measurement received from the sound sensor 750 of a second sound wave output at 700Hz with a gain of 500dB. FIG. 18d is a scatter plot of the peak-to-peak output measurement received from the sound sensor 750 of a first sound wave output at 700Hz with a gain of 500dB versus a peak-to-peak output measurement received from the sound sensor 750 of a second sound wave output at 800Hz with a gain of 500dB. FIG. 18e is a scatter plot of the peak-to-peak output measurement received from the sound sensor 750 of a first sound wave output at 900Hz with a gain of 500dB versus a peak-to-peak output measurement received from the sound sensor 750 of a second sound wave output at 800Hz with a gain of 500dB. FIG. 18f is a scatter plot of the peak-to-peak output measurement received from the sound sensor 750 of a first sound wave output at 800Hz with a gain of 500dB versus a peak- to-peak output measurement received from the sound sensor 750 of a second sound wave output at 900Hz with a gain of 500dB.

[0138] FIG. 19 is a flowchart representing a method 1900 performed by a controller 702 of the bean level detection system 700 of FIGS. 7a, 7b, 10 or 12 utilising the classification parameters defined in FIG. 17 and illustrated in the scatter plots of FIGS. 18a, 18c and 18e.

[0139] In particular, at step 1902, the method 1900 includes the controller 702 controlling the sound emitter 740 to emit sound waves corresponding to a tuple pair comprising a first sound wave having a frequency of 800 Hz and a gain of 100 dB, and a second sound wave having a frequency of 700 Hz and a gain of 500dB. As shown in FIG. 17, the tuple pair is selected from the tuple pair pool (i.e. defined as freqPairList in the source code). The tuple pair pool can be a list data structure, wherein elements can be popped off the head of the list so they are no longer available for selection in subsequent iterations that may require to be performed. Alternatively, a current index can be maintained in memory 720 so that the next tuple pair can be correctly accessed from the pool.

[0140] At step 1904, the method 1900 includes the controller 702 sampling the output sound waves using the sound sensor 750(s).

[0141] At step 1906, the method 1900 includes the controller 702 determining a distance to the empty, half-full and full centroids (as defined in FIG. 17) for the tuple pair ([800 Hz, 100 dB], [700Hz, 500 dB]).

[0142] At step 1908, the method 1900 includes the controller 702 determining if the shortest distance between the tuple pair and each centroid is associated with the empty or full centroid. If the shortest distance is to the empty or full centroid, the method 1900 proceeds to step 1928. Otherwise, if the shortest distance is to the half-full centroid, the method 1900 proceeds to step 1910.

[0143] As further tuple pairs are available in the tuple pair pool, at step 1910, the method 1900 includes controlling the sound emitter 740 to emit a sound wave for a new sound wave tuple (800 Hz, 500 dB) selected from the tuple pair pool. Effectively step 1910 is the start of a new iteration. More specifically, the previous tuple pair is discarded, and an incremented (i.e. 2) selection of tuple pairs is obtained from the tuple pair pool. The tuple pairs include afirst tuple pair comprising of the 0thtuple (800 Hz, 100 dB) and 2ndtuple (800 Hz, 500 dB), and a second tuple pair of the 1sttuple (700Hz, 500 dB) and 2ndtuple (800 Hz, 500 dB). As the measurements for the 0thand 1sttuples have already been sampled at step 1904, a further sound wave requires to be output by the sound emitter 740(s) using the 2ndtuple.

[0144] At step 1912, the method 1900 includes the controller 702 sampling the sound sensor 750(s).

[0145] At step 1914, the method 1900 includes the controller 702 determining a distance to the empty, half-full and full centroids (as defined in FIG. 17) for the first tuple pair ([800 Hz, 100 dB], [800Hz, 500 dB]) and the second tuple pair ([700 Hz, 500 dB], [800Hz, 500 dB]).

[0146] At step 1916, the method 1900 includes the controller 702 determining if the shortest distance between the tuple pairs and each centroid is associated with the empty or full centroid. If the shortest distance is associated with the empty or full centroid, the method 1900 proceeds to step 1928. Otherwise, if the shortest distance is to the half-full centroid, the method 1900 proceeds to step 1918.

[0147] At step 1918, the method 1900 includes controlling the sound emitter 740 to emit a sound wave for a new sound wave tuple (900 Hz, 500 dB) selected from the tuple pair pool. Effectively step 1918 is the start of a further iteration as further tuple pairs are available in the tuple pair pool. The previous tuple pairs are discarded, and an incremented (i.e. 3) selection of tuple pairs is obtained from the tuple pair pool. The tuple pairs include a first tuple pair comprising of the 0thtuple (800 Hz, 100 dB) and 3rdtuple (900 Hz, 500 dB), a second tuple pair comprising of the 1sttuple (700Hz, 500 dB) and the 3rdtuple (900 Hz, 500 dB), and a third tuple pair comprising of the 2ndtuple (800 Hz, 500 dB) and the 3rdtuple (900 Hz, 500 dB). As the measurements for the 0th, 1stand 2ndtuples have been sampled at step 1912, a further sound wave requires to be output based on the 3 tuple.

[0148] At step 1920, the method 1900 includes the controller 702 sampling the sound sensor 750.

[0149] At step 1922, the method 1900 includes the controller 702 determining a distance to the empty, half-full and full centroids (as defined in FIG. 17) for the first tuple pair ([800 Hz, 100 dB], [900Hz, 500 dB]), the second tuple pair ([700 Hz, 500 dB], [900Hz, 500 dB]), and the third tuple pair ([800 Hz, 500 dB], [900Hz, 500 dB]).

[0150] At step 1924, the method 1900 includes the controller 702 determining if the shortest distance between each tuple pair and each centroid is associated with the empty or full centroid. If the shortest distance is to the empty or full centroid, the method 1900 proceeds to step 1928. Otherwise, if the shortest distance is to the half-full centroid, the method 1900 proceeds to step 1926.

[0151] At step 1926, the method 1900 includes the controller 702 classifying the hopper 150 as being in the half-full state. In particular, as no further tuple pairs are available for selection from the tuple pair pool, the controller 702 definitively concludes that the hopper 150 is in the half-full state.

[0152] At step 1928, the method 1900 includes the controller 702 classifying the hopper 150 in the full state in the event that the shortest distance was with respect to the full centroid, or classifying the hopper 150 in the empty state in the event that the shortest distance was with respect to the empty centroid.

[0153] Whilst examples have been outlined that include three hopper 150 fill classification states, namely full state, half-full state, and empty state, it will be appreciated that more hopper 150 fill states can be defined. For example, a three-quarters full centroid associated with the hopper 150 being three-quarters full of coffee beans, and a quarter-full centroid associated with the hopper 150 being a quarter full of coffee beans can be defined in the memory 720 of the controller 702 and used to classify the hopper 150 fill state.Advantageously, the provision of additional fill states such as three-quarters full and quarterfull enables more granular monitoring of the coffee bean supply, allowing users to better plan when to replenish the hopper 150.

[0154] In embodiments where additional fill states are defined, such as a three-quarters full state and a quarter-full state, the centroid classification parameter data may be extended to include corresponding centroids for each additional fill state. The classification parameters for the three-quarters full centroid and the quarter-full centroid may be determined in a similar manner to the full, half-full, and empty centroids described above. For example, peak- to-peak output measurements may be obtained from the sound sensor 750 when the hopper 150 contains coffee beans at approximately three-quarters of its capacity and at approximately one-quarter of its capacity. These measurements may be used to calculate mean peak-to-peak output measurements for each tuple, which form the centroid coordinates for the three-quarters full centroid and the quarter-full centroid respectively. The tuple pair pool and the classification decision tree of method 1500 may be extended to accommodate the additional centroids. For instance, at step 1540, the controller 702 may determine whether the nearest centroid is the full centroid, the empty centroid, the three-quarters full centroid, or the quarter-full centroid. If the nearest centroid is the full, three-quarters full, quarter-full, or empty centroid, the controller 702 may classify the hopper 150 as being in the corresponding fill state. If the nearest centroid is the half-full centroid, the method 1500 may proceed to step 1560 to determine whether further tuple pairs are available for selection. The source code of FIG. 17 may be extended to define additional centroid values for the three-quarters full and quarter-full states within the centroid data structure. The number of fill states and corresponding centroids may be selected based on the desired granularity of fill level detection and the acoustic distinguishability of the different fill states for a particular hopper 150 and coffee bean type.

[0155] The bean level detection method 1300 performed by the bean level detection system 700 can be performed periodically. Additionally or alternatively, the bean level detection method 1300 can be performed when the coffee bean grinder 100 or espresso machine 200 has been powered on. Additionally or alternatively, the level detection process can be performed in response to receiving a command to perform a grind function (i.e. before performing the grind function). Additionally or alternatively, the level detection process canbe performed in response to completing a grind function (i.e. after completing the grind function). It will be appreciated that the bean level detection method 1300 can be performed based on a combination of the above. Advantageously, performing the bean level detection method 1300 before a grind function enables the controller 702 to warn the user if insufficient coffee beans are present to complete the desired grind operation, thereby preventing incomplete or unsatisfactory grinding results.

[0156] In some embodiments, the bean level detection system 700 may incorporate adaptive threshold adjustment based on environmental conditions. The controller 702 may be configured to monitor ambient temperature and humidity using one or more environmental sensors electrically coupled to the I / O interface 730. Variations in temperature and humidity may affect the acoustic properties of the hopper 150 and the coffee beans contained therein, and the controller 702 may adjust the centroid classification parameter data or apply correction factors to the peak-to-peak output measurements to account for such environmental variations.

[0157] In some aspects, the sound emitter 740 may be configured to output sound waves at frequencies outside the audible range for humans. For example, the sound emitter 740 may output ultrasonic sound waves having frequencies above 20 kHz. The use of ultrasonic frequencies may reduce or eliminate audible noise during the bean level detection process, which may be desirable in certain environments such as quiet office spaces or residential settings.

[0158] In some cases, the bean level detection system 700 may include a calibration mode that allows a user to calibrate the system for a particular type of coffee bean. Different coffee bean varieties may have different acoustic properties due to variations in bean size, density, roast level, and moisture content. The calibration mode may involve the user filling the hopper 150 to known fill levels and initiating a calibration sequence, during which the controller 702 captures peak-to-peak output measurements and stores corresponding centroid values in the memory 720.

[0159] In some embodiments, the controller 702 may be configured to implement a weighted voting scheme when multiple tuple pairs are used for classification. Rather than selecting the nearest centroid based solely on the minimum distance, the controller 702 may assign weights to each tuple pair based on historical classification accuracy or signal quality metrics. The weighted distances may then be combined to determine the likely fill state.

[0160] In some aspects, the bean level detection system 700 may include a selfdiagnostic function. The controller 702 may periodically verify the operation of the sound emitter 740 and sound sensor 750 by outputting a test sound wave and confirming that a corresponding measurement is received. If the self-diagnostic function detects a malfunction, the controller 702 may control the output device 760 to display an error message or service notification.

[0161] In some cases, the memory 720 may store historical fill level data, and the controller 702 may be configured to track coffee bean consumption patterns overtime. The controller 702 may use this historical data to predict when the hopper 150 will require refilling and may provide advance notifications to the user via the output device 760.

[0162] In some embodiments, the bean level detection system 700 may communicate with external devices via a wireless communication interface. The controller 702 may transmit fill level data to a mobile application or cloud-based service, enabling remote monitoring of the coffee bean supply. The wireless communication interface may utilize protocols such as Bluetooth, Wi-Fi, or cellular connectivity.

[0163] In some aspects, the collar 160 may include acoustic isolation features to reduce interference from external noise sources. For example, the cavities housing the sound emitter 740 and sound sensor 750 may include sound-absorbing materials or baffles to attenuate ambient noise that could otherwise affect the accuracy of the fill level measurements.

[0164] In some cases, the controller 702 may implement a machine learning algorithm that is trained on collected measurement data to improve classification accuracy over time. The machine learning algorithm may be a neural network or other supervised learning modelthat receives peak-to-peak output measurements as inputs and outputs a predicted fill state. The model may be periodically retrained as additional measurement data is collected during normal operation of the coffee bean grinder 100 or espresso machine 200.

[0165] Each of the components of the controller 702 are configured to perform one or more particular functions using hardware, software or a combination thereof.

[0166] The processor 710 may comprise various hardware elements, software elements, or a combination of both. Examples of hardware elements may include devices, logic devices, components, processors, microprocessors, circuits, processor 710 circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), memory 720 units, logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. Examples of software elements may include software components, programs, applications, computer programs, application programs, system programs, software development programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, processes, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and / or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory 720 resources, data bus 704 speeds and other design or performance constraints.

[0167] The memory 720 may comprise a computer-readable storage medium to store program code and data.

[0168] Examples of a computer-readable storage medium may include any tangible media capable of storing electronic data, including volatile memory 720 or non-volatilememory 720, removable or non-removable memory 720, erasable or non-erasable memory 720, writeable or re-writeable memory 720, and so forth. Program code may include executable computer program instructions implemented using any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, object-oriented code, visual code, and the like. Embodiments may also be at least partly implemented as instructions contained in or on a non-transitory computer-readable medium, which may be read and executed by one or more processors to enable performance of the operations described herein.

[0169] The bus 704 can be a system bus 704 which provides an interface for system components including, but not limited to, the memory 720 and to the processor 710. The bus 704 may be any of several types of bus 704 structure that may further interconnect to a memory 720 bus 704 (with or without a memory 720 controller 702), a peripheral bus 704, and a local bus 704 using any of a variety of commercially available bus 704 architectures.

[0170] Various embodiments may be implemented using hardware elements, software elements, or a combination of both. Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. Examples of software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and / or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances,processing cycle budget, input data rates, output data rates, memory 720 resources, data bus 704 speeds and other design or performance constraints.

[0171] One or more embodiments may be implemented by representative instructions stored on a machine-readable medium which represents various logic within the processor 710, which when read by a machine causes the machine to fabricate logic to perform the techniques described herein. Such representations, known as "IP cores" may be stored on a tangible, machine readable medium and supplied to various customers or manufacturing facilities to load into the fabrication machines that make the logic or processor 710. Some embodiments may be implemented, for example, using a machine-readable medium or article which may store an instruction or a set of instructions that, if executed by a machine, may cause the machine to perform a method 1300 and / or operations in accordance with the embodiments. Such a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor 710, or the like, and may be implemented using any suitable combination of hardware and / or software. The machine -readable medium or article may include, for example, any suitable type of memory 720 unit, memory 720 device, memory 720 article, memory 720 medium, storage device, storage article, storage medium and / or storage unit, for example, memory 720, removable or non-removable media, erasable or nonerasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Memory 720 (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory 720 cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, and the like, implemented using any suitable high-level, low-level, object-oriented, visual, compiled and / or interpreted programming language.

[0172] As used in this application, the terms "system", "component" and "unit" are intended to refer to a computer-related entity, either hardware, a combination of hardwareand software, software, or software in execution, examples of which are described herein. For example, a component may be, but is not limited to being, a process running on a processor 710, a processor 710, a hard disk drive, multiple storage drives, a non-transitory computer readable medium (of either optical and / or magnetic storage medium), an object, an executable, a thread of execution, a program, and / or a computer. By way of illustration, both an application running on a server and the server may be a component. One or more components can reside within a process and / or thread of execution, and a component may be localized on one computer and / or distributed between two or more computers.

[0173] Further, components may be communicatively coupled to each other by various types of communications media to coordinate operations. The coordination may involve the uni-directional or bi-directional exchange of information. For instance, the components may communicate information in the form of signals communicated over the communications media. The information may be implemented as signals allocated to various signal lines. In such allocations, each message is a signal. Further embodiments, however, may alternatively employ data messages. Such data messages may be sent across various connections.Exemplary connections include parallel interfaces, serial interfaces, and bus 704 interfaces.

[0174] Some embodiments may be described using the expression "one embodiment" or "an embodiment" along with their derivatives. These terms mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment. Moreover, unless otherwise noted the features described above are recognized to be usable together in any combination. Thus, any features discussed separately may be employed in combination with each other unless it is noted that the features are incompatible with each other.

[0175] With general reference to notations and nomenclature used herein, the detailed descriptions herein may be presented in terms of functional blocks or units that might be implemented as program procedures executed on a computer or network of computers. Theseprocedural descriptions and representations are used by those skilled in the art to effectively convey the substance of their work to others skilled in the art.

[0176] A procedure is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. These operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is noted, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to those quantities.

[0177] Further, the manipulations performed are often referred to in terms, such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is required, or desirable in cases, in any of the operations described herein, which form part of one or more embodiments. Rather, the operations are machine operations. Useful machines for performing operations of various embodiments include general purpose digital computers or similar devices.

[0178] Some embodiments may be described using the expression "coupled" and "connected" along with their derivatives. These terms are not necessarily intended as synonyms for each other. For example, some embodiments may be described using the terms "connected" and / or "coupled" to indicate that two or more elements are in direct physical or electrical contact with each other. The term "coupled," however, may also mean that two or more elements are not in direct contact with each other, but still co-operate or interact with each other.

[0179] It is emphasized that the Abstract of the Disclosure is provided to allow a reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features are grouped together in a single embodiment to streamline the disclosure. This method 1300 of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features thanare expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. The terms "first," "second," "third," and so forth, are used merely as labels, and are not intended to impose numerical requirements on their objects.

[0180] Throughout this specification and the claims which follow, unless the context requires otherwise, the word "comprise", and variations such as "comprises" and "comprising", will be understood to imply the inclusion of a stated integer or step 1310 or group of integers or steps but not the exclusion of any other integer or step 1310 or group of integers or steps.

[0181] The reference in this specification to any known matter or any prior publication is not, and is not to be taken to be, an acknowledgment or admission or suggestion that the known matter or prior art publication forms part of the common general knowledge in the field to which this specification relates.

[0182] While specific examples of the disclosure have been described, it will be understood that the disclosure extends to alternative combinations of the features disclosed or evident from the disclosure provided herein.

[0183] Many and various modifications will be apparent to those skilled in the art without departing from the scope of the disclosure disclosed or evident from the disclosure provided herein.

[0184] Features of any of the examples or embodiments outlined above may be combined to create additional examples or embodiments without losing the intended effect. It is understood that the description of an embodiment or example provided above is by way of example, and various modifications could be made by one skilled in the art. Furthermore, one skilled in the art will recognise that numerous further modifications and combinations of various aspects are possible. Accordingly, the described aspects are intended to encompassall such alterations, modifications, and variations that fall within the scope of the appended claims.

Claims

CLAIMS1. A coffee bean grinder, comprising: a housing having mounted thereto a sound emitter and a sound sensor; a hopper for storing and feeding coffee beans to a grinding mechanism, wherein the hopper is positioned such that the sound emitter is configured to output sound waves into the hopper and the sound sensor is configured to receive sound waves from the hopper; an output device; and a controller electrically coupled with the sound emitter, the sound sensor, and the output device, wherein the controller includes a processor and a memory having stored therein instructions, wherein execution of the instructions by the processor causes the controller to: control the sound emitter to output a sound wave; sample the sound sensor to obtain a measurement indicative of the sound wave output by the sound emitter; determine, based on the measurement, whether the hopper is empty of coffee beans; and control, based on a positive determination, the output device to indicate the hopper is empty.

2. The coffee bean grinder of claim 1, wherein the hopper includes one or more apertures formed in a wall of the hopper, wherein the one or more apertures provide a direct acoustic path between the sound emitter and an interior of the hopper.

3. The coffee bean grinder of claim 2, wherein the one or more apertures are covered with a mesh material, wherein the mesh material allows sound waves to propagate directly from the sound emitter into the interior of the hopper while preventing coffee beans from falling out of the hopper through the one or more apertures.

4. The coffee bean grinder of claim 3, wherein the mesh material is positioned in the wall of the hopper adjacent to the sound emitter.

5. The coffee bean grinder of claim 3 or 4, wherein the mesh material has openings that are sized to be smaller than the coffee beans stored in the hopper.

6. The coffee bean grinder of any one of claims 3 to 5, wherein the mesh material is formed from a metallic material.

7. The coffee bean grinder of any one of claims 3 to 5, wherein the mesh material is formed from a polymeric material.

8. The coffee bean grinder of claim 1, wherein the measurement is a peak-to-peak output measurement.

9. The coffee bean grinder of claim 8, wherein the controller is configured to obtain a plurality of peak-to-peak output measurements for each sound wave output by the sound emitter and calculate an average across the plurality of peak-to-peak output measurements.

10. The coffee bean grinder of claim 1 or 8, wherein the memory has stored therein one or more classification parameters, wherein the controller is configured to determine whether the hopper is empty of coffee beans using the one or more classification parameters.

11. The coffee bean grinder of any one of claims 1 to 10, wherein the sound sensor is mounted adjacent to the sound emitter.

12. The coffee bean grinder of claim 11, wherein the sound sensor is located approximately 10 millimetres from the sound emitter.

13. The coffee bean grinder of any one of claims 1 to 12, wherein the sound sensor includes a microphone electrically coupled to a microphone amplifier, wherein the measurement is sampled from an amplified microphone signal received from the microphone amplifier.

14. The coffee bean grinder of any one of claims 1 to 13, wherein the sound emitter includes a speaker electrically coupled to a speaker amplifier, wherein the controller is configured to control the speaker amplifier to output the sound wave by the speaker.

15. The coffee bean grinder of any one of claims 1 to 14, further comprising a further sound sensor electrically coupled to the controller, wherein the further sound sensor is mounted diametrically opposite to the sound emitter relative to the hopper, wherein the controller is configured to: sample the further sound sensor to obtain a further measurement indicative of the sound wave output by the sound emitter; and determine, based on the measurement and the further measurement, whether the hopper is empty of coffee beans.

16. The coffee bean grinder of any one of claims 1 to 15, wherein the memory has stored therein sound data indicative of a sound wave tuple, wherein the sound wave tuple includes an output frequency and an output gain, wherein the controller is configured to control the sound emitter to output the sound wave according to the sound wave tuple.

17. The coffee bean grinder of claim 16, wherein the sound data is indicative of a tuple pair, wherein the tuple pair includes a pair of sound wave tuples, wherein the controller is configured to: control the sound emitter to output a plurality of sound waves according to the tuple pair; sample the sound sensor to obtain a plurality of measurements in relation to the plurality of sound waves output by the sound emitter; and determine, based on the plurality of measurements, whether the hopper is empty of coffee beans.

18. The coffee bean grinder of claim 17, wherein the memory has stored therein a classifier, wherein the controller is configured to determine whether the hopper is empty of coffee beans using the classifier.

19. The coffee bean grinder of claim 18, wherein the controller is configured to classify the plurality of measurements using the classifier according to a plurality of hopper fill states, wherein the plurality of hopper fill states include: an empty state indicative of the hopper being empty; a half-full state indicative of the hopper being half full; and a full state indicative of the hopper being full.

20. The coffee bean grinder of claim 19, wherein the classifier is a nearest centroid classifier.

21. The coffee bean grinder of claim 20, wherein the nearest centroid classifier uses centroid classification parameter data indicative of: a full centroid associated with the hopper being full of coffee beans; a half-full centroid associated with the hopper being half full of coffee beans; and an empty centroid associated with the hopper being empty of coffee beans.

22. The coffee bean grinder of claim 21, wherein the centroid classification parameter data is further indicative of: a three-quarters full centroid associated with the hopper being three-quarters full of coffee beans; and a quarter-full centroid associated with the hopper being a quarter full of coffee beans.

23. The coffee bean grinder of claim 21 or 22, wherein the memory has stored therein a plurality of tuple pairs forming a pool of tuple pairs, wherein the controller is configured to:(a) control the sound emitter to output one or more sound waves using one or more selected tuple pairs from the pool of tuple pairs;(b) sample the sound sensor to obtain one or more measurements for the one or more sound waves;(c) determine, using the nearest centroid classifier and based on the one or more measurements, a nearest centroid;(d) in the event that the nearest centroid is the full centroid or the empty centroid, classify the hopper as being full of coffee beans or empty of coffee beans respectively;(e) in the event that the nearest centroid is not the full centroid nor the empty centroid and one or more further tuple pairs of the plurality of tuple pairs have not been selected:(i) discard the selection of the one or more tuple pairs and incrementally increase selection of tuple pairs from the pool of tuple pairs; and(ii) repeat steps (a) to (e); and(f) in the event that all tuple pairs have been used to output the plurality of sound waves, classify the hopper as being half full of coffee beans.

24. The coffee bean grinder of claim 23, wherein the controller is configured to iteratively increase the number of tuple pairs used for classification until a definitive determination that the nearest centroid is the full centroid or the empty centroid is achieved.

25. The coffee bean grinder of any one of claims 1 to 24, wherein the output device includes an electronic display device, wherein in the event that the controller determines that the hopper is empty of coffee beans, the controller is configured to control the electronic display device to present indicia indicative of the hopper being empty of coffee beans.

26. The coffee bean grinder of any one of claims 1 to 25, wherein the housing includes a collar having an annular profile, wherein the hopper is receivable within the collar.

27. The coffee bean grinder of claim 26, wherein when the hopper contains coffee beans at a level at or above the sound emitter and sound sensor mounted to the collar, sound waves emitted by the sound emitter into the hopper are reflected by the coffee beans, and the sound sensor captures a measurement indicative of the reflected sound waves.

28. The coffee bean grinder of claim 26 or 27, wherein the sound emitter is located within a first cavity of the collar and the sound sensor is located within a second cavity of the collar.

29. The coffee bean grinder of any one of claims 26 to 28, wherein the sound emitter includes a speaker oriented to face substantially orthogonal to a central axis of the collar.

30. The coffee bean grinder of any one of claims 1 to 26, wherein the sound emitter is positioned to provide an unobstructed acoustic path from the sound emitter into an interior of the hopper.

31. An espresso machine including the coffee bean grinder of any one of claims 1 to 30.

32. A method performed by a coffee bean grinder, wherein the coffee bean grinder comprises: a housing having mounted thereto a sound emitter and a sound sensor; a hopper for storing and feeding coffee beans to a grinding mechanism, wherein the hopper is positioned such that the sound emitter is configured to output sound waves into the hopper and the sound sensor is configured to receive sound waves from the hopper; an output device; and a controller electrically coupled with the sound emitter, the sound sensor, and the output device, wherein the controller includes a processor and a memory having stored therein instructions, wherein execution of the instructions by the processor causes the controller to perform the method including steps of: controlling the sound emitter to output a sound wave; sampling the sound sensor to obtain a measurement indicative of the sound wave output by the sound emitter; determining, based on the measurement, whether the hopper is empty of coffee beans; and controlling, based on a positive determination, the output device to indicate the hopper is empty.

33. The method of claim 32, wherein the hopper includes one or more apertures formed in a wall of the hopper, wherein the one or more apertures provide a direct acoustic path between the sound emitter and an interior of the hopper.

34. The method of claim 33, wherein the one or more apertures are covered with a mesh material, wherein the mesh material allows sound waves to propagate directly from the sound emitter into the interior of the hopper while preventing coffee beans from falling out of the hopper through the one or more apertures.

35. The method of claim 32, wherein the measurement is a peak-to-peak output measurement.

36. The method of claim 32 or 35, wherein the memory has stored therein one or more classification parameters, wherein the method includes the controller determining whether the hopper is empty of coffee beans using the one or more classification parameters.

37. The method of any one of claims 32 to 36, wherein the sound sensor is mounted adjacent to the sound emitter.

38. The method of claim 37, wherein the sound sensor is located approximately 10 millimetres from the sound emitter.

39. The method of any one of claims 32 to 38, wherein the sound sensor includes a microphone electrically coupled to a microphone amplifier, wherein the measurement is sampled from an amplified microphone signal received from the microphone amplifier.

40. The method of any one of claims 32 to 39, wherein the sound emitter includes a speaker electrically coupled to a speaker amplifier, wherein the method includes the controller controlling the speaker amplifier to output the sound wave by the speaker.

41. The method of any one of claims 32 to 40, wherein the coffee bean grinder further comprises a further sound sensor mounted diametrically opposite to the sound emitter relative to the hopper, wherein the method includes the controller:sampling the further sound sensor to obtain a further measurement indicative of the sound wave output by the sound emitter; and determining, based on the measurement and the further measurement, whether the hopper is empty of coffee beans.

42. The method of any one of claims 32 to 41, wherein the memory has stored therein sound data indicative of a sound wave tuple, wherein the sound wave tuple includes an output frequency and an output gain, wherein the method includes the controller controlling the sound emitter to output the sound wave according to the sound wave tuple.

43. The method of claim 42, wherein the sound data is indicative of a tuple pair, wherein the tuple pair includes a pair of sound wave tuples, wherein the method includes the controller: controlling the sound emitter to output a plurality of sound waves according to the tuple pair; sampling the sound sensor to obtain a plurality of measurements in relation to the plurality of sound waves output by the sound emitter; and determining, based on the plurality of measurements, whether the hopper is empty of coffee beans.

44. The method of claim 43, wherein the memory has stored therein a classifier, wherein the method includes the controller determining whether the hopper is empty of coffee beans using the classifier.

45. The method of claim 44, wherein the method includes the controller classifying the plurality of measurements using the classifier according to a plurality of hopper fill states, wherein the plurality of hopper fill states include: an empty state indicative of the hopper being empty; a half-full state indicative of the hopper being half full; and a full state indicative of the hopper being full.

46. The method of claim 45, wherein the classifier is a nearest centroid classifier.

47. The method of claim 46, wherein the nearest centroid classifier uses centroid classification parameter data indicative of: a full centroid associated with the hopper being full of coffee beans; a half-full centroid associated with the hopper being half full of coffee beans; and an empty centroid associated with the hopper being empty of coffee beans.

48. The method of claim 47, wherein the centroid classification parameter data is further indicative of: a three-quarters full centroid associated with the hopper being three-quarters full of coffee beans; and a quarter-full centroid associated with the hopper being a quarter full of coffee beans.

49. The method of claim 47 or 48, wherein the memory has stored therein a plurality of tuple pairs forming a pool of tuple pairs, wherein the method includes the controller performing steps of:(a) controlling the sound emitter to output one or more sound waves using one or more selected tuple pairs from the pool of tuple pairs;(b) sampling the sound sensor to obtain one or more measurements for the one or more sound waves;(c) determining, using the nearest centroid classifier and based on the one or more measurements, a nearest centroid;(d) in the event that the nearest centroid is the full centroid or the empty centroid, classifying the hopper as being full of coffee beans or empty of coffee beans respectively;(e) in the event that the nearest centroid is not the full centroid nor the empty centroid and one or more further tuple pairs of the plurality of tuple pairs have not been selected:(i) discarding the selection of the one or more tuple pairs and incrementally increasing selection of tuple pairs from the pool of tuple pairs; and(ii) repeating steps (a) to (e); and(f) in the event that all tuple pairs have been used to output the plurality of sound waves, classifying the hopper as being half full of coffee beans.

50. The method of any one of claims 32 to 49, wherein the output device includes an electronic display device, wherein in the event that the controller determines that the hopper is empty of coffee beans, the method includes the controller controlling the electronic display device to present indicia indicative of the hopper being empty of coffee beans.

51. The method of any one of claims 32 to 50, wherein the sound wave has a frequency in a range of 600 Hz to 1000 Hz.

52. The method of any one of claims 32 to 51, wherein the method is performed in response to receiving a command to perform a grind function or upon the coffee bean grinder being powered on.

53. The method of any one of claims 32 to 52, wherein the method is performed periodically, in response to completing a grind function.

54. A computer readable medium having stored therein executable instructions for performing the method of any one of claims 32 to 53.