{DPHacks} https://dphacks.com/ Tinkering and Hacking the World! Tue, 04 Nov 2025 05:08:37 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://i0.wp.com/dphacks.com/wp-content/uploads/2022/01/DPHacks-YT-Logo.png?fit=32%2C32&ssl=1 {DPHacks} https://dphacks.com/ 32 32 160741367 How to add hidden magnets to 3D prints https://dphacks.com/2025/11/02/how-to-add-hidden-magnets-to-3d-prints/ https://dphacks.com/2025/11/02/how-to-add-hidden-magnets-to-3d-prints/#respond Mon, 03 Nov 2025 02:47:19 +0000 https://dphacks.com/?p=1140 Add embedded magnets to 3D prints in six easy steps

The post How to add hidden magnets to 3D prints appeared first on {DPHacks}.

]]>
I was designing a honeycomb grid light modifier for my Amaran Ace that required magnets to get it attached to the light. I figured I would document how I designed the part in Fusion 360 and how I embedded the magnets to the final print.

The 3D digital files, including the full Fusion 360 design is available from Printables and MakerWorld.

If you prefer this content in a video format. I have just the video for you.

Measure the Magnets

Don’t trust the manufacturers size. Double-check everything and measure a few different units because there might be some variation from magnet to magnet. The magnet below is supposed to be a 2×5 magnet. Although the 5mm diameter is spot on, the thickness of 2mm is way off at just 1.7mm . If you don’t have a set of calipers, do get one if you will be doing any 3D modeling. You don’t want to waist print time and materials only to find out that your magnets don’t fit.

Add Clearance

Always add clearance when designing a cavity for the magnet. There is some chance a 5mm magnet will fit in a hole designed with a 5mm diameter. Either due to variances in magnet size and the fact that your printer will most likely not be able to print a perfect 5mm diameter circle. There are other factors like the extruded plastic expanding an contracting when it cools down after it’s deposited on the model.

I like to start by adding a .1mm clearance and doing a test print to verify that the combination of filament type, my 3D printer, and the magnet will all fit together nicely.

Different filaments will expand and contract differently. So, clearance for PETG might not fit the same as PLA on a given 3D printer. Or, it might, you’ll never know if you don’t test it first.

You want some resistance for the magnet to go in, but you don’t want it too lose because the magnet will jump out of the hole and stick to the hotend if it is too lose. Specially if you have a hardened steel nozzle since brass is not magnetic.

Account for Layer Height

If you are printing at .2mm layer height, the distance between the print bed and the bottom of the magnet in your design should be a multiple of .2mm.

On this design, the magnet will sit .4mm from the top surface of the print. This will give me 2 top surfaces when I slice the model with .2mm layer height, If I had placed the magnet .3mm from the top, the slicer software would have just approximated that to the nearest multiple of the layer height.

If the hole is too shallow, it might create artifacts on the print surface, or worse, the nozzle could collide with the magnet and cause the print to fail.

I like using parameters for things like this so I can change the model design based on the target layer height of the print.

Add a Pause to the Correct Layer

This is where I have seen a lot of YouTube videos and tutorials get it wrong. A lot of them tell you to find the layer that will cover the magnet, back up one layer, and add a pause.

That’s not a good approach.

PrusaSlicer and other slicers place the pause at the beginning of the layer. So, move the marker to the layer that will be covering the magnet and add a pause there. You will see this tiny little green marker indicating where the print will be paused and the nozzle will move out of the way.

Double-check magnet polarity

Double-check and triple-check magnet polarity. I put a mark on each magnet so I know which side goes facing the print bed. It goes without saying that adding the magnet with the polarity flipped will be extremely disappointing and might render your whole print useless.

Placing the Magnets

When the printer pauses, move as quickly as possible to place the magnets in the holes and resume printing.

I like using this very old flathead screwdriver – that hasn’t been used to fasten a screw in over a decade – to place the magnets. This way, I can get to the magnet hole from the side of the print.

I find this easier than using a stack of magnets. Getting the bottom magnet free from the whole stack of magnets can be kind of hard on these super strong magnets. And I don’t want to risk knocking the print off the print bed.

Sidenote

The print bed on your 3D printer is magnetized. If you position the model in a way that the magnet hole will be directly above the print bed magnet, you might have issues with the polarity and the magnet under the print bed pushing the magnet you want to place on the print away.

The post How to add hidden magnets to 3D prints appeared first on {DPHacks}.

]]>
https://dphacks.com/2025/11/02/how-to-add-hidden-magnets-to-3d-prints/feed/ 0 1140
Raspberry Pi 5 Coding Assistant with Ollama and Continue https://dphacks.com/2025/02/09/raspberry-pi-5-coding-assistant-with-ollama-and-continue/ https://dphacks.com/2025/02/09/raspberry-pi-5-coding-assistant-with-ollama-and-continue/#respond Sun, 09 Feb 2025 19:26:51 +0000 https://dphacks.com/?p=1115 Here’s how you can run a large language model (LLM) on a Raspberry Pi. The goal of this article is to find out if running an LLM on a Raspberry Pi is a reasonable...

The post Raspberry Pi 5 Coding Assistant with Ollama and Continue appeared first on {DPHacks}.

]]>
Here’s how you can run a large language model (LLM) on a Raspberry Pi. The goal of this article is to find out if running an LLM on a Raspberry Pi is a reasonable replacement for tools like ChatGPT and GitHub Copilot.

You can watch the video below for a more detailed view of what you should expect from running an LLM on your Raspberry Pi (as a coding assistant). The video also shows how the Raspberry Pi 5 experience compares to other single-board computers with a built-in NPU, like the Radxa Rock 5C.

There are many benefits to running your local instance of an LLM:

  • You are not dependent on multi-billion-dollar companies that can change their terms of service on a whim.
  • Information never leaves your computer/network, providing the best privacy proposition
  • Flexibility trying different LLMs not available through paid subscription services like ChatGPT

Installing LLMs on a Raspberry Pi

Ollama makes installing and running LLMs locally on your Raspberry Pi super easy. You only need an internet connection to download the models. Once they are downloaded, everything runs locally.

curl -fsSL https://ollama.com/install.sh | sh

If you are going to be connecting to Ollama from a different machine, you have to set a couple of environment variables to make it work. The first environment binds the service to all the IP addresses associated with your Pi. The second environment variable is a little trickier because it depends on how you will be accessing the Ollama server from another device. I chose to use the IP address, but you could choose to use the hostname.Make changes accordingly.

Make sure to replace <IP or Hostname> with the actual IP address or hostname for your Pi. I’ll use the IP address for the reminder of this article.

Edit the file /etc/systemd/system/ollama.service

Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=http://&lt;IP or Hostname>:11434"

