Rio Pacheco’s status report for April 27th

This week’s accomplishments

  • Continued work on Django app(2+hrs)
    • https://github.com/Quarks-1/pour-over-and-over
    • Convert data feed module to python Threads module
    • Further UI improvements
      • add Brew steps to brew page
      • Add highlighting of current step on brew page
      • Add status message for draw down period
      • Add fun little coffee bean man to brew page
  • Design pour spout holder for 3D printer
  • Met in person to work together on project (8hrs)
  • Attended mandatory lab (4hrs)

Next weeks plan

  • Fine-tuning of full system and all of the writing assignments 🙁

Status Report: On schedule

Team Status Report for April 27th

What are the most significant risks that could jeopardize the success of the project? How are these risks being managed? What contingency plans are ready?

The main risk we have right now is our control loop for the pump to stop working.  We have been running into a hardware bug that we haven’t been able to figure out where after a certain amount of time of testing the pump, it no longer receives any signals or voltage from its power supply.  We imagine this should not be an issue during the final demo due to it only happening after 5+ hours of testing. Unfortunately, we do not have a contingency plan as swapping out a pump is not as simple as it sounds thus we will make sure not to stress it too much before demo day.  In the event of total pump failure, we are still able to demonstrate pour patters as well as the entire webapp, we just will not be able to brew coffee.

List all unit tests and overall system test carried out for experimentation of the system. List any findings and design changes made from your analysis of test results and other data obtained from the experimentation.

Flow rate test – Through this we learned that there was a minimum and maximum current that we could send the pump before it didn’t spin at all, thus we had to add a physical flower restrictor to change its flowrate as well

Water heater test – Through this we learned that our initial PID implementation had a small overshoot in terms of the temperature it would achieve.  We repeated this test until we were able to refine our PID values to get a temperature +/- 5 degrees of the desired temperature

UI/UX stress test – Through collecting data for UX of our webapp we learned of some pain points for user unfamiliar with pour over coffee.  We have since implemented features to help alleviate these, such as active step highlighting, profile sorting, and a friendly little coffee bean guy!

 

Team Status Report for April 20th

This week the team continued to work on the full system integration leading up to the internal “MVP”.  Currently, the software is finished until we can get the water pump circuit working and integrated with the Arduino.  We ran into an issue this week where we noticed that the scale seemed to drift in the weight that it was reading, thus we are looking into this more.  Currently, the code does not rely on the scale weight so it shouldn’t impact our ability to reach MVP. We have speculated that this could be due to the Arduino not supplying enough power, but further testing is necessary to see if that is the case.

On the hardware side, the team (finally) got the pump to work with the circuit. The flow rate can be controlled through a PWM signal from the Arduino. The team will be testing the exact flow rates the pump can produce in the near future.

In terms of design requirements, we are currently meeting the following:

  • ∓5℉ margin from set temperature of water
  • >= 5 preloaded presets in the webapp
  • 300ml water tank capacity

The rest of the design requirements are currently untestable until we get the water pump fully integrated, which will be happening sometime this week.

Rio Pacheco’s status report for April 20th

This week’s accomplishments

  • Continued work on Django app(5+hrs)
    • https://github.com/Quarks-1/pour-over-and-over
    • Convert pouring mechanism to python Threads module
      • Completely overhauled pour scheduling system to prevent webapp stalling
    • Implement 5 default profiles into the setup.py file
    • Further fine-tuning PID
    • Add  pour mechanism thread functions, to be tested this week
  • Work on Final presentation (3hrs)
  • Attended mandatory lab (4hrs)

Next weeks plan

  • Further, fine-tune PID algo to get better temp stability
  • Test water pump code with heater/pouring movement code
  • Integrate all subsystems together
  • Add steps display on brewing page

Status Report: On schedule

