{"id":13714147,"url":"https://github.com/circa10a/pumpkin-pi","last_synced_at":"2025-10-02T23:34:44.706Z","repository":{"id":46951717,"uuid":"405696387","full_name":"circa10a/pumpkin-pi","owner":"circa10a","description":"Raspberry pi project that controls jack-o-lantern via servo motor and PIR motion sensors","archived":false,"fork":false,"pushed_at":"2022-09-19T13:02:11.000Z","size":14,"stargazers_count":19,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-10T22:34:15.163Z","etag":null,"topics":["go","golang","halloween","iot","motion-sensor","raspberrypi","rasperry-pi","servo"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/circa10a.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-09-12T16:39:16.000Z","updated_at":"2024-10-11T16:14:57.000Z","dependencies_parsed_at":"2022-09-26T20:10:54.509Z","dependency_job_id":null,"html_url":"https://github.com/circa10a/pumpkin-pi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/circa10a%2Fpumpkin-pi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/circa10a%2Fpumpkin-pi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/circa10a%2Fpumpkin-pi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/circa10a%2Fpumpkin-pi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/circa10a","download_url":"https://codeload.github.com/circa10a/pumpkin-pi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235049008,"owners_count":18927715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","halloween","iot","motion-sensor","raspberrypi","rasperry-pi","servo"],"created_at":"2024-08-02T23:01:53.331Z","updated_at":"2025-10-02T23:34:39.382Z","avatar_url":"https://github.com/circa10a.png","language":"Go","funding_links":[],"categories":["Repositories"],"sub_categories":[],"readme":"# pumpkin-pi 🎃\n\n![Build Status](https://github.com/circa10a/pumpkin-pi/workflows/build-docker-image/badge.svg)\n[![PkgGoDev](https://pkg.go.dev/badge/github.com/circa10a/pumpkin-pi)](https://pkg.go.dev/github.com/circa10a/pumpkin-pi?tab=overview)\n[![Go Report Card](https://goreportcard.com/badge/github.com/circa10a/pumpkin-pi)](https://goreportcard.com/report/github.com/circa10a/pumpkin-pi)\n\nRaspberry pi project that controls jack-o-lantern via servo motor and PIR motion sensors to simulate it \"watching\" you.\n\nInspired by [Ryder Damen's mannequin head](https://www.youtube.com/watch?v=9CVhrZEhEoE)\n\n- [Demo](#demo)\n- [Photos](#photos)\n- [Wiring diagram](#wiring-diagram)\n- [Deploy](#deploy)\n  - [Docker](#docker)\n  - [Go](#Go)\n- [Materials](#materials)\n- [Configuration](#configuration)\n\n## Demo\n\n\u003e This project was originally built for outdoor use\n[![pumpkin-pi demo](https://yt-embed.herokuapp.com/embed?v=fl52GQJCFVI)](http://www.youtube.com/watch?v=fl52GQJCFVI \"pumpkin-pi demo\")\n\n## Photos\n\n\u003e Note: Holes in the acrylic case are needed for the motion sensors to properly work\n\n\u003cp float=\"left\"\u003e\n  \u003cimg src=\"https://i.imgur.com/ngqizRO.jpg\" width=\"45%\" height=\"45%\"/\u003e\n  \u003cimg src=\"https://i.imgur.com/uXo3kaP.jpg\" width=\"45%\" height=\"45%\"/\u003e\n  \u003cimg src=\"https://i.imgur.com/IPJ1QB8.jpg\" width=\"45%\" height=\"45%\"/\u003e\n  \u003cimg src=\"https://i.imgur.com/YtHwhJn.jpg\" width=\"45%\" height=\"45%\"/\u003e\n  \u003cimg src=\"https://i.imgur.com/9AHhIF6.jpg\" width=\"45%\" height=\"45%\"/\u003e\n  \u003cimg src=\"https://i.imgur.com/snKIZKp.jpg\" width=\"45%\" height=\"45%\"/\u003e\n\u003cp/\u003e\n\n## Wiring diagram\n\n\u003e Created with [circuit-diagram.org](https://www.circuit-diagram.org/). Source file is in [/diagrams](/diagrams)\n\n![alt text](/images/circuit.png)\n\n## Deploy\n\n\u003e Requires following diagram above to be wired up correctly\n\n### Docker\n\n```bash\n# This script will install the dependencies and start the containers\nbash -c \"$(curl -sL https://raw.githubusercontent.com/circa10a/pumpkin-pi/main/install.sh)\"\n```\n\n### Go\n\n\u003e Requires Go 1.17+\n\n1. Install [Go](https://golang.org/doc/install)\n2. Install [pi-blaster](https://github.com/sarfata/pi-blaster)\n3. `go install github.com/circa10a/pumpkin-pi@latest`\n4. `pumpkin-pi`\n\n## Materials\n\n- [Raspberry Pi (This project uses a Pi 3 Model B)](https://www.adafruit.com/product/4292)\n- [USB Power Supply Compatible with Pi3/4](https://www.amazon.com/dp/B07X8C6PV6/ref=cm_sw_em_r_mt_dp_02B2MZVAR88S0RR0J65M)\n- [MicroSD card](https://www.amazon.com/dp/B004KSMXVM/ref=cm_sw_em_r_mt_dp_7JES2YT0FC79MHFDBP1Z) with Raspbian installed ([guide](https://www.raspberrypi.org/documentation/computers/getting-started.html#installing-the-operating-system))\n- [Pimoroni pan-tilt hat](https://shop.pimoroni.com/products/pan-tilt-hat?variant=22408353287)\n- [2x PIR motion sensors](https://www.amazon.com/dp/B07KBWVJMP/ref=cm_sw_em_r_mt_dp_JHKZXKE9W8X144C21QZX)\n- [2x 3D printed PIR motion sensor enclosures](https://www.thingiverse.com/thing:3366814)\n- [MG90s Servo Motor](https://www.amazon.com/dp/B07NV476P7/ref=cm_sw_em_r_mt_dp_HMWNXQVMQZKX0D4K25SD)\n  - I upgraded the horizontal motor in the pan-tilt hat due to needing more torque to support/smoothly move the pumpkin head without struggle\n- [Male to female, female to femaile jumper wires](https://www.amazon.com/dp/B01EV70C78/ref=cm_sw_em_r_mt_dp_SWRTQ805V399FCG4DCFH)\n- [M2 Standoffs](https://www.amazon.com/dp/B07B9X1KY6/ref=cm_sw_em_r_mt_dp_WZWF9MSF0CDSYY296XG6)\n- [Jack-o-lantern (with top stem cut off)](https://www.homedepot.com/p/Home-Accents-Holiday-9-in-White-Blow-Mold-Pumpkin-with-Black-Shadow-21GM27288/315532374)\n- [Acrylic display case](https://www.hobbylobby.com/search/?text=display+case\u0026quickview=81011632)\n- [Plaster column pedastal(spray painted blacked)](https://www.hobbylobby.com/Home-Decor-Frames/Furniture/Accent-Furniture/White-Corinthian-Column-Pedestal/p/CP02000)\n- [2x 5v fans for (intake/exhaust)](https://www.amazon.com/dp/B07KRSJVP7/ref=cm_sw_em_r_mt_dp_G485R3B54ETDE8D3KKQZ)\n- Some screws here and there\n\n## Configuration\n\n|                                               |                                                                                    |           |          |\n|-----------------------------------------------|------------------------------------------------------------------------------------|-----------|----------|\n| Environment Variable                          | Description                                                                        | Required  | Default  |\n| `PUMPKINPI_LOG_LEVEL`                         | [Logrus](https://github.com/sirupsen/logrus) log level. Use `debug` for more info  | `false`   | `info`   |\n| `PUMPKINPI_MOTION_TIMES_ENABLED`              | Whether to use configured schedule or not. These times must be within the same day | `false`   | `false`  |\n| `PUMPKINPI_MOTION_TIME_START`                 | Local time to ensure pumpkin-pi only responds after this hour                      | `false`   | `17`     |\n| `PUMPKINPI_MOTION_TIME_END`                   | Local time to ensure pumpkin-pi only responds before this hour                     | `false`   | `22`     |\n| `PUMPKINPI_PIR_LEFT_MOTION_SENSOR_GPIO_PIN`   | The GPIO Pin used to read inputs from left motion sensor                           | `false`   | `11`     |\n| `PUMPKINPI_PIR_RIGHT_MOTION_SENSOR_GPIO_PIN`  | The GPIO Pin used to read inputs from right motion sensor                          | `false`   | `13`     |\n| `PUMPKINPI_SERVO_CENTER`                      | The center position of the horizontal servo motor                                  | `false`   | `29`     |\n| `PUMPKINPI_SERVO_LEFT`                        | The left position of the horizontal servo motor                                    | `false`   | `20`     |\n| `PUMPKINPI_SERVO_RIGHT`                       | The right position of the horizontal servo motor                                   | `false`   | `40`     |\n| `PUMPKINPI_SERVO_ROTATE_DELAY`                | The wait time in between each incremental servo step as it rotates                 | `false`   | `150ms`  |\n| `PUMPKINPI_SERVO_CENTER_RESET_INTERVAL`       | The interval at which the pumpkin will rotate back to the center position          | `false`   | `5m`     |\n| `PUMPKINPI_SERVO_GPIO_PIN`                    | The PWM enabled GPIO Pin used to control the servo motor                           | `false`   | `12`     |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcirca10a%2Fpumpkin-pi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcirca10a%2Fpumpkin-pi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcirca10a%2Fpumpkin-pi/lists"}