September 11, 2024

Gaggia Classic Pro 2019 Leak Repair

I have a Gaggia Classic Pro 2019 Espresso machine. It's a great espresso machine, with a capable boiler and steam wand. It's also super modifiable, with a healthy Arduino community. 

Recently however after several years, it developed quite a serious leak coming out of the group head. It was extremely easy to fix, but I found it challenging searching for these fixes on the internet, and the specific parts used to replace it. So I feel some obligation to future Gaggia fixes to archive this somewhere. Here is the leak I set out to fix.



I ended up changing two o-rings, and the group head gasket. The parts used were: 


  1. 8mm OD 4mm ID silicone o-ring (steam wand)
  2. 109 Silicone O-Ring (steam assembly insert)
  3. Group Head Gasket

Making the repairs  

 

Replacing  the Gasket 

To replace the gasket, you need an Allen key, and a Philips head screwdriver. Simply turn your machine on its side when unplugged and cool, and remove the group head assembly one piece at a time. Once disassembled, you'll see the current gasket and can simply remove and insert your replacement.

 

Replacing the O-Rings 

The two o-rings are replaced in the same action. Start by removing the screws behind the water tank to lift off the top of the machine. Then you'll see two Allen bolts. Remove these two bolts. Also simply pull to remove your steam cap. Then you can lift the steam assembly straight off your machine. Replace the black o-ring with 109 Silicone O-Ring.

 

While this is remove, you can also simply pull off the alligator clip on your lower steam wand. While apart, simply replace the o-ring with 8mm OD 4mm ID silicone o-ring. NOTE: The alligator clamp goes on the outside of the wand, not through the slot.


Now my machine is working perfectly! I think the real issue was simply the o ring in the steam assembly, but it was worthwhile to disassemble and find replacement parts of the rest as well. Good luck and hope this can help some wayward GCP fixers.



 

February 23, 2021

Turning a Hot Air Popcorn Popper into a temperature controlled Coffee Roaster

I love coffee, and I love making things. So I'm surprised this project took me so long, but thankfully I've finally got around to building my own coffee roaster. All you need for a good DIY coffee roaster is a source of heat, and something to mix up the beans. After some research, I decided to start with a hot air popper. This blog post will walk through how I converted the Presto Poplite Hot Air Popper into a coffee roaster. 


January 27, 2019

How To Hack Alexa (Echo Dot) into Big Mouth Billy Bass

Alexa is fun and all, but combining her with animatronics such as the Big Mouth Billy Bass creates a much larger and weirder personality! In this post I'll walk you through how to make an Alexa device out of a Billy Bass toy. This isn't an original idea (kudos to Brian Kane for coming up with this project), but I've tried to make the steps as simple as possible.



Do It Yourself 

Tools: Soldering Iron, Hot Glue Gun, Torx Screwdriver, Philips Screwdriver

Materials:

Billy Bass in the Toronto Tool Library surgery room.
  1. Big Mouth Billy Bass*
  2. Echo Dot 2nd Generation
  3. Arduino Uno
  4. Arduino Motor Driver Shield
  5. LM386 Amplifier 
  6. 3.5mm Audio Cable  
  7. At least 4x C Cell Batteries 
*This Billy Bass seems closest to mine, any should work but some may contain only two motors 
  

Billy Bass Tear-down 

 

September 28, 2018

Caesar's Cipher in Python (AVW ZLJYLA!)

Aol Ffily-Vtlsslaal


Growing up I was always fascinated by hidden messages, secret codes, ancient languages, and all manner of disguised communication. As I started learning math and computer science, that interest strangely faded. This was likely because modern cryptography seemed so complicated I didn't think I'd be able to make sense of it.

This all changed recently when I read a spectacular book called The Code Book. It starts with examples of secret codes (or ciphers) used in Ancient Rome, Medieval Scotland, and Victorian England. It carries on through WWI, WWII, early internet encryption, and ends with a breakdown of the expected uses of Quantum Computing.

I would love to share much more about this book, but you're better off to just read it and I'll get on  with my post. 

While reading the early chapters, I started thinking about how powerful I could have been in Medieval times if I had access to a computer and a python interpreter. Naturally I started writing some code just in case. The resulting program ended up being both fun, and pretty beginner friendly. So I have decided to write up a guide to how these work.

In this post I will start with what is called Caesar's Cipher.

Caesar's Cipher




June 03, 2018

Glass vs Reflective Film Smart Mirror Showdown



After upgrading my Smart Mirror from a reflective film mirror to a glass two way mirror, I thought it would be interesting to attempt a (semi) scientific comparison between the two types of mirror.

This test involves taking a bunch of pictures and rating the mirrors on a few categories. I decided to focus on transmission, reflection, and simplicity when evaluating each solution.

You can also checkout my album of comparison photos here to draw your own conclusions!

February 19, 2018

Laser Cut Cutlery Drawer

I recently joined Toronto's SteamLabs, and got access to a laser cutter for the first time. Laser cutters are incredible machines which use a freakin' laser to carve or etch patterns into flat materials like wood or plastic. They are fast too!

Over the past few years of 3D printing, I have learned that often some of the best uses for these amazing tools are to take something really mundane and just make it easier to make. For example, one of my most useful 3D prints was some "S" shaped hooks to hang Christmas tree ornaments. Within about 20 minutes, we had enough for all the ornaments we could hang.

Well, my laser cutting got off to a start with a similarly thrilling project. A cutlery drawer! It's pretty straightforward, but since it has proved to be so easy and useful, I decided to share it in case anyone else needs a custom drawer organizer.

Here's how it went down.



December 11, 2017

Fire From Water

This is a project I've had on the backburner for almost exactly 1 calendar year. The seed was planted when I toured the Harry Potter Studios last year and saw a fake fireplace effect being used quite extensively. I am also an avid watcher of the "Fireplace for your Home" Netflix channel, so I eventually realized I needed one of these imitation fires of my own. So here we are now!

Take a look at what I put together, and if that curiosity is still burning keep reading for instructions to reproduce this project yourself.





October 15, 2017

Haunted Home Automation

Halloween is one of my favourite holidays of the year. One reason for this is that it's totally optional and low stress. People can get exactly as in to it as they want. I'm also really intrigued by the perseverance of belief that there are supernatural forces at work. No matter how fact based and rational you are, I'd wager you still get a tingling feeling on the back of your neck crossing a cemetery during a wind storm all alone at night.

In other words, even if you don't believe in ghosts, you still end up scared of them anyway. The goofy costumes and haunted houses are just icing on the cake.

My absolutely favourite part of Halloween however is that DIY is deeply ingrained in the traditions. There's pumpkin carving, costume making, haunted houses in a garage, and a lot more.

Naturally as a DIY fan, I've been thinking of how to incorporate technology into a good scare. Home automation has a lot of potential here, and it pairs nicely with the smart mirror in our house. Check out the video below to see what I came up with (with some help)!



Do it Yourself


If you like this effect and want to do it yourself, a good starting point is a smart mirror with Alexa and a custom skill to run scripts. You'll also need some Philips Hue lights.

September 24, 2017

Automated Plant Watering with a Raspberry Pi

This post starts with two facts:

1. I have a penchant for killing plants.
2. People in Holland grow things really well indoors.

After reading about how well things can grow indoors, I started thinking that maybe automation was my path to healthy plants. So I decided to build the bare minimum - get a plant, a pump, and a water sensor. When the water sensor says "no water here", use the pump to put water there.

I also decided to run it all through a Raspberry Pi to as an excuse to interact with the RPi GPIO.

Here's how I did it!



August 19, 2017

Am I Hearing this Right?

 The Lyrics Repetition Analyzer


I have just returned from a two week vacation, which contained a sizeable amount of road tripping. And with every great road trip comes great tunes!

One of the albums I was excited to be listening to was The Arcade Fire's newest release, called Everything Now. It has received some mixed, but I try to keep an open mind.

Upon first listen I actually really liked the album (and will listen many more times), but something stuck out to me. It seemed like several of their songs were just the same couple of words repeated for the whole track. The instrumentals were great, but the lyrics seemed like an after thought in a few songs.

