Raspberry pi project that controls jack-o-lantern via servo motor and PIR motion sensors

pumpkin-pi 🎃

Build Status PkgGoDev Go Report Card

Raspberry pi project that controls jack-o-lantern via servo motor and PIR motion sensors to simulate it "watching" you.

Inspired by Ryder Damen's mannequin head

Demo

This project was originally built for outdoor use

pumpkin-pi demo

Photos

Note: Holes in the acrylic case are needed for the motion sensors to properly work

Wiring diagram

Created with circuit-diagram.org. Source file is in /diagrams

alt text

Deploy

Requires following diagram above to be wired up correctly

Docker

# This script will install the dependencies and start the containers
bash -c "$(curl -sL https://raw.githubusercontent.com/circa10a/pumpkin-pi/main/install.sh)"

Go

Requires Go 1.17+

  1. Install Go
  2. Install pi-blaster
  3. go install github.com/circa10a/pumpkin-pi@latest
  4. pumpkin-pi

Materials

Configuration

Environment Variable Description Required Default
PUMPKINPI_LOG_LEVEL Logrus log level. Use debug for more info false info
PUMPKINPI_MOTION_TIMES_ENABLED Whether to use configured schedule or not. These times must be within the same day false false
PUMPKINPI_MOTION_TIME_START Local time to ensure pumpkin-pi only responds after this hour false 18
PUMPKINPI_MOTION_TIME_END Local time to ensure pumpkin-pi only responds before this hour false 22
PUMPKINPI_PIR_LEFT_MOTION_SENSOR_GPIO_PIN The GPIO Pin used to read inputs from left motion sensor false 11
PUMPKINPI_PIR_RIGHT_MOTION_SENSOR_GPIO_PIN The GPIO Pin used to read inputs from right motion sensor false 13
PUMPKINPI_SERVO_CENTER The center position of the horizontal servo motor false 32
PUMPKINPI_SERVO_LEFT The left position of the horizontal servo motor false 23
PUMPKINPI_SERVO_RIGHT The right position of the horizontal servo motor false 40
PUMPKINPI_SERVO_ROTATE_DELAY The wait time in between each incremental servo step as it rotates false 150ms
PUMPKINPI_SERVO_CENTER_RESET_INTERVAL The interval at which the pumpkin will rotate back to the center position false 5m
PUMPKINPI_SERVO_GPIO_PIN The PWM enabled GPIO Pin used to control the servo motor false 12
Owner
Caleb Lemoine
Full stack gingineer
Caleb Lemoine
Similar Resources

Gobot - Golang framework for robotics, drones, and the Internet of Things (IoT)

Gobot - Golang framework for robotics, drones, and the Internet of Things (IoT)

