What Dog Behavior Taught Us About Mechanical Tolerances
How real interaction with EverBowl™ changed the way we thought about clearance, wear and durability.
Designing a mechanical product around a spec is fairly straightforward. Designing one around how people, or animals, actually interact with it is a lot harder.
A lot of our mechanical assumptions for EverBowl came from CAD, component specs and controlled testing. But the product ultimately had to survive something different: a dog interacting with it every single day. Dogs do not handle a product according to an assembly drawing. They push against it, lean on it, nudge it, paw at it, pull at exposed features, and approach it from every direction imaginable. A clearance that looked perfectly reasonable in CAD could turn into a contact point in real use. A surface that passed a static strength test could still wear down after enough repeated contact.
That changed how we thought about tolerances. The question stopped being “does this dimension fit?” and became “how does this interface hold up after hundreds or thousands of real interactions?”
The problem: designing for a human assembly, but an animal interaction
EverBowl has several mechanical interfaces that are predictable during assembly and a lot less predictable once the product is in use: the bowl against its supporting structure, the weighing mechanism and what surrounds it, the sensor and its protective geometry, the wand and its enclosure, moving or removable parts, and the housing’s exposed edges.
During assembly, all of that is controlled. Someone places one part against another, tightens the fasteners, aligns everything, inspects it. A dog does not do any of that. A dog applies force from an unexpected direction, contacts the same spot over and over, or combines impact, friction and lateral loading in ways that were never part of the original load case. That pushed us to treat clearance and tolerance as functional parameters, not only manufacturing ones.
Clearance is not just an assembly number
The simple way to think about clearance is: part A plus tolerance plus part B equals the required gap. If two parts need to move relative to each other, you give them enough room that manufacturing variation alone will not cause interference.
Real products need another layer on top of that. The clearance also has to account for deflection under load, thermal expansion, manufacturing and assembly variation, wear, impact, repeated lateral force, contamination, and however a user or animal actually interacts with it. A 0.5 mm gap in a static CAD model is not necessarily a 0.5 mm gap once the product is running. If one component deflects 0.3 mm and another shifts 0.2 mm from assembly tolerance, that clearance can disappear entirely, and that is the moment a tolerance problem turns into a system behavior problem.
What changed when we observed real interaction
One useful side effect of testing EverBowl in a real environment was that the interaction itself became data. Instead of only asking whether a part could take a specified load, we started watching where the product was being touched and how that contact built up over time.
Some areas got far more interaction than we expected. Edges turned into contact points, clearances turned into potential impact zones, and exposed surfaces turned into wear surfaces. Parts that looked mechanically isolated in CAD sometimes ended up in secondary contact once the assembly shifted slightly under real load. That is what got us questioning our original tolerance assumptions. The same field-first attitude shaped how we trained the vision models that watch the bowl; see reducing false detections by training on bad indoor data.
Wear changed the tolerance conversation
Strength and tolerance usually get treated as separate topics, but they should not always be. Say an interface starts with 1 mm of clearance. If repeated contact wears away 0.2 mm of material from one side, the geometry has changed even though nothing structurally failed. Now put a second component into that space, and the original clearance spec no longer describes the actual product.
That matters for consumer hardware, because most failures here are not catastrophic. They start small: contact wears the surface, wear increases movement, movement causes misalignment, misalignment invites more contact, and more contact means more wear. That loop can make a product unreliable without a single component ever breaking.
What dog interaction revealed
The most useful observations were not dramatic failures. They were repeated behaviors. A dog approaching the bowl does not push straight down. It is some combination of vertical loading, horizontal pushing, localized contact, impact, repeated rubbing, paw contact, or outright pulling and nudging.
That matters for a weighing system because the structure is not only holding up a static mass. The load path shifts depending on where the force lands. An off-center force introduces a moment, and a moment changes how the supporting structure deflects, which in turn changes the clearances around it.
We started designing around contact zones
One practical shift was to stop treating every surface the same. Some surfaces were never going to see meaningful interaction. Others turned into high-contact zones, and those needed a different level of attention. For every interface, we started asking: Can this component move, and if so, how much? What happens if it moves toward the part next to it; does it contact something critical? What happens after repeated contact; does the geometry wear? Does that wear affect function (a cosmetic scratch is a very different problem from wear that shifts sensor alignment)? Does the worst-case tolerance stack still leave enough functional clearance?
That turned tolerance analysis from a dimensional exercise into a behavioral one.
Not every tight tolerance is a better tolerance
There is a natural pull in product development toward tighter interfaces, since tighter feels more precise. It is not automatically better. A very small clearance can feel premium and controlled on a single prototype while being hard to manufacture consistently at scale.
Take an interface with a nominal 0.3 mm gap. If the manufacturing process alone contributes plus or minus 0.15 mm of variation, some units end up with almost no clearance at all. Add thermal expansion, assembly variation, structural deflection, coating thickness, contamination and repeated interaction, and the theoretical 0.3 mm gap turns into a different engineering problem. Sometimes a slightly larger, well-controlled clearance makes for a more reliable product. The goal was never minimum clearance. It is sufficient functional clearance with predictable behavior.
Designing tolerances around the function
This was one of the bigger lessons from EverBowl. Tolerance should come from what the interface needs to do.
The tolerance was never the objective. The function was. Tolerance is one of the tools that protects it. The sensor opening row is a good example of why: the time-of-flight sensor behind it depends on calibrated offsets measured after assembly, and a shifted opening changes what that calibration describes; the firmware side of keeping those values valid is in ToF calibration persistence.
From prototype behavior to design changes
None of this led to dramatic redesigns. The changes were mostly small: more clearance in specific contact zones, local radii to cut down on edge damage, added stiffness where deflection was eating into clearance, different surface finishes in high-contact areas, better alignment features, fewer unnecessary exposed edges, and extra robustness where repeated interaction was expected.
What mattered was that these changes were targeted. We did not make the whole product heavier or blanket-increase every tolerance. We fixed the specific spots where real interaction showed our original assumptions were weakest.
The bigger lesson: real users become part of the load case
One of the more useful shifts in our thinking was realizing the environment is part of the mechanical system. The dog is not an external disturbance sitting outside the engineering model. The dog’s behavior is part of the product’s operating condition. That does not mean trying to model every possible movement. It means identifying the behaviors that repeat consistently and designing around those.
A product meant for a real environment has to account for how it gets touched, pushed, moved, cleaned, dropped, assembled and used. For EverBowl, that meant treating interaction data as engineering input, not user feedback to file away.
Engineering insight: a tolerance is only correct if it stays functional after manufacturing variation, structural movement and real-world interaction are all considered together. A dimension can be perfectly correct on a drawing and still produce the wrong product behavior. That is why tolerance decisions need to connect back to load paths, wear mechanisms, assembly variation and actual usage.
How this changed our approach to EverBowl™
The biggest shift was not increasing or decreasing any single dimension. It was changing the question we asked in design reviews, from “what clearance should we specify?” to “what can actually happen at this interface over the life of the product?”
That one change led to better decisions on its own. If a component can deflect, we account for it. If a surface sees repeated contact, we think about wear. If an animal can apply force from an unexpected direction, we work out the resulting load path. If manufacturing variation can eat the designed clearance, we revisit the tolerance stack. And if a failure only shows up after repeated use, we stop dismissing it because the original static test passed.
EverBowl learns how a dog eats and drinks from thousands of ordinary visits, and the mechanical interfaces above are what keep the sensing geometry stable across those visits. EverBowl does not diagnose anything; the value is the record, and the record depends on the bowl behaving the same way on day 400 as on day 1.
What this means for product engineering
Mechanical tolerances usually get treated as numbers that live inside a drawing. EverBowl made us think about them as boundaries around system behavior. Clearance decides when components start to interact. Stiffness decides how much that clearance moves under load. Surface finish decides how that interaction turns into wear over time. Manufacturing decides how much variation exists between units. None of these sit independently of each other, which is why a tolerance decision made early in CAD can end up shaping reliability, sensing accuracy, assembly quality and field performance months later.
The most useful tolerance was never the tightest one or the loosest one. It is the one that gives the product enough room to behave predictably in the environment it is going to live in. More on how the connector and pin layout decisions interact with this is in the anatomy of vBus: understanding connector pin blocks, and more product engineering posts are in the product category.
How this changed our approach to Everbowl
The biggest shift wasn't increasing or decreasing any single dimension. It was changing the question we actually asked in design reviews, from "what clearance should we specify?" to "what can actually happen at this interface over the life of the product?"
That single change led to better decisions on its own. If a component can deflect, we account for it. If a surface sees repeated contact, we think about wear. If an animal can apply force from an unexpected direction, we work out the resulting load path. If manufacturing variation can eat the designed clearance, we revisit the tolerance stack. And if a failure only shows up after repeated use, we stop dismissing it just because the original static test passed.
What this means for product engineering
Mechanical tolerances usually get treated as numbers that live inside a drawing. Everbowl made us think about them differently: they're really boundaries around system behavior. Clearance decides when components start to interact. Stiffness decides how much that clearance moves under load. Surface finish decides how that interaction turns into wear over time. Manufacturing decides how much variation exists between units. None of these sit independently of each other, which is why a tolerance decision made early in CAD can end up shaping reliability, sensing accuracy, assembly quality, and field performance months later.
The most useful tolerance was never the tightest one or the loosest one. It is the one that gives the product enough room to behave predictably in the environment it is going to live in. More on how the connector and pin layout decisions interact with this is in the anatomy of vBus: understanding connector pin blocks, and more product engineering posts are in the product category.
How this shows up at Hoomanely
At Hoomanely, we're building hardware where mechanical, electrical, sensing, and software all have to work as one system. Everbowl is a good example of why that takes more than getting each component right on its own. Decisions about clearance, stiffness, alignment, and wear directly shape how reliably the sensing system holds up in the hands, or paws, of a real user. That link between engineering intent and real-world behavior is central to how we build things now.
Key takeaways
Real interaction is part of the mechanical load case. Nominal clearance is not the same as functional clearance. Structural deflection, assembly variation, wear and misalignment can all consume designed clearance. Tighter tolerances are not automatically better; controlled functional clearance is the goal. Repeated interaction can create gradual failure modes even when static strength requirements are satisfied. Tolerance decisions should connect to load paths, wear, stiffness and manufacturing variation. For EverBowl, observing real interaction led to targeted mechanical changes instead of over-engineering the whole product.