May 28, 2017

Detecting Reddit Vote Manipulation

I'll start this post with a disclaimer. This project has not produced conclusive results. But I'm optimistic! In fact, I've got a couple hurdles that maybe some of the people reading this can help with (which is what I'm hoping for).

So let me describe what I have been working on. This is a python tool with two modes of operation. The first mode of operation looks at a single reddit post, and gathers statistics about the first 5 users to comment. This includes the user karma (average), account age (average),  number of interactions on the subreddit (average), and number of interactions with other commenters in the thread (max, avg max, and average).

March 25, 2017

A Visit to eSight



After working on the All-Seeing Pi, a series of events unfolded such that Dan and I were put in contact with a company called eSight. The founder of eSight had the same inspiration as the All-Seeing Pi many years ago, and has now developed the third generation of a vision assist platform.

So we were invited to come check out their technology, and see how it stacks up to our contraption. For starters, it is a very sleek and lightweight design that looks a little more stylish. It also has some great vision enhancement functionality like contrast boosting, magnification, and screenshots. Using these features, Dan was able to read an eye chart at the "20-30" level, which is better than he was able to see  before he lost his vision!

This hasn't stopped our interest in the All-Seeing Pi though, as eSight comes with a pretty hefty price tag of $10k. An existing commercial solution is never a good reason to stop a DIY project too!

March 01, 2017

The All-Seeing Pi



This post is a about vision enhancement platform called The All-Seeing Pi that I have been working on with my friend Dan, who is blind. People who are blind rarely have no vision at all though, and in Dan's case, he still has a little bit of sight in one eye. He's also the first to tell you how much technology can do to enable mobility.

From these discussions, we came up with the idea for a video feed connected to a display, with a wearable screen in the ideal spot for maximum vision. This allows someone to focus on just the screen, and let the camera capture the detail and depth of the environment.

In the end, the prototype served as a successful proof of concept. Checkout the video above for a field test and some more discussion! Dan also likes to push the limits of what can be done with his disability, which he chronicles at his blog Three Points of Contact.

In the rest of this post, I'll be talking about how to build the device. This may be useful if you or a friend have a similar condition, but it is also a great starting platform for a Raspberry Pi based augmented reality rig. The general setup is a raspberry pi with a camera module running on an HDMI (not SPI!) small display. The video feed is provided via OpenCV and RaspiCam, with code and install details below.

February 11, 2017

N-Body Orbit Simulation with Runge-Kutta

In a previous post I introduced a simple orbital simulation program written in python. In that post we simulated orbits by simply taking the location, and velocities of a set of masses, and computed the force on each body. Then we calculated where all the bodies would end up under that force a small time step into the future. This process was repeated over and over again, and was used to simulate gravitational systems like our solar system giving outputs like you see below.

This technique is called the Euler method. If you're not familiar with using numerical methods to simulate orbits, I'd recommend taking a look there first!

Part 1: Python N Body Simulation


Orbit paths from the previous example




In this post I will be adding a more advanced time stepping technique called the Fourth Order Runge-Kutta method. Kids these days just call it RK4. I'll walk through the logic behind RK4, and share a python implementation. I will also link to a C++ implementation, and do a brief performance comparison.

Fourth Order Runge-Kutta


January 25, 2017

Launch a Script Using Alexa Voice Commands

In a previous post, I showed how you can build a smart mirror with an Alexa voice assistant on board. The MagicMirror software and Alexa voice assistant were both hosted on a Raspberry Pi, but unfortunately there was no obvious way to get Alexa to control the smart mirror, or deliver commands to the Raspberry Pi.

I have now found a solution that is free, reliable, and very flexible. This is done by writing an Alexa Skill that adds a message to a cloud hosted queue based on your voice command. The Raspberry Pi repeatedly checks this queue for new messages, and runs customizable behaviour based on message contents. This is not limited to smart mirror applications, or Raspberry Pis. It can be used to launch any script you want on any platform that will connect to Amazon's SQS.

Here is a demonstration, and high level overview of how it works:



and a follow up demonstrating an extension of this idea:



