
$4 ARM PSoC prototyping kits - mdturnerphys
http://www.cypress.com/?rID=92146
======
joezydeco
The PSoC is an interesting animal. Really shouldn't be compared with the
Arduino other than the fact they have 8-bit processor cores in the 20-40 MHz
range.

The real beauty of the PSoC comes from the things you can do when you hook up
the internal analog and digital blocks in interesting ways. Take a look at
this example from Cypress:

[http://edn.com/design/medical/4421721/Product-how-to--
Heart-...](http://edn.com/design/medical/4421721/Product-how-to--Heart-rate-
monitor-using-a-programmable-SoC)

Look at figure 4. Everything not in dark blue is in the PSoC Creator IDE to
hook up different blocks _on the chip_ and wire them to do some of the
processing that you would normally offload to some other chips in your design.
This is how they do CapSense with a minimal amount of external parts. There's
lots of tasty A-to-D and D-to-A stuff on here. You can also do all of this
stuff at the register level if you think the IDE is not your cup of tea.

USB is also very very easy with this part. You can have a HID device running
in a half hour when you use their wizard and then flesh out the stubbed
routines it creates for you.

~~~
jmpe
The 4 & 5LP are 32 bit ARM, the 1 & 3 are 8 bit.

~~~
joezydeco
Ayup. Sorry. And the PSoC1 barely deserves the name '8-bit', it's a
bastardized version of 8051 that Cypress calls M8C. It's nasty.

~~~
jmpe
You wouldn't happen to know how close these ARM cores are to LPC1xxx or STM32?
Would it be worthwhile to port Chibios to them?

------
proee
FYI, this is for the PSoC 4 family.