Let’s restart Ollama so it can pick up the settings we just changed.

sudo systemctl daemon-reload
sudo systemctl restart ollama

Open a browser window and navigate to http://<IP address>:11434, and you should see a message that Ollama is running. Double-check the environment variables configured above if you get a connection error or page not found.

Open WebUI (more on this below) allows you to download models directly from the web interface, but I prefer to use the terminal. Any of the models listed on Ollama’s page can be downloaded to the Raspberry Pi.

I recommend starting with 1.5B parameter models as they provide a good balance between accuracy and computational efficiency on the limited resources a Raspberry Pi offers.

Copy the run command from Ollama’s website and paste it into your terminal window.

ollama run qwen2.5-coder:1.5b

Chat Server

Once Ollama is ready to go, you can have a chat session directly from the terminal. But that’s clunky and not very user friendly. Open WebUI provides a more modern way of interacting with the LLM running on Ollama. This provides a similar experience to using a chatbot like ChatGPT.

Open WebUI is offered as a Python package so installing it should be straightforward. Starting with Raspberry Pi OS Bookworm, you have to create an environment to install Python packages using pip.

python -m venv myenv

The command above will create a folder called myenv that will house all the files required for a Python environment. To source (activate) the environment, type the command below.

source myenv/bin/activate

Now, install the Open WebUI package using pip.

pip install open-webui

Once the install is completed, start the Open WebUI server.

open-webui serve

The server will start with the default port 8080. To access your shiny new LLM chatbot, enter your Raspberry Pi IP address in a web browser followed by the port number. Open WebUI should load and you should be presented with a login screen. Go ahead and create an account for yourself. This is a local account and the information is not sent over the internet.

Once logged in, you can use the chatbox to help you with coding tasks.

If all you are looking for is a chatbot experience, you can stop here and enjoy your new assistance. But if you want to integrate Ollama directly into your code editor, like VS Code, more setup is needed.

Continue VS Code Plugin

The Continue VS Code plugin connects directly to the Ollama server running on the Raspberry Pi 5 and can provide automatic code completion. There are a few settings you should be aware of to make this work properly.

By default, Continue will send too much context data to the Raspberry Pi. This just causes the Pi 5 to run full tilt for a few minutes until it times out without returning a coding suggestion.

Open Continue’s settings and add the block below to the config.json file.

  "tabAutocompleteOptions": {
    "maxPromptTokens": 300
  }

Next, make sure the tab autocomplete settings match the model you are using and the Pi’s IP address. Here’s an example of how I set it up to use the Qwen2.5-Coder model.

  "tabAutocompleteModel": {
    "title": "Qwen2.5-Coder",
    "provider": "ollama",
    "model": "qwen2.5-coder:1.5b",
    "apiBase": "http://10.0.0.41:11434"
  }

The post Raspberry Pi 5 Coding Assistant with Ollama and Continue appeared first on {DPHacks}.

]]>
https://dphacks.com/2025/02/09/raspberry-pi-5-coding-assistant-with-ollama-and-continue/feed/ 0 1115
Radxa X4: The SBC Everyone Has Been Asking For https://dphacks.com/2024/08/18/radxa-x4-the-sbc-everyone-has-been-asking-for/ https://dphacks.com/2024/08/18/radxa-x4-the-sbc-everyone-has-been-asking-for/#comments Sun, 18 Aug 2024 14:00:38 +0000 https://dphacks.com/?p=1074 Radxa launched the Radxa X4 without much ado. There was no official post on social media, as customary, or even an announcement on their community forums. Radxa nonchalantly updated their website landing page to...

The post Radxa X4: The SBC Everyone Has Been Asking For appeared first on {DPHacks}.

]]>
Radxa launched the Radxa X4 without much ado. There was no official post on social media, as customary, or even an announcement on their community forums. Radxa nonchalantly updated their website landing page to include the Radxa X4 front and center. But even that wasn’t enough to catch my attention.

(This post is a work in progress and I will be updating it with more test data and just general info about the Radxa X4)

I was browsing their community forums looking for more information on the Rock 5C when I noticed a thread mentioning a new N100 SBC.

“What? Intel N100? This is probably one of those Mini ITX SBCs”, I thought to myself.

You can imagine how surprised I was when I found out the Radxa X4 is roughly the same size as the Raspberry Pi model B.

“This is going to be a hit”, was my second reaction. As many of you who read this blog know, I’m the person behind rpilocator.com. And, a common sentiment apparent throughout rpilocator’s social media threads was that people were a little taken aback by the cost of a Raspberry Pi 5 system. Specially, once you add all the basic accessories and the much coveted PCIe adapters.

A lot of people looking to use the Raspberry Pi 5 as a server or desktop computer were starting to consider slightly more expensive, but much more powerful x86 systems. This shift began to happen at the same time Mini PCs sporting the Intel N100 chip became so popular.

Overview

Here’s a video reviewing the main differences between the Radxa X4, the Raspberry Pi 5, and a traditional Mini PC.

If you are in the mood to watch the video, here are the highlights:

  • Intel N100 CPU
  • Almost the same size as a Raspberry Pi Model B
  • Onboard M.2 connector for NVMe SSDs
  • Has more computing power than Pi 5 but needs adequate cooling
  • Consumes more power than Pi 5 and other Arm SBCs
  • Lacks expandability of traditional Mini PCs
    • No SATA ports, RAM not upgradeable
  • Heatsink design needs some improvements

A Lot of Heat

Raspberry Pi computers are not really known for being the fastest computers out there, but they are known for great software support and energy efficiency. The Radxa X4 has an Intel x86 system onboard and it generates a lot more heat than traditional Arm SBCs.

Radxa sells a heatsink separately for $15 but I really think this should be included in the box with the Radxa X4. The X4 needs a cooling solution to perform at its best.

The heatsink is fitted with a 2-wire fan and because of Radxa’s design choices, it’s not possible to control the speed of the fan. It’s also not possible to turn off the fan if the CPU is idling and not producing a lot of heat. The fan is pretty loud and a bit annoying, so I hope to see a redesign in the future.

RP2040 Onboard

The Radxa X4 has two sides: the microcontroller side (MCU) and the computer side (CPU). The computer side of things doesn’t have direct access to the GPIO pins. The communication with GPIO needs to go through the RP2040 chip. Although this makes using GPIO a little bit more complex than on traditional SBCs, it also comes with some benefits.

There is a multitude of tutorials on how to work with the RP2040/Pi Pico platform on the internet. There are also a wide range of libraries available to get the RP2040 talking to other devices and accessories, like inputs, sensors, and screens. I would argue that it is a lot easier to get a project off the ground using the RP2040 platform than trying to use GPIO natively through Linux.