Gobot (https://gobot.io/) is a framework using the Go programming language (https://golang.org/) for robotics, physical computing, and the Internet of Things.

Jan 8, 2023

A robust and easy to use MQTT rule engine

A robust and easy to use MQTT rule engine

⚙ MQTT COMMANDER A robust and easy to use MQTT rule engine Configure your MQTT Rules via easy to use YML Files Supports JSON encoded MQTT Messages Sup

Sep 21, 2022

A opinionated multi-tenant hyperscale Internet of Things platform to connect IoT devices fast and securely with minimal TCO

infinimesh IoT Platform infinimesh is a opinionated multi-tenant hyperscale Internet of Things platform to connect IoT devices fast and securely with

Feb 14, 2022

Exploring and comparing different IOT messaging protocols / transports.

IOT Messaging Protocols Blynk https://blynk.io/ A fully integrated suite of IoT software Device provisioning Sensor data visualization Remote control

Jan 2, 2022

Read metrics from a Message Queue in Json format and expose them in a Prometheus compatible format

mq2prom Read metrics from a Message Queue in Json format and expose them in a Prometheus compatible format. Currently only works for MQTT compatible M

Jan 24, 2022

IoT platform with things/user management and visualization, in Go with Docker using microservices

BARIOT IoT platform to Manage Users and their Things and visualize their data. Microservices services architecture build with Go and docker (compose).

Jun 22, 2022

A project outputs Bluetooth Low Energy (BLE) sensors data in InfluxDB line protocol formatA project outputs Bluetooth Low Energy (BLE) sensors data in InfluxDB line protocol format

Intro This project outputs Bluetooth Low Energy (BLE) sensors data in InfluxDB line protocol format. It integrates nicely with the Telegraf execd inpu

Apr 15, 2022

A simple, efficient spring animation library for smooth, natural motion🎼

A simple, efficient spring animation library for smooth, natural motion🎼

Harmonica A simple, efficient spring animation library for smooth, natural motion. It even works well on the command line.

Jan 1, 2023

Pelacak pajak kendaraan mobil/motor khusus plat Kalimantan Timur

vehicle-tax-tracker Pelacak pajak kendaraan mobil/motor khusus untuk plat Kalimantan Timur. Dengan menggunakan teknologi Web Scraping. Clone : $ git c

Jun 27, 2022

Wsproxy from Jack.arain - 一个支持websocket级联的socks5/http复合代理

一个支持websocket级联的socks5/http复合代理. 支持在同一个端口同时提供websocket、socks5、http代理服务, 支持通过webs

Sep 12, 2022

GO project that retrieve and return weather data from airports sensors

Airport Project GO project that retrieve and return weather data from airports sensors (temperature, wind speed and atmospheric pressure). Built with

May 16, 2022

Study Project for the application of micro services and requisition controls

Starting Endpoint GO with Retry Request Install GoLang for Linux Tutorial: LINK

Jul 4, 2022

Webserver I built to serve Infura endpoints. Deployable via k8s and AWS EKS. Load testable via k6 tooling, and montiorable via prometheus and grafana

Infura Web Server Welcome to my verion of the take home project. I've created a webserver written in go to serve Infura api data over 3 possible data

Nov 15, 2022

TinyGo drivers for sensors and other devices that use I2C, SPI, GPIO, ADC, and UART interfaces.

TinyGo Drivers This package provides a collection of hardware drivers for devices such as sensors and displays that can be used together with TinyGo.

Jan 8, 2023

fbstatus graphically shows the gokrazy system status on the Linux frame buffer, which is typically available via HDMI when running on a Raspberry Pi or a PC.

fbstatus graphically shows the gokrazy system status on the Linux frame buffer, which is typically available via HDMI when running on a Raspberry Pi or a PC.

gokrazy framebuffer status (fbstatus) fbstatus graphically shows the gokrazy system status on the Linux frame buffer, which is typically available via

Aug 4, 2022

A framework for creating COM-based bypasses utilizing vulnerabilities in Microsoft's WDAPT sensors.

A framework for creating COM-based bypasses utilizing vulnerabilities in Microsoft's WDAPT sensors.

Dent More Information If you want to learn more about the techniques utlized in this framework please take a look at this article. Description This fr

Dec 2, 2022

Prometheus exporter for Hue Sensors

Prometheus exporter for Hue Sensors This program allows you to gather generic metrics on all your Philips Hue sensors with Prometheus. Installation In

Nov 17, 2021

GitOops is a tool to help attackers and defenders identify lateral movement and privilege escalation paths in GitHub organizations by abusing CI/CD pipelines and GitHub access controls.

GitOops is a tool to help attackers and defenders identify lateral movement and privilege escalation paths in GitHub organizations by abusing CI/CD pipelines and GitHub access controls.

GitOops is a tool to help attackers and defenders identify lateral movement and privilege escalation paths in GitHub organizations by abusing CI/CD pipelines and GitHub access controls.

Jan 2, 2023

Go binary that finds .EXEs and .DLLs on the system that don't have security controls enabled

Go Hunt Weak PEs Go binary that finds .EXEs and .DLLs on the system that don't have security controls enabled (ASLR, DEP, CFG etc). Usage $ ./go-hunt-

Oct 28, 2021
Comments
  • Shorted PIRs ?

    Shorted PIRs ?

    It would seem from the circuit diagram that the outputs of the PIRs are shorted to ground. (circled in red - attached short pumpkin ) not sure that image actually attached but follow the leads - those dots on the diagram clearly mean connection - both are pulled to ground.

A realtime teenage driver behaviour monitoring system integrating OBII sensor, smart watch, smartphone, and Raspberry Pi, which examines over time novice teenage driving performance and risk

DriverMonitor A realtime teenage driver behaviour monitoring system integrating OBII sensor, smart watch, smartphone, and Raspberry Pi, which examines

Nov 27, 2021
Go-ebyte-lora - EBYTE Lora modules interface library for Linux, Raspberry PI

go-ebyte-lora EBYTE Lora modules interface library for Linux, Raspberry PI Super alpha version WARNING: It was tested on Raspberry Pi 4, Serial Read,

May 11, 2022
lirc.go - a library to send and receive via lircd

LIRC Go client for Linux Infrared Remote Control (LIRC) package Usage package main import ( "github.com/chbmuc/lirc" "log" "time" ) func keyPo

Oct 24, 2022
Vallox RS-485 MQTT gateway to integrate Vallox RS485 ventilation device to Home Assistant via MQTT.
Vallox RS-485 MQTT gateway to integrate Vallox RS485 ventilation device to Home Assistant via MQTT.

Vallox RS-485 MQTT gateway to integrate Vallox RS485 ventilation device to Home Assistant via MQTT. Implements Home Assistant MQTT discovery but can also be used without Home Assistant.

Dec 26, 2021
Project Flogo is an open source ecosystem of opinionated event-driven capabilities to simplify building efficient & modern serverless functions, microservices & edge apps.
Project Flogo is an open source ecosystem of opinionated  event-driven capabilities to simplify building efficient & modern serverless functions, microservices & edge apps.

Project Flogo is an Open Source ecosystem for event-driven apps Ecosystem | Core | Flows | Streams | Flogo Rules | Go Developers | When to use Flogo |

Dec 31, 2022
Kubernetes Native Edge Computing Framework (project under CNCF)
Kubernetes Native Edge Computing Framework (project under CNCF)

KubeEdge KubeEdge is built upon Kubernetes and extends native containerized application orchestration and device management to hosts at the Edge. It c

Jan 1, 2023
Golang framework for robotics, drones, and the Internet of Things (IoT)
Golang framework for robotics, drones, and the Internet of Things (IoT)

Gobot (https://gobot.io/) is a framework using the Go programming language (https://golang.org/) for robotics, physical computing, and the Internet of

Dec 29, 2022
Industrial IoT Messaging and Device Management Platform
Industrial IoT Messaging and Device Management Platform

Mainflux Mainflux is modern, scalable, secure, open-source, and patent-free IoT cloud platform written in Go. It accepts user and thing (sensor, actua

Dec 31, 2022
Secure and Interoperable Internet of Things

plgd Cloud Internet of Things (IoT) technologies have evolved rapidly in recent years and continue to change how we interact with our surroundings. Fo

Dec 26, 2022
Securely access remote devices and servers
Securely access remote devices and servers

Deviceplane is an open source device management tool for embedded systems and edge computing. It solves various infrastructure problems related to rem

Dec 15, 2022