The Christmas SID is based on the STM32 SID Player by Bashika. We became aware of this project several months back and really wanted to use it for something. We have also long wanted to make a Christmas ornament, so we put the two together and came up with the Christmas SID!
-STM32F401CCU6 ARM CPU @ 84MHz – 60.9K Free to load SID files
-7 Dual Color LEDs with 3 different fire modes and 11 different Mantle Light Patterns
-4 Capacitive Touch Buttons to control SID Playback and Lighting Modes
-28mm Speaker with 2W Class D Amplifier and Volume Control
-Includes a 1GB SD card with 20 Christmas Songs installed
-Add your own SID files to the Root, there is Plenty of Free Space
-Runs on two AAA Batteries for Portable Use – Batteries Included!
There are four capacitive touch sensors which serve as buttons on the Christmas SID. Three of them are on the main red board below the previous, next & play/pause buttons. The fourth button is on the center of the flame. The follow functions are present in the code from the STM32 SID Player. I left them all in-tact, but items marked (*) below will have no function.
Taps Previous Play/Pause Next
1 Play Previous Tune Play / Pause Toggle Play Next Tune
2 Play Previous File Restart Tune Play Next File
3 *Play Previous Folder Restart Tune’s Time *Play Next Folder
4 *Play First Folder of Playlist *SID INFO *Play Last Folder of Playlist
5 *HELP *HELP *HELP
hold Channel 1 OFF Channel 2 OFF Channel 3 OFF
We added the code for the forth button on the flame to change the lighting modes
Taps Light Control
1 Change Mantle Pattern/Off
2 Change Fire Pattern/Off
3 All off/on
The STM32 SID Player is a software-based emulation program which emulates a 6502 CPU and the SID chip itself. It uses a STM32F401CCU6 ARM CPU. The software loads a .SID file into memory and begins to play it. Files with digital samples are not supported, and some files may not playback correctly, at full speed or at all. The emulation is certainly not exact, but it does make a good attempt. We added code to the original build above to control the LEDs and the fourth button. If you want to make changes to the code in anyway, feel free!
GitHub Link STM32 the Sid Player: https://github.com/Bakisha/STM32-SID-PLAYER
GitHub Link for Christmas SID: https://github.com/texelec/ChristmasSID
-There is an adjustment for the capacitive sensors on the back. If issues are encountered registering pushes, try adjusting the sensitivity.
-The flame may be removed from the board, and it will continue to operate correctly. It will also draw less power.
-The lower you keep the volume, the longer the batteries will last.
-If you add the optional DC power jack, do not supply more than 3.3V or damage may occur. Polarity is center positive. Cut BR1 if installed.
-A few times during development, the board completely locked up. I have been trying to isolate why, but I have been unable to reproduce the problem with any consistency. It may be because the LED update routines are stealing too much CPU, but it’s a hard lock so I do believe it is related to the original code in some way.
We hope you like the Christmas SID Player and Have a great Holiday Season and have a great New Year!