- More pins, enabling more input/output. While there are some projects that only need a few pins, larger ones like big interactive light installations benefit from more
- Almost all pins are analog or digital compatible, with a few high current digital ones
- Compatible with Arduino header boards
- Better IDE
- Included ADC (two types, one can drive CD-quality audio), DACs, comparators, op-amps for bufferring, capacitive sensiving. These remove the need for a lot of external stuff to make simple and common things.
As someone who already has a stack of Arduinos, a PIC programmer, and a handful of Raspberry Pi's... this is still something that is unique and relevant. Pretty awesome and I hope it makes its funding goal.
Thanks for all the support so far, I've received just under 20 backers from direct referrals from here, and I really appreciate it.
This is a great summary of the pain points I'm trying to address.
I really can't emphasize enough how revolutionary the PSoC Creator IDE is. I've been using it for the past three years, and it FAR exceeds any other MCU development environment I've ever used. (including a few mentioned in the comments here)
If you are on the fence about it, download the IDE from cypress.com and try it out, it's totally free and always will be. They have several example projects you can get to from the File->Open menu, which illustrate much of the functionality.
I took a components design course 5+ years ago, but I haven't done any hardware work since. This project looks really exciting to me, but can you explain some of these features and why they matter?
For example, what is a digital-compatible pin? What makes a pin digital capable, versus analog? And what are some of these serial port limitations mentioned in the project description?
I think we can all agree that the arduino IDE is a terrible piece of software. It works... on most platforms. It's not bloated. It's kind of documented. That's about all the good you can say about it.
...but I have to agree, sounds like this is a neat platform, but if I can't write, compile and deploy code to it, what's the point?
Is it really that hard to provide a tool chain that lets you cross compile binaries for a platform, and a set of headers? I hate these 'integrated development environments'. It's just bloated rubbish-ware.
For all the lack of support the android NDK gets from google, at least they got that right. It's a compiler. That's all it does. You write code in whatever the heck you want, and just compile it.
I don't get why so many companies have such a hard time with understanding why this is desirable.
Arduino is just an AVR processor nicely wrapped. They offer their own IDE so you don't have to bother with the difficulties in getting your code on your device.
Atmel maintains an AVR port of the GNU toolchain and provides their own IDE based on Visual Studio.
Because good programmers are hard to find, and hardware companies sell more if they can convince EE design managers that their software is so easy, even the outsourced interns can be productive with it.
Everything becomes crappy, because most people don't want to wait longer and pay more for quality.
I use a mac, exclusively, and VirtualBox runs PSoC Creator flawlessly, both with WinXP and Win7.
I actually find developing on the mac quite useful, since when I'm making a USB device with PSoC, I can use libusb (cross-platform USB library) without having to install any device drivers. It works great with PyUSB and makes developing USB projects a snap.
The IDE isn't open source, but it is free.
I would argue that this is indeed the best microcontroller for hobbyists and students.
It's like having an FPGA, a 32 bit micro, and a handful of analog parts, that you can connect however you like in software using a graphical interface.
If you want to dig deeper, you can program any of the PLD-based digital blocks in verilog, hand tune your analog design routing, and more.
You could even implement an additional 8-bit CPU on the block diagram using drag and drop components if you're really feeling frisky.
I don't think there are any PICs with integrated PLD blocks, or GPIOs that are routable to any peripheral. "Best" may be a silly term for it, but that's definitely really useful to have in a development board.
PSoC5 is supported by GCC, the Cypress PSoC IDE just makes it easier for novices to get started. There is also a FreeRTOS port to PSoC5, so you can get into some pretty interesting stuff.
That aside, I am really glad they went with PSoC5 (ARM Cortex-M3 architecture) instead of the cheaper PSoC3 (8051 architecture). This makes it easy to prototype on the PSoC5 and then move to a more specialized Cortex when they hit performance limits.
Finally, I don't see mechanical drawings, however, I hope they spaced the parallel connectors on freeSOC n*0.1" apart. One of the frustrating things about Arduino is that the spacing on the shield connector is non-standard, so you can't simply plug it into a breadboard.
Just from the descriptions and photos, it looks like the mini will be breadboardable.
The bigger one almost certainly not -- it's arduino compatible and the gap on one side is visibly smaller than the other. Also, it's not clear if the big one will have pins dropping down below the board (just looks like female headers).
The IDE isn't just for novices, unless you really want to hand-configure every I/O pin and block on the device. That can take a hell of a lot of time to read through the documentation and figure out. It's not just a matter of "oh this pin is an input and this is an output" like Arduino/AVR.
Looks that way. The basic architecture is ARM, which is quite well-supported by GCC and binutils. I managed to find a Technical Reference Manual on Cypress' website, which seems to have plenty of information on the hardware peripherals: http://www.cypress.com/?docID=36586
This thing seems to occupy an interesting point in the hobbyist ecosystem. The processor is several times more expensive than other chips with similar raw processing power (like TI's Stellaris LaunchPad, which sells for $5) but the I/O peripherals are vastly more flexible. It looks like a fantastic device for prototyping and experimenting.
In fairness the TI launchpads are astoundingly cheap -- as far as I have seen, very few of the other competitors have dev boards at that sort of price.
The mbed board is similar to the mini, but with an online IDE (not a fan) and community. There's not much difference in price there, at least not from the mbed suppliers here in the UK vs the kickstarter prices.
Seems like fairly reasonable piece of hardware. But what I really dislike is the name. SoC is an established acronym in the industry, so at first I was thinking that they'd be developing their own free (as in speech) SoC. But instead they are just making yet another dev board for a proprietary SoC.
I really, really dig this idea. There's a handful of little hardware projects I've wanted to do with an Arduino or the like, but I've found that if you've got slightly different peripheral requirements, it's difficult to find one of these boards that will fit the bill. The idea of being able to significantly change the functionality of the hardware pins without doing loads of work is fantastic.
One minor gripe would be higher precision DACs (only 8-bit?), though the ADCs look great. The DACs would be a problem for audio, though the ADCs would be good for the lab.
What is interesting is the ability to program them via a graphical drag and drop style visual programming language and that is something for people learning that will appeal strongly. As for the specs and abilities I shall leave that to those more vested in this microcontroller.
It has dragging and dropping some components of the program, but still requires code. It's not a visual programming language. Also, even the visual aspect of it is rather technical. To fully use this board, it seems one has to already be familiar with datasheets, C, and the concepts of components like PWM or protocols like I2C, and so on.
That said, this seems to be a great product for people who already have some experience with these concepts, and want an Arduino-like device that better suits them. I think I'll be buying this board. I'll sleep on it, though.
With PSoC Creator, you're not really programming via the editor GUI. You're actually configuring the internal hardware, which is compiled into routines and tables that are run through the chip at startup. Think of it more like an FPGA where you are hooking gates and blocks up to various pins. The software can also control and redirect these lines from inside running code, but having the GUI set things up for you is a lot easier than spending a week with the Technical Reference Manual...all 1000+ pages of it.
You're right, I don't think that's been stated yet. The chip itself is fairly low power draw- but with those op-amps and other stuff onboard I'm guessing that stuff might be able to draw a good bit more.
The PSoC is so highly configurable internally that power consumption will totally be up to how you set up the internal clocks and analog blocks. Cypress has a great set of technical notes about all of these aspects. This TN even includes a spreadsheet to help you estimate power draw and battery life:
- More pins, enabling more input/output. While there are some projects that only need a few pins, larger ones like big interactive light installations benefit from more
- Almost all pins are analog or digital compatible, with a few high current digital ones
- Compatible with Arduino header boards
- Better IDE
- Included ADC (two types, one can drive CD-quality audio), DACs, comparators, op-amps for bufferring, capacitive sensiving. These remove the need for a lot of external stuff to make simple and common things.
As someone who already has a stack of Arduinos, a PIC programmer, and a handful of Raspberry Pi's... this is still something that is unique and relevant. Pretty awesome and I hope it makes its funding goal.