
Diagram wirering
Hanra-s-work/cat_feeder
This is the repository that will contain the IOT project.

This is the repository that will contain the IOT project.
Feeder diagram is an open-source printed circuit board by Hanra-s-work, from the Hanra-s-work/cat_feeder repository on GitHub, published under the MIT licence. It is a 2-layer board of 90 × 76 mm with 76 parts on 80 nets, routed with 645 tracks and 1 via.
It is built around the WEMOS D1 MINI and WS2812B. Its parts include 34 capacitors, 30 diodes, 3 connectors, 2 ICs and 1 switch. It belongs with the ESP8266 boards of this library.
This repository contains the backend for the Cat Feeder project and helper files to run it via Docker Compose.
This README explains how to start the compose stack, what components are required, which environment files the project uses, and provides simple examples for Linux and Windows.
docker compose) or docker-compose (v1) fallbackOptional but recommended:
docker group to avoid using sudo for Docker commands (Linux).start_compose.sh — POSIX shell script to start/stop the compose stack (Linux/macOS). Now contains Doxygen-style comments.start_compose.bat — Windows batch equivalent. Also contains Doxygen-style comments.docker/dockerfile.backend — Dockerfile used to build the backend image; now annotated with Doxygen-style header comments..env and sample.env — environment variables used by the server and the image build. Note: if the compose manifest references .env (or any other env files), Docker Compose expects them to exist and will fail if a referenced file is missing.docker/.db.env, docker/.redis.env — service-specific env files referenced by the compose config. If the compose manifest references these files and they are missing, docker compose may fail to start the stack.The repository includes Doxygen generation scripts and assets in doxygen_generation/ (this folder contains the Dockerfile, Doxyfile and helper scripts used to produce the documentation). The generated HTML output will be written to documentation/ by the generator. Handwritten/manual docs are maintained in manual_documentation/.
See manual_documentation/QUICK_START.md for the full quickstart. Key steps summarized here:
# Make the generator scripts executable (one-time)
chmod +x doxygen_generation/generate_docs.sh doxygen_generation/make_documentation.sh
# Recommended: pull the prebuilt Doxygen image first (fast, ~3-4 minutes):
docker pull hanralatalliard/doxygen:latest || true
# Generate the docs (run from repository root). The script will attempt to pull the
# prebuilt image and will only build locally if necessary:
./doxygen_generation/generate_docs.sh
# Serve the generated HTML locally (preferred using Docker httpd):
docker run --rm --name Cat Feeder_docs -p 8080:80 \
-v "$(pwd)/documentation/html":/usr/local/apache2/htdocs/:ro \
httpd:2.4
# Open http://localhost:8080
# Notes:
# - If Docker requires root on your machine, prefix commands with `sudo`.
# - Building the Docker image locally may trigger a full LaTeX build; compiling
# LaTeX/PDF artifacts from source can take several hours (~4h). Prefer pulling
# the prebuilt image and build locally only as a last resort.When running with Docker Compose, the compose file will pick up .env from the repository root and any additional env files referenced by the compose manifest (for example docker/.db.env or docker/.redis.env). If a referenced env file is missing, Docker Compose may fail. The included start_compose.sh script will create reasonable default env files (.env, docker/.db.env, docker/.redis.env) when first run to help avoid this problem.
Choose the platform you're on.
Linux / macOS (recommended):
docker group.chmod +x ./start_compose.sh && ./start_compose.shThis script will:
.env, docker/.db.env, docker/.redis.env if missingdocker/db/data and docker/redis/data directories if missingdocker compose -f ./docker-compose.yaml down thendocker compose -f ./docker-compose.yaml up --buildIf your system does not allow running docker without sudo, the script will try to use sudo transparently and prompt for a password if needed.
Windows (PowerShell / CMD):
Run from repository root in a Command Prompt:
start_compose.batThe batch file mirrors the Linux script’s behavior, checks for Docker availability and launches the compose stack. On Windows, administrative privileges may be required depending on your Docker Desktop configuration.
docker/dockerfile.backend contains the image build logic. It builds a Python virtual environment inside the image, installs dependencies from requirements.txt, and creates a small launcher script to run the server.start_compose.sh, start_compose.bat, and the Dockerfile now include Doxygen-style headers to make it easier to generate documentation or scan file metadata.docker group:sudo usermod -aG docker $USER
# then re-login or run: newgrp dockerDocker Compose command not found? Install Docker Compose v2 (usually included in modern Docker Desktop/Engine) or install docker-compose separately.
If you changed PORT in .env and the container binding needs updating, verify docker-compose.yaml port mappings match your desired host port.
Please visit CONTRIBUTING.md and COMMIT_CONVENTION.md to check the rules and norms of the repository.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 30 | 0.1uF | PCM_SparkFun-Capacitor:C_0402_1005Metric | C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C23, C24, C25 +14 |
| 30 | WS2812B | PCM_SparkFun-LED:WS2812_2020 | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +14 |
| 4 | MountingHole_2.1mm | MountingHole:MountingHole_2.1mm | hole1, hole2, hole3, hole4 |
| 3 | 104_Ceramic | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P2.50mm | C2, C3, C4 |
| 1 | 47uF_10V | Capacitor_THT:CP_Radial_D4.0mm_P1.50mm | C1 |
| 1 | 600 Ohm, 1A | Inductor_SMD:L_6.3x6.3_H3 | L1 |
| 1 | 6V/0.5A/1A | PCM_SparkFun-Fuse:0805 | F1 |
| 1 | CK_KMS2xxGP | Button_Switch_SMD:SW_SPST_Omron_B3FS-105xP | SW1 |
| 1 | HC-05_Bluetooth_Module | PCM_SL_Breakout_Boards:HC-05_Bluetooth_Module | U2 |
| 1 | ServoPort_01_kibble_tray | PCM_SL_Connectors:ServoPort_01_Vertical | J2 |
| 1 | ServoPort_02_Food_trap | PCM_SL_Connectors:ServoPort_01_Vertical | J3 |
| 1 | USB_A | Connector_USB:USB_A_Connfly_DS1095 | J1 |
| 1 | WEMOS_D1_mini | RF_Module:WEMOS_D1_mini_light | U1 |

Hanra-s-work/cat_feeder
This is the repository that will contain the IOT project.

vascofazza/cloxie_nixie_clock
Schematics and code for Cloxie: my Nixie Tube Clock.

SWAT-engineering/kiwi-air-monitor
Kiwi monitor is an open source CO2/Humidity/Temperature sensor intended for monitoring the quality of the air in a room. Kiwi was created to support teachers with a notification to ventilate their classroom.

c3re/37c3PCBLEDC100R
Solder-Kit with some LEDs. Can also be used as a coaster for drinks.

Hasenpups/PN5180_ESP_Reader
This work is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa].

lugsaar/ESP8266XmasTree
ESP8266 based PCB Xmas tree with WS2812B LEDs as Christmas lights. The Christmas tree can be easily controlled with systems like Tasmota or ESPHome.



It measures 90 × 76 mm and has 2 copper layers, 1.6 mm thick.
76 parts, built around the WEMOS D1 MINI and WS2812B. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the Hanra-s-work/cat_feeder repository on GitHub, at the commit this page was made from: the board is kicad/feeder_diagram/feeder_diagram.kicad_pcb and its schematic kicad/feeder_diagram/feeder_diagram.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).