Update!

Hey folks, hope all is well out there! There are a bunch of things to share but the day is getting away from me quickly. This will be a fairly quick update with a more detailed run down on these items going out on Tuesday Wednesday after I’m able to document everything.

Cone Mech Platform Scale:

This took a while to get right and there were a few solutions that ended up being dead ends. The biggest issue was keeping the platform completely isolated from the rest of the frame within such a tight space. I finally ended up with a side mounted platform. The platform is designed so that the mech’s stepper guides it into position and it locks in with a satisfying click (please ignore the Spotify outbursts coming through):

Not only does this handle grind weight, but it also is able to weigh the amount of water in the cone in real time. When combined with the data from the mug platform, we can get super detailed flow rate and immersion time data. This unlocks a ton of brew data and control options.

Additional Details:

  • It uses the same PCB as the mug platform, just leaves out the RFID reader.

  • Wiring will not be exposed in prod, just running without any enclosures for now.

  • Accuracy and precision have both been great and well within our requirements.

The model is available in the Design Repo.

Operator Updates:

While testing the platform, I ran into several issues with the scale control code. Calibration was clunky and it wasn’t always correctly tracking tare values, causing a whole bunch of weird data at seemingly random times. After doing some additional research, I found that the best option would be to use a python wrapper of the C++ HX711 drivers.

Since the swap, the data is rock solid and the code has been greatly simplified. This also means that the original Pour by Weight endpoints need to be updated. I have removed them from the dev branch while I finish the updates.

I have also added a much simpler calibration script and workflow. There is a basic terminal script for folks who prefer that, as well as an interactive calibration that runs over a websocket. I have not built out the frontend piece for the interactive calibration, but you can get a good idea of how it works from this Postman screenshot (read from the bottom up):

This calibration endpoint works for both scales, you just specify which one you want to calibrate when sending the initial request.

This is currently in the Operator dev branch for folks who want to check it out now. There is some additional installation/config to do in regards to the C++ lib and Python wrapper. I have not added any docs for this but will have it completed in time for Tuesday’s Wednesday ‘s update.

Other Bits:

  • The Arduino microcontroller code is almost wrapped, just another couple hours of testing. I was not able to get this wrapped yesterday.

  • Probably another full week on DECAF

  • Tentatively looking to ship first week of August.

Ok that is all for now! I will have all docs updated with the most recent changes in Operator. Should also have all the weight related endpoints converted and merged into the main Operator branch by then.

Cheers!

Note: Moving the part 2 of this update to Wednesday. Thanks!



MComment