CircuitPython’s USB_CDC module makes this communication super straightforward. For this reason alone, I prefer to run CircuitPython instead of other firmware like MicroPython.

In order to install a new firmware on the RP2040, you have to put it in BOOTSEL mode. This can be achieved by pushing the BOOTSEL button on the board or running the commands below on a Linux terminal on the X4. Make sure to have gpiod installed.

sudo gpioset gpiochip0 17=1
sudo gpioset gpiochip0 7=1

sudo gpioset gpiochip0 17=0
sudo gpioset gpiochip0 7=0

USB_CDC allows you to have two serial interfaces through USB, which is great if you want to keep the communication between the Intel N100 CPU and the RP2040 alive while you are debugging. To enable two interfaces the CircuitPython boot.py file should contain the lines below.

import usb_cdc
usb_cdc.enable(data=True, console=True)

Here’s an example that uses the data line to read the information sent from the computer side of things and then send the information back to the Intel N100. This should be saved to the CircuitPython code.py file.

import sys
import json
import time
import usb_cdc

while True:
    # add to that dictionary to send the data at the end of the loop
    data_out = {}

    # read the secondary serial line by line when there's data
    if usb_cdc.data.in_waiting > 0:
        data_in = usb_cdc.data.readline()

        # try to convert the data to a dict (with JSON)
        data = None
        if len(data_in) > 0:
            try:
                data = json.loads(data_in)
                # print(data)
            except ValueError:
                data = {"raw": data_in.decode()}
            
            # As a test, send the received data back
            data_out['Send data back'] = {"received data": data}

    # send the data out once everything to be sent is gathered
    if data_out:
        print(json.dumps(data_out))
        usb_cdc.data.write(json.dumps(data_out).encode() + b"\r\n")


    time.sleep(0.1)

Now, on the Intel side of things, we will be sending a command in the JSON format and read if any data is sent back. First, make sure your user is included in the dialout user group otherwise, it won´t be allowed to open the serial communication.

sudo adduser <user_name> dialout

Next, save the code below to the Linux filesystem. You can name this file myserial.py. Make sure to not name this serial.py as this will conflict with the module named “serial”.

import serial
import time

# usb_cdc data port on RP204 should be ttyACM1
# if this doesn work, try ttyACM0
SERIAL_PORT = "/dev/ttyACM1"
BAUD_RATE = 115200
 
# Open the serial communication
s = serial.Serial(SERIAL_PORT, BAUD_RATE)
 
while True:
    # Send a command through serial comm
    s.write(b"{\"action\":\"temp\"}\n")
    # Read any data sent back
    data = s.readline()
    data = data.decode()
    print(data)

    time.sleep(2)

Final Thoughts

Although the Radxa X4 is the single board computer everyone has been asking for – an Intel N100 chip onboard a Raspberry Pi-sized computer – it’s not the be-all and end-all of the SBC world.

The Radxa X4 is the “duck” of Mini PCs/SBC. Although a duck can fly, walk, and swim, it is not great at any of these disciplines. The Radxa X4 is not a great Mini PC nor a great SBC.

The post Radxa X4: The SBC Everyone Has Been Asking For appeared first on {DPHacks}.

]]>
https://dphacks.com/2024/08/18/radxa-x4-the-sbc-everyone-has-been-asking-for/feed/ 4 1074
DaVinci Resolve Server on a Raspberry Pi https://dphacks.com/2024/06/08/davinci-resolve-server-on-a-raspberry-pi/ https://dphacks.com/2024/06/08/davinci-resolve-server-on-a-raspberry-pi/#respond Sat, 08 Jun 2024 12:40:29 +0000 https://dphacks.com/?p=1033 DaVinci Resolve video editing software has great collaboration tools that require either a (paid) cloud account or you can set up a (free) local server. Although DaVinci Resolve is available on Linux, the server...

The post DaVinci Resolve Server on a Raspberry Pi appeared first on {DPHacks}.

]]>
DaVinci Resolve video editing software has great collaboration tools that require either a (paid) cloud account or you can set up a (free) local server. Although DaVinci Resolve is available on Linux, the server software is only available for Windows and Mac OS. But, I suspect we can set up a server on a Raspberry Pi.

Let’s dive into the details!

Resolve Server

DaVinci Resolve 18 has amazing collaboration features making it super easy for more than one person to work on the same project. Or, in my case, the same person working on the same project from multiple computers. This is possible even on the free version of Resolve, which is a rarety in today’s subscription-based software license.

It does this by storing all its information on a PostgreSQL server, even if you are not using the collaboration tools. There isn’t a ton of specific information as to which version of PostgreSQL Davinci 18 uses, but there are a few accounts of users running PostgreSQL version 14 without any issues.

It looks like if you download and install DaVinci Resolve 18 Server app, it installs PostgreSQL version 13 but there is no reason to think that version 14 or 15 are not backward compatible with version 13.

As of the time of this writing, Ubuntu will install version 14 and Debian will install version 15.

I’m happy to report that I have been sharing a PostgreSQL version 15 database between two computers in my network without any issues. It’s great to be able to work on a project on my laptop and seamlessly continue editing my video on my desktop computer without having to export the DaVinci Resolve project.

Keep in mind the DaVinci project database does not store your media files. You have to manage these separately and I will go over my workflow later in this article.

Setup

I suggest using a Raspberry Pi 5 for this project just because it has faster I/O speeds than the Raspberry Pi 4. But the instructions below should work on any Pi running Ubuntu or Debian-based computer. I also recommend using an ethernet cable instead of relying on WiFi. Especially if you also use the Pi to store the media files for your project, which is what I am doing.

Before we get started, it’s always a good idea to update your system.

sudo apt update
sudo apt upgrade -y

Installing PostgreSQL on a Raspberry Pi is super easy since the packages are available in Debian.

sudo apt install postgresql

After installation is complete, there are a couple of configuration steps you need to take to make sure the database is secure and that you can access it remotely (from a different device)

PostgreSQL User

Confusingly enough, the PostgreSQL default user is postgres (without the ‘ql’) and the password is also postgres. It is good practice to change this password, even if only for the sake of not letting someone else in your network accidentally delete your DaVinci Resolve projects.

To do this, you have to access the PostgreSQL console with the postgres user:

sudo -u postgres psql

Then, change the password with the psql command \password, then quit out of the console with \q

postgres=# \password postgres
Enter new password for user "postgres": &lt;new password>
Enter it again: &lt;new password>
postgres=# \q

Remote Access

At this point, you would only be able to access the database from the Pi itself. To make it accessible from other devices, we have to edit a couple of configuration files.

