Branko Simic
Branko Simic
  • 10
  • 15 189
STM32SAM - SAM - Speech Synthesizer on STM32F103C8 ( Arduino IDE )
Another fun weekend audio project. This time, an retro Software Automated Mouth ( SAM ), a library for STM32 lines of microcontrollers, supported by Arduino IDE.
Audio output on pin PA8 (low pass filter recommended).
This is port from : github.com/s-macke/SAM
Please visit it for details of SAM's possibilites.
Source code at my github:
github.com/Bakisha/STM32SAM
Usage:
Download library, unpack, remove "-master" from folder name, and copy it to "Arduino/library" folder.
มุมมอง: 1 660

วีดีโอ

STM32 SID PLAYER - doing LCD ST7735 "Amiga Ball Multi" while playing Monty on the Run
มุมมอง 9004 ปีที่แล้ว
New version of player, capable of doing SID and 6502 emulation in background, while sketch run in main loop. Quickly wired SPI LCD and slapped buzzer on PA8 for quick testing :-) Source code: github.com/Bakisha/STM32-SID-PLAYER/tree/master/IRQinternal/ST7735_AmigaBallMulti_Monty_on_the_Run Original sketch (and library for ST7735 LCD for bluepill) can be found at: github.com/cbm80amiga/Arduino_S...
STM32 SID SD Card Player - with STM32F103C8 (blue Pill)
มุมมอง 2.7K4 ปีที่แล้ว
SID chip and 6502 CPU emulation and audio generation using (but not limited to) Blue Pill (STM32F103C8). Compiled with Arduino IDE and uploaded (in my case) with ST-link (because i broke micro-USB on only Blue Pill i have that can be overclocked). Source code: github.com/Bakisha/STM32-SID-PLAYER Project continues. Now, sid files are loaded from sd card's and played at alphabetical order. Next t...
STM32 SID Player - with STM32F103C8 ( Blue Pill ) and Arduino IDE
มุมมอง 2.7K5 ปีที่แล้ว
SID chip (6581 and 8580) and 6502 CPU emulator, with audio output on pin PA8, for STM32 line of microcontrollers, compiled with Arduino IDE, uploaded with ST-LINK V2. Source code: github.com/Bakisha/STM32-SID-PLAYER My personal project that i was having fun for some time now. Mainly done for STM32F103C8 (Blue Pill). Should work with other STM32 microcontrollers that Arduino IDE support. Tested ...
USCL - A library for LED cubes from 1x1x1 to 32x32x32 RGB / Single Color LED Cubes
มุมมอง 6165 ปีที่แล้ว
USCL - Universal Serial Cube Library - A library for LED cubes from 1x1x1 to 32x32x32 RGB / Single Color, for various microcontrolers, including (but not limited to): Arduino family, STM32 (Bluepill - stm32f103c) and ESP8266 (Wemos D1 Mini) Library link: github.com/Bakisha/USCL Download, and place it in your arduino/library folder (remove "-master" from folder name). Animation in "examples" fol...
LED CUBE 8x8x8 with Arduino NANO (with code)
มุมมอง 2.6K6 ปีที่แล้ว
My 8x8x8 LED cube Hardware: 9x 74HC595, 1x ULN2803 , 64 Resistors, Arduino NANO, single side PCB, designed in Fritzing Software: Using Universal SR driven 4x4x4 to 8x8x8 LED cube library : forum.arduino.cc/index.php?topic=336469.0 Code and PCB design: github.com/Bakisha/LED_cube_8x8x8 Music: LED DRIVER by HIGHPROGRESSIVE
ICS Neo2Play V2.7
มุมมอง 3.6K10 ปีที่แล้ว
[ROM][ICS][4.0.4][GSM][MOD][PLAY/NeoL] Neo2Play V2.7 - Aroma installer - [15.06.2014] ICS Neo2Play V2.7 forum.xda-developers.com/showthread.php?t=2283653 Installation for unlocked bootloader -Flash 4.0.2.A.0.79 firmware (need to do it only once, skip this step if your vendor partition is unlocked already) -Flash Lupus ICS/GB V7 480p or Lupus ICS/GB V7 720p -Enter CWM and flash Neo2PlayV2.7.zip ...
Čeda Grebator
มุมมอง 8612 ปีที่แล้ว
Zverka opaka
oscilator with inverter in theory
มุมมอง 18012 ปีที่แล้ว
Simple oscilator with unbuffered inverter Using java simulator applet from www.falstad.com
Mass Effect 3 HD Test MAM
มุมมอง 4712 ปีที่แล้ว
First upload, FullHD test, Recorded with Fraps, Converted with Pazera Video Converters Suit Media info : General Format : AVI Format/Info : Audio Video Interleave File size : 59.9 MiB Duration : 1mn 34s Overall bit rate : 5 338 Kbps Writing application : Lavf52.104.0 Video ID : 0 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L4.0 Format settings, CABAC : Yes Format setti...

