Home > Firmware, Hardware, News & Rumors, Projects / Repairs, Sid Player, Today, Various > STM32F401CCU6 (Arm Cortex MCUs) SID Player by Bakisha

STM32F401CCU6 (Arm Cortex MCUs) SID Player by Bakisha

STM32 (Arm Cortex MCUs) SID Player by Bakisha

STM32 (Arm Cortex MCUs) SID Player by Bakisha.

SID chip (6581 and 8580) and 6502 CPU emulator for STM32 (Arm Cortex MCUs). Compiled with Arduino IDE and uploaded with ST-LINK V2.

NOTE:

I have added to the original code of Bakisha the visualization of the 3 SID voices via 3 x Green LED.

Useless to write more about this, watch the video and the photos.

Special thanks goes to Bakisha for his work.

Components used for this project:

  • 1 x BreadBoard.
  • 1 x STM32F401CCU6 (STM32 Black Pill) or STM32F407VET6
  • 18 x BreadBoard jumper.
  • 1 x SD Card Module.
  • 3 x Green LED.
  • 1 x Resistor (100 Ohm)
  • 1 x Capacitor (100 nF)
  • 1 x Capacitor (10 uF – 16v)
  • 1 x Potentiometer (10KOhm)
  • 1 x Jack Audio 3.5 Female.

You can found the schematic here.

Gallery:

Video:

source: github.com/Bakisha/STM32-SID-PLAYER

  1. Manuel
    November 24th, 2020 at 14:13 | #1

    Hi,

    Very good job, just a question what are the references of your Arduino STM32 board and your SD Card board
    Best regards
    Manuel

  2. November 25th, 2020 at 00:31 | #2

    @Manuel

    Sorry, components list added to the post.

  3. Doug Venner
    August 28th, 2021 at 12:57 | #3

    Is the code to add the 3 led’s available?

  4. August 28th, 2021 at 13:08 | #4

    @Doug Venner

    Unfortunately not,. but it’s very simple, here is the “patch” for the leds.

    *** z_SetupLoop.ino

    below: if (VIC_irq_request == 0) {

    ->

    #ifdef USE_LED_VOICE

    if (Gate_bit_1) {
    digitalWrite(LED_VOICE_1, HIGH);
    } else {
    digitalWrite(LED_VOICE_1, LOW);
    }

    if (Gate_bit_2) {
    digitalWrite(LED_VOICE_2, HIGH);
    } else {
    digitalWrite(LED_VOICE_2, LOW);
    }

    if (Gate_bit_3) {
    digitalWrite(LED_VOICE_3, HIGH);
    } else {
    digitalWrite(LED_VOICE_3, LOW);
    }
    #endif

    *** STM32SID_FOLDER_PLAYER_SDCARD_BUTTON3.ino

    // #define USE_LED_VOICE // enable LED voices on PA2 – PA3 – PA4 – STM32F401CCU6
    // enable LED voices on PB5 – PB7 – PB9 – STM32F407VET6

    // #define LED_VOICE_1 PA2 // STM32F401CCU6
    // #define LED_VOICE_2 PA3 // STM32F401CCU6
    // #define LED_VOICE_3 PA4 // STM32F401CCU6

    #define LED_VOICE_1 PB5 // STM32F407VET6
    #define LED_VOICE_2 PB7 // STM32F407VET6
    #define LED_VOICE_3 PB9 // STM32F407VET6

    *** 20_hardware.ino

    below:

    #ifdef BUTTON_NEXT
    pinMode(BUTTON_NEXT, INPUT_PULLUP);
    #endif

    ->

    #ifdef USE_LED_VOICE
    pinMode(LED_VOICE_1, OUTPUT);
    pinMode(LED_VOICE_2, OUTPUT);
    pinMode(LED_VOICE_3, OUTPUT);
    #endif

  5. Doug Venner
    August 28th, 2021 at 19:17 | #5

    Thanx, will give it a try!

*