More info about the hardware?

edited January 2013 in General
Hello. I'm very excited about this project!

Since I've got a few projects of my own brewing, I'm curious exactly which microcontroller you're using, and maybe some reasons why you picked this one over the others? Actually I'd really just love more info about the hardware if you want to give any out :)
«1

Comments

  • The whole thing started out when I was toying around with a STM32F4 discovery board about a year ago. First I wanted to make a dev board based synth, untill I read the license agreement from ST. Apparently you are not allowed to do anything with the discovery boards apart from looking at them :(

    At this point I was allready way too deep into the project to change the uC.
    So I designed my own STM32F4 mainboard and added 2 stereo codecs. These mainboards containing all the SMD parts will be pre-fabricated and allready populated.

    I chose the cortex m4 because it's quite cheap, got plenty of power (196MHz/ 32Bit) and has an open toolchain (one of the argument against using a sharc DSP or similar). Also the 2 I2S interfaces come in handy to connect the codecs (CS4344)

    I think the M4 is a good tradeoff between features and price.
    A cortex A8 like the beagleboard would have been nice, too, but with ~30$ a chip too expensive as i wanted to keep things cheap. Also I''m not too firm in high speed PCB layouts ;)

    The frontpanel contains an 'oldschool' DIP AVR. This uC is responsible for all the front panel stuff and SD card handling. The cortex is really busy calculating voices and the sequencer, so there is not much room to do SD card loading and LCD communication there. This ensures that you won't have to stop playback for any action.
    The worst that can happen is that the UI freezes for some seconds while a pattern bank (8 patterns x 7 tracks x 128 steps) is saved, but the cortex is happily playing along in the background. Patch load/save is working without interruption.

    schematics will be available once th e project is published.
  • edited January 2013
    Will there be knobs on front panel so individual drum sounds can be tweaked ? or just buttons for step sequencer and diving in to some kind of edit menu ?
  • I was looking at those exact ones myself -- especially cos you can get them with 2 megs of Flash which just might be enough for sample storage in the right context...

    Thanks for your answer. I'm really looking forward to this. Let me know if you need testers/early adopters. I can make up PCBs (up to dual layer) and do the SMD soldering myself even.
  • yup - the stm32 is quite nice and i'm astonished how much synth modules are running on my board at the moment ^^

    PCB fabrication at home seems cumbersome with these PCBs - hundreds of vias :-/
  • What are those 4 knobs for just below the display ?
  • will it has an audio in/sampling possibility?
    resampling?
  • I'm really looking forward to the drum machine :) I'm so excited! The new hardware pictures looks stunning!
    But why aren't you including a larger screen (e.g. 2x40 or 4x20)? They aren't much more expensive and they give you twice as many information. I just don't like small screens where I need to go through many menus. :)
    And I also like to see more knobs :) 4 seems a bit little for a drum machine ;) Have you taken a look to an Elektron Machinedrum? I think they handled it quite well. Each drum voice has the same 4 menus/pages and each of them has 8 parameters = 8 knobs. Synthesis, Effects, Routing and Lfo.

    Oh and a small question. I want to start learning to write my own small synth with a microchip. I'm just not sure how to start or which microchip to buy. I don't want to start with a avr chip, as I think they are a bit outdated and cumbersome (because of 8bit, few memory, etc.) - But how should I start? You mentioned the STM32F4 discovery board. Is it hard to learn with it? For example, If I want to connect buttons, encoders and a display to it, do I need to write an own library and have much background knowledge? In arduino it seems quite easy. - But arduino is also not quite powerful and limited.

    Thanks! :) Will be one of the first buyers of the drum machine (:
  • @cereyanlimusiki: the 4 knobs are used to edit sound parameters, similar to the shruthi.

    @monoaural: the first release of the drummachine won't have audio inputs (but the hardware supports it. you can either have 4 mono outs or 2 in/2 out. Its just a matter of the firmware supporting them. But since the first version won't have very much sampling capabilities and is more specialized on virtual analogue drums it will use the 4xout option.
  • @kitkat: bigger screen would also mean a bigger PCB and a bigger enclosure. At the moment the PCB is quite packed.

    Each voice of the synth has nearly the same menu page structure (filter page, mixer page, osc page etc.) so quite similar to the machinedrum (never had one in my hands) but I've got 8x4 instead of 4x8 pages/parameters. You don't have to step through hundreds of sub menus. Most of the functions are available by 2 button presses (select voice, select menu group). And there's always the option that there may be an programmer someday ;)

    As for the stm32discovery - programming is comparable to avr programming. the downside is you won't find that many and as good tutorials for the stm32 chips as they are much newer than the avrs. It really depends on how much programming background you've got in general. bonus point for the discovery board - you get an usb programmer and a cortex uC with lots of peripherals (USB, stereo audio out, mems accelerometer etc) for ~13€, ready to go. Do you have programming experience? DSP programming? microcontroller programming in general? maybe start a new thread if you want to discuss this any further?

  • Programmer? Did anybody say Programmer???
  • @fcd72 Oh no.. mutated deja-vu! :D :D

    @Julian: This looks absolutely amazing! Cant wait to order the kit! My Mutable Instruments collection really needs a drum machine!
  • Looks promising. Needs moar OLED instead of an LCD :P

    Mine's getting pimped already before I even bought one... Hmm.
  • the prototype allready has an OLED ;)
    probably the kits will ship with OLED displays, too!
  • edited February 2013
    OLED sounds good

    I am so impatient about this kit @julian please hurry up :)
  • Me wants amber CRT display ;-)
  • nixie display FTW!
  • Yo, Julian! Amazing project.
    Will your code run on STM32F405?
  • edited February 2013
    interesting question.
    to be honest I didn't have a closer look at all the available STM F4 types ;)
    the first prototype was running on the discovery board, so i just continued using the chip from the discovery board.

    I'm not that experienced with the stm32. this is my first bare metal arm project.

    But a first glance at the datasheets suggests that the stm32f405 is the same as the stm32f407, just without ethernet and the camera interface (which I don't use anyway) I have to have a closer look, but if that is true the software will run on the f405 as well and I may switch to this chip in the future.
  • Thanks, now it is clear.
    (i'm just have F405 lying somewhere)
  • I can't give the final specs yet as the firmware is not finished.
    It's a LQFP100 package
    Not sure about the memory footprint of the firmware, yet.
    there are different versions of the F4 series (512kb, 1Mb flash etc.)
  • Will it have a midi out? It would be great if it could sequence a few external instruments too.
  • yes. midi out via DIN and USB.
    At the moment it only outputs note on triggers on a single notes per track on the same MIDI channel for the 7 tracks.

    since you can set midi notes as well in the sequencer I plan for an additional midi out mode, where each track can have it's own channel and will output the set notes from the sequence.
    This feature will probably come with a future update, since for the first release I will concentrate on drum related topics. In the end the sequencer can be used to sequence melodic synth parts,but is not optimized for it (no note length, no slides...)
  • I've been wondering : Why not 6/7 audio outs as in one per voice ? It would make external mixing much easier...
    i'm sure there must be a logical explanation though :)
  • I've been wondering : Why not 6/7 audio outs as in one per voice ? It would make external mixing much easier...
    i'm sure there must be a logical explanation though :)
    each codec (DAC + aliasing filter) needs its own I2S port on the uC. The STM32 only provides two I2S ports. :(
  • @julian
    Hi :-h
    Will the synth run without atmega and control surface?
    I'm thinking of compact MIDI-controlled module with just MCU, DAC's, SDcard and MIDI interface and settings editing via CC's.
    Or maybe with minimal code changes? 
  • It is possible to run it all without the front panel.
    The only problem is the SD card.
    Since most cycles are used for sound generation, at the moment the front AVR is handling the SD card.
    I have the SD card code for the cortex as well, but I got audio dropouts while accessing the SD card when the synth was running.

    The MIDI/SysEx implementation to control the sequencer is missing as well. (planned update)


  • edited April 2013
    Good! PCB is not routed and there's enough place, so i'll include AVR chip and LCD with minimal interface.
    image
  • if by any chance you are using KiCad i could send you the footprint of the mainboard (if I find out how to export the footprint I made *G*)
Sign In or Register to comment.