looking for development board for music/audio projects - Page 1
Forum section: electronics / general

author: fabgar
author_rank: Contributor
timestamp: February 06, 2019, 02:10:26 pm
content: Hi, I'm a self-taught dev/programmer (back-end/app/VST, c, c++, audio and basic electronica) and I want to get into embedded. The way it works best for me is to do a type of project I'm familiar with and just learn the rest along the way.So I'm looking for a development board. I've been doing research for months now but the options are just to overwhelming. So I want to ask this community if you could help me find something, point me in the right direction.I'll try to describe the kind of project and (technical) preferences as best as I can;I want to use the board to prototype different kinds of musical devices, like a simple synth, audio player, etc .. try out some concepts to learn. I'm not going to focus on heavy synthesis or audio processing so I won't need a powerful DSP option. If it's there, great but .. What I want to focus on is project integration. Communicate with external devices like a DAC, attaching a touch screen, learn about SPI, multiplex input/output. And create a simple GUI.1) I prefer ARM based, from my research I found Cortex M7 or M4 most interesting.2) Bare-metal MCU. Thought long about this and picked bare-metal over a Linux (not an expert) based solution, since I prefer to spend my precious time learning about pure embedded coding, like writing a simple OS, scheduler, etc .. than figuring out Linux and all it's quirks. I could be wrong, suggestions are welcome.3) Not Arduino or Raspberry Pi, I own these boards, they are great but they are not what I'm looking for. I want something I can access on a lower level and is closer to industry standard so what I learn can be directly implemented in a real product.4) plenty of GPIO, SPI (need this), a way to connect a touch screen.5) An important part will be designing a GUI, simple and elegant; background image, simple drawing from simple GUI elements to an audio waveform, etc..no 3D or video. So I think I don't need a board with a GPU or a smart screen with its own processor ?6) solid solution, something with a stable tool chain, and IDE.7) has good support, plenty of learning resources and a good user base/community/forum.ideal would be 50-150 euros, 200 euros max. With an onboard LCD or possibility to connect one (and still have plenty of IO left for other things)The boards that I found most interesting are the STM32F7 discovery series, or Nuclio. But I'd love to hear what you guys think.I know this is a lotI just wanted to give as much information as possible about what I'm looking for.Any help would be really appreciated, thank you !

author: legacy
author_rank: Super Contributor
timestamp: February 06, 2019, 03:17:31 pm
content: Blackfin audio kit.

author: FlyingDutch
author_rank: Regular Contributor
timestamp: February 06, 2019, 04:47:32 pm
content: Hello,I think that STM32F7 discovery is good choice for begining. Why - because there are software tools for processing audio and hardware features and power is OK.See these links:https://blog.st.com/stm32-audioweaver-audio-development-tool/https://www.st.com/en/development-tools/st-audioweaver.htmlhttps://www.st.com/en/embedded-software/stm32-audio100a.htmlhttps://www.st.com/content/ccc/resource/technical/document/technical_note/d8/2b/aa/f4/e3/ec/4a/10/DM00150393.pdf/files/DM00150393.pdf/jcr:content/translations/en.DM00150393.pdfEven a bit smaller MCU with ARM CortexM4 is enough. The STM32F4 series has DSP hardware onboard. Such cheap boards are good enough:https://www.digikey.pl/product-detail/en/stmicroelectronics/STM32F411E-DISCO/497-15211-ND/5131480https://www.digikey.pl/product-detail/en/stmicroelectronics/STM32F407G-DISC1/497-16287-ND/5824404https://www.digikey.pl/product-detail/en/stmicroelectronics/STM32F429I-DISC1/497-16140-ND/5731713https://www.digikey.pl/product-detail/en/stmicroelectronics/NUCLEO-F411RE/497-14711-ND/4866485See these reference documents (you can find info about DSP features):https://www.st.com/content/st_com/en/products/microcontrollers/stm32-32-bit-arm-cortex-mcus/stm32-high-performance-mcus/stm32f4-series/stm32f411/stm32f411re.htmlhttps://www.st.com/content/ccc/resource/technical/document/reference_manual/9b/53/39/1c/f7/01/4a/79/DM00119316.pdf/files/DM00119316.pdf/jcr:content/translations/en.DM00119316.pdfThe STM32F7 series has similiar DSP features comparing to STM32F4, but is more powerfull.Regards

