Close
0%
0%

Halloween talking clock based on Rpi Pico

Halloween talking clock that plays sounds every O’clock hour. Only a few external components (easy to source and solder) needed.

Similar projects worth following
Halloween talking clock that plays sounds every O’clock hour. Only a few external components (easy to source and solder) needed. The single side board could be manufactured at home. Very customizable project than involves multiple knowledge areas (STEAM): Electronics, programming, woodworking, arts, etc.

Key features:

  • Two versions of the (almost) same application: One developed in CircuitPython and the other in the C/C++ SDK.
  • Compatible with the most common operating systems.
  • No need to install apps for initial firmware download
  • There’s no need to recompile code (in the app developed in CircuitPython) to change sounds
  • Up to 3 years in standby mode using a pair of AA batteries.
  • Easy to source, and solder components.

  • 1
    Software:

    Right after power on, Rpi Pico puts a low level on the GPIO that is wired to the power circuit to keep it powered, then decides which file should be played, and after the sound finishes, a high level is put on the GPIO powering off the Pico. Additionally a light sensor is read to not play sound when is dark (night).

    Sound files are played sequentially, one by one on each power on. A pointer to the next file is stored in nonvolatile memory, be carefully modifying the program to keep writing at a minimum.

  • 2
    PECULIARITIES OF THE SDK C/C++ VERSION:

    Sounds to be played must be converted first to WAV format 16 bit mono @ 44100 Hz, then converted to C arrays[] before compiling. The application uses a PWM via digital output and interrupts to play sounds.

    The program execution starts almost immediately after power on. The main disadvantage of the application for now, it only supports .WAV files which are big, and cannot be changed without recompiling code

  • 3
    PECULIARITIES OF THE CIRCUITPYTHON VERSION:

    Sounds to be played must be converted to MP3 mono format, The app uses audiomp3 and audiopwmio modules to output audio out of a digital pin (PWM). These files are stored in the filesystem provided by CP, so modifying them is straightforward, just drag and drop.

    MP3 files can store about 10 more sound time than WAV for the same file size, however CircuitPython runtime execution takes more than a second after power on, so probably it won’t be a good thing for any kind of final application

View all 9 instructions

Enjoy this project?

Share

Discussions

Does this project spark your interest?

Become a member to follow this project and never miss any updates