Quantity   Component name
1 × Raspberry Pi 5 Runs Kali. The whole panel is a Python app rendering to the framebuffer — the Pi 5's headroom is what makes SDR decode and live CAN counters feel instant instead of laggy.
1 × 3.5" ILI9486 SPI touchscreen, 480×320, ADS7846 resistive touch The panel Scottina is built around. Driven by the piscreen DRM overlay, rendered straight to /dev/fb0, touch read from evdev. No X server anywhere in the stack.
1 × Cheapo Pi Case off Amazon This one comes with a screen already: https://amzn.to/3R4uJzr
1 × microSD card, 32GB+ Kali install. A10/U3-class or better — the panel is I/O-sensitive at boot.
1 × USB-C power supply, 27W PD Pi 5 wants the official 5V/5A brick. Underpowering a Pi 5 with dongles attached produces the worst class of bug: intermittent and blamed on your code.
1 × Active cooler / heatsink for Pi 5 Came with the case as well...
1 × ALFA Network AWUS036ACM Monitor-mode-capable external adapter. Used for passive capture only — no injection, no deauth. Its tile appears on the home grid the moment it's plugged in. https://amzn.to/4woJ49h
1 × USB-CAN transceiver (CANable / gs_usb / slcan compatible) The one device where Scottina transmits. Bitrate is autodetected by a listen-only sweep that keeps whatever rate actually yields frames. TX exists strictly for heartbeats and replies — you cannot diagnose a bus you can't answer on. https://amzn.to/4vUdSOq
1 × NooElec NESDR Nano 3 - RTL-SDR Receive-only by design. Frequency scan, rtl_433 ISM decode, IQ capture. No TX hardware in the build, which is a scope decision as much as a hardware one. https://amzn.to/44QeOIw