author: newbrain
author_rank: Super Contributor
timestamp: February 06, 2019, 04:47:59 pm
content: Quote from: fabgar on February 06, 2019, 02:10:26 pmWhile reading the first part of the post I was thinking the STM32F746 Disco or the F769 one would be a good match, so I agree with the above statement.If you go for a Nucleo boards you have all the I/O available but very few peripherals included, with the Discos you mifht have the opposite problem: on those two board you have more or less the same number of I/O of an Arduino board. Of course, serial, SPI and I2C are available.Going through your points one at the time:1) Cortex M7 based2) Bare Metal, or real time OS (such as FreeRTOS).3) Not Arduino, but compatible I/O layout, good if you want to use some existing shield.4) A sore point for Disco boards. Not much more than Arduino I/Os, but many peripherals, including audio codec, SPDIF out, MEMS mics, SD slot and touch screen are onboard. QSPI and extra RAM are useful to store and draw images.Cheaper options might be a F429 Disco, tiny 240x320 LCD w/touch but all the I/Os are brough out to pin headers (no audio) or a F4 disco, with an audio codec but no LCD...5) ST now providesTouchGFX Designerfor free. As most of these embedded oriented frameworks, it needs some getting used to, but commercial options have very high prices. Or you can brew your own library, if so inclined.6) Several choices, both free and paid for. ST suggests the use ofAtollic True Studio, an Eclipse based IDE. I have different tastes, and use a paid (but not expensive) product that integrated with Visual Studio. Pin configuration and initialization code can be generated withSTM32CubeMX.7) Many example projects are included in the libraries, and drivers for the on-board peripherals. There are ST forums, and help can often be found here too.Ah, yes, the libraries...ST provides HAL and LL libraries: the first is big, heavy and a bit overweight, the second is a very thin veneer on the MCU registers. You can start with one, and then decide your way forward...maybe abandoning both of them.The price for those boards is reasonable, ~60€ for the F746 and 100€ for the F769, as development boards, I find they provide good value.Note that I'm not affiliated with ST in any way, and I do this as a hobby, so listen also to other opinions (specifically: I know nothing about synths).Quote from: legacy on February 06, 2019, 03:17:31 pmDid you have something specific in mind? Can't find an exact match, and on Digikey (e.g.) anything Blackfin is much more expensive and does not mention audio IOs.

author: legacy
author_rank: Super Contributor
timestamp: February 06, 2019, 04:55:44 pm
content: I don't remember the name for the card, but I have seen a blackfin board equipped with two ADC audio and two DAC audio. This is supported by DSPStudio, and it has a professional debugging cable.The price was about 200 euro with the cable, which is a bargain considering that it's AnalogDevices.

author: boB
author_rank: Frequent Contributor
timestamp: February 06, 2019, 05:02:50 pm
content: Might be talking about the Analog Devices board since they make the Blackfin DSP...https://www.mouser.com/ProductDetail/Analog-Devices/ADZS-BF706-EZMINI?qs=NEWnq6vH5Lfi%252b01kB0zKAw%3d%3dThere is also an STM32F4xx based audio board with A/D and D/A as well as MIDI interface. Will try to find my board so I can remember what it was called. It's on the tip of my brain

author: westfw
author_rank: Super Contributor
timestamp: February 07, 2019, 02:53:26 am
content: Quoteit's not clear that you understand that Arduino is such a trivial SW architecture that it won't interfere with "bare metal" or "industry standard" programming. Although I'm also not clear what you think is "industry standard" for embedded, if you're planning on doing your own OS/etc. I guess there is libc/newlib (which are generally accessible even in Arduino environments.)I guess I'm saying that you shouldn't reject "Arduino" hardware just because of its associations with "Arduino Style Software" (ie "put together a Frankenstein's Monster with libraries raided from the net.")http://www.pjrc.comandhttp://adafruit.comseem to have significant user bases of Audio enthusiasts.Paul has has an extensive audio library that runs on CM4 (though it sounds opposite from what you're looking for, "bare metal" wise.) Both of their CM4 boards are nominally arduino and/or "Circuit Python" compatible, but ... the hardware looks right, and the communities seem compatible. I don't think I'd rate either one as "less industry standard" than an STM Discovery or Nucleo board.

