Question about development platform

A friend of mine is looking into messing with embedded hardware development, maybe to port some software ideas to hardware. He asked me about advice on the best development platform to use, but of course I’m not an expert, so I forward the question to you guys here!
From what I have understood the aim is to develop some standalone devices, mostly stuff that works with MIDI and audio in/outputs and can be built DIY (though I don’t think he’s planning to release actual kits for now). Do you have any suggestions?
I suggested Teensy, but I guess there’s more powerful platforms to work with. He seems to lean towards proprietary solutions (TI or Analog Devices with Sharc processors), but I haven’t heard much good from those regarding cost/value.

If it’s a kit, I assume it’s through-hole. Which means the product will have to be split into a pre-built board with the MCU, and another board with the rest of the components.

Option 1: Teensy. It’s cheap, there are already a few projects using it, but it’s not very powerful for DSP applications.

Option 2: Raspberry pi. Might not be the best choice if latency is an issue and/or if you need to talk with predictable timing to specific peripherals.

Option 3: Custom board with the MCU of your choice. Everything is possible. But Sharc… it’s big, expensive, and requires more external components than an ARM MCU…

Thanks a lot for the advice. So I already got 1 out of 3 right! :slight_smile:
Custom MCU board would mean you make it yourself, doesn’t it? What CPUs are recommendable right now? I know this depends a lot on what you need to do with it… which I don’t really know, but just to have an idea…

> Custom MCU board would mean you make it yourself, doesn’t it?

Yes, and you find a contract manufacturer to build it for you. Basically, the inconvenience of a DIY projects and the extra effort of an assembled product rolled into one :slight_smile:

Well, you can get SMD->Trough hole adapters, so he could sort of make a DIY trough hole kit, with either a presoldered SMD MCU, or a included adapter.

About Option 3: It’s becoming more and more easy to program bare-metal on a Raspberry Pi (i.e. without an operating system, so latency/timing completely under control), and Pi Zero are super small, super cheap and (kind of) available. They have more memory and crunching power than anything that was ever released in Euroland and beyond. To me that’s the most interesting platform today for this kind of projects.

@pichenettes: thanks! Yeah, it sounds a bit like that :smiley:

@V’cent: soldering SMD could be an option, no idea how good he is at it. I don’t think what he has in mind will result in a kit, but you never know…

@mqtthiqs: Oh right, that’s true! I remember that you told me about it and there was some discussion on this matter here on the forums. You can also get all sorts of plug-in DACs for the PI now.

The new Teensy 3.5 and 3.6 boards offer a much better platform for DSP (and a lot else) than the current Teensy 3.1 and 3.2. They should be generally available in a month or two (production versions have already shipped to Kickstarter backers).

I agree with mqtthiqs, though, that bare-metal RPi programming provides access to a lot of power very cheaply, but it isn’t for the faint-of-heart. You need to roll your sleeves up quite a long way.

thanks for the additional info. Yep Teensy really seems like a good option.

> About Option 3: It’s becoming more and more easy to program bare-metal on a Raspberry Pi (i.e. without an operating system, so latency/timing completely under control)

It may become easier but it still isn’t easy. You need a lot of DSP to fill a cortex m4 (see clouds, rings, etc.) and that’s much easier to program with less startup code, better hardware documentation and predictable GPIO/peripheral timing. When you need the power of a Raspberry Pi - then you probably also need the features of a Linux OS.

Interesting thread.

In addition to MI, Cortex M4 is also the type of MCU used by the preenfm2, sonic potions LXR and audiothingies P6/Micromonsta.
Sonic potions LXR and preenfm2 are also open source, so starting should be easy :wink:

I’d love to see a real audio project working with a raspberry zero bare metal programmed.

Teensy :

The problem with the Pi seems to be that the low level graphics chip firmware blocks the access to the RAM very randomly. Also the whole processor core isn’t meant for predictability (super important for audio) or low latencies. Its designed for high throughput. Anyways, I’m not an expert on this but I considered a bare metal PI as the brain for my ongoing sequencer project and ultimately decided against it for those reasons. As I said, an M4 has plenty of horsepower already.

@Xavier: yes the availability of open source software written for the M4 really is an advantage! Thanks for the generous people making it open source, I should add! :slight_smile:

@The SlowGroth: I see, thanks for the additional info.

This is intriguing. I wonder if it will ever see production, but if it arrived on the market now, I imagine it would pack the most DSP power in the Euro world.

The demos are impressive, but it looks like development may have stalled, given that post is now more than a year old.

a|x

I was rearranging my modules earlier, and realised I currently have three different Teensy-based modules in my rack. I haven’t done a count-up of the modules driven by Cortex processors, but it’s a lot…

a|x

@toneburst: That module looks crazy powerful. As much as I’m interested from a technology perspective… I wonder if so much power is really needed for a modular synth module.

I think the problem with the nw2s might be that it’s DUE-based, and so far I haven’t heard a lot of good things about that Arduino flavour. Looks like they kind of dropped the development of it and it’s a bit buggy. But that’s just what I’ve heard.

I always felt that the Beaglebone is a more interesting choice than the Raspberry. The Beagle has two 200 Mhz I/O-processors, PRU, and other more mature I/O-options compared to the Raspberry. The downsides I guess are the price and less popularity.

https://beagleboard.org/black

You might want to look at Bela - http://bela.io/ - it’s a low-latency board designed for IO that sits on a Beaglebone Black; a good comparison point is Teensy/DAC, but more powerful, and with really low latency.