Reset Raspberry PI using Raspberry PICO or Arduino

While working on my last project, I wanted a way to manually trigger a hardware reset on a Raspberry Pi using a microcontroller such as a Raspberry Pi Pico or Arduino. All recent versions of Raspberry Pi boards have a RUN pin (separate from the GPIO header) that can be used to either reset the device or wake it up from a halt state. The official documentation mentions "Connect to GND to reset" for this specific pin. Using this information, I came up with a very simple schematic that can be used with both 5V and 3.3V logic microcontrollers, utilizing a common NPN bipolar junction transistor (2N3904).

Continue reading Reset Raspberry PI using Raspberry PICO or Arduino

Network Tap v2 MiTM Edition

Network Tap v2 - MiTM Edition

In my previous post I described how to utilize a Raspberry Pi and capture the traffic from a network device’s SPAN port. In this post, you will find out how to create a proper Network Tap which directly intercepts a network device’s traffic. This is actually a hardware variance of the Man in the Middle Attack (MiTM) which eliminates the requirement for network speed degradation of the Passive Taps.

Continue reading Network Tap v2 MiTM Edition

Flash CC2531 using a Raspberry PI 4

CC2531USB
Many guides exist describing how to flash a CC2531 USB adapter using a Raspberry Pi instead of a CC debugger. The problem with almost all of those guides is that they are outdated and don’t work on newer devices (specifically with 64 bit architecture). Most of the times the issues have to do with outdated version of wiring PI, or the precompiled for 32 bit devices cc_* binaries (cc_chipid, cc_read, cc_write). In this guide you will learn how to flash CC2531 using a Raspberry PI 4 or any other device with 64 bit architecture OS.

Continue reading Flash CC2531 using a Raspberry PI 4

Raspberry PI 4, 400 and CM custom MAC Address

Today I read this official document (published on September of 2022) which describes how to change the MAC Address of Raspberry PI Devices. Interestingly it describes a different method for Raspberry Pi 4, 400 and CM 4 by editing the EEPROM configuration, using the following command:

sudo -E rpi-eeprom-config --edit

In the configuration file append a new line with the required MAC Address as follows:

MAC_ADDRESS=aa:bb:cc:dd:ee:ff

Save the new configuration (Use Ctrl + X to stop editing, Y to overwrite current file and ENTER to confirm). Upon saving the following message appears:

Pi4_mac_change

Finally, reboot your device in order to apply the new MAC Address. Warning If the device gets IP from a DHCP server, then most probably after the reboot it will be assigned with a new IP address.

This is a different (and simpler) technique from the one which I described in a previous post (which works for all models)

BYOPM – Bring Your Own Password Manager

BYOPM

BYOPM is a portable Password Manager implementation based on VaultWarden, an unofficial implementation of BitWarden and a Raspberry PI Zero. It’s a self hosted solution, with full functionality, which is activated by just plugging the device on your computer. Bitwarden’s Official browser addons and extensions are also supported, and the device has been tested both on Windows (10 and 11) and Linux (Debian Based).

Continue reading BYOPM – Bring Your Own Password Manager

Integrating serial GSM Modem with Home Assistant

HASSIO Serial GSM Modem
This is how to enable Home Assistant’s SMS Integration Service using the Geetech Arduino GPRS Shield (based on the SIMCom SIM900 module) on a Raspberry PI 4 over serial communication. The host system is using Home Assistant Supervised which was deployed in docker.

Continue reading Integrating serial GSM Modem with Home Assistant

Mount a Raspberry PI image under Linux

Every operating system, has a way to mount file systems from devices or image files and include them in the file system. Under Linux the mount command instructs the operating system for an existing file system and associates it with a particular mount directory. Using the offset parameter of the mount command it’s possible to mount a Raspberry PI image to a directory and interact with it.

Continue reading Mount a Raspberry PI image under Linux

Raspberry PI RDP Thin Client

Updated 14/04/2021
Thin Clients, are computers which are optimized to establish a remote connection to a server and run using the remote resources. Usually those systems are not meant to be used for intensive tasks or gaming and they are mostly found in office environments. In the following guide you will find out how to use a Raspberry PI to connect to a local Windows Computer using Microsoft’s RDP Protocol.
Every version of Microsoft Windows following the release of Windows XP includes a Remote Desktop Connection (RDC) client (mstsc.exe). The Remote Desktop Connection is accomplished through the Client using the Remote Desktop Protocol a proprietary Microsoft Protocol which provides a graphical interface to connect to another computer.

Continue reading Raspberry PI RDP Thin Client