The PiSoC

An electronics development platform that allows your software to interact with the physical world in a way that emphasizes power and flexibility.


Scratch is a visual programming language that lets people of all ages unleash their creativity, no programming experience needed. You simply drag and snap blocks to create your program. With the Circuit Playground Inventor's Kit, you can now learn to program and control electronics at the same time! Everything connects together using alligator clips, taking the frustration out of putting projects together for beginners. Use fruit as touch inputs, control LEDs, read light and sound sensors, and more using our Scratch blocks. Learn more


With deeply integrated Python support, prototyping with physical I/O has never been simpler. We provide the tools for you to easily interface with thousands of existing Python libraries to solve even the most complicated problems in no time. Learn more


The PiSoC features 58 General Purpose I/O pins, and in contrast to currently available embedded devices, the vast majority of these can be configured for any of several different purposes. These reconfigurable pins include Analog and Digital I/O with interrupts, PWM, UART, I2C, and SPI. Both 5V and 3.3V pins are available as well. This allows for flexible designs that can meet the changing needs of your projects.

Raspberry Pi Connectivity

This 26 pin connector allows the PiSoC to be connected to the Raspberry Pi’s GPIO header using a ribbon cable. This opens up endless possibilities that combine the Pi’s breadth of available Linux software and increased compute power, with the various interfaces the PiSoC provides. The PiSoC provides the Pi with several interfaces and features that expansion boards would be hard pressed to match, not to mention providing all the functionality that is PSoC specific.

In addition to this physical connection, we have created and documented APIs for Python that allow you to easily harness the power of the PSoC’s digital and analog functionality through simple calls. You can check out examples of this powerful combo in action on our blog. We currently support Python on Windows, Linux, and the Raspberry Pi.


This chip serves as the core of the PiSoC. It combines a 32-bit ARM Cortex-M3 CPU that provides several times the performance and flexibility of an Arduino, with additional programmable analog and digital functionality. The PSoC can automatically allocate resources where you need them. This lets you use large amounts of peripherals at once, such as 24 PWMs or 7 UARTs, without bogging down the CPU. You can even implement and use logic gates and state machines with them, and examples of this are included in the PSoC Creator software.

Onboard Analog functionality includes high resolution ADCS, DACS, Opamps, and more. There’s even a hardware Digital filter processor that allows you to filter signals without wasting CPU cycles. Check out the free PSoC Creator development suite right now if you want something even more powerful than the other interfaces, to see just how much more you can do right out of the box!

Arduino Shield and Pmod Headers

The PiSoC offers pin to pin compatibility with both Arduino Shields and Pmod interface boards. This lets you harness a huge array of existing peripherals on our powerful platform. Some examples of these peripherals include motor drivers, touchscreens, NFC devices, GPS receivers, joysticks, Neopixels and more!


The PiSoC has full USB HID and Host capabilities. You can use the micro USB port to enable the PiSoC to act as a keyboard, mouse, joystick, serial communications device and more. You can also program the board over USB from directly within the PSoC Creator software. Using USB in your design is as simple as dropping in the USBFS component, and configuring it using the built in GUI interface.

PSoC Creator has multiple example projects that show the different uses of the USB component. So, like most things PSoC, you won’t have to start from scratch.