<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Halloween</title><link>https://community.element14.com/challenges-projects/halloween/</link><description>&lt;strong&gt;Build a project based on your favourite Horror movie or TV show.&lt;/strong&gt;   It can be a spooky prop for your haunted house or your own werewolf-able electronics project. Post a video and blog about your project for a chance to win great prizes!</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title /><link>https://community.element14.com/challenges-projects/halloween/b/news/posts/join-the-element14-community-2026-halloween-hackathon-create-compete-for-prizes?CommentId=d6e947d7-1614-4ed8-a28d-77a5c59e3f8c</link><pubDate>Sat, 07 Nov 2026 11:08:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d6e947d7-1614-4ed8-a28d-77a5c59e3f8c</guid><dc:creator>rahuljeyaraj</dc:creator><description>Hi element14 team, My Halloween Hackathon project post &amp;quot;Spellbound Sweets – The Creature Snatches the Bowl Until You Cast a Spell&amp;quot; seems to have been automatically flagged as spam, so it isn&amp;#39;t visible to the community right now. Link: community.element14.com/.../spellbound-sweets-the-creature-snatches-the-bowl-until-you-cast-a-spell It&amp;#39;s my genuine entry for the hackathon. Could a moderator please review and approve it? Happy to edit anything if needed. Thank you! Rahul Jeyaraj</description></item><item><title /><link>https://community.element14.com/challenges-projects/halloween/b/news/posts/join-the-element14-community-2026-halloween-hackathon-create-compete-for-prizes?CommentId=e1418baa-bd94-48c2-b291-ab354148cf90</link><pubDate>Thu, 05 Nov 2026 06:08:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e1418baa-bd94-48c2-b291-ab354148cf90</guid><dc:creator>dougw</dc:creator><description>This large spider was a prize from a previous e14 Halloween contest...</description></item><item><title>File: 2818.movements_details</title><link>https://community.element14.com/challenges-projects/halloween/m/managed-videos/151972</link><pubDate>Sun, 01 Nov 2026 22:46:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:427ea1b2-6c85-46ac-be7e-7f107d7a90ce</guid><dc:creator>Spain_mtg</dc:creator><description /></item><item><title>File: 5460.Doorbell_Halloween</title><link>https://community.element14.com/challenges-projects/halloween/m/managed-videos/151971</link><pubDate>Sun, 01 Nov 2026 22:46:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:bedd1a70-7f66-4076-8146-2117e12cd1a4</guid><dc:creator>Spain_mtg</dc:creator><description /></item><item><title>A Terrifyingly Fun Doorbell</title><link>https://community.element14.com/challenges-projects/halloween/a/projects/PR194/a-terrifyingly-fun-doorbell</link><pubDate>Sun, 01 Nov 2026 20:50:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:a96f6403-8d02-4b4c-8210-fde628329e0c</guid><dc:creator>Spain_mtg</dc:creator><description>When our guests press the doorbell button, an eye will appear on the round screen to let us know it’s watching us, and when the doors open, a bat will appear with background music. A Terrifyingly Fun Doorbell With this doorbell project, I want to create a moment of suspense: when the doorbell button is pressed, sounds will play, an image will appear on a round TFT screen, and a cute bat will pop up when the doors open. The youngest members of the family can help us build it. When our guests press the doorbell button, an eye will appear on the round screen to let us know it’s watching us, and when the doors open, a bat will appear with background music. The materials needed are: 1 Microcontroller Arduino UNO Board Jumper Wire cable 3 x 40 pcs. 20 cm M2M / F2M / F2F 1 MG90S Micro Servo Motor 1 Mini Breadboard 400 PIN with 4 power rails for jumper cable 1 KY-004 button module 1 GC9A01 1.28 inch Round LCD TFT display 1 Mini MP3 Player DFPlayer Master Module 1 DFPlayer Mini 3 Watt 8 Ohm Mini loudspeakers 2 Red LEDs 3 mm diameter 2 330 ohm resistors 1 1K ohm resistor 1 MB102 Breadboard Power Suppler Power Supply 3mm thick balsa wood and white glue for wood The software needed is: Arduino IDE DFPlayer Mini library from DFRobot ( DFRobotDFPlayerMini.h ) Servo Library (Arduino Servo.h ) SPI library (SPI.h, this library is included in the Arduino IDE) Adafruit GFX library (Arduino Adafruit_GFX.h ) Adafruit GC9A01A library (Arduino Adafruit_GC9A01A.h ) SoftwareSerial library ( SoftwareSerial.h ) doorbell_sketch.ino Sound files 001.mp3, 002.mp3, 003.mp3 and 004.mp3 Circuit and description of the modules used As we can see in the diagram of circuit components, to interact with the doorbell, we will have to press the KY-004 button module with which the sketch will begin to run, first the 001.mp3 sound file will be executed from the Mini MP3 Player DFPlayer Master Module (we must use a 1K ohm resistor in the mp3 player module to adapt the voltage in the communication line) and it will be played by In the DFPlayer Mini 3 Watt 8 Ohm Mini loudspeaker , at the end of this first file, an eye will be drawn on the GC9A01 1.28-Inch Round LCD TFT circular screen and the 002.mp3 sound file will be played. At the end of this second sound file, a third sound file will be played 003.mp3 and the two small doors will be opened by the drive of the MG90S servomotor , this will move the support of the chosen character and this in turn will make the movements of the doors. When this character comes out, we will illuminate his eyes in red using the two red LEDs to which we have connected two 330 ohm resistors to adjust his supply voltage and the sound file will be played 004.mp3, when this last mp3 file finishes its playback, the sound file will be played again 003.mp3 so that the servo motor acts again and saves the character inside the bell and close the doors, we will turn off the red LEDs. The modules and components described above will be controlled with the Arduino UNO Board microcontroller and the whole set will be powered with the MB102 Breadboard Power Supply , as it offers us an output of 3.3 VDC necessary to power the TFT screen and 5 VDC for the rest of the modules and components. Project Assembly The pieces for the construction of this prototype doorbell are made of 3 mm thick balsa wood, the construction is simple, since it is basically a box. What is a little more difficult is the assembly of the mechanism for the opening of the two small doors and the exit of the character, since we use a single servomotor for the movements. As you can see in the graphics and photographs, we have adapted a stem to the servo motor to give it more travel in its movement, to connect the stem to the support of the figure, we have used a clip of those used to gather papers, we just have to straighten it and pass it through the holes. To activate the opening and closing of the doors, we have also used clips, we have straightened them and with the movement mechanism of the character fully retracted, we have taken the measurement and installed a stem to each door that will be connected to the character&amp;#39;s mechanism, in this way, when the servomotor changes position and advances, through its stem it will apply the advance to the character&amp;#39;s mechanism and this, in turn, through the two stems, will also apply the movement to the doors, as these doors have hinges, their movement will be made with the center of rotation on them and they will open. In this way, whenever the character&amp;#39;s mechanism advances, it will push the doors and when it reverses it will pull them, which will pivot on the axis and close. The character&amp;#39;s piece, on its back, is a wedge that must enter the slot that we have manufactured, with this we guide the retraction movement of the mechanism and improve its operation. Perhaps, this is the part that needs more patience, since we must make the necessary adjustments for its correct functioning. We have attached the plans and dimensions of the parts. The use of balsa wood for this prototype is due to the fact that it can be easily and quickly modified to make the necessary adjustments for its correct operation. Description of how the project works and sketch The operation of the circuit is very simple, the doorbell will be inactive as long as the call button module KY-004 is not pressed , when pressing this button, we change the state of its signal from high level to low level, the first thing that is done is the reproduction of the sound (001.mp3) of bells using the Mini MP3 Player DFPlayer Master Module and DFPlayer Mini 3 Watt 8 Ohm Mini loudspeaker , after the playback of this first sound file, the GC9A01 1.28-Inch Round LCD TFT screen will show an eye that will be followed by the playback of another sound file (002.mp2) with the message &amp;quot;I see you&amp;quot;, when this other sound file ends, a third sound file (003.mp3) will be played with the noise of opening a door and the output movement will begin from inside the box of the chosen character by means of the MG90S servo motor and door opening, it must be remembered that we use a single servo motor for the movement of the character-doors set by means of stems. Once the character is completely out, his eyes will light up by means of two red LEDs and the sound file (004.mp3) will be played with a short song, when this sound file ends, the sound file (003.mp3) will be played again with the noise of the door and the servomotor will return to its initial position with which the set of character-doors will begin to recede and close respectively and the red LEDs of the eyes will be turned off. The operation of this project will be played as long as the doorbell button is pressed again. Let&amp;#39;s now move on to explain the sketch. In order to be able to use the modules in an Arduino project, you must always implement the libraries required in the section on defining global variables (start of the sketch) in order to use these modules correctly, since in these libraries the methods that will later be used are defined. In this project we must install the libraries for serial communication with the modules, the libraries for the use of the TFT screen, the libraries for the use of the MP3 module and the servomotor library. The first library that is added is &amp;quot; SPI.h &amp;quot;, this library allows communication with devices with SPI ports, Arduino will be the controller device. The next library that is added is &amp;quot; Adafruit_GFX.h &amp;quot;, this is the main graphics library for screens, it will provide us with the necessary methods to draw primitive graphics (dots, lines, circles, etc.). The third library that is added is &amp;quot; Adafruit_GC9A01A.h &amp;quot;, this library provides the necessary configuration and support for the display driver the GC9A01A that will be used. With the library, the functionality is enabled for the microcontroller to enable any digital pin to use as serial communication, it is needed to be able to use the MP3 player module. is the library that enables the functionalities necessary to use the MP3 module. The last library to be added is , in this library is the configuration and methods required for the position change that the servo motor will use. The next two lines of the sketch are the definition of two variables that will contain integers, these variables will be used a few lines later to implement an object of the TFT screen that will be used. After defining the two variables for the screen, an object is implemented for each module or component that requires it, in this way, to use the MP3 player module, the mySoftwareSerial object of the library must be implemented to indicate to the microcontroller the digital pins that will be used for the serial communication of the module, in this project, the digital pin 5 is used to receive data and the digital pin 6 to send data to the MP3 module. To use the plug-in control methods and instructions, such as adjusting the volume or starting the playback of an mp3 file, the myDFPlayer object is created from the library . For the use of the GC9A01A screen, the tft object of the &amp;quot;Adafruit_GC9A01A.h&amp;quot; library is implemented, where the microcontroller will have to be informed where the connections of the lines of the TFT screen are made, the DC line is used to send the data to the screen, while the line for the selection of the screen to send the data is CS, they are connected to the digital ports 7 and 10 of the microcontroller respectively. The variables that were defined a little above are used to indicate the connection ports. To use the servo motor, the servo_door object of the . To use the ring button of the doorbell you do not need to implement any object, since the module is simply a switch and only changes the state of its signal line from high level to low level, so first the variable ring_button will be created with a value of 4, this value will be the digital port to which the signal line of the switch will be connected and the variable ring_call to save the state of the signal, its state can only be high state with 5 VDC or low signal with 0 VDC. These two variables will be used later. And finally the variable bat_eyes is created with the value 2, this variable will be used to inform the microcontroller of the digital port of connection of the LEDs of the eyes of the character that will come out of inside the doorbell, in this project it is a small bat. Variables are created to assign the numbers of the connection ports of the module or components to facilitate the modification of the sketches, when we modify the ports where we have connected a module or component, we will only have to modify it in this first section, since later, within the sketch, whenever we use the ports to perform an action, we will only have to use the name of the variable, in this way, we avoid many errors by not having to review the entire code and the modification is facilitated to people who have not written the code. After having implemented the libraries, created the objects of the modules and the creation of the necessary variables, we must define the initial configuration of the timbre of the modules and components, this is done in the setup() method . The first thing we do within this method is the initialization of the MP3 module and its communication with the microcontroller through mySoftwareSerial. begin(9600) , 9600 is the data transmission rate in baud, we also initialize the communication with the Serial Monitor using Serial.begin (115200) with a speed of 115200 baud (we will have to select the speed at the bottom right of the Serial Monitor when we open it), here we will see the messages of the initialization status or errors of the mp3 module. The next thing we define in the code is the verification of the initialization of the mp3 module, for this, we use an if conditional statement. In the if statement, the code that is inside the keys will be executed if the condition of its parameter is true. We, in the condition we are checking that the mp3 module has not been initialized for some reason, we have written the denied initialization with the symbol ! , this symbol is used as a denial method, so if the module is not initialized, the condition is true and the code that is inside the keys is executed, and what we do is inform the Serial Console that the connections and the insertion of the microSD card are checked. If the mp3 player module is properly initialized, the condition is not met and the code we have explained is not executed, and the setup() method continues to be executed to report by the Serial Console that the mp3 player module has been successfully initialized with the line Serial.println (F(&amp;quot;Correct DFPlayer initialization. &amp;quot;)) . When the MP3 module has been initialized, we must initialize the TFT screen, the first thing we have written in the code is to inform the Serial Monitor that the initialization of the screen begins with the code Serial.println(&amp;quot;GC9A01A initialization.&amp;quot; ), then we write tft. begin(), this is the initialization method of the screen itself, we give a waiting time of 3 seconds with delay(3000) for its correct initialization and finally we configure the screen so that all the pixels are black with the fillScreen(GC9A01A_BLACK) method of the tft object that we implemented at the beginning of the sketch. For the initial configuration of the servo motor, the first thing we define is the port of the microcontroller to which we have connected the signal line of the servo motor with servo_door. attach(3), the port is number 3. In the sketch, with the line of code servo_door. write(1), we have defined the value of the servo motor so that the doors remain closed when the project is initialized. This value is indicative, in this value you can write any value, but you must be careful to respect the approximate values that we have given to the servo motor when the doors are closed and when the doors are open. For the initial configuration of the LEDs of the character&amp;#39;s eyes, the first thing we must do is configure the port as an output signal, so that it delivers voltage when we change its state, this is done with the pinMode code line (bat_eyes, OUTPUT). When the bat is inside the doorbell box, it must not have its eyes illuminated, so this port must not have voltage, we do this by establishing the signal level that the port delivers at that time at low level, that is, with 0 VDC, the line with which we will configure its output at low level is digitalWrite (bat_eyes, LOW). And to finish the initial configuration of our project, we must tell the microcontroller that the signal of the ring button must be an input signal to the microcontroller with pinMode (ring_button, INPUT), so that when we press it, the state of the input signal changes and the microcontroller detects it and performs the actions that we will program later, in the loop() method . Once we have finished with the initial configuration, we begin to comment on the loop() method that will be the one that is continuously running, waiting for the ringer call button to be pressed. The first line of this method is the reading that the microcontroller is continuously making of the signal of the ring call button by means of digitalRead(ring_button), remember that this reading can have a high level (button not activated) or low level (button activated), the reading it takes from the signal of the button is saved in the variable ring_call , this variable is created in the variable definition block. When the value of the pushbutton signal reading is saved in the variable, we implement an if-else statement to check if a comparison is true. As you can see in the code, the comparison it makes is that the value of the saved variable has a high level value with if (ring_call == HIGH), this will mean that if the comparison is true, it is because the button has not been activated, so the code inside its curly brackets will be executed, as you can see, it is empty, without code inside, so no action is executed and the start of the loop() method will be executed again . If the comparison is not true, it means that the button has been actuated and the value of the variable has a low-level value, so the if statement code will not be executed and the next statement will be executed, which is else , and the code inside its curly braces will be executed. Let&amp;#39;s explain the code that will be executed. The first thing to do is to adjust the sound playback volume to a level of 15 out of 30 with myDFPlayer. volume(15), then the file with the name 001.mp3 is played with myDFPlayer. play(001) , this file must be saved on the microSD card inserted in the mp3 player module and the bell sound will be played, then we pause for 11 seconds with delay(11000) so that the file is played in its entirety before the next line of the sketch is executed. The next line of the code is a call to the show_eye() method to show an eye on the TFT screen. Let&amp;#39;s explain to explain the method called, when the call is made, the sketch looks for the method in the code to execute it, the first thing it does is draw a circle with the eyeball in white using the tft statement . fillCircle(120, 120, 120, GC9A01A_WHITE), to draw a circle we must reflect the following data in the statement, tft. fillCircle(value center circle X-axis, value center circle Y-axis, radius of the circle, color of the circle), so to place the center of the circle we must position the course in the pixel 120 on the X axis and 120 on the Y axis, the third value is the radius of the circle in pixels, and the last data is the color. The round screen GC9A01A has 240 x 240 pixels of resolution, so the center of the circle will be located in the right center of the screen. The following statement tft. fillCircle(120, 120, 63, GC9A01A_BLACK), will draw a black circle with the same center and a radius of 63 pixels to create a black line separating the eyeball and the iris. The following statement tft.fillCircle(120, 120, 58, GC9A01A_YELLOW) will draw the iris in yellow, the values of the center of the circle are the same and a smaller radius. The next statement will draw the pupil black using a circle with the same values of the center of the circle and a radius of 20. The last circle it will draw will be a small blank circle in the upper right area of the pupil, as you can see in the code, in this case the value of the center of the circle is different. After drawing the iris and pupil of the eye, the veins of the eyeball will be drawn in red using lines with the tft statements . drawLine(X axis start value, Y axis start value, X axis end value, Y axis end value, color) . Tracking all statements for drawing the lines of the show_eye() method is easy to understand, as it only changes the parameters of the start of the line and the parameters of the end point of the line. The last line of this method is yield() , with this statement, it returns to the line immediately following the call to the show_eye() method, which is a half-second delay (500) pause. The yield() statement is used within processes that require a lot of time to finish executing so as not to slow down the development of the sketch, it returns to the next point from where the call was made to the method or process where it is included. After the half-second timeout, the 002.mp3 sound file will be played, for this the sound playback volume is set to a level of 15 out of 30 with myDFPlayer. volume(15), then the file with the name 002.mp3 is played with myDFPlayer. play(002) , this file and all the sound files, must be saved on the microSD card inserted in the mp3 player module and the sound &amp;quot;I see you&amp;quot; will be played, then we pause for 6 seconds with delay(6000) so that the sound file is played in its entirety before the next line of the sketch is executed. After playing the previous sound file, the doors must be opened, the sound of movement of an old door must be played with the 003.mp3 sound file and the bat or any character of your choice comes out, for that you must adjust the sound playback volume to a level of 15 out of 30 with myDFPlayer. volume(15), then the file with name 003.mp3 is played with myDFPlayer. play(003) with the sound of movement of the door, we pause for 1 second with delay(1000) and with the line servo_door. write(45), the servomotor must be positioned at 45 degrees, as it was positioned at 1 degree when moving to its new position, the axis when rotating, will cause the wooden stem to advance, this, being connected to the bat support will advance and as this support is connected to the doors, they will advance and rotate on the axis of these, producing their opening and the bat advancing and exiting the box. Once the bat is out of the box, we must illuminate the eyes with the red LEDs, for this, we must change the state of the port where the LEDs are connected to high state, so that it offers a voltage of 5 VDC and in this way power them to turn on, we must remember that we define a variable with the value of the connection port, this we do with the line: When the bat is completely out of the box, a small song saved in the 004.mp3 sound file will be played for seconds, for this, the first thing to do is to adjust the sound playback volume to a level of 20 out of 30 with myDFPlayer. volume(20), then the file with name 004.mp3 is played with myDFPlayer. play(004), then pause for 6 seconds with delay(6000) to play the sound file in its entirety before executing the next line of the sketch. When the song has ended, the bat or the character that we have chosen must be put back into the doorbell box and the doors must close, to perform these actions, the first thing that has been programmed is to adjust the playback volume of the sound to a level of 15 out of 30 with myDFPlayer. volume(15), the next thing must be to play the file with name 003.mp3 with the myDFPlayer command. play(003) , this sound file plays the sound of movement of a door, we pause for 1 second with delay(1000) and with the line servo_door. write(1), the servo motor will move and change its position to the initial 1 degree, so that the bat support will recede to get inside the box, as this assembly is connected to the doors, it will also recede and close. When the whole assembly is inside the doorbell box and the doors are closed, the LEDs of the bat&amp;#39;s eyes must be turned off, changing the port where they are connected to the microcontroller at low signal level, so the port will not have an output voltage and the LEDs will be paid. The line programmed to perform this action is: After turning off the LEDs, the image of the eye on the TFT screen must be removed, to do so, what is programmed is to change all the pixels to black with tft. fillScreen(GC9A01A_BLACK), so the image of the eye will disappear. The last line of our code is the yield() statement , which is used within processes that require a lot of time to finish executing and not slow down the development of the sketch, it is returned to the beginning of the sketch. doorbell_sketch.ino file I hope you liked this spooky ringtone and that you enjoy it. Thank you very much, and happy Halloween.</description><category domain="https://community.element14.com/challenges-projects/halloween/tags/arduino%2buno">arduino uno</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/servomotor">servomotor</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/GC9A01%2bRound%2bTFT%2bdisplay">GC9A01 Round TFT display</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/Mini%2bMP3%2bPlayer%2bDFPlayer">Mini MP3 Player DFPlayer</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/leds">leds</category></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238853</link><pubDate>Sun, 01 Nov 2026 12:05:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4ef2e36a-695c-40e9-940a-8673e456101b</guid><dc:creator>meera_hussien</dc:creator><description>Working on something...hopefully can get it done before the due date</description></item><item><title>File: Dead Channel: I Built a Halloween Arcade with Raspberry Pi, ESP32 &amp; Arduino</title><link>https://community.element14.com/challenges-projects/halloween/m/managed-videos/151967</link><pubDate>Sat, 31 Oct 2026 14:21:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:45c5691d-5bd5-407b-ab66-041a0a388364</guid><dc:creator>Adr1el</dc:creator><description>Seven spooky games. One handmade console. Dead Channel is my Halloween arcade built with a Raspberry Pi 5, ESP32, Arduino Uno and Arduino Nano, with an iPad displaying the browser-based games. The console combines a joystick, tuning knob, 4&amp;#215;4 keyp...</description></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238851</link><pubDate>Sat, 31 Oct 2026 14:05:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:3cf49a9e-7be6-4694-8848-772344f2bb80</guid><dc:creator>misaz</dc:creator><description>I think I have scary enough idea, but did not start working on it yet :D</description></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238850</link><pubDate>Sat, 31 Oct 2026 13:09:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:89ebdec2-958c-4cf0-a1b0-b5839019d843</guid><dc:creator>wolfgangfriedrich</dc:creator><description>Just had my project finished and submitted yesterday night. We&amp;#39;ll see how it goes today. Scare-O-Matic 2026 Edition Happy Halloween everybody.</description></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238849</link><pubDate>Sat, 31 Oct 2026 12:45:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:600b8d69-5ad0-4d55-8752-d49acd8d3518</guid><dc:creator>arvindsa</dc:creator><description>So? How did you like the movie?</description></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238848</link><pubDate>Sat, 31 Oct 2026 12:35:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:bf563d59-c047-4abd-9ac5-ef60d3d8e508</guid><dc:creator>Qbit</dc:creator><description>That&amp;#39;s so wonderful to hear! Wishing you a smooth and beautiful journey in the new city!</description></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238847</link><pubDate>Sat, 31 Oct 2026 12:30:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:95249f65-6a1d-4a2e-aede-e1cebff6b8e5</guid><dc:creator>Qbit</dc:creator><description>Thanks! And Happy Halloween, JoRatcliffe and everyone! I&amp;#39;ve got a project idea in mind and am currently testing it out to see if it works. If it does, I&amp;#39;ll start building right away and it&amp;#39;ll be full of horror ‍♂️ . Sorry, I don&amp;#39;t have a costume to share right now, but I hope you enjoy The Sixth Sense ( no spoilers here, I promise).</description></item><item><title>Dead Channel: A Seven-Game Halloween Arcade Brought to Life</title><link>https://community.element14.com/challenges-projects/halloween/a/projects/PR193/dead-channel-a-seven-game-halloween-arcade-brought-to-life</link><pubDate>Sat, 31 Oct 2026 10:22:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:9cc96544-4881-48a3-883f-5846becb088d</guid><dc:creator>Adr1el</dc:creator><description>Seven spooky games. One handmade console. Dead Channel combines Raspberry Pi 5, ESP32, Arduino Uno and Nano with a joystick, tuning knob, keypad, lights, buzzer and physical displays to bring a browser-based Halloween arcade into the real world. I built a little Halloween arcade, and it ended up taking over my desk. It’s called Dead Channel . There are seven games, an iPad for the screen, and a breadboard console with a joystick, tuning knob, keypad, buttons, lights, a buzzer, an LCD and a seven-segment display. A Raspberry Pi 5 hosts it, with an ESP32, Arduino Uno and Arduino Nano handling the things on the desk. The games range from keeping a ghost in the air to trying to answer calls from people who probably shouldn’t still have a telephone connection. I wanted something people could sit down and play for Halloween, and something that gave the electronics a job beyond just looking spooky. Here it is in action: Watch the project video You can also play it in your browser or look through the code and build files on GitHub . The actual setup. The LCD is on the Ghost Flight start screen here. All seven games share this console. What can you play? Two games from the deployed browser version: Please Hold on the left, Gravekeeper on the right. Ghost Flight is the one where you tap the button to keep a ghost airborne and squeeze between cursed towers. Getting through eight towers clears it. It’s a simple control, but there’s plenty of room to mistime a flap. Boot Breaker gives you a paddle and a bouncing boot. You move with the joystick, launch with the button, and try to knock out all 30 headstones in the first crypt. Blimp Jump is a climbing game. You steer between platforms and work your way up to 1,000 metres. The button gives you an emergency lift, but it takes four seconds to recharge, so it can’t rescue every bad landing. Gravekeeper puts you in a cemetery with a lantern and ghosts coming after you. You need to collect ten lost souls while keeping away from them. The button repels nearby ghosts when the ward is ready. The Last Signal is a shooter. Move the transmitter, hold the button to fire, and stop the incoming contacts from reaching the line. Clearing 20 contacts wins the round. Dead Frequency uses the tuning knob. Six voices are trapped between stations, and you have to find a clean signal and lock onto each one before you lose all three fuses. This was a nice reason to give the console an actual dial instead of making everything another joystick action. Then there’s Please Hold , which uses the whole console as a haunted telephone exchange. You’re covering a Halloween night shift, trying to get six callers home while something on the other end keeps opening its eye. You turn the knob until a call comes through, read the extension on the LCD, type it on the keypad and press #. After that, you have to read the caller’s message and work out where they want to go. The right extension only gets you access to the call; it doesn’t choose the destination for you. Once you’ve picked a destination with the joystick, hold the main button to connect. Green is safe. Yellow is your warning. When the eye opens and the red LED comes on, let go. You can finish the connection in pieces, so releasing at the right time is part of playing. The separate hang-up button gets you out of trouble, but it also throws away that call’s authorization and connection progress and gives you a different extension. As you get callers home, the digit on the desk counts down from six to zero. The radio frequencies are part of the game, by the way. The knob is a potentiometer read by the ESP32, not an actual radio receiver. Under all those wires The console at a glance. Connection map made in diagrams.net; the pin-by-pin wiring is below. The arrows show connections, and data travels both ways. The browser runs the games. The Pi serves the files and runs a small Python bridge that talks to the three boards over USB. The iPad connects to the Pi over the local network. Once the Pi is set up, the Mac I used for development doesn’t have to stay connected. The ESP32 reads the joystick, its push switch, the tuning knob and the main action button. It also handles the three LEDs and buzzer. The Uno drives the 16&amp;#215;2 LCD and the 5161AS seven-segment display. The Nano scans the 4&amp;#215;4 keypad and the separate hang-up button. Could I have used fewer boards? Yes. This is a modular breadboard prototype. Keeping the stations separate let me work on the keypad or display without rebuilding the rest of the controls. The trade-off is right there in the photos: more USB cables, more wiring, and more things to identify when a device reconnects. The LCD and LEDs also do different jobs. In Please Hold, the LCD keeps the call information visible while the LEDs show whether it’s safe to connect. I wanted the player to look between the screen and the equipment, rather than have every display repeat the same warning. Besides the four boards and iPad, the build uses an analog joystick, a potentiometer, a membrane keypad, two external push buttons, three LEDs, a two-pin buzzer, the LCD, the single-digit display, breadboards, jumpers and three USB data cables. There are ten nominal 330-ohm resistors: one for each LED and one for each of the seven display segments. The prototype buzzer branch has a 1-kilohm series resistor. The Pi has its own USB-C supply, and its USB ports supply the microcontroller boards. The joystick and potentiometer run from the ESP32’s 3.3 V rail. The LCD is on the Uno’s 5 V side. There isn’t a direct 5 V signal connection from an Arduino into the ESP32, and the final setup doesn’t use a 9 V battery. The control side of the prototype. The pin notes below are more useful for rebuilding it than trying to follow every overlapping wire in this photo. If you want to build one The build guide and wiring netlist are in the repository. Here are the connections in plain text too. Disconnect power before moving wires, and check the actual pin labels on your board. On the ESP32 , joystick VRx goes to GPIO32, VRy to GPIO33 and the joystick switch to GPIO27. The main button goes between GPIO25 and ground. Both switches use internal pull-ups. The potentiometer’s outer terminals go to 3V3 and ground, with the wiper on GPIO34. The firmware averages and smooths the knob reading. The green, yellow and red LEDs go to GPIO18, GPIO19 and GPIO23 respectively, each through its own 330-ohm resistor, with the cathode to ground. The buzzer branch used here is GPIO26 → 1 kilohm → buzzer positive, with the other lead to ground. I haven’t identified the buzzer’s exact electrical type, so check the requirements of your own part and use a suitable driver if it needs one. On the Uno , the LCD uses 5 V and ground, SDA on A4 and SCL on A5. This backpack is at address 0x27. I used Bill Perry’s hd44780 library, version 1.3.2. The 5161AS is common cathode. Looking at its front with the decimal point at bottom right, common pins 3 and 8 go to ground. Uno D2 through D8 drive segments a through g through seven separate 330-ohm resistors. In that order, the display pins are 7, 6, 4, 2, 1, 9 and 10. Decimal-point pin 5 isn’t used. For the Nano , hold the keypad facing you with the tail pointing down. Its eight contacts, left to right, connect to D2 through D9. My corrected firmware uses rows 9, 8, 7, 6 and columns 5, 4, 3, 2. That mapping is for this keypad; check every key on yours. The hang-up button goes between D10 and ground, with the internal pull-up enabled. The Uno and LCD. The keypad next to them is connected to the separate Nano. Flash the ESP32 with firmware/haunted_controller/haunted_controller.ino , the Uno with firmware/lcd_station/lcd_station.ino , and the Nano with firmware/keypad_station/keypad_station.ino . You’ll need the matching ESP32 and AVR board cores and the hd44780 library for the Uno. Connect all three boards to the Pi with USB data cables and identify their serial ports. Persistent /dev/serial/by-id/ paths help avoid mixing the boards up after reconnecting them. The stations communicate at 115200 baud. Run the bridge with your own device paths: python3 server.py --serial /dev/serial/by-id/YOUR_ESP32 --lcd-serial /dev/serial/by-id/YOUR_UNO --keypad-serial /dev/serial/by-id/YOUR_NANO Then open http://PI_LAN_ADDRESS:8765/ on the iPad or another device on the same local network. The server uses Python’s standard library. Node.js 22 or later is used for the software build and tests. Before playing, check the joystick directions, knob travel, buttons, individual LEDs, readable LCD text, digits 0–9 and every keypad key. The game has controller settings and output tests to help with this. Run joystick direction learning on each browser you use, since the calibration is stored separately. If you just want to try the games, the public browser version has keyboard and touch controls. It runs on your own device and doesn’t connect to my physical console. The bits that fought back The LCD was a good reminder that a backlight doesn’t mean the display is working. Loose connections could leave it lit or showing blocks. Later, its I2C address would respond while initialization still failed. The library’s automatic instance search was advancing across retries, so explicitly setting the known 0x27 address fixed that retry problem. Reporting the I2C status and initialization status separately made it much easier to tell what was happening. The keypad was backwards in software at first. Pressing 1, 2, 3, 4 gave me D, C, B, #. Changing the row and column mapping fixed the decoding without having to reverse the assembled wiring again. I also had the seven-segment wires on the wrong Arduino. It was sitting near the Nano, but the display code was running on the Uno. Moving the wires to the right board and completing the ground connection got the digit test working. There was a Pi USB host-controller fault too: the ESP32 and Uno disappeared while the Nano stayed connected. A clean reboot brought all three back. The kernel reported the controller failure, but I haven’t established what caused it. The software currently passes all 30 automated tests. Those cover the arcade rules, display behavior and the telephone game, including a simulated six-caller run. Browser checks also reached the ending and exercised pause, saving and small-screen layouts. I keep those separate from physical testing: a passing test doesn’t tell me whether a breadboard wire is loose. There’s still stuff I’d improve. A labelled enclosure and better connectors would make this much easier to move around. I’d also identify the buzzer properly, measure current and response time, retain a complete all-key check, and put the console through longer physical sessions. For now, I’m happy that the same collection of parts can be a flight game, a crypt-breaking game, a ghost chase, a radio and a haunted switchboard. It’s a slightly ridiculous amount of wiring for a Halloween arcade, but that’s also been a big part of the fun. If you try it, I’d like to know which game you get stuck on first. Project video &amp;#183; Play Dead Channel &amp;#183; Code and build files Built by Adriel Magalona. Browser audio is procedural. Thanks to the Arduino and ESP32 toolchain authors and Bill Perry for the hd44780 library. Project resources Dead Channel — project demonstration Playable browser edition Source code, firmware and build documentation Portable build guide Pin-level wiring netlist Validation record Library acknowledgement Bill Perry / duinoWitchery — hd44780 LCD library , version 1.3.2 used in this build.</description><category domain="https://community.element14.com/challenges-projects/halloween/tags/esp32">esp32</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/halloween">halloween</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/halloween%2bhackathon">halloween hackathon</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/halloween%2b2026">halloween 2026</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/spooky">spooky</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/raspberrypi">raspberrypi</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/Trick%2bor%2bTreat">Trick or Treat</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/arduino">arduino</category></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238845</link><pubDate>Fri, 30 Oct 2026 18:36:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:49647761-d431-45f7-818c-0846b323a7a6</guid><dc:creator>cstanton</dc:creator><description>I hope that&amp;#39;s a congrats moment!</description></item><item><title>File: This Way Up | Animated Short Film | Nexus Studios</title><link>https://community.element14.com/challenges-projects/halloween/m/managed-videos/151966</link><pubDate>Fri, 30 Oct 2026 18:10:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:0d68a2be-9ec3-41c3-b7fb-b8eadfac8752</guid><dc:creator>beacon_dave</dc:creator><description>Laying the dead to rest has never been so much trouble. This animated caper is a series of emotional and literal pitfalls for the pall-bearing team, as their journey and relationship unravel on an epic scale culminating in the pair joining an old ...</description><category domain="https://community.element14.com/challenges-projects/halloween/tags/nexus%2banimations">nexus animations</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/cgi%2banimated%2bshort%2bfilm%2bhalloween">cgi animated short film halloween</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/smith%2band%2bfoulkes%2bthis%2bway%2bup">smith and foulkes this way up</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/animated%2bshort%2bfilm%2bfunny">animated short film funny</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/this%2bway%2bup%2bshort%2bfilm">this way up short film</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/animated%2bshort%2bfilm%2bhalloween">animated short film halloween</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/cgi%2banimated%2bshort%2bfilm">cgi animated short film</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/smith%2band%2bfoulkes">smith and foulkes</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/animated%2bshort%2bfilm">animated short film</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/smith%2b_2600_amp_3B00_%2bfoulkes">smith &amp;amp; foulkes</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/smith%2band%2bfoulkes%2banimation">smith and foulkes animation</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/nexus%2bstudios%2bshort%2bfilm">nexus studios short film</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/animation%2babout%2bfuneral">animation about funeral</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/cgi%2banimation">cgi animation</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/short%2banimated%2bfilms">short animated films</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/this%2bway%2bup%2bsmith%2band%2bfoulkes">this way up smith and foulkes</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/halloween%2bshort%2bfilm">halloween short film</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/short%2bfilm%2banimation">short film animation</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/nexus%2bstudios">nexus studios</category><category domain="https://community.element14.com/challenges-projects/halloween/tags/spooky%2banimation">spooky animation</category></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238842</link><pubDate>Fri, 30 Oct 2026 18:09:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:474a6ad3-31a3-40e4-a500-e3ac22dc5a7f</guid><dc:creator>beacon_dave</dc:creator><description>[quote userid=&amp;quot;503895&amp;quot; url=&amp;quot;~/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates&amp;quot;]Does anyone have any Halloween plans?[/quote] I might risk tuning into the news channel... It&amp;#39;s usually enough to &amp;#39; scare the willies &amp;#39; out of anyone these days... Happy Weekend ! &amp;#39;This Way Up&amp;#39; (Animated Short Film) https://www.youtube.com/watch?v=2o9lvEQa2OA</description></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238841</link><pubDate>Fri, 30 Oct 2026 17:32:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ab6ff432-0aaf-403b-99c3-cfa7291bc120</guid><dc:creator>arvindsa</dc:creator><description>Well, I wanted to make a blog, but I guess I&amp;#39;ll say it here. Ive got a new job, moved to a new city and looking forward to having some fun here.</description></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238839</link><pubDate>Fri, 30 Oct 2026 17:22:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:b16f3979-06e7-45cf-818d-341e6bbc43fc</guid><dc:creator>cstanton</dc:creator><description>[quote userid=&amp;quot;503895&amp;quot; url=&amp;quot;~/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates&amp;quot;]Does anyone have any Halloween plans?[/quote] Maybe play games where they have Halloween events going on, Deep Rock Galactic typically does, I know Red Dead Redemption 2 (or Red Dead Online) does, and maybe some other games too. There are a few movies I should catch up on.</description></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238836</link><pubDate>Fri, 30 Oct 2026 15:15:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:639e9651-f882-4339-81bf-c88898b9b63f</guid><dc:creator>JoRatcliffe</dc:creator><description>Brilliant, can&amp;#39;t wait!</description></item><item><title>Forum Post: RE: Happy Halloween! Any plans or project updates?</title><link>https://community.element14.com/challenges-projects/halloween/f/forum/57400/happy-halloween-any-plans-or-project-updates/238835</link><pubDate>Fri, 30 Oct 2026 14:45:00 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:d2efb200-1dfe-4679-b5f0-d36a2b873484</guid><dc:creator>arvindsa</dc:creator><description>Make Sure you got a lot of popcorn, It is one amazing movie.</description></item></channel></rss>