In this tutorial I will focus on just using this to simply turn the smart mirror on and off. Adding your own scripts should then be fairly straight forward,

The steps will be as follows:
  1. Create a Queue using the Amazon Simple Queue Service (SQS)
  2. Write some python code to read and write to this queue
  3. Write a Lambda Function that posts messages to the queue
  4. Write an Alexa Skill that calls the Lambda Function
  5. Schedule a task on your Raspberry Pi to read queue messages and take appropriate action.

January 11, 2017

DIY Selfie Stick

This is a fun and very easy project I came up with while trying to build a wireless shutter for an iPhone. I knew selfie sticks could trigger your camera shutter, so I was trying to find out what information they were sending through the 3.5mm aux port (aka headphone plug) to do this.

In this process I learned that headphone volume buttons will also trigger the camera shutter!

So I plugged in some headphones with volume control, and tried to come up with a way to attach my phone to a stick. I came up with the spatula sponge elastic combo you'll see here.

Take a look for yourselves!



January 05, 2017

Markov Chains: The Imitation Game

In this post we're going to build a Markov Chain to generate some realistic sounding sentences impersonating a source text. This is one of my favourite computer science examples because the concept is so absurdly simple and and the payoff is large. This will be done using python, and your final code will look like this.

Before I explain how it works though, let's look at an example generated from the past four Cyber Omelette posts:

"The first step to attach our mirror is done by simply screw the backing with a Raspberry Pi's into the filename. That looks like installing and blinking cursor. Type the wood screws.
Gorilla glue.
Electrical tape.
Extension Cord with multiple passes of the all Together  Once it hasn't really stuck in place until all directions. Clean your monitor." 

So it's not exactly coherent, but it comes pretty close! I also built a twitter bot called mayhem_bot (git repo) using this concept. This bot imitates users and trending hashtag discussions, so send it some tweets if you want more examples.



December 15, 2016

DIY Smart Mirror ft. Alexa



Materials

  1. Computer Monitor. Buy used and look for cable inputs that point down or sideways instead of straight out. 22" recommended (I used Acer AL2216 )
  2. Video cable. Whatever fits your monitor (I used HDMI to DVI adapter)
  3. Raspberry Pi 3, 16GB Micro SD Card, 5V Micro USB power supply, any RPi case
  4. Wood. I bought four 3ft lengths of 3"x1"
  5. 8 Angle brackets
  6. Short wood screws.
  7. Gorilla glue.
  8. Electrical tape.
  9. Extension Cord with multiple plugs.
  10. 50cm x 70cm Ikea STROMBY frame.
  11. Gila Mirrored Window Film 
  12. USB Sound CardLapel Micany USB powered speaker *
*Bonus Alexa Materials

Additional required tools/supplies are: scotch tape, a squirt bottle, dish soap, a drill or screwdriver, exacto knife, scissors, and a saw.

March 10, 2018 update: I'm currently in the process of trying out an actual two way mirror as well instead of the window film. If you're interested in this I can recommend this mirror which comes in several sizes. I'll have a post coming soon with instructions for how to mount it.

Creating the Two Way Mirror


The two way mirror is the most essential part of this build. To create this component, you just apply Gila Mirrored Window Film to any piece of glass or acrylic. This works equally well for glass and acrylic, and only takes about 15 minutes.

December 09, 2016

Raspberry Pi Bot Server



My trusty RPi3 twitter bot server "starkiller".

So let's say you've got a twitter bot that you want running 24/7, but you don't want it running on your personal system. What you need here is a server, which is really just a dedicated system. Note, if you're looking for a web server, you'd be better off with Amazon's AWS .

If you're running automated tasks and answering tweets however, a Raspberry Pi is an excellent choice. 

The steps are pretty straightforward:

1. Setup a computer (raspberry pi) to run your program.
2. Write a script to launch your program.

3. Run the script automatically at startup.

Setup your computer


The starting point here is simply to buy a Raspberry Pi. RPi3 is great because it has build in wifi, and it's very affordable, any generation will work though. Once you've got the hardware, you need to install an OS. I strongly recommend Raspbian Jessie with Pixel (download and install guide can be found here).