The configuration files are located under /etc/postgresql/<version>/main/. In my case, since I have PostgreSQL version 15 installed on my Pi 5 running Raspberry Pi OS, I’m going to edit the files under /etc/postgresql/15/main/.

First, we need to edit postgresql.conf to allow connection from other devices. I’m using the nano text editor but you can use any text editor you see fit.

sudo nano /etc/postgresql/15/main/postgresql.conf

Locate the line with #listen_addresses = 'localhost', uncomment the line, and replace 'localhost' with '*' to allow any IP to connect to the database. If you would like to lock it down to certain IPs, you can certainly do that by adding a comma-separated list of IPs instead of '*'

Now, we have to change the client authentication file pg_hba.conf so another device can authenticate into the database.

sudo nano /etc/postgresql/15/main/pg_hba.conf

And change 127.0.0.1/32 to 0.0.0.0/0 on the line below.

# IPv4 local connections:
host    all             all             127.0.0.1/32        scram-sha-256

Should be changed to:

# IPv4 local connections:
host    all             all             0.0.0.0/0         scram-sha-256

Finally, restart PostgreSQL for the configuration changes to take effect.

sudo service postgresql restart

Connecting to the Server

Alright, now that everything is set up on the Raspberry Pi, fire up DaVinci Resolve on your PC and select the Network tab. Next, click the Add Project Library button at the bottom of the page.

You should get a pop-up window to either create a new library or connect to an existing one. Select Create if you haven’t used Resolve to connect to the Raspberry Pi before.

Let’s enter a name for the library. I’m calling mine PiNAS because it also lives on the Pi 5 I use as a NAS. Next, enter the IP address for the Raspberry Pi. The username should be postgres and the password is what you set in one of the steps above.

After hitting the Create button, Resolve will go through the process of creating a PostgreSQL database on the Raspberry Pi and setting it up with the correct tables.

From this point on, you can create a new Resolve project just like you would on a local library and start editing videos.

When it’s time to use a different computer on your network, you should connect to the existing database instead of creating a new one.

Media Files

Like many before me, I started editing videos and moving files between computers using a fast USB drive. But this gets old after a while. I setup a Pi 5 as a NAS to be able to edit videos directly from the network, so I don’t have to keep transferring files between computers. The Pi 5 is running Open Media Vault (OMV), which is a NAS-specific OS, and I keep the files for all of my current video projects there.

I upgraded the Pi 5 and part of my home network to 2.5 Gbps Ethernet. This way, file transfer between the Pi 5 and my editing PCs are speedy. I made a video about the whole process of upgrading my Pi 5 NAS to 2.5 Gigabit networking.

Once it is time to render and export the video, I copy all of the files from the NAS to my local drive and relink the clips in Resolve to point to my local folder. I don’t know if this step is needed but rendering videos is already a resource-intensive task, so, having the files locally lessens the risk of I/O operations failing and ruining my render.

Conclusion

Setting up a Davinci Resolve project server on Linux is super simple and is a huge time saver. Being able to access my video projects from the network eliminates the need of exporting and reimporting project files. Storing all my media files on a NAS makes it even easier to move between computers. No need to use an external drive to move data between computers.

Affiliate Links

You can support the site by using one of the affiliate links below. By using the links below, you are helping out the website without any additional cost to you. Every time someone buys an item through these links, the website gets a very small commission. I keep all the ad links at the bottom of the page so they don’t interfere with the article flow.

MokerLink 8 Port 2.5 Gigabit Managed Switch – This is the switch I’m using to connect the devices I edit videos in to the Raspberry Pi. It’s a managed switch, meaning it has advanced features for network traffic routing.

ASUS 2.5G Ethernet USB Adapter – Ethernet dongle I am using on my laptop so I don’t have to use slow WiFi to edit videos. This is the adapter I have on the Raspberry Pi so it too has 2.5 Gigabit Ethernet.

BrosTrend 2.5GB Network Card – For use on a desktop PC to connect to the 2.5 Gigabit network. If your desktop PC doesn’t have an open PCIe slot, you can use the USB dongle listed above instead.

The post DaVinci Resolve Server on a Raspberry Pi appeared first on {DPHacks}.

]]>
https://dphacks.com/2024/06/08/davinci-resolve-server-on-a-raspberry-pi/feed/ 0 1033
Radxa X2L: A Mini PC and a Raspberry Pi Crossover https://dphacks.com/2024/02/18/radxa-x2l-a-mini-pc-and-a-raspberry-pi-crossover/ https://dphacks.com/2024/02/18/radxa-x2l-a-mini-pc-and-a-raspberry-pi-crossover/#comments Sun, 18 Feb 2024 15:00:00 +0000 https://dphacks.com/?p=1018 The Radxa X2L SBC is a Mini PC that wants to be a single board computer. It has an Intel X86 CPU, the J4125, and an onboard Raspberry Pi RP2040 microcontroller chip. Hardware Overview...

The post Radxa X2L: A Mini PC and a Raspberry Pi Crossover appeared first on {DPHacks}.

]]>
The Radxa X2L SBC is a Mini PC that wants to be a single board computer. It has an Intel X86 CPU, the J4125, and an onboard Raspberry Pi RP2040 microcontroller chip.

Hardware Overview

I go into a lot of detail on how the XL2 works and compare it to other SBCs and Mini PCs.

RP2040 Microcontroller

Most notably, the X2L has a piece of Raspberry Pi onboard. The GPIO on the X2L is not controlled by the Intel chip but rather the RP2040 microcontroller chip. The RP2040 is independent from the main Intel CPU but they are connected to each other via serial interface.

This means, in order for the Intel chip to get inputs from GPIO, you need to set up serial communication in your RP2040 script.

Here is an example using CircuitPython on the RP2040 taking advantage of the serial communication with the Intel chip. This is the sample code that will run on the RP2040.

import board
import busio
import adafruit_mcp9600
import sys
import json

i2c = busio.I2C(board.GP27, board.GP22, frequency=100000)
mcp = adafruit_mcp9600.MCP9600(i2c)

while True:
    v = sys.stdin.readline().strip()

    jme = json.loads(v)

    print(jme)

    if jme['action'].lower() == "temp":
        print(mcp.temperature)
    else:
        print("This is a test")

On the Intel side, this is the code sending a signal to the RP2040 requesting it to read the temperature from the sensor every two seconds.

import serial
import time

s = serial.Serial("/dev/ttyACM0", 115200)

while True:
    s.write(b"{\"action\":\"temp\"}\n")
    time.sleep(2)

An interesting feature is that you can virtually reboot the RP2040 and also virtually put it in BOOTSEL mode to flash new firmware using the Intel GPIO. GPIO 60 on the Intel chip can ground the RUN pin on the RP2040 and GPIO 61 on the Intel chip can be used to put the RP2040 in BOOTSEL mode.

A script like this will put the RP2040 in BOOTSEL mode.

#! /bin/bash

sudo gpioset gpiochip1 60=1
sudo gpioset gpiochip1 61=1

sleep 1

sudo gpioset gpiochip1 60=0
sudo gpioset gpiochip1 61=0

To simply reboot the RP2040 – useful when a script crashes – use GPIO 60 to short the RUN pin on the RP2040 to ground.

#! /bin/bash

sudo gpioset gpiochip1 60=1

sleep 1

sudo gpioset gpiochip1 60=0 

The post Radxa X2L: A Mini PC and a Raspberry Pi Crossover appeared first on {DPHacks}.

]]>
https://dphacks.com/2024/02/18/radxa-x2l-a-mini-pc-and-a-raspberry-pi-crossover/feed/ 1 1018
Pi 5 NAS Box https://dphacks.com/2024/01/21/pi-5-nas-box/ https://dphacks.com/2024/01/21/pi-5-nas-box/#comments Sun, 21 Jan 2024 12:00:00 +0000 https://dphacks.com/?p=996 Now that we can take advantage of the PCIe connector on the Pi 5 and hook up an M.2 SSD drive, it’s only natural to build a Pi NAS with this setup. Components For...

The post Pi 5 NAS Box appeared first on {DPHacks}.

]]>
Now that we can take advantage of the PCIe connector on the Pi 5 and hook up an M.2 SSD drive, it’s only natural to build a Pi NAS with this setup.

Components

For this build, I am using a Pi 5, PCIe adapter (Pineberry Pi HatDrive), M.2 NVMe drive, and an SD card. OMV doesn’t let you use the same drive for the OS and the files, so an SD card is needed to store the operating system. I’ll be using Raspberry Pi’s official PSU but you can use any suitable power supply.

The active cooler is not required for this build since I won’t be running any resource-intensive operations on the Pi. But, if you plan to use your Pi 5 for other things, then the Active Cooler might be needed. It’s only $5 dollars, so I figured I would add it to my build.

All in all, this setup cost me $144. Here’s the breakdown:

  • Pi 5 8GB: $80.00
  • HatDrive: $28
  • 128GB NVMe SSD: $15.00
  • SD Card: $8.00
  • PSU: $12.00
  • Case: $1.00 – I’m adding $1 as a symbolic amount since I 3D printed this case

This is a pretty slim setup with an affordable 128GB SSD. I’m only going to be using this Pis NAS to transfer files between computers and store files temporarily. But if you want something with more capacity, 1TB NVME SSDs are going for around $70 on Amazon. The higher capacity SSD would bring the total cost of the Pi 5 NAS to just below $200.

Here’s a video going through the process of setting the Pi as a NAS and comparing it to the Pi 4, the Rock 5B, and a Mini PC.

Case

A quick note about the case. This is a design by Adafruit. Although it’s a great design, access to the Pi 5 power button is fiddly at best. You would have to stick something in the hole to push the power button on the Pi 5. This is a system that will be on 24/7, so this won’t be an issue for my use case. But, keep that in mind if you are planning on using this case for another purpose.

The reason why I am not using the official Raspberry Pi case is because it doesn’t have a slot for the PCIe cable and I would not be able to add the top lid to the case. Leaving the Pi 5 exposed without the lid is an option, but that kinda defeats the purpose of using a case in the first place.

Software

Open Media Vault (OMV) is compatible with ARM computers, like the Raspberry Pi. Other popular NAS OSes, like TrueNAS, are not compatible with ARM. So, OMV is the winner here.

OMV doesn’t work with desktop environment installs, so make sure to install the Lite version of the Raspberry Pi OS. A word of caution: OMV Bookworm support is still in beta, but I have been using it for a couple of weeks now with no issues. Again, this is for file transfer. If I were using it as a backup system, I would not be using beta software.

Now that we have Raspberry Pi OS Lite running, we need to run the command below to get OMV installed. It’s a good idea to have the Pi connected to a network cable at this point. You can find more information about the OMV install script on the project’s GitHub page.

sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

I kept getting errors installing OMV, so I had to bypass the network configuration steps from the install script.

wget https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install
chmod +x install
sudo ./install -n

Affiliate Links

You can support the site by using one of the affiliate links below. By using the links below, you are helping out the website without any additional cost to you. Every time someone buys an item through these links, the website gets a very small commission. I keep all the ad links at the bottom of the page so they don’t interfere with the article flow.

Pineberry Pi PCIe HatDrive! Bottom: https://amzn.to/3Vt1Yup
Sabrent 1TB NVME SSD: https://amzn.to/421qdTA
Crucial 1TB SSD: https://amzn.to/3RVZhRu
KIOXIA 128GB NVME Drive: https://amzn.to/40ihueF
SanDisk Ultra microSD: https://amzn.to/47ekIlY
Kingston 120GB SSD: https://amzn.to/46KT67E
UGREEN SATA Cable (UASP): https://amzn.to/3Fo0bPG

The post Pi 5 NAS Box appeared first on {DPHacks}.

]]>
https://dphacks.com/2024/01/21/pi-5-nas-box/feed/ 3 996
Pineberry Pi’s Pi 5 PCIe SSD Adapters https://dphacks.com/2023/12/24/pineberry-pis-pi-5-pcie-ssd-adapters/ https://dphacks.com/2023/12/24/pineberry-pis-pi-5-pcie-ssd-adapters/#comments Sun, 24 Dec 2023 14:15:48 +0000 https://dphacks.com/?p=944 One of the main features of the Raspberry Pi 5 is its PICe connector, which opens up the board to advanced integration with downstream devices. But, until now, there wasn’t an adapter that took...

The post Pineberry Pi’s Pi 5 PCIe SSD Adapters appeared first on {DPHacks}.

]]>
One of the main features of the Raspberry Pi 5 is its PICe connector, which opens up the board to advanced integration with downstream devices. But, until now, there wasn’t an adapter that took advantage of the Pi 5’s PCIe capabilities. Enter, Pineberry Pi, a new company out of Poland making accessories for the Pi 5.

Hat Drives!

Pineberry Pi launched two different models of the HatDrive! The HatDrive! Top, which has the common Pi HAT (Hardware Attached on Top) form factor. And a larger HatDrive! Bottom, as the name implies, attaches to the bottom of the Pi 5.

There are a few differences in functionality between the Top and Bottom versions but the main thing to know is that the Top adapter accepts the smaller 2230 and 2242 form-factor SSDs. Since the Bottom adapter has the same footprint as the Pi 5, it can accept full-size 2280 SSDs, in addition to the 2230 and 2242 sizes.

