I have had fun playing with Raspberry Pi and Pi 2 now. But I am ready to move up to analog and digital processing. Question is where to go next? I like Cypress PSoC series especially 5 LP. But are there better choices?
Thanks,
Clem
I have had fun playing with Raspberry Pi and Pi 2 now. But I am ready to move up to analog and digital processing. Question is where to go next? I like Cypress PSoC series especially 5 LP. But are there better choices?
Thanks,
Clem
PSoC5 5LP is a wonderful part (I'm speaking of the silicon) with great capabilities, and when the US$10 Prototyping Kit shows up it's well worth checking out.
http://www.element14.com/community/roadTests/1414
http://www.cypress.com/?rid=108038
My only problem with the part is that you can only program it using PSoC Creator, and that only runs on Windows. A lot of people say nice things about PSoC Creator and I've used it myself a bit, but I far prefer developing on GNU/Linux using my own software. So I'm still waiting for Cypress to realize that documenting the PSoC5 digital routing resources would be the smartest thing that company ever did
So while you're waiting for the PSoC 5LP prototyping kit, you could download PSoC Creator (or order a CD ROM) and see what you think. You could also get a US$4 PSoC 4 prototyping kit if you want hardware to play with.
I'd also check out STM Discovery boards, especially one with an ARM Cortex-M4 with floating-point, such as this one: http://www.element14.com/community/docs/DOC-67669
Working with a microcontroller like PSoC 5LP or the STM parts is very different from RasPi. Like a modern PC, RasPi is basically a small mainframe with a big operating system and lots of memory to support it and large applications. A microcontroller has limited memory and computing power, but you have far more control over program operation and timing. If you're only used to programming on Windows or GNU/Linux, it will be a learning experience
How hard is it to figure out programming the low level board?
Hi Clem,
Are you just wanting to look at ADC/DAC programming or do you want to look at Digital Signal Processing?
TI has a couple of very nice development boards that work with the Launchpad pinouts and give you first class sampling and reproduction capabilities.
DAB
DAB Could you explain differences? Thanks
Clem
Hi @Clem,
Which differences are confusing you?
It is easy to read analog signals on the Psoc boards and look at them on an oscilloscope.
If your Psoc has a DAC, then you can setup different waveforms using software and send them to the output.
If you want to import raw audio or analog signals and analyze the data, then you want to go to DSP power.
I would suggest that you get a free analog signal analysis package and play with that on the PC first.
Lots of options, you just need to decide what you want to do.
DAB
What I am looking at to understand the ARM Cortex CPU:
So the DSP is for audio specifically. Where DAC is more generic but could handle audio, right? I am going to find a package for audio analysis and explore further.
Thanks DAB
Clem
Here is another one from STM:
I see plenty of interfacing going on here with Arduino headers as well as other type male pins. But no DAC or DSP.
Here is another review: STM32 Nucleo, The Mbed-Enabled, Arduino-Compatable Board | Hackaday
Clem
Okay this is last link to STMicro Unveils $10 mbed-enabled and Arduino Compatible Nucleo Development Boards. Wow and the price is good.
Clem
Clem Martins wrote:
How hard is it to figure out programming the low level board?
At the level of "Hello, World", there's no real difference between C programming on a microcontroller and a terminal window on GNU/Linux or Windows. The fun part is that microcontrollers provide simple, unblocked access to device registers so you can just read and write them as memory locations. In GNU/Linux or Windows you have to go through a device driver, or write your own device driver if there isn't one available that does what you want. From what I've seen, writing devices drivers for either one is an absolute shower.
With a microcontroller you get to read and write device registers directly. You want to turn LEDs on and off? No problem, you just write to GPIO registers. No need to beg for permission from the OS or figure out how to make udev do what you want. You can also do your own interrupt handling and DMA, so no need to cajole device drivers into doing that for you. However, since there's no OS protecting you from yourself it's easy to screw things up and hard to grok why.
So start with simple examples and work your way up.
You can also program microcontrollers using function libraries for well-known devices like I2C and SPI. This is more like programming RasPi peripherals.
I am probably going to be using the PSoC5 5LP Prototyping Kit in future projects - it looks like great "bang for the buck".
If you need ARM and DSP maybe a Teensy 3.0 or 3.1 (ARM Cortex M4) would be a good choice - they can be merged and programmed with an arduino IDE.