Skip to content
Xombi3Public

About

A Cyd live feed pentesting tool ONLY TEST YOUR OWN HARDWARE, I DONT CONDONE USING IT OUTSIDE OF THAT

Resources

Stars

7 stars

Watchers

1 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

" Y  ___  Y",
" |Y(   )Y|",
"  ( 0 0 ) ",
"  |     |",
"  | WWW |",
"  |V   V|",
"  |     |",
"   -----  "

this is a porkchop inspired project Love Ya Octo

Only test your own Hardware, i dont condone hunting and deauthing outside of your own network, always test your OWN Hardware

Hardware

Board: ESP32 Dev Module (Cheap Yellow Display / CYD, ESP32-2432S028R) Flash: 4MB QIO @ 80MHz, "Huge APP" partition scheme Display: ILI9341 320x240 TFT via TFT_eSPI Touch: XPT2046 resistive touchscreen Storage: microSD over a dedicated HSPI bus Status LED: common-cathode RGB, active LOW

Pin map

FunctionPinTFT MISO12TFT MOSI13TFT SCLK14TFT CS15TFT DC2TFT RST4TFT Backlight21Touch CS33Touch IRQ36SD CS5LED Red4LED Green16LED Blue17

Required User_Setup.h (TFT_eSPI library folder)

cpp#define ILI9341_DRIVER #define TFT_MISO 12 #define TFT_MOSI 13 #define TFT_SCLK 14 #define TFT_CS 15 #define TFT_DC 2 #define TFT_RST 4 #define TFT_BL 21 #define TFT_BACKLIGHT_ON HIGH #define TOUCH_CS 33 #define LOAD_GLCD #define LOAD_FONT2 #define LOAD_FONT4 #define LOAD_GFXFF #define SMOOTH_FONT #define SPI_FREQUENCY 40000000 #define SPI_READ_FREQUENCY 20000000 #define SPI_TOUCH_FREQUENCY 2500000

Libraries

TFT_eSPI XPT2046_Touchscreen Preferences (bundled with ESP32 core) SD (bundled with ESP32 core)

Screen layout

The 320x240 display is split into four regions:

Top bar (20px) — title and a status line Left panel (148x198) — the animated skull/mask sprite and stats Right panel (172x198) — a scrolling text feed Bottom bar (22px) — four mode tabs, rendered as touch targets

I draw the mask and feed panels into separate TFT_eSprite buffers and push them independently, so each region only redraws when its own content changes — this keeps the UI responsive without repainting the whole screen every frame.

Animated mask

The mask is drawn as 8 rows of monospaced ASCII art per frame, colored in three bands (amber antlers, bone-white skull, rust-colored jaw). It cycles through mood and idle states:

Idle sub-states: calm, blink, look-left, look-right, alert, sniff — picked at random with randomized hold times so it doesn't look robotic Mood states: idle, hunt, chomp, flicker, sleep — driven by whatever mode the UI is in

Each state just swaps which string array gets drawn into the sprite, so adding a new expression is a matter of writing a new 8-row ASCII frame and adding a case to getFrame().

Touch handling

Touch input is polled every loop and debounced into two gesture types:

Tap — quick touch and release Hold — touch held ~1.4 seconds, used here to cycle color themes

Only the bottom bar is treated as a touch target in this build; tapping a tab switches the active mode, and tapping the already-active tab returns to idle.

Status LED

The RGB LED pulses in different colors depending on the active mode (handled in updateLED()), giving an at-a-glance indicator visible without looking at the screen.

Persistent state

Preferences (ESP32's NVS-backed key/value store) is used to persist an XP counter and level across reboots, saved on a timer rather than every change to reduce flash wear.

SD card

The SD card is mounted over a separate HSPI bus from the display, with its own CS line. On boot, I check for a card and create a /captures directory if one is present — I'm not covering what gets written there.

About

A Cyd live feed pentesting tool ONLY TEST YOUR OWN HARDWARE, I DONT CONDONE USING IT OUTSIDE OF THAT

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages