Category Archives: Raspberry Pi

Review: Picoprobe PCB Kit 1.0 👎🏻

I haven’t been using a Picoprobe for a while because I needed to rebuild mine and issues with the code’s dependencies and a lack of updates from the Raspberry Pi Foundation meant I haven’t been able to get it to work properly. But I did spot this doohickey: a PCB you can solder a Pico and a header. It’s a much neater way to assemble a Picoprobe than breadboard and jumper wires.

Streamline your Picoprobe setup into a single, slim board
Streamline your Picoprobe setup into a single, slim board
Continue reading

How to talk to I2C sensors, displays from… Linux

T’other week, I wrote about my work on building a Raspberry Pi RP2040-based I²C host device and some macOS client software to control it. I mentioned that I might get the latter running under Linux too. I now have, and it does.

The matrix display client and the CPU activity display example running on a Raspberry Pi 400
The matrix display client and the CPU activity display example running on a Raspberry Pi 400
Continue reading

Review: Kitronic Pico Pin Breakout 👍🏻

A short post, this, to recommend Kitronic’s Pico Pin Breakout: an add-on that makes it really easy to make sure you’re wiring up a Raspberry Pi Pico’s pins correctly. It looks like this:

The Kitronics Pico Pin Breakout makes all the Pico's pins highly visible
Continue reading

ARM Assembly on the Pi Pico: Stack attack

This time round, I’ll wrap up my coverage of the key ARMv6-M Thumb instructions and mnemonics that you can use to command the Raspberry Pi RP2040. There are not many instructions left that were not covered in parts one and two, and I won’t be including all the remaining mnemonics, only those you’re likely to use frequently.

Continue reading

The Golden Age of Wireless: Adopting Raspberry Pi’s Pico W

I was travelling when the Raspberry Pi Foundation launched the Pico W, so I had to wait to get back before I could get my hands on one. I have one now, and to try it out, I decided to port my network-oriented PicoWeather app, this time creating a MicroPython version — it was released for CircuitPython.

Raspberry Pi Pico WiFi IoT Device remade with the Pico W
Continue reading

Arm Assembly on the Pi Pico: Mnemonics #2

A number of the Cortex-M0+ Thumb ops I covered last time update the core’s Program Status Register (PSR) based on the outcome of the operation. The ops that do so have an S appended to their mnemonics and they only work with the core’s ‘low’ registers, R0-7.

Continue reading

ARM Assembly on the Pi Pico: Mnemonics #1

Last time, I covered the basics of doing ARM assembly programming on the Raspberry Pi Pico’s RP2040 microcontroller. Now it’s time to get to grips with the dozens of instructions to which the RP2040’s Cortex-M0+ cores respond.

ARM assembly instructions for the Raspberry Pi Pico's RP2040 chip
Continue reading

Get Started with ARM Assembly on the Pi Pico

When I got my first microcomputer, I already knew Basic programming. My machine had a different Basic dialect from the one I’d learned at school, and there was a stack of graphics and sound functionality to get to grips with too, but it wasn’t long before I felt I’d mastered the high-level stuff and that it was time to move on to machine code. That’s how I’ve come to feel about the Raspberry Pi Pico’s RP2040 chip. The time’s right to learn ARM assembly programming on the Pico.

The Raspberry Pi RP2040 chip
Continue reading

Fun with FreeRTOS and the Pi Pico: timers

I made use of FreeRTOS’ timer functionality in the most recent post in this series, but I didn’t go into detail because the post was focused on other features. It’s time to address that deficiency. Today I’m talking about timers.

Continue reading

How to do DNS over HTTPS on a Raspberry Pi

Last year, at the recommendation of a work colleague, I grabbed one of my spare Raspberry Pi 4s and installed the DNS proxy and content blocker Pi-Hole. It’s now handling all the DNS queries on my home network. Recently, I upgraded my Pi-Hole server to make its DNS requests over HTTPS.

Continue reading