author: luiHS
author_rank: Frequent Contributor
timestamp: February 07, 2019, 05:04:06 am
content: Check this.https://www.pjrc.com/teensy/td_libs_Audio.htmlhttps://www.pjrc.com/teensy/gui/index.htmlI've used it to design several audio players and it works very well, with many options and a Graphical User Interface to choose the modules to use and connect them to each other.When the new Teensy 4 is released, with a NXP RT1020 Cortex M7 600 Mhz microcontroller, the possibilities will be spectacular with this system. Now with a Cortex M4 (Kinetis MK66 180Mhz), it is already a good option, to do many things in a simple way.

author: fabgar
author_rank: Contributor
timestamp: February 07, 2019, 08:31:26 am
content: These are some great suggestions so far thank you ! I didn't know about the Blackfin, have to look into that as well.About those ST disco boards, am I right that although these have a lot of peripherals connected to those pins, you can use them as a GPIO right? If you don't enable those peripherals, or disable them ?

author: nick_d
author_rank: Regular Contributor
timestamp: February 07, 2019, 09:50:10 am
content: I'm not fully conversant with the dev boards, however I can say that we are doing DSP type stuff on an STM32F7and it is great. I think it's an STM32F767 from memory, a huge square chip with over a hundred pins and runs at maybe 120 MHz or faster.The cool thing about this chip is it can drive a graphical LCD directly, this costs you about 30 pins and gives you a memory mapped colour screen at say 480x272 resolution, which is perfect for drawing graphics and creating simple user interfaces. If you can find a dev board with this chip, an LCD flat-cable connector and your needed audio's, get it. The chip also has plenty of DAC and ADC options, you may prefer an outboard higher quality DAC or ADC, but this could get you started?The next best option may well be the dreaded Arduino, since it does at least come with the libraries to connect any SPI or I2C or parallel LCD that has its own controller. If you prefer to provide the controller and use a dumb LCD then I think the STM32F767 is a very good option. You can get a compatible panel on Ebay for peanuts (I know this because my son ripped the flat cable off my boss-provided one, instead of telling him I ordered a cheapie from China).Another thing to try is the Black Magic Probe (compatible with any dev board) and the 1bitsy (basically a cheaper open source clone of the Teensy from pjrc).The cool thing about the 1bitsy is it strips away all that crap Arduino compatible stuff and uses an open source library to access basic chip functions. It's sort of a balance between what you wanted (bare metal, roll your own OS etc) and the conventional way using the bloated STM32 HAL and FreeRTOS.On the other hand, with the 1bitsy or Teensy you will have to make a carrier board to connect your audio and possible SPI, I2C or parallel LCD. I have done this many times and it is not super difficult.I had some success with the Teensy originally, but I have gone off that as I find the creator sometimes arrogant when supporting his product in pjrc forums, and I do not like the closed source and copy protected nature of the Teensy (took me a while to figure out it has a tiny locked micro next to the main micro, to support USB programming and of course promote vendor lock-in).If you want more resources on the mentioned chips I am happy to send sample code for LCD drawing and so on.cheers, Nick

