Makers and SoC’s (UPDATED)
Posted On April 10, 2020
Welcome to the SoC Maker blog!
I started this blog to help others like me work with System On Chip devices in general, and the Cypress Semiconductor’s PSoC® 5LP* processor in particular. This device is a game changer for the custom design community.
SOC Of Choice
The PSoC® family of parts are known as Mixed Signal devices. Mixed Signal is the currently preferred way of stating a part handles both analog and digital signals. In that regard, the 5LP devices are head and shoulders above the other mixed signal products from other manufacturers.
In my work and home life, I use a Macintosh, so as much as possible I like to use cross-platform tools. When those tools are not available, or when they are sub-standard, I use Windows under VMWare (or the free Virtual Box).
Makers generally create one of a kind items. In the past, when these items included electronics, the maker would usually have to resort to “bread board” circuits. This was done a variety of ways. All of these ways required multiple components wired together. With the PSoC series of parts, you can now make multiple circuit designs using the very same part over and over! This is a shift in the way of thinking for the hobbyist and small production run manufacturer.
A New Paradigm: Embedded Electronics
I really like the 5LP processor due to the ability to design and modify analog and digital circuits inside the device using a visual schematic editor. Once the circuits are created, you can then route the signals out nearly any pin. This magic is done through their Windows only IDE, called PSoC Creator. An entire analog or digital design can be embedded within the device, operating from a 3.3 volt to 5 volt supply. When combined with a powerful ARM processor with built in USB, your ability to create sophisticated devices is astounding.
Casual and Professional Circuit layout
The casual option for layout is to use commercial breadboards, which are slabs of plastic with hidden connections. These slabs allow you to plug in wires, parts such as wires, resistors, transistors, LED’s and switches. (You can search for “breadboard kit” on Amazon for a lot of choices.) If you wish to plug in SOC’s, they need to be on boards with connectors on 0.1 inch spacing. Cypress has a part with a PSoC 5 on it, the CY8CKIT-059, which meets these requirements and includes a built in debugger which can be detached and used for other Cypress PSoC devices. You can purchase this directly from Cypress, or from a distributor. (https://www.cypress.com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit-onboard-programmer-and)
Commercial breadboards do have some drawbacks. There is a lot of capacitance between the connectors, which can cause issues with high frequency signals. In addition, the buried connectors can be damaged from time to time, and give you less than ideal results. There are not usually any holes in the breadboard for mounting your board should you wish to use it permanently, as is. ( I use double sided tape on the bottom of the breadboard when I want to do that.) But for a quick setup, there is nothing like it.
Custom Circuit Boards
There are new options available today for custom circuit boards, to give your project that professional look. You can create a schematic using a program like AutoDesk’s Eagle, or KiCad. (https://www.kicad-pcb.org/)
The Eagle software used to be free and freely available for basic use, but once is was purchased by AutoDesk, that changed. It requires a subscription (free for non-commercial users), and the board size is limited to 12.4 square inches (e.g. a 3 x 4 inch board) and two sides. Eagle is a bit difficult to learn, but there are many communities out there, and it is easy to get an answer to a question from your favorite search engine. It also runs on the three major platforms: Linux, Mac, and Windows.
KiCad is free and unlimited. It has matured over the years. It also has a learning curve. It runs on the three major platforms, and is becoming the goto choice for Makers.
With Eagle, or KiCad, you can upload your board files directly to a service provided by OshPark. ( https://oshpark.com/) Osh Park builds you 3 boards of either double sided or 4 layer manufacture at very reasonable prices. The only downside is you have to wait for a panel to fill up, but that has not been an issue for me, ever. They have an extra cost option for speed up of build for double sided boards, and shipping ranges from free to overnight at additional cost.
This service allows a maker to create a professional circuit board and get it delivered in a reasonable amount of time. By combining this service with a breadboard, you can create your circuit and test your modifications while waiting for your board to be delivered.
I own a 3D printer that was purchased from Amazon. (My first printer was built many years ago. I have built several from scratch, but tend to go the commercial route nowdays to save money and time.)
My printer does both PLA and ABS plastic. PLA is a corn based plastic that is generally less toxic when eaten than ABS, and less smelly fumes when being printed. Both PLA and ABS can be broken down by sunlight, and PLA ends up being more brittle than ABS.
ABS is a plastic that is very smelly (and has possibly toxic fumes). ABS can be bad to eat, but is not broken down quite as quickly by sunlight. PLA melts at a lower temperature than ABS. Both types of plastic generally require you print on heated platforms to make sure they stay do not warp badly during the print process.
I mainly use the 3D printer to create holders for my electronics. (surprise!) In addition, I have used it to create shims when replacing storm doors (much easier than sawing exactly to millimeter precise wood blocks). I have also used it for repairing mundane things like toilet seat bumpers. I have also printed window vent covers and spacers. With a plastic printer, many home repairs are now possible that were very difficult or costly a few years ago.
My go to program for 3D Design on 3D Printers is Sketchup. Unlike other design programs, it works the way I think. It is very intuitive for me to use. (https://www.sketchup.com/) Sketchup was started by Google, and spun off into its own company. It requires a signup, and is free for non-commercial use.
UPDATE: Sketchup has gone to the same model as Fusion. Annual updates, and your program stops working if you don’t pay. I have the last permanent license they offered. I don’t really blame them, I just can’t afford it. I will be looking for a replacement program in the future. In addition, Sketchup is now reflecting a “Woke” attitude, so be prepared for future political issues. If possible, download the 2017 version of Sketchup, as that is one of the last versions that does not nag you to death when used for non-profit “making.”
To print, you download a plugin from their “Warehouse” (see https://designerhacks.com/export-files-from-sketchup-to-stl/) to export a design into .STL file format.
Create your design, then feed the exported .STL file into a “slicer” program, such as slic3r (https://slic3r.org/) and then load the sliced file into your 3d printer software, such as listed at all3d: https://all3dp.com/1/best-free-3d-printing-software-3d-printer-program/. Expect to make many mistakes before you get your first good print.
I have a Raspberry Pi that I loaded Octoprint onto. (https://octoprint.org/ ) That way, on long prints, my main computer can be turned off. This saves electricity and my print does not stop because my Mac decided to sleep. (I keep forgetting to turn that feature off.)
Re: Development Environments.
At the company I work for, Version 10 of Windows is not allowed due to it having a keylogger which sends every keystroke to Microsoft. This logger can be turned off, but some of the other data pipes being sent to Microsoft can only be turned off in the Enterprise version. So, all software has to work with Version 7 of Windows. I am sure this will become an issue in the future, but for now it is not.
Re: Cypress PSoC
On the Cypress front, the newer PSoC® 6 family is up and coming and will be fun to use in the future, but due to the currently available packages from vendors, the “6” series of parts is not as easily used in Maker projects or small run manufacturing. In addition, the series 6 SOC’s from Cypress have fewer Digital and Analog Blocks than the 5 (but adds a processor and some other components), making it more difficult to do some Maker projects.
I plan to give usage highlights for the PSOC5 and tip and tricks I have picked up, both for analog design as well as digital and software. I am fairly old, having written my first line of code in 1968, with my first system design in 1978, and I hope to be able to give insights that I rarely find published on other blogs.
I am working on a complex project at the moment. It is amazing how home project tend to grow in size. In future writings, I will try to show you what to do to make it easier for you when designing and implementing Mixed Signal projects combined with the processing power of a decently fast MCU.
I hope you enjoy!
*PSoC was a registered trademark of Cypress Semiconductor, which has been swallowed by Infineon. I predict nothing good from this event. However, Cypress apparently was drowning, and thus had no choice. Their website is at https://www.infineon.com.