Five months have gone since I first started with Cypress, I have now had the chance to try different aspects of their tools on a personal IoT project. Time do do a Cypress PSoC review.
Was Cypress a good choice for the IoT project?
Cypress’s PSoC 4 family is great I believe, the devices are powerful and enable unlimited possibilities for integrated IoT with the System On Chip. Fewer discreet components means fewer manufacturing problems and cheaper too. Changing the system is as easy as updating the firmware.
There is one problem that seems to come back every day on forums. That is the system’s complexity. Cypress has tried to addressed this by providing tools, IDE, configuration via schematics design and components, videos, tutos, forums and actually responsive customer service. Some very basic questions on the core’s documentation are unfortunately yet to be addressed. For example, I was asking the following question:
If I want to add a 10ms delay, how can I find the function that does this?
We all expect something like:
Delay_ms(10);
Yet the function is:
CyDelay(10);
Now, where is the documentation, what parameters does this function take?
Answer from Cypress:
Let me think about the question.
We are now a few months later and I’m still waiting for the answer.
The IDE
It’s only now that I look at Cypress’s IDE that I realised how great and awesome Atmel Studio is.
I won’t list the issues here but don’t expect anything user friendly.
Nevertheless, they do offer a button to export the project to Eclipse [and others], I have tried this but importing it to Eclipse has never worked.
Was PSoC 4 BLE a good microcontroller choice for the IoT project ?
In a previous post I described the way that led me to the Cypress PSoC 4 BLE controller for my IoT device.
Due to some lack of clear information on their website it was pretty difficult to understand the product road map. I initially choose the PSoC 4 BLE because it is powerful, but it turns out the certified Bluetooth module Cyble-012011-00 has for controller a PRoC, Programable Radio on Chip. This information was not so obvious to find. It is essentially the same chip, minus the programmable analogue components. The good thing is that the effects are minor to none, I did not plan to use the analogue part in my first IoT project anyway. The PRoC is naturally cheaper than the PSoC 4 BLE. It has some limitations on the pin mapping which I didn’t expect but this had no effect too.
The specs
What I’ve noticed later is that the power consumption is more important than their competitors, and the analogue routing is limited and finally less flexible than some conventional MCUs. The analogue does however work like a real circuit, without clock at all.
Should You Be Using Cypress For Your IoT Project?
First, don’t be scared. If you have time just take it easy you will learn. If you don’t know much about SoCs it might be hard according to forum members. I’ve had the chance to work multiple times with Altera’s Cyclone at university. So I did learn VHDL, but you don’t need it to start as Cypress has perfectly hidden away the VHDL behind the scenes (components)!
The good thing is that once you have got something running you just improve it as you go.
For sure, as advertised, getting started is super easy!