Author Topic: Microprocessor preferences?  (Read 336 times)

Unlikekurt

Microprocessor preferences?
« on: November 13, 2019, 06:26:53 PM »
Hello
I'd like to start delving into some microprocessor stuff.  It seems to come up time and time again on forum posts as being the obvious and simple solution to a lot of design wishes and design issues.  The downside of course being that there is a new language to learn; which is often a daunting prospect.
That being said, I'm wondering if there are any standout preferences between processors and how language impacts selection?
I've seen some projects that utilize the ATtiny chips and some that use the PIC chips.  Is there a common language that these processors utilize?  I believe ATTiny utilizes C, but I couldn't find anything declarative regarding PIC, lots of reference to Arduino, of course.

Can someone who has tackled this mountain over some direction to a beginner as to where to set forth?  Perhaps an instructional book for beginners, etc?

Thanks!
James

Blackaddr

Re: Microprocessor preferences?
« Reply #1 on: November 13, 2019, 08:16:16 PM »
Teensy 3.X for projects with lots of switches or knobs. Teensy 4.0 for brute DSP speed.

I make and sell these on Tindie but the schematics are public in the documentation so you can always build your own design for the Teensy processors. Just don't underestimate how hard it is to create a low-noise design when combining analog and digital in a guitar effects project!
Blackaddr Audio
Digital Modelling Enthusiast
www.blackaddr.com

ElectricDruid

Re: Microprocessor preferences?
« Reply #2 on: November 14, 2019, 10:44:46 AM »
Both the AVRs and the PICs can be programmed in C. Both processor families can also be programmed in assembly language. Assembly is probably an acquired taste.

The Arduino is based on AVR processors and has a set of libraries and pre-built code that can help get you up and running very quickly with a lot of common stuff. From the hardware side, there are loads of Arduino format 'shields' which plug together with your Arduino board and add extra features (MIDI In/Out, say, or Relay control). The Arduino language is basically C, so if you start with Arduino, you'll learn stuff you can take to other platforms or chips later on. Most microprocessors need some kind of programmer-hardware-gizmo that you plug into your computer to talk to the chip, but the Arduino boards include all that so you only need a USB cable. It's very easy.

The Teensy that BlackAddr mentioned are a series of much more powerful and mostly Arduino-compatible boards that provide a big step up in terms of performance.

It depends a bit what you want to do. For doing control functions like producing interesting LFO outputs, adding LEDs or LCD screens, talking to digipots and adding memories to your pedals, you won't need more than a normal Arduino/PIC/AVR. If you want to get into actual processing of audio (so building fully digital pedals, instead of *digitally-controlled* pedals) then you'll need the extra horsepower that the Teensy provides.

As an idea of the sort of thing that's possible even with very basic chips, there's various threads on the site that mention stuff people (mostly Kipper!) have done with my StompLFO chip, which is an LFO designed on a small 8-pin PIC chip. I used this for my FilterFX LFO-controlled filter pedal. Other people here have done similar things with Arduinos or AVRs. I also did a combined LFO+BBD clock on a single PIC as the basis of my Flangelicious project.

https://electricdruid.net/filterfx-lp-bp-hp-lfo-filter/
https://electricdruid.net/flangelicious-a-super-dooper-flanger/



audioartillery

Re: Microprocessor preferences?
« Reply #3 on: November 22, 2019, 06:29:49 PM »
I don't know why anyone would choose AVR or PIC for audio processing.  The ARM-based boards like the Teensy that BlackAddr suggests are so much better.  And there's a lot more to it than just the microprocessor.  You need a good audio interface (codec).

ElectricDruid

Re: Microprocessor preferences?
« Reply #4 on: November 22, 2019, 07:26:18 PM »
I don't know why anyone would choose AVR or PIC for audio processing.  The ARM-based boards like the Teensy that BlackAddr suggests are so much better.  And there's a lot more to it than just the microprocessor.  You need a good audio interface (codec).

No-one suggested that they should. I mentioned AVRs and PICs for control tasks. There's lots of ways to use a microprocessor in a pedal that don't involve actually processing the audio. For a lot of people, keeping the audio path analog is sacred, but they're still happy to have access to features that digital makes easy (like tap tempo, for example). A digitally-controlled tremolo or phaser can have more waveforms and options for less circuit, without ever touching the audio path.

If you want to process audio, yes, you need more horsepower and a decent codec if you want good quality.