author: newbrain
author_rank: Super Contributor
timestamp: February 07, 2019, 10:19:21 am
content: Quote from: fabgar on February 07, 2019, 08:31:26 amActually this is not the case:Those lines are not brought out to connectors or pins, with the possible exception of the camera connector on the F746 Disco, where one could reuse the DCMI lines as GPIOs (or whatever pin assignment they support).It must be said that not much is missing from that board (plenty of memory and communication IFs, including USB and Ethernet), but yes, connecting high pin count peripherals might not be possible.Older Disco boards, OTOH, had the full range of MCU IOs brought out (e.g. F429 or F4 Disco).In case you want to connect your own display and peripherals, a Nucleo (64 or 144) might be more suitable, if you still think STM32s are a good fit for your needs.Quote from: nick_d on February 07, 2019, 09:50:10 amWhile I like the BMP a lot (heck, I have even contributed to it and I'm probably going to do it again for someverynew STM32!), I forgot to mention that a debugger/programmer is not a worry when using Nucleos or Discos, as ST-Link V2/V2.1 are included onboard and easily supported by all major IDE/Toolchains.

author: fabgar
author_rank: Contributor
timestamp: February 08, 2019, 09:03:25 am
content: QuoteYes, to bad there aren't more pins available, but you can remap (or configure) the pins which are available on the board right? Anyway I'm gonna look into the differences of these disco and Nucleo boards. Thanks !

author: fabgar
author_rank: Contributor
timestamp: March 03, 2019, 10:24:51 am
content: Does anyone have experience with these dev boards from Waveshare ? They seem pretty amazing. But I can't seem to find a lot of practical information about them from people who use them (actual projects, examples, ...)https://www.waveshare.com/product/mcu-tools/open746i-c-package-b.htmI wonder if you can use the same dev tools/tool chain as for the ST boards. It would definitely solve the problem of the limited pins on the latest STM32F7 discovery boards. And I can choose my own display.

author: lucazader
author_rank: Regular Contributor
timestamp: March 03, 2019, 08:41:10 pm
content: I have seen them around. Hvae not had any experience with them.Youll still be able to use all the ST tools like the CubeMX, Atollic, st-link programmers etc.It will just be a little more manual as there wont be any pre defined boards or examples pre made for that board.

author: boB
author_rank: Frequent Contributor
timestamp: March 05, 2019, 07:39:26 pm
content: You might want to check out this board/project.http://www.axoloti.com/product/axoloti-core/“Axoloti Core” is a circuit board with stereo audio in- and output, audio analog-to-digital and digital-to-analog converters and a microcontroller suitable for digital audio processing. All connectors are on one side to make it easy to build your own tabletop device, rackmount, stompbox or something else.Connect to your PC or Mac, and start patching with the Axoloti Patcher. Disconnect from your PC and play your patch.Specs:Assembled circuit board168MHz STM32F427 microcontroller24bit/96kHz capable stereo audio ADC/DAC (editor and firmware currently only supports 24bit/48kHz)8MB SDRamOn-board switching power supplyCircuit board dimensions: 160 x 50 mm3mm mounting holesBoard revision 1.2Assembled and tested in BelgiumConnections:1/4″ stereo input jack (line level with up to 55 dB digitally-controlled analog gain)1/4″ stereo output jack (digitally-controlled volume, DC-coupled)1/8″ headphone jack (same sound as the stereo output, independent volume)MIDI input (5-pole DIN)MIDI output (5-pole DIN)Micro-SDCard slotMicro-USB device portFull size USB host port, supports USB-MIDI compliant devices. USB Hubs are not supported!DC input (7-15V, 2.1mm center pin, center pin positive)Solder pads for connecting potentiometers, faders, switches, LED’s… (16 signals, ground, 3.3V supply, 5V supply). All I/O is 3.3V signalling.Not included:USB-A to micro-USB (B) cable.USB power adapter, or battery for standalone useDC adaptor for standalone useStereo 1/4″ jack to dual mono jack cableEnclosure, mounting hardware>>> Looking for an enclosure? You can order parts, milled aluminum or laser cut acrylic, and assemble your own, or 3d print an enclosure, check here for examples!microSD card

author: fabgar
author_rank: Contributor
timestamp: March 07, 2019, 09:00:08 am
content: Thanks boB, I know about the axoloti. It is indeed a fantastic board ! It's really under appreciated.Already got that in mind for a different projectBut for now I'm looking for something else, learning more general embedded dev/GUI interface using audio/musical projects.

author: fabgar
author_rank: Contributor
timestamp: March 07, 2019, 09:03:44 am
content: So, after a long search I decided on the STM32 platform.But when searching for the graphical part for my project, a 5”-7” capacitive touch screen. My head almost exploded. A constant going back and forth between specs just to run into a wall and realise:there just aren't any MCU based development boards that have enough GPIO available to the user (no matter what platform it seems) Most pins are used for the onboard display (RGB/parallel). Or you will need those pins anyway if the board doesn't have it's own screen and you want to connect one. Because almost none of these boards have a modern high speed LVDS or MIPI-DSI interface. And if they do, there is practically no information on what displays you can connect to them.So I'm stuck again; What should I do?hope somebody in here knows of a working solution, STM32F7 + 7” cap display?or- do I use something like a discovery board with a 4.3” display .. and try to scale to a larger display later? But since there aren't any solutions now, that could mean, changing, manufacturer, platform with a different toolchain all together and starting all over again.- use an MPU based SBC like the raspberry ? But I feel that is such overkill, way to much overhead, learning and dealing with the underlying OS, Linux .. it's not really what I want but maybe the only way for graphical solutions?- use an intelligent display, that has it's own MCU, frame-buffer memory. So I can send it high level commands over a highly available SPI port. That would be a solution, but it would mean working with two (maybe different) boards which doesn't make it any easier)There is for instance Waveshare .. at first look perfect! Large display, loads of IO pins. But then there is zero to no info, seems nobody is using it, or they are all to busy in their basements working on those boards.thanks

