The Raspberry Pi is a single board computer that numbers 4 revisions and a minimalistic zero variant. It is a popular choice for different projects because of its small size, efficient power consumption, processing speed and it being a full Linux based computer.

In this article, I will explain which connection capabilities the Raspberry Pi model 3 and 4 provide, and which functions they natively support (that is, functions that do not require additional HATS extension).

This article originally appeared at my blog.

Raspberry Pi Specs

When I started my project to create a robot, I had only a vague idea of the required computer hardware. Reading about other robot projects, Arduino and Raspberry Pi are mentioned. Both are important computers, but for very different purposes. In my microcontroller blog series, I want to investigate Arduino, Raspberry PI, their hardware functions and connection options.

The Arduino is a real go-getter of do-it-yourself projects. Since its inception 2012 it has provided the platform for countless hobbyist’s projects, from home appliances, IOT to robots. …

When I started my project to create a robot, I had only a vague idea of the required computer hardware. Reading about other robot projects, Arduino and Raspberry Pi are mentioned. Both are important computers, but for very different purposes.

In my microcontroller blog series, I want to investigate Arduino, Raspberry PI, their hardware functions and connection options. In this first article, I investigate briefly the differences between Arduino and Raspberry Pi and explain the concept of GPIOs.

This article originally appeared at my blog.

Microcontroller vs. Single-Board Computers

A microcontroller is a special type of computer with the primary focus of accessing and…

The Raspberry Pico, or shorthand Pico, is a new microcontroller from the Raspberry Pi foundation. It provides a dual core ARM processor, 2MB of flash memory, and 26 GPIO pins. You can program the Pico with either a C/C++ SDK or MicroPython. I became fascinated by this device and started to develop a library for reading the DHT11 temperature sensor. However, to get the exact timing requirements of the proprietary, 1-wire requirement right, we need to use the PIO subsystem.

The previous article explained the Pio system and the language. In this article, I will design and implement a PIO…

The Raspberry Pico, or shorthand Pico, is a new microcontroller from the Raspberry Pi foundation. When released early 2021, two frameworks were offered: native C/C++ SDK, and a MicroPython port. About half a year later, two additions became stable: The Arduino framework, a wrapper of the C-SDK in which you work with Arduino commands, and CircuitPython, another embedded version of Python. This article is a comprehensive summary of all available frameworks. You will learn about installation, features, supporting editors and see a blinking LED example for each framework.

This article originally appeared at my blog.

C/C++-SDK

The native C/C++ SDK is…

In Microcontroller programming, interfacing with other hardware can be either very simple or very challenging. If the other hardware, e.g. a sensor, supports standard bus systems like I2C, SPI or UART, you just wire them up and read/write data via the implemented bus system. If you need to connect other hardware, you are forced to implement precise timing signals, sending and receiving data with multiple pins, and interpret the signals.

You could program these timing considerations with plain C, but this would mean a very careful programming because you are tied to the processors clock cycle and need to understand…

The Raspberry Pico, or shorthand Pico, is a new microcontroller from the Raspberry Pi foundation. It provides a dual core ARM processor, 2MB of flash memory, and 26 GPIO pins. You can program the Pico with either a C/C++ SDK or MicroPython. I became fascinated by this device and started to develop a library for controlling a shift register, specifically the HC595N shift register. To get a better grip on the Pico C SDK, I looked for another sensor for which I could develop a library, and found the DHT11 temperature sensor.

The DHT11 sensor is connected via one data…

CMake is the build system of the Raspberry Pico ecosystem. In the last article, I explained the CMake essentials from the perspective of a developer that is new to C. If you followed along, you should now feel comfortable to structure your programs with CMake.

Building on this foundation, this article covers additional techniques: Conditional configuration, preprocessor symbols, including third party libraries, and how to add tests.

This article originally appeared at my blog.

Example: Pico DHT11 library

This article explains the setup that I use in my libraries. …

When you work with the Raspberry Pi Pico C/C++ SDK, you also need to understand the CMake build system that is used. In my first projects, I was happy to copy and paste the example files and tweak them. Yet, when developing my libraries, new features were required. First, I wanted to have different types of build, like example and test. The example build should compile all examples, and link them with the Pico SDK and my library. …

Download the shift register library from Github: https://github.com/admantium-sg/rp2040-shift-register-74HC595

The Raspberry Pi Pico, or shorthand Pico, is a new microcontroller from the Raspberry Pi foundation. It provides a dual core ARM processor, 2MB of flash memory, and 26 GPIO pins. You can program the Pico with either a C/C++ SDK or MicroPython. I became fascinated by this device and started a new project: A library for connecting and controlling the HC595N shift register.

In the previous article, I explained the essentials of shift register operations, and detailed how the particular HC595N works. …

Sebastian

IT Project Manager & Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store