Both adapters come with almost everything you need to get that fast SSD hooked up to your Pi 5. Pineberry Pi includes a ribbon cable, stand-offs, screws, and a GPIO riser for the Top version. The only thing you have to buy separately is the NVMe drive.

HAT Features

The cable provided with the HatDrive is capable of providing enough juice to power the SSD, so there is no obvious need to connect the GPIO riser if you are not planning on using the power monitoring features. The Bottom version has an optional power connector, but again, this is a “nice to have” feature as the power supplied by the Pi’s PCIe connector is enough to power the SSD.

My favorite feature of these boards is not the improvements in drive speed but rather how streamlined my Pi 5 setup is now. I was using an external SSD with a USB adapter and the coiled cable always bugged me (since the Pi 4 times).

Here’s a video where I take a more in-depth view of how the Pineberry Pi Top and Bottom adapters work with the Raspberry Pi 5.

Making it Work

There are a couple of changes you have to make to your Pi 5 configuration before the HatDrives can work with your Pi. First, you have to edit /boot/config.txt to enable the PCIe connector on the Pi.

I wish Pineberry Pi would provide this information on the website as this is vital to make their hardware work with the Pi 5.

# add to top of /boot/config.txt file
dtparam=pciex1

If you are planning on booting the Pi 5 from the SSD connected to PCIe, you also have to edit the boot order. To do this, open the terminal and follow the commands below.

sudo rpi-eeprom-config --edit

This will open the eeprom configuration file in the Nano text editor. Next, change the BOOT_ORDER value to 0xf416 and add PCIE_PROBE=1. The lines in the configuration file should look like the below.

PCIE_PROBE=1
BOOT_ORDER=0xf416

To save your changes in Nano and exit, press “ctrl+x”, then press “y”. Make sure to reboot the Pi as the changes are only saved to eeprom when the system restarts.

You can check all the details regarding boot order on Raspberry Pi’s website but, in summary, the value above will make the Pi 5 look for a bootable drive connected to the PCIe connector, then the SD drive, then USB, and loop over/restart if a bootable media is not found.

Raw Performance

Disk IO speeds through the PCIe connector are on another level when compared to other media types. Let’s take a look at some pretty charts.

PCIe Gen 2 speeds are slightly better than when using a USB 3 to SSD or NVME adapter. But, as you can see below, Gen 3 speeds are on a whole different scale.

To force the Pi 5 to use Gen 3 speeds, you have to add the line below to /boot/configt.txt.

dtparam=pciex1_gen=3

A word of caution on Gen 3. Although the Raspberry Pi 5 can do Gen 3 speeds, it is only certified for Gen 2. I have been using Gen 3 with a Sabrent 512GB NVMe SSD and it has been working with no issues, but, use Gen 3 at your own risk.

Sequential DIsk Speeds on Raspberry Pi 5
Pi 5 Sequential Disk Speed Comparison

The story is a little different when comparing random write and read speeds. Keep in mind that sequential reads and writes are relevant for saving large files or transferring information; random writes and reads are applicable to OS operations, where a large number of small files are read and written to disk.

Here you can see that even PCIe Gen 2 speeds are so much faster than USB 3.0 speeds and there is only a slight improvement to speeds when using PCIe Gen 3.

Pi 5 Random Disk Speed Comparison

Conclusion

At €20 for the top version and €25 for the bottom version, they are not the cheapest adapters out there. It will be interesting to see adapters that can serve more purposes than just one. By the time you spend 22-27 dollars for the adapter and another 20-60 dollars for an M.2 SSD, your Pi 5 setup can get pretty expensive.

Things I like: The top adapter is my favorite so far. I like how streamlined it is and how it can easily fit on the outside of my passive-cooled case. This is a big change from the external SSD I was using (since the Pi 4 times). No more coiled cables.

Things I don’t like: I wish the top adapter had a cutout for the camera and display cables. The bottom adapter is a bit clunky and there aren’t any available cases in the market that can fit a Pi 5 with a bottom adapter.

Affiliate Links

You can support the site by using one of the affiliate links below. By using the links below, you are helping out the website without any additional cost to you. Every time someone buys an item through these links, the website gets a very small commission. I keep all the ad links at the bottom of the page so they don’t interfere with the article flow.

Sabrent 1TB NVME SSD: https://amzn.to/421qdTA
Crucial 1TB SSD: https://amzn.to/3RVZhRu
KIOXIA 128GB NVME Drive: https://amzn.to/40ihueF
SanDisk Ultra microSD: https://amzn.to/47ekIlY

The post Pineberry Pi’s Pi 5 PCIe SSD Adapters appeared first on {DPHacks}.

]]>
https://dphacks.com/2023/12/24/pineberry-pis-pi-5-pcie-ssd-adapters/feed/ 4 944
Pi 5 Passive Cooling Case by EDA Tec https://dphacks.com/2023/12/05/pi-5-passive-cooling-case-by-eda-tec/ https://dphacks.com/2023/12/05/pi-5-passive-cooling-case-by-eda-tec/#comments Tue, 05 Dec 2023 13:00:00 +0000 https://dphacks.com/?p=936 EDA Tec’s passive cooling case is the first of its kind for the Raspberry Pi 5. Let’s find out how well it performs compared to the standard cooling solution for the Pi 5 –...

The post Pi 5 Passive Cooling Case by EDA Tec appeared first on {DPHacks}.

]]>
EDA Tec’s passive cooling case is the first of its kind for the Raspberry Pi 5. Let’s find out how well it performs compared to the standard cooling solution for the Pi 5 – the Active Cooler heatsink.

Slim Fit With Big Features

The ED-Pi5Case, its official name, is a slim case, meaning the USB and the Ethernet ports on the Pi 5 stick out of the case. All other parts of the Pi 5 are enclosed in the case. This design makes sense on a passive cooling case since it allows for the case’s top plate to make direct contact with the components on the top side of the board.

This case cost me $18 from Ali Express but I had to pay $19 for standard shipping to the US. Sooooo, I wouldn’t call this case cheap coming in at $37 when you add the cost of shipping.

The case comes with thermal pads that help transfer the heat from the Pi’s CPU, PMIC, and WiFi modules to the top section of the case. The bottom section of the case has a large thermal pad that seeps heat away from the Pi’s main board.

It’s made from solid aluminum and this thing has some serious heft to it. I like that this case makes the Pi 5 stationary on my workbench. Plastic cases are too light and most of the time don’t provide enough weight to bend the cables (keyboard, monitor, etc). The EDA Tec case provides nice weight so the Pi 5 doesn’t move around too much on my workbench. The weight is a definite plus in my books!

Most of the ports on the Pi 5 have dedicated cutouts, like GPIO, camera, display, and PCIe connecter. Even the PoE pins are exposed to the outside of the case. The only connectors that are not accessible are the new UART and RTC battery connectors.

