RG and all, i'm starting a new PIC programming thread

Started by troubledtom, February 12, 2006, 11:25:56 AM

Previous topic - Next topic

troubledtom

RG or anyone else, would it be too much to ask, for the ABC"s of pic for fx . also , a basic idiot setup. then a few of us could get the same setup and help each other out?
      that would be very kind of you. i wan't to dive into tis stuff.
                   peace.,
                      - tom

mojotron

Ya me too... I have many years of pedal building and many more years of programming microprocessors of all kinds at Intel and other places I have worked as a low level software engineer.

But, my whole experience has been a bit specialized - where a team of hardware guys hand me a design, I work in an emulator for some weeks, then a few weeks later I get some prototype to work with where all I have to do is squirt some bits into the thing via some serial interface... so far these designs have been far more complicated than any one person could put together themselves.

So, I'm looking for a "canned" approach for starting digital effect projects building where I could do the hardware design myself, add my design ideas, add some analog circuitry and it's inexpensive enough to be fully DIY.

And, where I could program ram (ideally) via a serial interface vs. proms.

Thoughts?

troubledtom

very cool mojotron!
     i hope we can get the ball rolling on this one.
             careful ,  your gatting close to your 666th post  :icon_eek: :icon_eek: :icon_eek: :icon_eek: :icon_eek: :icon_razz: :icon_twisted:
             peace,
                - tom

geertjacobs

Is a PIC suited for doing more in guitar effect then let's say some intelligent switching and PWM generation?
Or have I missed some (cheap) PIC versions that can do more?

Do you have anything particular in mind that you want use a PIC for?


troubledtom

switching , delays, loppers, and whatever else. i don't know a thing about DSP , but i'd love to.
       peace,
           - tom

gez

My New Year's resolution was (is) to learn how to program PICs.  I have a couple of books and the one I'd recommend for getting started is:

PIC in Practice by D W Smith

It plunges straight in with programing but is reasonably easy to follow.  It leaves quite a few gaps and when you start writting your own programs this becomes apparent.  Thankfully, any headscratchers can usually be sorted out from data sheets and stuff on the net.

I'm no expert yet, but it doesn't take too long to learn the basics...becoming fluent with it all is another thing though!
"They always say there's nothing new under the sun.  I think that that's a big copout..."  Wayne Shorter

gez

PS  The book just covers basic stuff, don't expect too much from it.
"They always say there's nothing new under the sun.  I think that that's a big copout..."  Wayne Shorter

The Tone God

I offered awhile back to do a series of lessions on how to program uCs in a thread. The thread ended with the conclussion that I would be wasting my time as I would be rehashing matterial that is already availible on the net. If one is so inclined they can do a search for the thread(s). There are plenty of reasources on the net on this topic. If one was determined they could learn themselves how to do in true DIY fashion. ;)

I know many have gotten spoiled by this forum's enviroment and would like to use it's to learn other things but it's scope is limited. Too bad not all educational forums could not be like this one.

Quote from: troubledtom on February 12, 2006, 12:10:38 PM
switching , delays, loppers, and whatever else. i don't know a thing about DSP , but i'd love to.

Delays or anything in that vain is unlikely with a little 8-bit uC. Thats not to say you can't still do more then boring old patch bays.

Also as a side note I think PICs are kind of old and busted. Looking at just PICs is like looking at just Ge transistors. The market has changed.

Andrew

nelson

Quote from: The Tone God on February 12, 2006, 01:41:54 PM
I offered awhile back to do a series of lessions on how to program uCs in a thread. The thread ended with the conclussion that I would be wasting my time as I would be rehashing matterial that is already availible on the net. If one is so inclined they can do a search for the thread(s). There are plenty of reasources on the net on this topic. If one was determined they could learn themselves how to do in true DIY fashion. ;)

I know many have gotten spoiled by this forum's enviroment and would like to use it's to learn other things but it's scope is limited. Too bad not all educational forums could not be like this one.

Quote from: troubledtom on February 12, 2006, 12:10:38 PM
switching , delays, loppers, and whatever else. i don't know a thing about DSP , but i'd love to.

Delays or anything in that vain is unlikely with a little 8-bit uC. Thats not to say you can't still do more then boring old patch bays.

Also as a side note I think PICs are kind of old and busted. Looking at just PICs is like looking at just Ge transistors. The market has changed.

Andrew

Why dont we reverse that decision?
My project site
Winner of Mar 2009 FX-X

no one ever

(chk chk chk)

The Tone God

Quote from: nelson on February 12, 2006, 02:58:26 PM
Why dont we reverse that decision?

Are you refering to my decision not to publish uC lessons ? If so then I don't see why the decision should change as the situation has not. One can still freely get information on the net, Google is your friend :). If I started up I would be expected to support everything which I don't have time for. The forum would get peppered with questions mixing things up unless Aron were to do another sub forum but honestly he shouldn't have to as there are other forums for this topic and with alot more help availible on the topic then just the handful of us uC guys here.

I think the original conclussion still stands. If there was a rash of people asking how use uC for effects then I would probably step up with some matterial but that is not case at this point.

Anyways back to programming. sigh.

Andrew

troubledtom

hmmmmmmmmmm,
    you do know more than i , but i'm try'n to learn toneman  :icon_smile:
            maybe it's DSP i'm looking  4.
                       peace,
                           - tom

mojotron

Quote from: troubledtom on February 12, 2006, 11:55:51 AM
very cool mojotron!
     i hope we can get the ball rolling on this one.
             careful ,  your gatting close to your 666th post  :icon_eek: :icon_eek: :icon_eek: :icon_eek: :icon_eek: :icon_razz: :icon_twisted:
             peace,
                - tom

Haaa...  :) Ahh yes... Well, I don't plan on tattooing my forhead with any numbers...  ;D

mojotron

#13
Ya, yep I misunderstood this too... it's easy to do as I usually think of the generic "pic" as some embedded processor not necessarily a simple microcontroller.

Well, the other thing I had thought of, and this is a completely different idea along the lines of DSP - coming at this from the software engineer side of my brain, is to use one of those really small really cheap PIII/PIV "cube" PCs (http://www.nextgenelectronics.com/gmaxca2.php, or there are a lot of old PII systems out there too) that you can pick up for a couple of $100. Then, it might be easier/cheaper to:

1) build an interface to an on-board sound card on one of these small PCs -> then presto you have the A/D D/A interface - I'm thinking this is like a lm386 interface to give the sound card interface the right match - kind of like the headphone amp...

2) use a cheap midi interface for commands

3) using a quasi-real-time Linux kernel, at the end of the Linux init process, program in a sample/process loop that ran continuously in user space that is controlled via midi. This program could then have all kinds of libraries for all kinds of different algorithms used to process sound.

You would have to use this as an "appliance" - that is you don't rely on a keyboard or video unless you plug them in - so the only things you have plugged into it are a midi cable - running to a midi controller - and a power cable.

The main problems to using a PC for effects I think has been: The delay that is caused by the OS's scheduler, but I think there are ways to mitigate that with a real-time kernel; the fragility of the normal PC - which I think is much better with those small cube PCs; and, the cable-age that makes them a pain to take anywhere - which I think you really only need a midi and a power cable in the end.

This way you would have all of the normal PC-like interfaces when you wanted them, add as much memory as you want, work in C/C++, asm... choose your language  :), and it would be completely portable (that is you could migrate all of your code to another box set up the same way...).

This approach reduces the complexity down to a software problem that everyone could contribute to - sharing algorithms for reverbs/delays....

Just a thought, but I bet it would work - thoughts?

bassmeister

Quote from: The Tone God
Also as a side note I think PICs are kind of old and busted. Looking at just PICs is like looking at just Ge transistors. The market has changed.

Are they really? I'm not very well updated on other manufacturers of 8 bit uCs and what functions they're able to offer in the same price range. With a PIC, however, you have lots of peripherals, built in USB on some models for example, at a low price. Sure there are other manufacturers that can do this as well, but I don't see why Microchip shouldn't stand up to the competition? One factor, I guess, is that it's a matter of taste of which programming platform that suits you best.

Peter Snowberg

PICs have been around since the 70s so they have serious market force. They're also pretty rugged. I still see 16C57s all over.

Atmel has built a much better mouse trap. They all get the same things done, but as an assembly coder I'm WAY more in favor of the AVR line.

These days I'm about to dump the larger AVRs and head towards the ARM7 and C.

It's a moving target.

What blows me away is that the 8051 is still a dominant player.  :icon_rolleyes:
Eschew paradigm obfuscation

The Tone God

Quote from: bassmeister on February 12, 2006, 06:12:58 PM
Are they really? I'm not very well updated on other manufacturers of 8 bit uCs and what functions they're able to offer in the same price range. With a PIC, however, you have lots of peripherals, built in USB on some models for example, at a low price. Sure there are other manufacturers that can do this as well, but I don't see why Microchip shouldn't stand up to the competition? One factor, I guess, is that it's a matter of taste of which programming platform that suits you best.

One of the reasons PIC was so dominate, but still holds the largest share, was that it was one of the best power to price ratios out there. Today the PIC's archtecture is roughly twenty years old and it's age is starting to show when you look at some of the newer kids on block who are challenging MC. The market for price vs. performance/features has heated up over the last few years amoungst manufactures which results in nothing but better and cheaper uC for us. There is nothing major that I see PIC is offering that you can't get in other uC in fact it has become a regular occurence that a competitor is better then PIC. I doubt MC will ever change the PIC's archtecture to become more competative as they would rather sit on their current but eroding market share collecting their cash all the while letting the PIC age away.

Microchip still has a few things going for them but are not based around their hardware feature set. They still have a long legacy of both device families and trainned personal who would prefer to stick with what they already know then change. The processors are still some of the toughest I've ever seen. The have a LARGE selection of different devices so there is a likelyness that they has something that will fit your very specific needs.

I'm not saying that Microchip is not in competition but they are other options worth exploring. For me its more important to pick the right tool for the job be PIC or something else. For the job of teaching a beginner or DIYer I think PICs are not the greatest.

Andrew

The Tone God

Quote from: Peter Snowberg on February 12, 2006, 07:03:02 PM
Atmel has built a much better mouse trap. They all get the same things done, but as an assembly coder I'm WAY more in favour of the AVR line.

Agreed. On the other side as a mainly embedded C programmer I am way more in favour of AVRs because Atmel has made an effort to make their processors more friendly to embedded high level languages like C.

Quote from: Peter Snowberg on February 12, 2006, 07:03:02 PM
These days I'm about to dump the larger AVRs and head towards the ARM7 and C.

I myself am heading towards DSP as well...again.

Quote from: Peter Snowberg on February 12, 2006, 07:03:02 PM
What blows me away is that the 8051 is still a dominant player.  :icon_rolleyes:

I still have a pile of them lying around along with some 68000 stuff. I should eBay it off.

Andrew

Paul Perry (Frostwave)

I certainly don't want to get into a PIC vs Atmel religious war or anything!
But I think, as always, it's a matter of thinking what one is trying to do. If you want to do full-on audio processign, then you need a dedicated DSP system of some kind. Personally, I think of the PIC as being like a 555 on steroids (this is a GOOD thing). And, for better or worse, the PIC has the numbers (in the US at least).
Europe is more Atmel.
In my commercial Sonic Alienator (which I didn't program myself, I must add) there is a low-end PIC sampling audio at 12 bits, shuffling the bits around, checking a few switches & a pot and encoder, and supplying serial audio output to a D to A chip. There isn't any complex DSP happening, of course.
Where I think people often go wrong designing using  micros, is to try to do everything in one chip. They are so cheap, you can use a bunch & make life so much simpler (both construction and programming).
Plus, I can see people selling pre-programmed micros!! would fit well with ready to solder boards. It's a way to get a few $$ back from programming, if people want to. Or if people want to, they can take a hardware design & 'improve' the programming. Yea, software modding!!

Ge_Whiz

Quote from: The Tone God on February 12, 2006, 01:41:54 PM
Also as a side note I think PICs are kind of old and busted. Looking at just PICs is like looking at just Ge transistors. The market has changed.

Andrew

Yay! Digital mojo!

Somwhere I've got a PIC programmer / test board, and a stack of chips. never did much with 'em, and I've forgotten all I knew. Must try again someday soon, and build an LFO or something. Gez, what programming language are you using?