Monthly Archives: February 2023

Automated Water Dispenser

I built this to automatically refill my glass of water at my desk. It uses an HX 711 load cell connected to an Arduino to open/close a solenoid valve based on the weight of the glass of water. With no weight, it closes the valve. When the weight is between a minimum threshold and a maximum threshold, it opens the valve to let more water into the glass.

Here you can see the controlling arduino, as well as the solenoid valve, L298N for that valve, and power supply regulator for the arduino.

Components:

Automated Cereal Dispenser

This is an automated cereal dispenser I made with an Arduino to dispense cereal into a bowl automatically every day at 7 am. One less thing to do for the day. Note this shows only one loop of many, the Arduino can be configured to repeat this loop to fill up the bowl as much as I like.

Automatically dispensed cereal at 7 am sharp every morning, could be enabled/disabled by a smart plug on my iPhone

Link to open source code

Wiring diagram

Components:

Arduino Wifi Joystick Controller

I wanted the option to control my Wifi remote-controlled car with a traditional joystick setup, so I made this.

Here you can see the controller in action, connected to the car via WiFi, to drive the car.
Here is a close-up of the finished controller, you can see it is connected to the WiFi network but not the car via the LEDs on the left.

Here is a link to the open-source code for the controller

This remote was built to drive this remote control car. The JSON structure of its commands was intentionally built to be generic, however, so it could be re-used to drive other remote-controlled vehicles without needing to modify/reprogram it.

Components:

  1. Arduino Wifi Rev 2
  2. Geekworm Uno R3 Case
  3. Joystick PS2 Module Sunfounder DC
  4. 4x LEDs
  5. 4x Actobotics plates
  6. SPDT switch
  7. Battery case

Arduino Wifi Remote Controlled Car

I wanted a remote control car that I could control via WiFI, in case I wanted to program it to do stuff over the network. I couldn’t find a commercial product I liked that did this in August 2022, so I made this.

Link to open-source code

This car was built to be controlled via this controller. However, the control architecture was built to be generic, so it could support different types of controllers. I wanted the ability to record commands sent to it via Joystick, and then replay them so I could program routes or patterns of movement for the vehicle in an intuitive way. The ability to program another Arduino to act as a controller to send a series of commands for fixed routes by the press of a button or on a timer was also desired.

Lessons Learned the Hard Way:

  1. The plastic cover of the car had a surprisingly powerful effect on connection reliability. The maximum reliable range appeared to be only 5 meters/16 feet, even with a direct line of sight to the router.
  2. Arduino Uno WiFi Rev 2 does not offer good support for external antennas.
  3. To get a better reliable range it was necessary to completely refactor the design to something that offered good support for external antennas.
  4. It would have been wise to read the specs for my motor controller more carefully, which also offered encoder support. This was unfortunately not realized until after I wrote code to use the encoder shield.
  5. It would have been smarter to use a differential steering library instead of writing this functionality myself. I didn’t do it because it was easy, I did it because I thought it would be easy when I started.

Components:

  1. Arduino Wifi Rev 2
  2. Roboclaw Motor Controller
  3. Robogia 3 Axis Encoder
  4. 12V, 6000mah Li-ION Power Bank
  5. GoBilda Recon Chassis Kit
  6. 2x SPDT Switch
  7. 2x LEDs

Kaleidoscope Goggles LED Hat

Inspired by this tutorial on Adafruit, I decided to extend the concept and include them on a hat with a ring of festive LEDs.

Finished Product w/ Animations

Link to Source Code

Internal View/Wiring:

The SPDT switch turns on/off the external lights, which can be too bright in indoor settings

Components: