# wirecat

fuck your phone - PDA based on OrangePi 5 Plus

## quick FAQ & overview

>what the fuck is this?

wirecat is a project i thought about for a long time - building your own portable device with all the functionality you need, tailored to your specific needs, and of course - the one that looks cool.

> why wirecat?

just a cool name. also, the amount of interface ports on opi5+ is sure impressive for a SBC, so it's kinda fitting.

> why FreeBSD?

the only OS i could find that would satisfy my needs of running properly on this piece of hardware and not being a piece of dead shit. none of the linux distros would do, since unfortunately as of 11/2024 there is not a single systemd-free distro that works properly. trust me, i've tried several(void, alpine, artix, gentoo, etc.)

> what kind of functionality does it have?

it is a fully capable ARM computer running a UNIX-compliant system - the only limit is your schizo level. but in short - it can do everything what a smartphone/laptop can do, taking desktop functionality as granted - connect and utilize cellular network, work with RFID/NFC devices, even used as an electronic recon system(if you have an SDR)! sounds cool, doesn't it?

> SDR? what is that?

software-defined radio. an auxillary device that can be used to discover the electromagnetic(radio) spectrum around it, receive or transmit on certain radio frequency with certain types of modulation, depending on your SDR specs. for my own i used RTL-SDRv3, since it's cheap and i've had it for years. a reasonable choice for beginners in RF field, though better alternatives exist as of now, but those have a higher price tag(HackRF One, for example).

> specs?

OrangePi 5 Plus:
- CPU: octa-core Rockchip RK3588 64-bit ARM processor(aarch64, 4x Cortex-A55 + 4x Cortex-A72, upo to 2.4GHz)
- RAM: dual-channel 16GB LPDDR4X*
- GPU: Mali-610 ARM
- storage: 1x NVME M.2 MSI Spectrum Z390 SSD 240GB(system), 1x eMMC 256GB(secondary storage)
- wireless: 1x RTL8862BE(PCIE+USB) wireless network adapter(Wi-Fi 6/BT 5 capable), 1x Sierra Wireless AIrprime EM7455 M.2 key cellular/GPS module with USB adapter
- ethernet: 2x Realtek 2.5Gbps Ethernet adapters
battery: 
- cells: 6x Samsung INR18650-35E 18650 batteries, 3500mAh
- BMS: chinkshit 22,5W BMS, QuickCharge 3.0/4.0, 2x USB, 1x microUSB, 1x USB-C, 1x USB-C(charge only)
auxillary:
- cellular: Sierra Wireless Airprime EM7455, GSM/LTE/GPS, 1x SIM card slot, 3x U.FL male antenna connector
- RFID/NFC: RFID-RC522 module
- display: 5" FHD HDMI touchscreen display(many options, acquisition in progress)
- keyboard: mini-keyboard, wireless capable(many options, acquisition in progress)
software:
- operating system: FreeBSD 14.1-RELEASE aarch64
- video drivers: Panfrost/drm-510

## walkthrough(WIP)

walkthrough on how to assemble your own variation of wirecat is divided into following sections:
1. hardware assembly
2. OS installation
3. software installation(WIP)
4. chassis assembly(WIP)

full list of parts and tools needed for building will be in the end of this document

### hardware assembly

BATTERY ASSEMBLY

hardware required:
- 6x battery cells
- BMS board
- wiring(i recommend 16AWG)
- 18650 battery slots(any kind, just make sure they are connected in parallel)
tools required:
- soldering iron
- wire stripper/knife
- multimeter
- isolation tape
- two-side duct tape(optional)

step-by-step:

0. prepare the wiring, measure the length and strip the ends for soldering
1. connect the 18650 battery slots in parallel so you have a single 6-piece battery block
2. solder the positive and negative terminals according to their respective locations on the BMS board(marked by B+ and B- accordingly)
3. check connections with multimeter, then properly isolate the terminals with isolation nape or in any other suitable way(thermal glue, epoxy, etc.)
4. OPTIONAL: use two-way duct tape to secure the BMS board on the top/side of the battery block
5. this BMS plate has a thermal resistor, place it right on one of the battery cells and secure with tape
6. insert the battery cells
7. put the battery assembly to charge

congrats! the battery block is ready!

ORANGEPI 5 PLUS

hardware required:
- OrangePi 5 Plus
- eMMC chip
- cooler/radiator kit
- M.2 SSD
tools required:
- screwdriver

>>note: i know 99% of people can manage this without any instructions, but anyway
step-by-step:

0. prepare all your stuff, watch out for small components getting lost!
1. unpack the M.2 SSD, install it just like any other one in the back M.2 2280 slot
2. unpack the eMMC, install into the designated slot
3. unpack the coller/radiator kit, remove the back cover to expose the thermal sticky pads, install to their respective places

probably the easiest part, nonetheless - way to go!

RFID/NFC MODULE WIRING(WIP)

### OS installation

depending on your OS, instructions may not be suitable for your system of choice. only FreeBSd installation will be covered here. known other operating systems with some level of Orange Pi 5 Plus support:
- Orange Pi OS(full, vendor-provided)
- Armbian(partial)
- BredOS(full)
- Armtix(barely)

tools required:
- flashing/burning software(dd/Rufus/balenaEtcher/etc.)
- SD card

PART 1 - UEFI INSTALLATION VIA JUMPER OS

0. prepare your tools
1. pick any OS image you want, vendor-provided ones are a good option
2. flash the image onto an SD card
3. insert the SD card and boot up Orange Pi 5 Plus
4. once logged in, follow [guide in this repo](https://github.com/edk2-porting/edk2-rk3588) to install UEFI firmware [local copy of guide and UEFI image](./local/UEFI)

now you should have a working UEFI installed, after rebooting the I/O status light will blink blue instead of green

PART 2 - FREEBSD INSTALLATION

tools required:
- flashing/burning software(dd/Rufus/balenaEtcher/etc.)
- SD card or USB flash drive

0. prepare your tools, download the OS image from [here](https://download.freebsd.org/releases/ISO-IMAGES/14.1/FreeBSD-14.1-RELEASE-arm64-aarch64-memstick.img)
1. flash the image onto the storage device
2. insert the storage device into the SD card slot/USB port
3. power on the OrangePi 5 Plus, enter the BIOS
4. select the storage medium and boot
5. FreeBSD installation here is not really any different from any other platform, pretty intuitive as well, nonetheless i will leave [this guide](https://docs.freebsd.org/en/books/handbook/bsdinstall/) here [(local copy)](./local/freebsd/bsdinstall.html)

NOTE: as of 11/2024, the current version of FreeBSD 14.1-RELEASE does not come with the drivers for wireless card, so for network connectivity you will need to use either an Ethernet cable or USB tethering via your smartphone until then

congratulations, now you should have a working FreeBSD installation running!

### software installation(WIP)

### chassis assembly(WIP)

## list of parts and tools(WIP)

PARTS

- OrangePi 5 Plus 16GB kit(32GB version is available for purchase as of 11/2024) - i recommend the option with the cooling/radiator kit, wireless card and 265GB eMMC card
- M.2 2280 SSD
- RFID-RC522 module
- Sierra Wireless Airprime EM7455 module with USB adapter
- RTL-SDRv3 software-defined radio
- 5" FHD HDMI touchscreen display
- 6x 18650 batteries - you can alter the battery assembly design to your needs, i just went full blast on this one
- 3x 2-piece parallel 18650 battery slots - you can get whatever combination you want, according to your battery aseembly configuration
- 16AWG wiring - you will probably need like 20cm of it at most, suit yourself :3
- signal wires - can find those almost anywhere
- HDMI cable
- USB-C cable

TOOLS
- soldering iron and soldering neccessities(flux, solder, cleaning kit, etc.)
- screwdriver
- wire stripper
- isolation tape
- two-way duct tape(optional)