New tools/knowledge

  • Python threads module
    • Previously I had not used the python threads module, however through writing our webapp it was found that it was absolutely necessary.  The ability to run functions concurrently as well as schedule them was important as without this feature the webapp would stall if we used while loops in the main thread.  Although I had previously used threads in C, threads in python posed their own challenges like function input parameter type, as well as proper scheduling
  • Python pyserial library
    • Originally we had planned to use octopi for controlling the printer, but it turns out octopi can’t actually read the current position of the printer.  We found out that we could just send individual GCode commands over USB using the pyserial library, which allowed us to cut out octopi entirely.  I had not previously used pyserial to read data from an arduino either, so learning to do so was a new experience for me
  • Django pre-loading data into the db
    • Previously I had not made webapps where a setup file was run prior to starting the webapp after downloading the code.  I also did not need to repopulate the database, which was something we needed for our webapp as it was a design requirement to have minimum 5 profiles at install.  Learning to use the proper functions to repopulate the db was something I learned to do during this project.
  • Resources used:
    • Online forums such as reddit / StackOverflow / Django and Python documentation
    • ChatGPT for writing test code quickly

Rio Pacheco’s status report for April 6th

This week’s accomplishments

  • Continued work on Django app(6+hrs)
    • https://github.com/Quarks-1/pour-over-and-over
    • Integrate thermal PID algo
    • working live data display on webapp
    • Gcode conversion baseline finished
  • Meet in Techspark on Saturday (today) to work on tuning the thermal PID algorithm  (4hrs)
  • Attended mandatory lab (4hrs)

Next weeks plan

  • Further fine-tune PID algo to get better temp stability
  • Design pump and/or water heater mount
  • Finish code to do pouring and water heating sequence together

Status Report: On schedule

Verification

  • User testing via the UI will be used to test the webapp functionality
  • temperature measurement with an external thermometer will be used to verify temperature readings of integrated thermometer
  • Pour patterns will be drawn on a whiteboard with a market taped to gantry to ensure that pour patterns are consistent and match the dimensions of V60 pour cone

Rio Pacheco’s status report for March 30th

This week’s accomplishments

  • Continued work on Django app(8+hrs)
    • https://github.com/Quarks-1/pour-over-and-over
    • Fully functional profile making with steps
    • Connection to printer + arduino + error handling finished
    • Websocket communication between webapp frontend and backend done
    • skeleton code for communication with printer and profiles done
    • See below image for code time graph
    • wrote and tested test scripts for arduino data collection
    • wrote framework for interacting with printer via command line GCode
  • Attended mandatory lab (4hrs)

Next weeks plan

  • Finish profile -> Gcode conversions code
  • find a way to display arduino data live on webapp

Status Report: On schedule

Rio Pacheco’s status report for March 23rd

This week’s accomplishments

  • Continued work on Django app(8hrs)
    • https://github.com/Quarks-1/pour-over-and-over
    • Data model definitions refined and tested
    • Home + brew + profile creation page skeletons created
  • Attended mandatory lab (4hrs)

Next weeks plan

  • Design and print water bottle + raspberry pi mount
  • Continue work on web app

Status Report: On schedule

Team Status Report for March 16th

This week the team focused on continuing work on the physical hardware of the system as well as finalizing our circuit design for all of our electrical systems that we are hardware hacking.  A final product for the water pump mount was printed in HTPLA and checked to make sure it fits with the gantry system.  Work was also started on the software side of things, with the GitHub repo and initial web app structure being developed. Integration of the scale into the project has begun as well.

Our biggest challenge coming up is ensuring our PCB will have good integration with the off-the-shelf components that we have.  According to our design spec and theoretical testing, it should work fine, but we will have to wait for real-world testing to ensure that.  We are currently waiting for the PCB to arrive so that we can do this.

We are currently on track.

Rio Pacheco’s status report for March 16th

This week’s accomplishments

  • Finished editing and printed final (hopefully) version of single pump mount (6 hrs)
    • Began printing prototypes at home over break, printed with HTPLA in techspark after break ended
    • Needed to make 2 revision prints due to printing tolerances
  • Began work on Django web application (2hrs)
    • https://github.com/Quarks-1/pour-over-and-over
    • Initial directory + structure setup done
  • Attended mandatory lab (4hrs)

Next weeks plan

  • Design and print water bottle + raspberry pi mount
  • Continue work on web app
    • Make home page + skeleton code for interfacing with hardware
  • Make rough draft for double pump mount

Status Report: On schedule

Rio Pacheco’s status report for March 1st

This week’s accomplishments

  • Design Report writing and editing (6hrs)
  • Attend mandatory lab (4hrs)
  • Pump flow and current testing (2hrs)

Next weeks plan

  • Design single pump + double pump enclosure
  • print prototype and test before printing with actual filament

Status Report: On schedule