[ Hardware: Guides | HOW TOs ]
Raspberry Pi Hacking. This paper outlines Raspberry Pi hacking, GPIO headers and
how to interface them. Along with various programming language libraries and
example code for controlling the GPIO pins and various applications they can
be used for.
Also covered will be performance tweaks and enhancements you can do to
improve the performance of RAM, CPU and DISK I/O of the Raspberry Pi.
Languages covered for controlling the Raspberry Pi GPIO pins: C, C#,
Java, Perl, Python, Ruby, Shell Scripting and the wiringPi library.
In this document interfacing with a Teensy Kit is covered
and interfacing the Raspberry Pi with a HD 44780 LCD display,
using the RPi.GPIO
Recently added: Using a 16bit MCP23017 I2C I/O Expander with Raspberry Pi
More Raspberry Pi Hacking... Extending a bit upon the last guide published by
Hakin 9.
This guide will add several things to the Raspberry Pi, LCD with buttons
and a python script to drive everything.
Flashing the ATMega16u2 chip on Arduino UNO so it can act as a
HID device. Similar to Teensy Kits
Companion HID sketches (AddAdminUser / LinuxReverseShell / osx-DownloadandExec)
were originally hosted under ArduinoHIDSketches/; source archives lost to bitrot,
the techniques are preserved in the main writeup above.
Using an Arduino as an ISP Programmer 06.2015
Tutorial on using an Arduino UNO as an ISP with an AVR ISP Shield to program atmega
microcontrollers. With and without the need to flash a bootloader onto the target
MCU.
Source archive lost: project listed for historical reference only.
Tutorial on configuring Notepad++ to support syntax highlighting, Arduino IDE
launching along with function completion and parameter suggestions for writing
Arduino sketches.
Controlling 7 Segment LED with Arduino 11.2013
Tutorial on how to control a 7 segment LED from an Arduino UNO R3.
Source archive lost: project listed for historical reference only.
TCP/IP - Arduino Power Controller 11.2013
Small project to control a 120VAC socket from an Arduino UNO R3 via web interface.
Using an 8 relay 5VDC breakout board.
Source Code: https://pastebin.com/Hf34AKEh
Local project files lost; source still mirrored on Pastebin (link above).
ArduinoRobot 11.2013
Small project working on a RC type robot controlled by Arduino..
Uses ping sonar and motion sensors. With a few servos for turret control...
Source archive lost: project listed for historical reference only.
A short getting-started for the ESP32-WROOM-32, the dual-core Wi-Fi + Bluetooth
module on the classic 38-pin DevKit (and the part behind the other ESP32 builds
here). Covers the datasheet specs, the three ways to power it, flashing over USB
(Arduino / PlatformIO / ESP-IDF / ESPHome), the GPIO gotchas that bite everyone
(3.3 V logic, input-only and flash-wired and strapping pins), a first blink
sketch, and a 3D-printable dev-board case with STLs.
Read the guide →
Flash demo firmware onto an ESP32 straight from the browser over USB: no IDE,
no toolchain. Self-hosted ESP Web Tools talking to the board over the Web Serial
API. Three one-click demos (blink, a Wi-Fi scanner, a BLE scanner), each
auto-detecting ESP32 / S3 / C3 and flashing the right build. Desktop Chrome,
Edge, or Opera only; the sketch source is viewable inline. Pairs with the
getting-started guide above.
Open the flasher →
Turn an ESP32 into a capture-and-replay bridge for the two dialects most
household remotes speak: infrared (TV, AC, media) and 433 MHz (cheap
RF outlets, doorbells, blinds), using ESPHome's remote_receiver and
remote_transmitter. No firmware coding, just YAML: point a remote at
the receiver, copy what the dumper prints (decoded NEC / rc_switch, or a
raw pulse list) into a template button, and Home Assistant can fire it on
cue. Covers wiring (IR receiver + LED, 433 RX/TX modules), the receiver
and transmitter config, reading the dump output, and a full single-board
example config. Includes the rolling-code caveat: garage doors and car
fobs rotate their code every press, so replay can't (and shouldn't) touch
them.
A repeatable method for reverse-engineering a Bluetooth LE device's protocol
using an Android phone as the vantage point, then reimplementing it in your own
client. Enable the HCI snoop log, drive the vendor app, and decode the
btsnoop capture down to ATT frames; count writes and notifications by handle
to find the command and reply channels; read the framing (sequence id, opcode,
ASCII paths) off the bytes; then decompile the APK with jadx to confirm the
UUIDs, opcode constants, and the challenge-response auth handshake you can't
get from the capture alone. Worked end to end on the Puffco Peak Pro's
path-based LORAX protocol, with a Python btsnoop decoder and the checklist for
building your own client, the same method behind the browser Volcano
controller.
Read the guide →
How to build a Meshtastic LoRa node that actually reaches and survives. Covers
the board decision (low-power nRF52 vs Wi-Fi-capable ESP32), getting the
region/frequency right, the antenna details that decide your real range (SMA
vs RP-SMA, gain trade-offs, feedline loss), sizing battery and solar so a
remote relay rides out bad weather, choosing the correct mesh role instead of
flooding the network, weatherproofing an outdoor enclosure, and flashing the
firmware. Ends with a worked solar ridge-relay build, and pairs with the
coverage-planning guide below for siting.
Read the guide →
Complete walkthrough of the Meshtastic Site Planner, the terrain-aware
tool that predicts where a LoRa node's signal will actually reach. Explains
every transmitter, receiver, environment, simulation, and display setting, and
how the underlying Longley-Rice / ITM model uses each one. Includes a worked
island example (decoded from a real share link) and the maritime-climate gotcha
that quietly under-predicts coastal / island over-water range. Practical tips on
why antenna height beats power, matching receiver sensitivity to your LoRa
preset, and reading the reliability fractions.
Read the guide →
A look at the real Meshtastic mesh across the Hawaiian islands: local
RF meshes on Oʻahu, Maui and the Big Island, stitched together statewide over
MQTT rather than radio across the channels. Explains what the live mesh map
shows, how to tell a real RF link from an MQTT bridge (the most-misread thing on
any mesh map), and how to get your own node onto the mesh (US region, LongFast
preset, and the msh/US/HI MQTT bridge). Pairs with the node-build and
coverage-planning guides above.
Read the guide →
Take the mesh on the move: a group network for hiking, overlanding, events, or
comms-down, with no fixed infrastructure. Covers the mobile node picks, why a
moving node is never a ROUTER, power on the go, GPS and position privacy, vehicle
and handheld antennas, the temporary-high-relay trick that keeps a spread-out
group connected, a private group channel (pre-share the QR before you leave
coverage), and a pre-trip checklist. Links out to the build, coverage, and
security guides for the underlying details.
Read the guide →
The one tool the rest of the site keeps telling you to reach for. A beginner's
walkthrough of a cheap auto-ranging meter (an AstroAI DM130B): reading DC and AC
voltage, the continuity beep and resistance, the diode test, the handy 1.5V /
9V / 12V battery-test positions, measuring current in series without blowing the
fuse, and NCV. Covers the dial, the jacks, the two rules that keep the meter
alive, an across-vs-series diagram, and the mistakes everyone makes once. Pairs
with the Power guides, which assume exactly these checks.
Read the guide →
Three 18650 cells in series make a 12V pack for pocket change, and the BMS is
what keeps it from becoming an interesting evening. Covers what the board
actually protects, why it only switches the negative leg (and why wiring the
load to B− instead of P− gives you a pack that works perfectly and protects
nothing), picking the right board for your chemistry and port type, matching
cells, the balance-tap ladder and the connection order that kills boards when
you get it wrong, the four meter checks before you trust it, charging at 12.6V
CC/CV, and why a 20A BMS is not a fuse. Closes with going up in voltage: a
3S / 4S / 6S comparison, why cutting the current is the point, and the trap that
"24V pack" and "24V input" are not the same number.
Read the guide →
A 20V DeWalt pack is a rugged 5S lithium-ion battery with its own protection
board and a charger you already own, which makes it a tempting power source for
anything portable. But it was designed to talk to a tool, not to you. Covers
what "20V MAX" really is (5S: 21V full, 18V nominal, 15V empty), finding B+ and
B− on the unlabelled terminals with a meter, the three ways to tap power,
whether the pack needs the tool to wake it, running 12V and USB loads through a
buck converter, the pack's own BMS versus the fuse you still need, the FlexVolt
trap, and how it stacks up against rolling your own 18650 pack.
Read the guide →
"Recommended: 190–230°C" on the spool is a range, not a setting. This walks
the calibration in the order that actually matters (temperature tower, flow /
extrusion multiplier, retraction, then pressure advance) and folds the result
into a reusable slicer profile. Worked through with a spool of SUNLU PLA+ 2.0,
with the OrcaSlicer built-in tests as the easy path.
Read the guide →
A parametric OpenSCAD enclosure for the RAK19007 + RAK4631 Meshtastic kit, the
one that houses the node from the build guide. One .scad file renders a base
tray and a choice of lids (snap, screw, or both), with every dimension tunable
from the top: board fit, wall and headroom clearances, USB-C and reset
cutouts, a battery shelf, lanyard loop, and a pigtail exit. Covers the render
targets, the print workflow, what to caliper-check first, and the PLA / PETG /
ASA call for indoor vs outdoor.
Read the guide →
A parametric OpenSCAD enclosure for the Heltec WiFi LoRa 32 V4
(ESP32-S3 + SX1262, on-board OLED), the same snap+screw architecture as the
WisBlock case, re-laid out for the V4's smaller board and its connector row.
One .scad file renders the base and a choice of lids, with an optional OLED
window, an SMA antenna hole, and M2 mounting. Covers the render targets,
verifying the connector positions (the make-or-break step), the OLED cover,
assembly, and the material call. Ships with pre-exported, print-ready STLs.
Read the guide →
USB Scan Key Codes 07.2015
Scan Key Code mappings for a 101 Key keyboard, including numpad and some special
keys.
Source archive lost: project listed for historical reference only.
Tutorial on analyzing, reversing and emulating firmware using tools like Binwalk,
Firmware modification Toolkit & Qemu.
Note: This will only work for devices that are of the following:
A. Under 12volts.
B. Support ONLY 10/100 speeds.
This will NOT work with gigabit devices as gigabit requires
all 8 pairs.
WARNING: This mod will FRY gigabit devices
(AT YOUR OWN RISK / Dangerous)
HOWTO on building your own parallel port to LCD interface, driven by lcdproc.
Tutorial on how to convert your Eagle Board Drawings into usable images for creating
your own PCB boards using the Toner Transfer Method.
Note: Assumes prior knowledge of eagle and prepared schematic and board drawing,
works best when the circuit does not use any SMD chips.