Project note
Automatic Litter Box - Local Control Module — Joystick + OLED for NEMA 23
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:
- 🌐 From a web server (remote control)
- 🎮 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