[http://www.cypress.com/psoc4/?source=CY-ENG-
HEADER](http://www.cypress.com/psoc4/?source=CY-ENG-HEADER)

 _PSoC® 4 Highlights_ ARM® Cortex™-M0 CPU up to 48MHz

\- Up to 32 kB Flash, 4 kB SRAM

\- Programmable Analog: Op-Amps, 12-bit 1Msps SAR ADC

\- Programmable Digital: Four PLD-based Logic Blocks

\- CapSense® Touch Sensing

\- Low Power 1.71 to 5.5V Operation

\- 150nA Hibernate Mode, 20nA Stop Mode

------
crb3
Any word on whether / how well that Windows-only IDE performs on WINE in
Linux? (Hint to Cypress: that Windows-only thing is a dealbreaker for enough
of us that you really should address it.)

~~~
joezydeco
Cypress has shipped over _1,700,000,000_ of these chips since introduction.
Asking for PSoC Designer/Creator in another OS will probably be met with a
very large shrug.

~~~
foxylad
You're probably right, but Windows-only stopped me in my tracks too. I won't
bother trying this, because the advantages over an Arduino mini pro (more
memory, a snappy USB interface) don't seem to justify the pain of struggling
with serial interfaces in WINE.

And although the vast majority of these devices will be going to big
industrial users, if I was Cypress I'd consider the cost of developing
Linux/Mac versions against the prospect of losing a generation of tinkerers to
Atmel.

~~~
mdturnerphys
I made an offhand remark about wanting a Linux-compatible IDE in a Cypress
survey for educational users a few years ago. Surprisingly, I received a
detailed response from a senior manager about some of the reasons that they've
stuck with a Windows-only system. They were well aware of the interest from
Linux users, but had made a business decision to focus on making their IDE
work really well, even if only on one OS.

~~~
mje__
I generally understand the motivation of these companies, but damn I really
hate that they all build IDEs. I wish they would focus on command-line tools
or libraries and integration with (say) eclipse for those that really want an
IDE. Having a different half-assed IDE for each hardware platform makes for a
frustrating day at work

Build automation for embedded systems is such a PITA. My previous job we had a
build step that used AutoHotKey to click through the manufacturers
'proprietary tools'. You can imagine how reliable that was

------
pravda
For the curious, shipping is a flat $7.50 in the USA.

You can also get it from distributors for $4
[http://www.mouser.com/search/refine.aspx?Ntk=P_MarCom&Ntt=16...](http://www.mouser.com/search/refine.aspx?Ntk=P_MarCom&Ntt=165961099)

Also, the 4200 series part used on the board seems to cost about $3, but there
is a $1 promo going on.

Cypress Semiconductor - CY8C4245AXI-483 4200 Series 32 Bit 48 MHz

[http://www.newark.com/cypress-
semiconductor/cy8c4245axi-483-...](http://www.newark.com/cypress-
semiconductor/cy8c4245axi-483-promo/mcu-32bit-cortex-m0-48mhz-
tqfp/dp/29X4236?CMP=AFC-OP)

------
chrisbennet
A friend of mine used to make a sell speech chips turned me on to them. I went
to a class hosted by a Cypress vendor a couple of years ago. I was excited by
the potential for mixed digital and analog designs. Unfortunately, their
development tool chain really let me down. After a couple of updates it
stopped working and no amount of registry cleaning or re-installing would fix
it.

Apparently, I wasn't the only one who had problems: [http://failheap-
challenge.com/showthread.php?4488-My-rant-ab...](http://failheap-
challenge.com/showthread.php?4488-My-rant-about-Cypress-PSoC-s)

"Designer was a great system for making PSoC's do shit, it worked quite well.
Lately though, it's gone to hell leading to some wild speculation around the
office of outsourcing, disgruntled employees, corporate favoritism, or a
combination thereof. It's gotten to the point where Designer won't even
install on my dev system, and it only actually STARTS on one machine in the
office."

~~~
joezydeco
Designer (the old IDE) was pretty bad. Besides that there were two choices for
the backend compiler/toolchain, Imagecraft and HiTech. Imagecraft produced
awful code, and HiTech got bought by Microchip, who promptly killed all
upgrades and support for the product.

Creator was a fresh start and plays much nicer. But that's not to say it
doesn't have problems too.

~~~
chrisbennet
Thanks, I look forward to giving them another try.

------
kristaps
The USB interface looks like it was designed to be snapped off - program your
device, remove excess, deploy, just beautiful.

------
WasimBhai
I have worked extensively with PSoC3 chips and they have been rather remarkble
beasts to play around with. You know your hardware is only 8 bits. You want to
implement FFT for 16 bit numbers. or 32 bits. This is slow. Well, don't fret.
I give you CPLD components to design your very own DFT block in hardware which
is 16 or 32 bit wide. So you have still some CPLD blocks left? Create another
component in hardware, link it with DMA. Finally ahem, you want to do Filters.
That is 8051 there, too slow. Use the DSP chip on the PSoC to utilize hardware
optimized filters.

Essentially, DMA them all up and you can create a multi-tasking environment in
a PSoC chip.

------
dragontamer
The major cost of these sorts of kits is the development environment.

Arduino is great because their tools are all free. Atmel Studio is free, and
built on top of GCC. Atmel even offers free software tools for their line of
FPGA-AVR chips.

[http://www.atmel.com/tools/fpgaintegrateddevelopmentsystems_...](http://www.atmel.com/tools/fpgaintegrateddevelopmentsystems_ids_.aspx)

What is the Total-Cost-of-Ownership of PSoC? How much do the software devkits
cost?

~~~
DigitalJack
The dev environment is free (although it looks like it is windows only).
[http://www.cypress.com/psoccreator/](http://www.cypress.com/psoccreator/)

~~~
dragontamer
Thanks for your quick response.

In that case, it looks like a pretty good deal. Not all chip-manufacturers are
willing to give free tools for some reason.

Other companies have digital logic packaged chips... but this is one of the
first times I've seen programmable Op-Amps on a cheap SoC.

~~~
Sanddancer
The free tool thing seems to be becoming a more and more common thing. Atmel
Studio's also free, as is TI's development studio, albeit with some annoying
limitations on program size, etc.

------
guylhem
Interesting form factor (flat=easy to ship!) and price.

I wonder which features it offers and how it compares to a Raspberry.

Cheaper than the Raspberry, powered by USB, but also connected (usb-serial).
No info about memory and flash (I guess some ports must for for a SD or for a
USB client)

(it might make a cheap flashrom device - reading the specs ATM to see if SPI
is there)

~~~
Scaevolus
This competes with Arduino, not Raspberry Pis. The chips are 24MHz ARM cores
with 32KB of flash, and you can get them in PCBs that with pins to fit Arduino
shields.

------
eric_bullington
Very cool, but what is the difference between the 4100 and 4200? Do I have to
unzip the schematics to find out?

~~~
teraflop
From the datasheets, it looks like the principal difference is that the 4200
has "programmable digital blocks" which are basically micro-FPGA's,
programmable in Verilog. I'm not sure how capable they actually are but it's a
pretty cool idea.

4100:
[http://www.cypress.com/?docID=46324](http://www.cypress.com/?docID=46324)
4200:
[http://www.cypress.com/?docID=46322](http://www.cypress.com/?docID=46322)

------
AUmrysh
This is very impressive for being so inexpensive. I assume you program it over
the USB plug on the end, is this correct?

~~~
joezydeco
The USB plug and chip on the left appear to convert USB to serial for
communication with the device, so there's probably a bootloader sitting on the
PSoC to accept new user code over serial. All PSoCs can reflash themselves
from internal code.

There's also a spot for the traditional MiniProg device on the lower right for
erasing/reflashing and advanced stuff.

------
dmritard96
so is this just cypress dumping lots of units or is this something they are
selling with a margin? someone asked a similar question on hack-a-day earlier
today because the PSoC 5 was something like $80.

~~~
mdturnerphys
The development kits for the PSoC 5 (not the chips themselves) are $99 [1],
but there's a lot more on those boards than on these.

[1] [http://www.cypress.com/?rID=51577](http://www.cypress.com/?rID=51577)

------
amitdeshwar
Does anyone know what the programming environment is like for these boards?

~~~
joezydeco
The Cypress-supplied PSoC Creator IDE is all in C. C++ has been done to some
degree with the GCC toolchain. Or you can cross-compile to Cortex-M0 with the
language/toolchain of your choice but that's really out there.