author: nick_d
author_rank: Regular Contributor
timestamp: March 07, 2019, 10:22:56 am
content: We use an STM32F7 connected to a parallel colour LCD and it works well. Sure it uses some pins but this is not a biggie. We didn't get a touchscreen but I believe if you do, it's just a few extra pins that can connect to STM32F7 ADC.Why not try to reduce your pin needs elsewhere, for instance by using SPI or similar ADC/DAC (there is a protocol used over S/PDIF that is similar to SPI whose acronym I forget temparily but it allows a frame containing one sample from each channel at some fixed rate).cheers, Nick

author: fabgar
author_rank: Contributor
timestamp: March 11, 2019, 11:45:30 pm
content: What about FTDI Eve or Nextion displays ? They seem ideal for using with an MCU. Just a few pins needed and all graphics are handled by the controller on the display itself. Lots of choice in larger displays + touch and you can basically use any dev board out there.I also found this amazing MIDIbox NG project, which is perfect for what I want to do and is based on an STM32F4 board. I just have to find out what OS it's running and how flexible it is to implement a GUI (reason why I'm interested in FTDI EVE or Nextion)btw, thanks again everyone for all the suggestions, I've been checking them all out and reading a lot of other threads on this forum on embedded GUI. I got a much better idea now about what solutions are out there. Just hard to decide which one is best for what I want to do.

author: diyaudio
author_rank: Frequent Contributor
timestamp: March 12, 2019, 04:40:36 am
content: Analog Devices has release a new "dedicated" SHARC audio board.https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/sharc-audio-module.html#eb-overview

author: fabgar
author_rank: Contributor
timestamp: March 17, 2019, 07:11:24 pm
content: sweet ... that looks very interesting yeah ! A bit overkill for what I wanna do now but .. maybe, something I could use in the future

author: SiliconWizard
author_rank: Super Contributor
timestamp: March 18, 2019, 12:12:28 am
content: Probably a bit tough for a newcomer, but there are also the Sipeed boards with a dual-core Risc-V processor with embedded I2S and accelerated FFT... you'd need external ADCs and DACs, but that could be a nice and cheap platform for embedded audio development. Like a few of us here, I ordered a couple.https://www.seeedstudio.com/Sipeed-M1w-dock-suit-M1w-dock-2-4-inch-LCD-OV2640-K210-Dev-Board-1st-RV64-AI-board-for-Edge-Computing-p-3207.html(You can find them on BangGood as well and now Aliexpress.)

author: fabgar
author_rank: Contributor
timestamp: April 01, 2019, 12:43:24 pm
content: I went for the STM32F746g-discovery board. It has everything I need really to get started. And it's a board that is very well supported by IDE's, GUI frameworks and has a good support community.thanks everyone for all the help !

author: sajattack
author_rank: Contributor
timestamp: April 23, 2019, 06:09:07 am
content: What about the Adafruit NeoTrellis M4 Express?https://www.adafruit.com/product/4020

author: mubes
author_rank: Regular Contributor
timestamp: April 23, 2019, 03:52:45 pm
content: Sorry, late to the party, but you should really look athttps://developer.sony.com/develop/spresense/.DAVE