ความคิดเห็น

  • @tb303wpf1
    @tb303wpf1 5 หลายเดือนก่อน

    Great demonstration! How do you set the output pin for PWM? Does the SAM library choose one automatically?

    • @bakisha
      @bakisha 5 หลายเดือนก่อน

      Output is fixed to PA8 because on almoust all STM32 boards it's default output for timer 1, channell 1. It can be edited to use different pin.

    • @tb303wpf1
      @tb303wpf1 4 หลายเดือนก่อน

      Oh I see that's awesome. I got this to work on some blue pill boards that I had in my shop. I wonder if the timer could be adjusted so that this would work on an ARM board. I've got some SAMD21 and SAMD51 boards laying around. Since those have DAC's I could forgo the RC lowpass filter. Thanks for this library sir! I really appreciate it.

    • @bakisha
      @bakisha 4 หลายเดือนก่อน

      @@tb303wpf1 It shouldn't be that hard to change it. Just change in STM32SAM::begin to pinMode(pin, OUTPUT) and STM32SAM::SetAUDIO to analogWrite( main_volume).

    • @tb303wpf1
      @tb303wpf1 4 หลายเดือนก่อน

      Nice! Thanks for the info brother. I'm going to give that a try after I finish debugging this code I'm working on now. Man hearing this SAM talk reminds me of being a kid again. I absolutely love this library. If I get it working on the ARM boards I'll send you a copy of the modified library in case you want to play around with it.

  • @marulisiregar-u1n
    @marulisiregar-u1n 10 หลายเดือนก่อน

    very nice,I want to make it like yours, and I have downloaded the file you shared. but I'm confused what is the difference between v1 and v2? Thank You

    • @bakisha
      @bakisha 10 หลายเดือนก่อน

      In V2 hardware i swaped OE nad LE pins placement because i rotated Arduino Nano 180 degrees on pcb (plus some other cosmetic changes). But it is same thing. Also, i added few animations in V2 software. I'll add picture of V2 to github.

    • @marulisiregar-u1n
      @marulisiregar-u1n 10 หลายเดือนก่อน

      ​@@bakisha noted,thankyou for help

  • @brazagan-jq7se
    @brazagan-jq7se 10 หลายเดือนก่อน

    If I use a transistor for the ULN2803 IC, do I have to edit the code?

    • @bakisha
      @bakisha 10 หลายเดือนก่อน

      No, no need to change the code. You could use 8 NPN transistors. Just don't forget to add resistors for the base of transistors.

    • @brazagan-jq7se
      @brazagan-jq7se 10 หลายเดือนก่อน

      Thank you for replying to my comment 🙏🙏🙏. I've tried using a transistor, but haven't attached the resistor to the base and the animation is not the same as in your TH-cam video. is that what caused it?

    • @bakisha
      @bakisha 10 หลายเดือนก่อน

      @@brazagan-jq7se Resistor is to protect 74HC595 output pin (ULN2803 have one built-in). There are two versions of animations on github, i can't recall which one i used for this video. First one, i guess...

    • @brazagan-jq7se
      @brazagan-jq7se 10 หลายเดือนก่อน

      @@bakisha noted,i will try add resistor and thankyou so much

    • @brazagan-jq7se
      @brazagan-jq7se 10 หลายเดือนก่อน

      ​@@bakisha Is there a way to adjust the brightness of the LED? I've made exactly what you've made, but the LED doesn't look bright enough.

  • @borayurt66
    @borayurt66 ปีที่แล้ว

    Can this project be turned into a low cost SID replacement for C64?

    • @bakisha
      @bakisha ปีที่แล้ว

      In theory, yes. It won't be best SID emulation like ArmSID, but it would do the job. Check github.com/Sgw32/UltiSID/tree/hal_usid , that guy tried, i don't know the details. I was thinking to try it with WeAct board with STM32G431CBU6, it had 12bit DAC, and is cheap enough to try and mess around with it.

    • @borayurt66
      @borayurt66 ปีที่แล้ว

      @@bakisha I think it is worth a shot because SwinSID is still selling and it is terrible. ArmSID is good but it sells almost for the price of a real 8580. There is a huge market gap for something that costs similar to a SwinSID but performs better. Doesn't need to be as good as ArmSID (even that has tiny glitches) as long as it is significantly better than SwinSID (not a hard competition there) it will do very well in the C64 community.

    • @bakisha
      @bakisha ปีที่แล้ว

      @@borayurt66 I don't think ArmSID is expensive (i can't cay about shipping costs), considering time and effort put in designing and manufacturing hardware, plus software is still getting upgrades. I don't say it can't be done, but surely i am not able to do it. This (and all my other projects), are just messing around on breadboard with cheap chinese modules. And i'll support anyone who tries it. At least, moral support, financial support is not my thing 🙂

    • @talideon
      @talideon ปีที่แล้ว

      ​@@borayurt66If you can get a SID for the same price as an ArmSID, you've _very_ lucky! I see SID chips going for about 80EUR+, while the ArmSID varies between 35EUR and 45EUR.

  • @zero-x-music
    @zero-x-music ปีที่แล้ว

    Are any 32x32x32 LED cube kits available? Can't find any online.

    • @bakisha
      @bakisha ปีที่แล้ว

      Biggest cube i could find is 16x16x16. In theory, for single color 32x32x32 you'll need 32768 leds, 132 74HC595 and 32 p-type mosfets. But 4x4x32 is quite possible...

  • @rizwanahmedkhan2246
    @rizwanahmedkhan2246 2 ปีที่แล้ว

    can it play mp3 files?

    • @bakisha
      @bakisha 2 ปีที่แล้ว

      No

    • @rizwanahmedkhan2246
      @rizwanahmedkhan2246 2 ปีที่แล้ว

      @@bakisha can you suggest me any tutorial. I want to build an mp3 player using stm32

  • @martinquevedo2608
    @martinquevedo2608 3 ปีที่แล้ว

    Hello! I'm just trying to write and read something from a microSD module with a Blue Pill and I couldn't find an example code. Do you have something like that, please? I made the connections to PA7, PA6, PA5 and any pin for CS, like you said. Thank you in advance!

    • @bakisha
      @bakisha 3 ปีที่แล้ว

      If you want to use built in Arduino SD library, go to File>Examples>SD from Arduino IDE menu. Tutorial how to use is at www.arduino.cc/en/Reference/SD . In this project, i used SdFat library from github.com/greiman/SdFat (try example from github.com/greiman/SdFat/blob/master/examples/OpenNext/OpenNext.ino ). It should work on both ( stm32duino or Roger's ) cores. Your pinout is good, but i think with built-in SD library you need to manually set CS pin LOW before accessing sd card.

  • @keithlegg7681
    @keithlegg7681 3 ปีที่แล้ว

    Half my childhood built in 25 dollars of off the shelf hardware. Much respect!

  • @Aomedmon
    @Aomedmon 4 ปีที่แล้ว

    So cool! I really love this, great work!

    • @bakisha
      @bakisha 4 ปีที่แล้ว

      Thank you. I was really having fun while doing this project :-)

  • @rappepa7554
    @rappepa7554 4 ปีที่แล้ว

    Thanks, got IRQ version working pretty ok. Much better than an atmega version I used before, that could only play register dumps so only small pieces

  • @essouaiedameur7642
    @essouaiedameur7642 4 ปีที่แล้ว

    hello i am intersted in using SD shield for my project, my old version of the project was by arduino i only had to define SPI.h and SD.h wish didn't work using the STM32. i think cause there are 2 SPI ports how can i define the one i am using ..

    • @bakisha
      @bakisha 4 ปีที่แล้ว

      Default pins for SPI1 on bluepill is MOSI: PA7, MISO: PA6, CLK: PA5. CS can be any pin.

    • @essouaiedameur7642
      @essouaiedameur7642 4 ปีที่แล้ว

      @@bakisha thanks alot my friend but is there anything i have to add to my code includes ? I mean Except spi.h and sd.h ?

    • @bakisha
      @bakisha 4 ปีที่แล้ว

      @@essouaiedameur7642 you'll need to include SD.h. just look at examples for stm32 cores.

  • @Noplan
    @Noplan 4 ปีที่แล้ว

    Awesome! I have to come back to that.

  • @5VoltChannel
    @5VoltChannel 4 ปีที่แล้ว

    Very cool. 👍👍

  • @rodrigocorbera4583
    @rodrigocorbera4583 4 ปีที่แล้ว

    I liked it! Cool!

  • @bwack
    @bwack 4 ปีที่แล้ว

    Great work !! Oo, recently I've been very interested in stm32. Fake6502.c sounds really interesting. This project is running the fake6502 emulator ?

    • @bakisha
      @bakisha 4 ปีที่แล้ว

      Sorry, somehow i missed to see your comment. Yes, it is running fake6502 emulator. Emulation is slower compared to real C64, but it is executing only code that is needed in interrupt routine of real C64 (music subroutine that is called once every 20mS) . It is somehow "stretched", but it fast enough to do both 6502 and SID emulation, and only purpose is to play sid files (which is just custom code that store values to $D4xx memory area). Emulator is instruction based, not cycle based, so exact timing of writing to $D4xx is incorrect, but, as you see, it plays music fine. Not as real SID, but it sound enough "SID-ish" to me.

  • @ZElTGElST
    @ZElTGElST 4 ปีที่แล้ว

    Lovely project!!. I have been in your github looking at the code/schematics and it looks fantastic. I have been doing something similar with the Megadrive FM chip, but using the actual chip, in my channel (look for OPERA ROTAS) Now I would love to do the same but implementing an emulator in the bluepill or the blackpill. Do you know of any yamaha FM emulator that could be runnable on that boards? Gonna take a look at the rest of your channel. Thanks for sharing that ;D

    • @bakisha
      @bakisha 4 ปีที่แล้ว

      Hi. Unfortunately, I am not familiar with any inner working of sample based chips, nor any emulators for them. I am not even familiar with stuff in music synthesizers, but I do like the sound of it. Feel free to use any code from this project in your projects, if you think it's usefull. This project was possible for me only because I once had c64, so I had idea how to implement it with hardware timers and interrups on stm32. Every synth I found on Internet used sample buffered output, and that was something I couldn't get my brain to understand. But i'll keep an eye on your projects, they are quite interesting.

  • @marklee1907
    @marklee1907 4 ปีที่แล้ว

    Thank very much for your help, I take incorrect information form youTube, Now I according to your board data , Cube run normal , Thanks

  • @marklee1907
    @marklee1907 4 ปีที่แล้ว

    `Hi, when I run the software, the cube full light without any response, Can you give me advise?

    • @bakisha
      @bakisha 4 ปีที่แล้ว

      I can't help much. Check your hardware. Is Latch and Output Enable pin properly set in sketch? Is layer's 595 first or last in line?

  • @marklee1907
    @marklee1907 4 ปีที่แล้ว

    Thank you very much for your fast response, After install the New LedCube.zip, normal.

  • @marklee1907
    @marklee1907 4 ปีที่แล้ว

    Hi, When I upload the software (8x8x8_LED_595_CUBE_V2)to UNO ( Arduino 1.8.12), 'class LedCube' has no member named 'getCubeSize' (y = random(cubeRef.getCubeSize());) error , Pls , Can you give me some advise.

    • @bakisha
      @bakisha 4 ปีที่แล้ว

      Did you download library "LedCube.zip" from the link in the description ? Not "LedCube(old V3.0).zip" (that is old library). I just tried it, it compiled fine (Arduino IDE 1.8.12)

  • @sgw32
    @sgw32 4 ปีที่แล้ว

    I'll schedule my next project - "bluepill2SID" adapter :D NIce job!)

    • @bakisha
      @bakisha 4 ปีที่แล้ว

      Thanks and good luck with your project :-)

  • @C32-d5j
    @C32-d5j 4 ปีที่แล้ว

    nice!

  • @cbm80amiga
    @cbm80amiga 4 ปีที่แล้ว

    Great project! I will have to play with SID player too.

    • @bakisha
      @bakisha 4 ปีที่แล้ว

      I'm glad you like it :-) Still have few stuff to add, but mostly to player's code, SID emulation code is already as best as i can. Maybe adding LCD for showing sid file info, or file manager to select file from sd card. Or both, just like in your videos :-)

    • @cbm80amiga
      @cbm80amiga 4 ปีที่แล้ว

      @@bakisha I wanted to use my protoboard with ST7735 (look at my channel for more details) which already has SD socket for displaying some menu, maybe even equalizer bars :)

    • @bakisha
      @bakisha 4 ปีที่แล้ว

      @@cbm80amiga Yeah, i also have ST7735 with SD on protoboard, and i tested almoust all codes from your github (thanks again for sharing) . The problem is that once sid file is playing, there is very little time for CPU to do anything else. SID emulation is all done in interrupts, while 6502 emulation is done in main loop (and is very often interrupted by interrupt). There is small time (around 7mS, every 20mS) when 6502 emulation is not running, but that is very little time for LCD to show heavy anymation (because it is still interrupted by interrupt). Overclocking bluepill helps a lot, but for now, i'm using that speed boost to improve sound quality of SID emulation (meaning interrupts are triggered more often). LCD is on my TODO list, for now i'm focused on improving (and simplifing) code for file loading .

    • @cbm80amiga
      @cbm80amiga 4 ปีที่แล้ว

      @@bakisha Good to know. I expected that this emu stuff takes most of MCU time. Very nice project. Good luck with improvements! Did you consider to use other cheap MCU like ESP8266 which has little more resources?

    • @bakisha
      @bakisha 4 ปีที่แล้ว

      @@cbm80amiga ESP8266 have lot of RAM and CPU power, but unfortunately it doesn't have hardware PWM. And with Bluepill's hardware PWM it can go down to 1/72 microseconds pulse on a pin. Some lowpass filter on output, and it is as true analog output.

  • @stefankrause5138
    @stefankrause5138 5 ปีที่แล้ว

    Sounds great! I have just tried to get it working, but something's wrong, maybe you can help me. For Arduino IDE 1.8.10 I installed the STM32duino.com-Boards and selected STM32F103C. I've sucessfully tested it uploading the blink-sketch. So this side works so far (USB2Serial->TXD,RXD). I have downaloaded the zip-file from github.com/Bakisha/STM32-SID-PLAYER. I have unZIPed it and opened it in the arduino-library. It opens all files as tabs, but compiling it aborts with the following error (refering the main-file): 'HardwareTimer* PWM' redeclared as different kind of symbol When I just comment out this line, the next error is (refering to the main-loop in main-file:) 'PB12_HIGH' was not declared in this scope What am I missing?

    • @bakisha
      @bakisha 5 ปีที่แล้ว

      Wrong core. Set in preferences: github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json and search for stm32 in board manager. At first, i used that core , but i switched because it supports more boards. I'll look into source code again, most of code for dan.drown.org/stm32duino/package_STM32duino_index.json core is there, just commented out because i switched cores (and i like it because it can overclock). I am just little confused of naming "stm32duino", they both use same name

    • @bakisha
      @bakisha 5 ปีที่แล้ว

      I have updated source code, it can be compiled now for cores with Maple bootloader

    • @stefankrause5138
      @stefankrause5138 5 ปีที่แล้ว

      Thanks!!! It's working now! Cool Project!

  • @branna40
    @branna40 6 ปีที่แล้ว

    Good job

  • @MadMax-sn7wk
    @MadMax-sn7wk 6 ปีที่แล้ว

    Svaka čast. Ko ti je lepio staklo?

  • @M00nban3
    @M00nban3 10 ปีที่แล้ว

    May i ask where do i get the kernel? all i can seem to find is v12 at wedges, but no v7.. Great post hough

    • @bakisha
      @bakisha 10 ปีที่แล้ว

      You can find Lupus ICS/GB v7 kernel at forum.xda-developers.com/showthread.php?t=2167766 It will work with Lupus ICS v12 kernel and even with Doomlord's ICSbeta V3 kernel. Or if you want Doomlord's ICS v3 or Lupus ICS v12 with custom partitions size (custom=same as Lupus ICS/GB v7) you can try kernels at forum.xda-developers.com/showthread.php?t=2637637 This ROM work on all ics-beta based kernels (even work with turbo kernel, but in turbo-kernel video and photo camera don't work)