Project Announcement: Buzz

While I'm at home for a month, I figured I was going to be pretty bored unless I find something to do.   So I decided to start a new project that I hope to get done before I get back from break.  So I would like to announce:

Buzz; a networked coffee machine

I am going to take a coffee machine, modify it, and then link it up with the Internet so I can order coffee remotely.  Whether or not I actually end up using this in the future is a question left to time, but for now I think it will be pretty something fun to do.  Below is my work area.

Currently there are three main components of this project that I'm looking at:

  1. Augmenting the coffee machineAdding a servo motor to control the flow of coffee
    • Adding water level sensors
    • Hacking in extra controls to the existing electronics
    • Some method to detect there is a cup underneath the coffee nozzle
  2. Developing “barista software,” to manage all of the above, as well as process orders
  3. Drafting the “Buzz Protocol,” an XML interface for ordering coffee

For modifying the machine, the most difficult parts will be figuring out how to control the built in circuitry and figuring out if there is an empty cup below the dispenser.  I'm thinking that I might be able to do that with via acoustic distance sensing.  I bought one of those ultrasonic ping sensors/transmitters over the summer, but never did anything with it.  I've also never worked with servos before, so that might be another spot of difficulty.

The barista software shouldn't bee too much of a challenge.  I plan on making a Django application that will be the web interface for the system.  I was originally going to write this software targeting an Arduino with an Ethernet shield, but using a BeagleBoard is much cheaper and gives me some extra power/functionality that an Atmel chip wouldn't.

The last thing might be a bit more of a postmortem component, and I'm not entirely sure if the barista software will implement the protocol.  In case though I ever want to network another machine, having a common interface for controlling machines would be useful, and I could move the barista software over to the client.  The original idea of this project was to draft the protocol, create a client program to send XML payloads, and have the barista software interpret those messages.  Though thinking it over a bit I'm not sure if that is best for the small project that this is.  I still want to have the protocol ready on the side if I ever get any other machines up and running.

 

 

Cheers!I hope this project goes well, and I'll be sure to document it as I go along.  I am going to post everything related in the github repo.

Status Update 2

I meant to post this about a month ago, but I've been quite busy.  Anyways...

I mentioned in the last post that I was working on a Chip-8 Emulator.  While it was a quite interesting project and I learned a lot from it, I decided to discontinue the project a month ago.  My reasons were that I hadn't spend time on it in a bit (it was supposed to be a short 2-3 week project), but school work caught up with me and interrupted any progress.  I did a fair amount of reasearch on the Chip-8 architecture and got some (but not all ROMs to work).

Python Disassembler

IBM Logo ROM in my emulator.

For the project, I wrote a small python utility to print out the data of a ROM (insanely useful for implementing op-codes).  The brunt of the code was made with C and SDL.  It started out using the 1.2 version of SDL, then SDL2 came out right after development began.  In the late stages of the project, I thought it would be interesting to switch to the new API.  It went smoothly.  Sound/Audio (which is just a "beep," noise) isn't implemented.

But in retrospect, I got out of it what I wanted to learn; "How does an emulator work?"  It was a worthwhile experience for the time I put into it.  I'd love to acutally work on a different (more purposeful) type of emulator.  But for now, I've got some other stuff that I need to get done.

If anyone wants to see it, I posted it to my Github page under c8_sdl. It's released under the GNU GPL v3 license.

Back at School

So I haven't posted anything in a while, but I'm finally done with my internship this Summer and I now am back at school!  It's only been a week so far, so nothing interesting has happened.  In the time that I didn't post though, I was able to get the first public version of my Arduino Serial "library," pushed onto github.  So if you want to take a look at it, it's right here.

As for a next one, I'm working on a Chip 8 Emulator.  I've been able to get some stuff for it done, but I haven't implemented all of the inputs/outputs for it yet.  The "CPU," is done, but not fully tested.  So far it can run a few demos.

© 16BPP.net – Made using & love.
Back to Top of Page
This site uses cookies.