Project note

Automatic Litter Box - Local Control Module — Joystick + OLED for NEMA 23

4 tags
Tags

While building the automatic litter box, I realized something pretty quickly:

Relying only on a web interface isn’t enough.

I need direct, physical control of the motor — especially during testing, calibration, and debugging.

So I built a local control module.


🧠 Goal

Be able to control the NEMA 23 motor in two ways:

  1. 🌐 From a web server (remote control)
  2. 🎮 From a physical interface (local control)

This post focuses on the local control unit.


🔧 Hardware Used

  • KY-023 Joystick module
  • OLED Display (128x64, I2C)
  • Microcontroller (ESP8266 / Arduino depending on setup)

The idea is simple:

  • Joystick → input (direction / movement)
  • OLED → feedback (status, position, state)

🎥 Demo — Joystick + OLED in Action


⚙️ How It Works

🎮 Joystick (KY-023)

The joystick provides:

  • X-axis → left/right movement
  • Y-axis → forward/backward
  • Click → optional action (mode switch, reset, etc.)

This gets translated into:

  • Step signals (speed control)
  • Direction signals (DIR pin)

🖥️ OLED Display (128x64 I2C)

The display shows:

  • Current motor state
  • Direction
  • Possibly position (future)
  • Debug info

This makes it much easier to:

  • See what the system is doing
  • Debug without a serial monitor
  • Build a real “interface” instead of raw hardware

🧩 Why This Matters

This module solves a real problem:

  • No need to open a browser just to test movement
  • Faster iteration during development
  • Safer control during mechanical testing

It basically turns the system into something you can interact with directly, not just remotely.


🔜 Next Step — Custom PCB

Right now, everything is wired manually.

That won’t scale.

Next step:

👉 Design a custom PCB that integrates:

  • ESP8266 / controller
  • TB6600 interface
  • Joystick input
  • OLED display
  • Power management

Goal:

  • Cleaner wiring
  • More reliable connections
  • Easier assembly
  • Compact design

🧠 Summary

  • Built a local control module using joystick + OLED
  • Can control motor without web interface
  • Much better for testing and debugging
  • Next step: move everything onto a PCB