Introduction: WiFi Coffee Maker

The Wifi Coffee maker uses Arduino, NODE MCU, and recycled parts to safely and remotely brew a cup of coffee.

Step 1: Tools and Materials


x4 cuts of 1x1x18 inch pine board

x4 cuts of 1x1x4.5 inch pine board

x4 cuts of 1x1x3 1/8 inch pine board

Roughly 1 square foot of plywood / particle board for shelves.


Using these dimensions will result in a 6x6x18 inch frame. You are free to increase/decrease these measurements, just keep in mind that this will also alter the dimensions needed for the plywood/particleboard shelves.


x32 1.5 inch #6 wood screws

x8 0.5 inch #6 wood screws

x4 2 #6 inch machine bolts + nut

x2 0.5 inch #4 machine bolts + nut



If you do not have an Arduino, this starter kit will have just about everything you need to complete this build:

Arduino Uno -

Node MCU -

28BYJ-48 Stepper motor + H-bridge -

HC-SR04 Ultrasonic Sensor -

Assorted Wire

Heat shrink

Limit switch or push button


Extra Parts:

Water heater + transformer from an old coffee maker

2ft of silicone rubber tubing - this can be found at most home brew stores or online

Plastic funnel

Pour Over coffee filter -


If your coffee maker comes with a reusable filter, you may be able to use that instead of the pour-over filter. Just be aware that the original dimensions may need to be modified. Also, be aware that the pour over coffee filter has a more predicable coffee stream than certain reusable filters that were tested.


Drill + Bits


Wood Glue

Optional: Wire strippers

Optional: Soldering Iron + Solder

Hot Glue Gun

Step 2: Building the Frame

Create two rectangular frames using 2 18 inch boards and 2 4.5 inch boards. Drill two pilot holes through the 18 in and the 4.5 in boards. Use 1.5 in screws to attach both pieces together. Do the same for each corner of the frame.

Once you have two rectangular frames, use the 3 1/8 inch boards to join them together. Use the same process as the previous step, but be sure pilot holes are drilled above the screws used to make the frame.

To make the shelves, cut two 6 in x 6 in squares of plywood / particle board. Cut four 1.5 in x 0.75 in rectangles from each corner. Use wood glue and a clamp to attach these rectangles to the frame so that the shelves can rest on them.

Cut a 6 in x 2 in rectangle of plywood / particle board which will be used to hold the sugar dispenser. Use 0.5 inch screws or wood glue to secure the holder to the frame near the top. Drill a 1 inch hole slightly off center and sand the edges. The off-center alignment will allow the sugar to be added to the cup without interfering with the coffee drip.

Step 3: Mounting the Water Heater + Tube

On the underside of the bottom shelf, attach the ceramic tile with either wood glue or hot glue. If your water heater comes with a separate temperate sensor, place the warming plate between the tile and the heater. If not, the water heater can be attached directly to the tile.

Most coffee makers will come with a metal bar that is used to secure the heating element. Position this bar and drill two 0.25 in holes where the mounting holes are. Use the 2 inch machine bolts to secure the stack to the bottom shelf. Please note that I am using an extra bar for added security, though this is not required.

Once positioned, drill a 1/2 inch hole near the top of heater. This hole can be larger or smaller depending on the size of the tubing that comes attached to the heater. Typically, the outer diameter (OD) is a 1/2 inch. Run the silicone tubing (with the one-way valve) through the hole and attach it to your funnel. I recommend using hot glue to secure the tubing to the funnel.

Attach the 2 ft silicone tubing to the other side of the heater and secure it to the frame.

Step 4: Add the Coffee, Cup and Water Sensors

On the top shelf, drill a small hole in the middle of the shelf for your photoresistor. The photoresistor should fit snugly, but you can also use hot glue to hold it in place. I recommend using heat shrink to ensure the legs do not create a short, as this can affect the functionality of the coffee maker.

Drill two 1/2 inch holes about a 1/2 inch apart for the ultrasonic sensor. This should be done in the area that sits above the funnel.

Depending on the filter being used for the coffee, you have some freedom when it comes to mounting the limit switch / push button. I mounted the limit switch to the top of the frame so that the filter actuates the lever without any interference. The spring from the switch also keep the filter in place.

Step 5: Assemble the Sugar Dispenser

Download and print the auger screw, motor mount, and cap from here: (credit to jhitesma for the design).

One end of auger screw has a hole for the stepper motor shaft - be sure the screw is oriented correctly when assembling. Simply place the screw in the mount, place the cap over the end, and attach the motor using two XXXX nuts and bolts.

I had to cut some of the mount away, preventing me from using the cap to secure the auger screw. To solve this, I placed a small amount of hot glue on the motor shaft to attach it to the screw. IF YOU TAKE THIS APPROACH, PLEASE MAKE SURE THE AUGER SCREW IS ALREADY INSIDE THE MOUNT, OTHERWISE YOU WILL HAVE TO UN-GLUE THE MOTOR TO GET IT INSIDE THE MOUNT CORRECTLY.

Step 6: Setup Blynk

Download the Blynk app from the Google Play or iOS store.

Create an account.

Create a new project. Add a button for pin A0. Off = 0, On = 1.

Copy the authentication token - this will need to be added to the NODE MCU code in the next step.

Step 7: Program the Arduino + NODE MCU

To program the NODE MCU:

1. Use a USB to micro USB to connect the board to your computer.

2. If this is your first time using NODE MCU, this is a great guide to getting started:

3. Download and open 'Instructables NODE MCU' code in the Arduino IDE.

4. Be sure the NODE MCU 1.0 board is selected under Tools < board.

5. Be sure you have the Blynk library installed. In the Arduino IDE, go to Sketch < Include Library < Manage Libraries... < search for Blynk & Install

6. Upload the code.

To program the Arduino:

1. Connect your Arduino to your computer.

2. Download and open 'Instructables Arduino' code in the Arduino IDE.

3. Be sure 'Arduino/Genuino' is selected under boards

4. Be sure that stepper and timer one libraries are installed. In the Arduino IDE, go to Sketch < Include Library < Manage Libraries... < search for TimerOne & Install

5. Upload the code.

Step 8: Wire Everything Together!

Water Heater:

Disclaimer: Please be aware that this process involves using 120VAC power, which is potentially lethal if handled incorrectly. Please follow all lab safety precautions when testing and wiring this circuit. If you don't know what these precautions are, now might be a good time to contact a professional.

On the transformer, there should be a series of pins that is normally connected to the control panel. One of these pins is connected to the mechanical relay on the transformer. When 5V is applied to this pin, it will allow power from the wall outlet to flow through the heating element. To find this pin we first need to find a ground pin. Plug in the heating element and use a voltmeter (20V range) to measure each pin. There should be at least one pin that produces a reading of 0.00. Once found, UNPLUG THE WATER HEATER. With this as your ground pin, apply 5V to each renaming pin. You should hear a small click when you apply 5V to the pin that controls the relay. This is your relay pin.

Connect pin 8 on the Arduino to your relay pin, and the ground pin on the heater to the ground pin on the Arduino.

Please note that there are many different models of water heaters. While they all operate the same way, each heater will have slight differences in how it operates. Again, please use caution and follow all safety precautions when experimenting with this device.

Ultrasonic Sensor:

PWR: Connect to a 5V source on the Arduino board.

ECHO: Connect to Arduino pin 3

TRIG: Connect to Arduino pin 4

GND: Connect to ground pin on the Arduino.

Limit Switch / Push Button:

Leg 1: Connect to ground.

Leg 2: Connect to pin 2 on the Arduino.


Leg 1: Connect to a 5V source.

Leg 2: Connect to pin A0 on the Arduino board, in parallel with a 10k Ohm resistor connected to ground. Be sure to follow the wiring diagram for accurate readings.


VIN: Connect to a 5V power source.

GND: Connect to ground.

D0: Wire this pin to pin 7 on the Arduino.

Stepper Motor + H Bridge:

Pin 9: Connect to 1N1 on the H-Bridge

Pin 10: Connect to 1N2 on the H-Bridge

Pin 11: Connect to 1N3 on the H-Bridge

Pin 12: Connect to 1N4 on the H-Bridge

Connect the H-Bridge to a separate 5V power source - the Arduino cannot supply enough power to run the motor. Plug the motor into the pin array on the H-Bridge.

Step 9: Brew!

Add water, coffee and a cup. Plug everything in and request coffee via Blynk. Enjoy!

Arduino Contest 2019

Participated in the
Arduino Contest 2019