Keybot is a research interaction project, positioned to be used in a shared workspace where only a single, shared key is available.
The project is built around the ESP32 microcontroller utilizing the ESP-IDF framework.
(Not all) research resources available here
(Not all) Datasheets available
- Create a Discord bot and make sure to enable Privileged Gateway Intents
- Get your bot's token and paste it into the
menuconfig
- Invite the bot to your server
- Get the channel ID of the Discord channel you want to use for communicating with the bot (guide) and paste into the
menuconfig
- Setup WIFI SSID and Password in the
menuconfig
- Buid, Flash and Monitor using ESP-IDF
- ESP32 board (ESP32-DevKitC V4 with the ESP-WROOM-32E module, others may work)
- M4 30mm screw (acting as a capacitive sensor)
- MOSFET (IRF520N)
- Addressable RGB LED (WS2812B)
- Solenoid (SparkFun ROB-11015)
- Cables
- Micro USB power supply
- Casing (I'm using a 3D printed one from these files)
- Screws for the casing
- When the capacitive sensor is activated for a second straight, the bot sends a message notifying that the key has been hung.
- When the capacitive sensor is not activated for a second straight, the bot sends a message notifying that the key is no longer hung.
- When any user sends a message containing the string
knock
into the bot's Discord channel, the solenoid and LED are activated for a few seconds. If someone forgot to hang the key, this should alert them to do so.
- visual schematic
- add photos to readme
- add all component datasheets to are.na
- add all theoretical resources to are.na