It also has a plastic “window” right next to the WiFi/BLE antenna. This avoids blocking the wireless signal from the Pi 5. In my workshop, the WiFi signal strength is one bar short of full strength when the Pi 5 is inside the EDA Tec case. When I remove the Pi 5 from the case and place it in the exact same spot, I get full bars. So, the case is still blocking some of the signal, which is expected from a metal case, but not too bad.

You can see in the picture above the ON/OFF button and a small opening for the Pi 5 activity LED. Although the LED light is visible through the small hole, it is not very bright. The ON/OFF switch works flawlessly and it preserves the nice clicky feel of the original Pi 5 power button that sits just behind the case button.

The four rubber feet do a good job keeping the Pi 5 stationary on a flat surface. The feet are not what I would call super grippy, but they are adequate.

If you prefer this information in the form of a video, you are in luck! Here’s a video I put together for you!

Thermal Testing

Alright, so, how does it perform? Is it able to keep your Pi 5 cool as a cucumber?

Before each test, I let the Pi 5 cool down and then used stress to stress all 4 CPUs at the same time and get the temperature to rise. The EDA Tec passive cooling case performed really well keeping the Pi 5 cooooool.

You can see that for over 700 seconds of continuous test, the temperature on the Pi 5 just peaked above 65 Celcius. As you can imagine, the case was warm to the touch.

Conclusion

This is the case I will be using with my Raspberry Pi 5 on my workbench. It performs just as well as the Active Cooler heatsink but it has the added benefit of being completely silent. I also like that it makes the Pi 5 heavier keeping it stationary on my workbench. At first, I was a little skeptical of the ON/OFF switch but my worries were unfounded. The ON/OFF preserves the tactile/clicky feel of the Pi’s power button.

The only downside to this case is its cost. Shipping to the US costs just as much as the case. At the end of the day, you are getting a premium case for a premium price.

The post Pi 5 Passive Cooling Case by EDA Tec appeared first on {DPHacks}.

]]>
https://dphacks.com/2023/12/05/pi-5-passive-cooling-case-by-eda-tec/feed/ 7 936
Raspberry Pi 5 is Here: Hands-on Feature Preview https://dphacks.com/2023/09/28/raspberry-pi-5-is-here-hands-on-feature-preview/ https://dphacks.com/2023/09/28/raspberry-pi-5-is-here-hands-on-feature-preview/#comments Thu, 28 Sep 2023 06:01:00 +0000 https://dphacks.com/?p=868 The Raspberry Pi 5 is finally here! I have a unit in my hands and here are the main features you should know about the Pi 5.

The post Raspberry Pi 5 is Here: Hands-on Feature Preview appeared first on {DPHacks}.

]]>
The Raspberry Pi 5 has finally arrived. I have a unit in my hands and here is a quick preview of some of its features. Raspberry Pi doesn’t normally do announcements so they broke the tradition and pre-released the Raspberry Pi 5 about a month before its general availability.

Exciting New Features

The long-awaited update to their flagship model is here and it packs a lot of new features! Instead of listing all the basic features and specs, I’m going to write about what makes the Pi 5 so different from all of its predecessors.

PCIe Support

Right off the bat, I have to mention the presence of a PCIe connector. The Pi 4 Model B chip already had support for PCIe but it was in charge of controlling the 2 USB 3.0 ports. Eben (Raspberry Pi’s CEO) had hinted that the next iteration of the Pi Model B would include better PCIe support during an interview with Jeff Geerling. Here is what I posted on X/Twitter at that time.

As mentioned in my post, most of the recent flagship SBC offerings from Radxa/OKdo and Orange Pi have a PCIe connector. The Pi 5 had to have a PCIe connector to be competitive. The question still remains on what can you run on this PCIe connector. It will depend on software support.

I think that going for a cable connector for the PCIe interface was the right move. I have a love/hate relationship with the onboard M.2 (PCIe) connector on my Radxa Rock 5B because although it provides great storage expandability, it is a very awkward implementation, with the PCIe connector sticking out of the board.

Raspberry Pi will also offer a M.2 HAT but it’s not clear if it will be ready when the Pi 5 is announced.

Dual Camera and Dual Display Support

I’m really (*really*) excited about the dual camera support. Raspberry Pi tells me the cameras are able of being multiplexed – capture images from both cameras at the same time. These are 4-lane MIPI connectors, so they are capable of moving quite a bit of data through the pipeline.

This is a big feature for industrial customers, as they usually have the need for multiple cameras for visual identification/inspection during the manufacturing process or quality assurance and shipping pipelines.

This is not surprising given the announcement that Sony is funding some of the camera AI-enabled image sensors development with Raspberry Pi

I have a good stash of Raspberry Pi cameras and will be having quite a bit of fun testing the dual camera support. More to come on this!

Not as exciting (to me), is the support for dual displays in addition to the two HDMI monitors. One thing to keep in mind is that the cameras and the displays share the same connectors. So you can run 2 cameras, 1 camera/1 display, or 2 displays at the same time.

The camera connectors on the Pi 5 are the same ones found on the Pi Zero series of boards and require a cable that is narrower on one end. The camera cable shipped with the Raspberry Pi camera modules is not compatible with the Pi 5, so you might have to source new cables if you don’t have any Pi Zero cables available. Also, keep in mind that camera (CSI) and display (DSI) cables have slightly different pinouts and they are not interchangeable.

New UART Serial Connector

This might seem like a small change but if you have ever had to debug a Raspberry Pi with a HAT attached to it, you will appreciate this new connector. Previously, you had to connect the UART leads to the GPIO header which was not the easiest task with a HAT blocking direct access to the GPIO pins.

I like that the UART connector is next to the HDMI ports, on the opposite side of the GPIO header. Again, this makes it easy to debug with a HAT attached to the Pi.

Active Cooling

Raspberry Pi is also launching a new heatsink dubbed the Active Cooler. This heatsink is only compatible with the Pi 5 as it uses the two additional holes on the board to be secured in place and it connects directly to a dedicated fan connector. On older Raspberry Pis, the fan is connected to the GPIO pins as the older boards don’t have a dedicated fan connector.

I’ve done some light tests with Active Cooler and it seems reasonably quiet during regular desktop operations. I barely noticed it was whirring away when I stressed the CPU and GPU watching a YouTube video :). I have not done any proper stress testing with the cooler installed. You can see the Active Cooler in operation in the video linked below.

Pi 5 vs Pi4 Physical Differences

If you haven’t watched, you should check out my video where I compare the physical layout of the Pi 5 to the Pi 4.

Here is a more detailed description of these differences.

Ethernet Jack and PoE HAT

