1 2 Previous Next 25 Replies Latest reply on Apr 16, 2014 4:00 AM by DaKn_263916

    PSoC 3/5 UART Bootloader Solution

      Some time ago i was working on a project and we only was able to make the PSoC device programable through UART, no other interfaces such I2C or USB was avaliable, so i decide to develop the solution to get the PSoC programable through UART and it is working, now you can program PSoC 3 and 5 devices through UART.


      People interested in this solution can contact me at: andrex289@hotmail.com


      Customization to other interfaces such as SPI is avaliable.

        • 1. Re: PSoC 3/5 UART Bootloader Solution
                  Hi Victor, Nice to hear !! We are now coming up with an App Note for Creating Custom component with bootloader in 2-3 weeks, after which you can use any Communication protocol device for bootloading.. Regards, Kishore.   
          • 2. Re: PSoC 3/5 UART Bootloader Solution

            Hey Kishore! That is great! at the time i was working on the UART Component with Bootloading capabilities there was not many info so it was very dificult to learn about porting the communication api and customizer interfaces from the scratch, but now i have a UART Component with bootloading capabilities.


            I also have a bootloader host program written in C and we have tested it running on linux to bootload the firmwares to PSoC through UART, it is working very good. Ethernet Bootloading project using external chip is proposed also for our devices.


            I hope next version of PSoC Creator comes with many components and PSoC 5 becomes commercialy avaliable soon.


            Victor Andres

            • 3. Re: PSoC 3/5 UART Bootloader Solution

              Hi... i am presently working on psoc3. i want to interface uart with my pc and send data from pc to psoc3 n shows that data on lcd.


              i had tried the code on the cypress website of 'simple 8bit uart interface' but it is not working. so please help me by sending the


              code or by guiding us for the same...






              With Regards,


              Hitesh Sidhani

              • 4. Re: PSoC 3/5 UART Bootloader Solution

                Hi Hitesh,


                Can you tell us what issue you are facing. Which PSoC3 board are using, what settings had you made on the board. Can you start a new thread instead of digressing of from the actual Bootlader topics here.



                • 5. Re: PSoC 3/5 UART Bootloader Solution

                  We are looking at doing the bootloading over UART as well.


                  1. Does Cypress have a UART bootloader example/component (or will they soon)?


                  2. Can the UART (bootloading component) be used for the bootloading function and then once control passes to the bootloadable project for normal user Input / Output?


                  3. I see AN60317 (I2C Bootloader) but what is the Application Note # for creating custom components?





                  • 6. Re: PSoC 3/5 UART Bootloader Solution





                    Here is the link for the UART Bootloader component:








                    I did this component about 6 months ago, first version was for PSoC Creator Beta, this version is for PSoC Creator Production version but i think it will work also in Beta version too.


                    The first version for the bootloader host program was make in ANSI C for linux, you can find it here:






                    I was working on another version for windows, linux and mac in QT Creator, i didnt finish this project, only the GUI is completed, and i think some part for detecting serial ports avaliables in the PC but code for transfering the PSoC program was not finished, anyway is not difficult to implement you can check in the code for linux and port it. For the people interested here is the code:








                    Victor Andres

                    • 7. Re: PSoC 3/5 UART Bootloader Solution

                      Victor, thanks for sharing this !

                      • 8. Re: PSoC 3/5 UART Bootloader Solution

                        I got this to work but with some effort. I was not able to rename the component without getting compiler errors and changing the library location or importing into another project was hit or miss.


                        I was hoping that Cypress would come out with a natively supported UART bootloader in SP1... but obviously that did not happen.


                        Are there plans for Cypress to support UART or other protocols than the currently supported I2C and USB?





                        • 9. Re: PSoC 3/5 UART Bootloader Solution

                          Since there many people have shown inclination towards having UART based Bootloader, the same is being evaluated and you can expect a UART based Bootloader support from Cypress soon.

                          • 10. Re: PSoC 3/5 UART Bootloader Solution

                            Hey guys,


                            I'm an undergrad student from BITS Pilani,heading the on-campus CUA Initiatives.We're trying to build a custom PSoC3 board,and that project could get a real boost from a simpler programming interface,like UART via a custom UART bootloader,because that'd eliminate the need for seperate MiniProgs or FX2LP Programming ckts.


                            Just for details,the board we're designing will be a bare-bones PSoC3 solution.It'll be just the chip,the required capacitors and a programming header,with as many pins as possible,broken out to headers.Even power will be provided by off-board supplies.The aim of this exercise is to create simple PSoC3 boards that can be produced in small batches for wider reach of this tech among our students.


                            Future versions include the support for 'Expansion board' style hardware addons(eg: Serial Port,DC/Stepper Motor Control etc)


                            Coming back to my original point,Whats the status on the Cy support on this UART Bootloading business?

                            • 11. Re: PSoC 3/5 UART Bootloader Solution

                               What's the status on a Cypress solution for UART bootloading?  It would be very useful for a number of projects I am working on.

                              • 12. Re: PSoC 3/5 UART Bootloader Solution



                                as of now,officially only USB and I2C are supported(i.e appnotes exist).But,you may implement any other protocol as well,including UART or even SPI.


                                Heres a KB article on the same, http://www.cypress.com/?id=4&rID=51926


                                and also you may refer to the existing implementations,specifically I2C.The system reference guide in PSoC Creator 2.0 has an SPI Slave example too in the bootloader section.


                                That is a good amount of reference material to get started with UART bootloading.However,you will have to write your own PC side software.


                                My suggestion would be to use the USB bootloader,(if your chip has the USB component) since its more universal and doesnt require any kind of further circuitry(TTL->232 or whatever).You may refer to the USB bootloading appnote here : http://www.cypress.com/?rID=57561

                                • 13. Re: PSoC 3/5 UART Bootloader Solution

                                  Hello ! We now have an App Note that describes how to customise any communication protocl for Bootloader. UART is taken as an example and a UART bootloader implementation. Please find the App Note here, http://www.cypress.com/?app=forum&id=2232&rID=48348.




                                  The cool thing about this APP note is it has a dedicated GUI that can be use for Bootloading via UART. The source code is shared with the APP Note, download, modify and use it suit your needs.


                                  Any comments, and suggestions for improvements are encouraged.

                                  • 14. Re: PSoC 3/5 UART Bootloader Solution

                                    HI U2,


                                    I think your link is wrong. it is pointing to this thread.

                                    1 2 Previous Next