The Pi 5 ethernet jack is now on the same side as the HDMI and power connectors, while the Pi 4 ethernet jack is right next to the GPIO pins. The PoE post – how the PoE HAT gets electricity from the ethernet jack – is also in a different position. This means the Pi 3/4 PoE HAT is not compatible with the new Pi 5.

I asked Raspberry Pi about this and they said the change was due to PCB trace routing and making sure they could fit everything on the board. They will be releasing an L-shaped PoE hat that is compatible with the Pi 5 active cooling heatsink.

Camera/Display Connectors

The standard position of the camera and display connectors, going back to the Pi 1B has been changed for the Pi 5. On the Pi 5, where the camera connector used to be, there are two camera/display connectors. This is described in more detail above.

Because of how close the camera/display connectors are to each other, it can be a bit fiddly to fit a cable into each of the connectors when using two cameras/displays. I had to break out some tweezers to make sure the cables were firmly secured in the connectors as my sausage fingers were not dexterous enough for the task.

Audio jack is no more!

The audio jack is absent from the Pi 5. To be honest, I don’t think this is much of a loss. I have always used an audio DAC on projects requiring audio output as the audio quality from the onboard audio jack can be pretty poor on the Raspberry Pi. There are still pads available if this feature is needed, but I doubt the average Pi user will be soldering an AV connector to their board.

Power Button

Yep, you read it right, the Raspberry Pi 5 now has a power switch. It’s pretty awesome to not have to unplug/plug the power brick every time you want to power up the Raspberry Pi. Another option to the unplug/plug method was to wire a switch connecting GPIO 3 and GND to act as a power switch, but this could be a little cumbersome when a HAT was attached to the Pi.

I tried using the Pi 5 power switch to shut down the board but it did not work. I have not tried adding the setting dtoverlay=gpio-shutdown to config.txt.

Case Compatibility

All of the layout changes listed above mean that Pi 4 cases are not compatible with the Pi 5. I’m sure 3rd party vendors will be quick to launch new cases. I am also sure the 3D printing community will quickly adapt available case designs to the new Pi 5 layout. But be warned, the

My Thoughts (for now)

The Pi 5 brings some of the features from the Compute Module 4 like direct access to PCIe and dual camera support. PCIe greatly expands the accessories you are able to connect directly to a Pi. For example, GSM modules, GPS, audio cards, and anything else that the software will support.

Personally, I’m looking forward to what the retro-gaming community will be able to do with the new Pi 5 GPU. I’m sure the folks over at RetroPie are already working on support for the Pi 5. Or at least, I hope they are 🙂

I’ll be using the Pi 5 as my workshop computer, where I can peek at KiCad files as I assemble and test new PCBs, use my favorite woodworking online tool (cutlistoptimizer.com), debug my Pico W projects, and inspect my soldering abilities with a Raspberry Pi HQ camera as a microscope. I suspect you will be seeing more content with the Pi 5 on this blog.

It looks like Raspberry Pi is taking another step in the direction of the manufacturing and industrial market. But the maker community and home users will certainly take advantage of these new features. As the creator of rpilocator.com – a tool used to keep track of Raspberry Pi computers in stock during the chip shortage – I would like to see Raspberry Pi making sure the retail market is stocked with the Pi 5.

The post Raspberry Pi 5 is Here: Hands-on Feature Preview appeared first on {DPHacks}.

]]>
https://dphacks.com/2023/09/28/raspberry-pi-5-is-here-hands-on-feature-preview/feed/ 1 868
First Rpilocator/Dphacks Giveaway – June 2023 https://dphacks.com/2023/06/03/first-rpilocator-dphacks-giveaway-june-2023/ https://dphacks.com/2023/06/03/first-rpilocator-dphacks-giveaway-june-2023/#comments Sat, 03 Jun 2023 19:52:42 +0000 https://dphacks.com/?p=773 First Rpilocator/Dphacks Giveway. Your chance to win a Pi 4 8GB and a Camera Module (v3)

The post First Rpilocator/Dphacks Giveaway – June 2023 appeared first on {DPHacks}.

]]>
Winner Announcement

If you go by lbk and you wrote the comment below, check your inbox/spam folder. Thanks!

(Sign-ups are closed!!!)

Hello, Hello!

Let’s keep things simple. This is a giveaway for a Raspberry Pi 4B 8GB RAM and a Raspberry Pi Camera Module (V3). The winner will receive both items at home, free of charge. Both the Pi 4B and the camera are brand new in the box and never opened.

The Rules

Post a comment below AND check the box to subscribe to my newsletter. When adding a comment, tell me how you would like to use the Pi 4B 8GB and the camera. This is just so your comment doesn’t get flagged as spam; the winner will be selected randomly independent of the content of the comment.

One entry per person. Please don’t get all smart pants on me and enter multiple emails. This will disqualify you from the giveaway.

More Details

I will send the goods to the winner anywhere in the world free of charge. Keep in mind that you might be responsible for duties and taxes when the product arrives in your country (if outside the US). It is your responsibility to pay for local taxes and fees.

If you post a comment and it doesn’t show up right away, please don’t add another one. Comments can get stuck in moderation and I have to approve them individually. Don’t worry, I’ll go through all the comments stuck in moderation and spam filter before picking the winner.

The comment section will remain open for 3 days. The giveaway will close on Tuesday, June 6th 2023 @ 8pm Central Time (or thereabouts).

Hateful speech, foul language, or any other dickery will disqualify you from the giveaway.

Who’s Sponsoring This?

This giveaway is sponsored by me, I bought these items with my own money and I’m deciding to give them to a friend in the community in return for the support that rpilocator has received during the Pi shortage.

“But it says rpilocator in the title, are they sponsoring it?”, you might wonder. I created rpilocator.com.

Picking the Winner

After the comments section in the post closes, I will delete all duplicates, approve any pending comments, and I’ll head to random.org to pick a winner. If the winner is not signed up for my newsletter, I will pick another winner. You are free to unsubscribe to my newsletter after the winner is declared – I’ll post the winner here.

I will contact the winner through the email entered in the comment. If the winner does not reply in 5 days, I will pick another winner.

Newsletter Details

To be quite honest, I don’t even have a newsletter 🙂 but I figured I would start one! The newsletter will most likely be in the style of one of my SBC Week in Review posts (example) and I’ll probably include projects I’m working on, like the CM4 Ether Board. I will never (ever!) use your email for spamming. The newsletter will only contain maker/Raspberry Pi/SBC content.

The post First Rpilocator/Dphacks Giveaway – June 2023 appeared first on {DPHacks}.

]]>
https://dphacks.com/2023/06/03/first-rpilocator-dphacks-giveaway-june-2023/feed/ 1574 773