Close
0%
0%

Pwnagotchi+Fancygotchi

Building on Pios Trixie 64bit, with a 3.5" touchscreen

Public Chat
Similar projects worth following
**Project Duration:** January 21-27, 2026 (Build) + February 10, 2026 (Documentation)
**Total Time:** ~15 hours (11 build + 4 documentation)
**Status:** ✅ COMPLETE & DEPLOYED
**GitHub:** https://github.com/SpiritualCreations42/pwnagotchi-pi-zero-2w-guide (Private)

## 🏆 ACHIEVEMENTS UNLOCKED

### Historic First
✅ **FIRST documented successful build of:**
- Pwnagotchi on Raspberry Pi Zero 2 W
- Debian Trixie (testing)
- Kernel 6.12.62
- Nexmon WiFi monitor mode on 6.12
- stable-baselines3 2.x integration
- Complete deployment pipeline

### Technical Victories
✅ Nexmon firmware compiled for kernel 6.12.62  ✅ Python 3.13 environment working  ✅ stable-baselines3 2.7.1 integrated  ✅ Display drivers configured (mhs35ips for Sunfounder)  ✅ USB gadget networking functional  ✅ Web UI accessible and working  ✅ Manual and auto modes operational  ✅ Image backup created (128GB)  ✅ Deployment validated (64GB)  
### Documentation Created
✅ Comprehensive GitHub repository  ✅ Complete BUILD-GUIDE.md (35KB)  ✅ QUICK-REFERENCE.md cheat sheet (15KB)  ✅ TROUBLESHOOTING.md guide (30KB)  ✅ Example configuration files  ✅ 3,334 lines of tested documentation  
---

## 🔑 KEY DISCOVERIES

### 1. USB Gadget WiFi Exclusivity (CRITICAL!)
**Hardware limitation:** Pi Zero 2 W cannot use USB gadget mode AND WiFi simultaneously!
- **Development:** USB connected = No WiFi (SSH + internet)
- **Operation:** USB disconnected = WiFi active (monitor mode)
- This defined the entire two-phase workflow

### 2. Display Driver Compatibility
**Sunfounder MS 3.5 IPS requires mhs35ips driver**, NOT Waveshare drivers!
- Wrong driver = wrong colors
- Correct driver = perfect display
- Critical for user experience

### 3. Python 3.13 Breaking Changes
- `distutils` removed
- `gym` → `gymnasium`
- stable-baselines3 1.x incompatible
- Need version 2.7.1+

### 4. Nexmon Kernel 6.12 Success
**First successful port** using DrSchottky's fork
- BCM43436b0 chipset
- Monitor mode functional
- Deauth disabled for stability

### 5. Image Deployment Works
128GB build card successfully clones to 64GB production card
- Actual usage: ~10GB
- Auto-resize on first boot
- Reproducible deployment

---

## 📊 FINAL STATISTICS

**Build Sessions:** 4 major sessions  **Issues Resolved:** 16+ blocking problems  **Commands Documented:** 200+  **Files Created:** 10+ documentation files  **Documentation Size:** ~100KB  **GitHub Stars:** TBD (when made public)  
**Most Time-Consuming Issues:**
1. USB/WiFi conflict discovery (2 hours)
2. Display color fix (1.5 hours)
3. stable-baselines3 migration (2 hours)
4. Python dependency resolution (1.5 hours)

---

## 🗂️ FILE LOCATIONS

### GitHub Repository
**URL:** https://github.com/SpiritualCreations42/pwnagotchi-pi-zero-2w-guide  **Local:** C:\Users\Spiri\Desktop\pwnagotchi-pi-zero-2w-guide\  **Status:** Private (ready to make public)

### Obsidian Vault Documentation
**Location:** C:\Users\Spiri\Desktop\Obsidian Vault\Pwnagotchi\  **Session Files:**
- Pwnagotchi-Build-Guide-Session1.md
- Pwnagotchi-Build-Guide-Session2.md
- Pwnagotchi-Build-Guide-Session3.md
- Pwnagotchi-Build-Guide-Session4.md

### Master Image
**Location:** Aurora Pi5 (need to document exact path)  **Filename:** pwnagotchi-pi0-2w-trixie-complete.img  **Size:** ~10GB (compressed from 128GB card)

### Working System
**Hardware:** Raspberry Pi Zero 2 W  **Display:** Sunfounder MS 3.5 IPS SP 125MHz  **SD Card:** 64GB SanDisk Ultra  **Status:** Fully operational ✅

---

## 🎯 NEXT STEPS (If Revisiting)

### Immediate Enhancements
- [ ] Test standalone mode thoroughly (USB disconnected)
- [ ] Verify handshake captures over time
- [ ] Document actual WiFi scanning results
- [ ] Performance benchmarks

### Optional Features
- [ ] GPS module integration
- [ ] Bluetooth tethering
- [ ] Custom plugins
- [ ] Battery operation guide
- [ ] 3D printed case design

### Community Sharing (When Ready)
- [ ] Make GitHub repo public
- [ ] Post to r/pwnagotchi
- [ ] Share on Raspberry Pi forums
- [ ] Announce on Pwnagotchi Discord
- [ ] Write blog post

---

## 💡 LESSONS LEARNED

### Technical
1. **Always check hardware limitations first** - USB/WiFi conflict wasted hours
2. **Driver compatibility matters more than expected** - Display colors
3. **Kernel...
Read more »

20260211_022337.mp4

MPEG-4 Video - 23.02 MB - 02/11/2026 at 12:24

Download

20260210_233838.jpg

JPEG Image - 4.57 MB - 02/11/2026 at 12:24

Preview

20260211_022424.jpg

JPEG Image - 2.31 MB - 02/11/2026 at 12:24

Preview

20260210_220011.jpg

JPEG Image - 3.98 MB - 02/11/2026 at 12:24

Preview

20260211_022416.jpg

JPEG Image - 2.09 MB - 02/11/2026 at 12:24

Preview

View all 10 files

  • 2 × 3.5" Sunfounder MHS SPI Display
  • 2 × Raspberry Pi Zero 2
  • 3 × Metal Belt Clips
  • 2 × 8db gain antennae
  • 1 × 40mm blue LED cooling fan

View all 9 components

  • Finally done

    SpiritualCreations4202/11/2026 at 12:31 0 comments

    # Contributing to Pwnagotchi Pi Zero 2 W Guide
    
    Thank you for your interest in contributing! 🎉
    
    This guide is the result of systematic troubleshooting and comprehensive documentation. We welcome contributions that maintain this standard of quality.
    
    ---
    
    ## 🤝 How to Contribute
    
    ### Reporting Issues
    
    **Before opening an issue:**
    1. Search existing issues (including closed ones)
    2. Try the troubleshooting guide
    3. Test on a clean installation if possible
    
    **When reporting bugs:**
    - Use the issue template (if available)
    - Include full error messages
    - Provide system information (OS, kernel, hardware)
    - Describe steps to reproduce
    - Include what you've already tried
    
    **Example good bug report:**
    ```
    Title: Monitor mode not working after reboot
    
    Hardware: Pi Zero 2 W
    Kernel: 6.12.62+rpt-rpi-v8
    OS: Debian Trixie
    
    Description:
    After rebooting the Pi, mon0 interface doesn't get created.
    USB is disconnected. Nexmon appears to load (checked dmesg).
    
    Steps to reproduce:
    1. Fresh install following BUILD-GUIDE.md
    2. Verify mon0 works initially
    3. Reboot
    4. mon0 not present
    
    Already tried:
    - Checking USB is disconnected
    - Verifying Nexmon firmware is present
    - Checking systemd logs
    
    Logs:
    [paste relevant logs here]
    ```
    
    ---
    
    ### Suggesting Enhancements
    
    We welcome suggestions for:
    - Improved documentation clarity
    - Additional hardware compatibility
    - New features or workflows
    - Better troubleshooting steps
    
    **Good enhancement requests include:**
    - Clear description of the problem/need
    - Proposed solution
    - Why this would help others
    - Any implementation details
    
    ---
    
    ### Contributing Code/Documentation
    
    #### Documentation Improvements
    
    **We especially welcome:**
    - Clarifications for confusing steps
    - Additional examples
    - Better explanations
    - Corrections for errors
    - New hardware compatibility info
    - Alternative methods that work
    
    **Guidelines:**
    - Keep the same friendly, clear tone
    - Use emoji sparingly but appropriately
    - Include code blocks with proper syntax highlighting
    - Test all commands/procedures before submitting
    - Maintain the "written for someone forgetful" approach
    
    #### Code Contributions
    
    **For scripts and utilities:**
    - Follow existing code style
    - Add comments explaining non-obvious parts
    - Test thoroughly on Pi Zero 2 W
    - Document any dependencies
    - Include usage examples
    
    #### Pull Request Process
    
    1. **Fork the repository**
    
    2. **Create a branch:**   ```bash   git checkout -b feature/your-feature-name   ```
    
    3. **Make your changes:**   - Follow existing structure and style   - Test everything thoroughly   - Update relevant documentation
    
    4. **Commit with clear messages:**   ```bash   git commit -m "Add: Clear description of what you changed"   ```      **Good commit messages:**   - `Fix: Correct Nexmon build commands for kernel 6.12.65`   - `Add: Hardware compatibility info for WaveShare 4" display`   - `Improve: Clarify USB gadget conflict in BUILD-GUIDE.md`   - `Docs: Fix typo in TROUBLESHOOTING.md`
    
    5. **Push to your fork:**   ```bash   git push origin feature/your-feature-name   ```
    
    6. **Open a Pull Request**   - Clear title describing the change   - Reference any related issues   - Describe what you changed and why   - Include testing details
    
    ---
    
    ## 📝 Documentation Standards
    
    ### Writing Style
    
    - **Clear and concise** - No unnecessary jargon
    - **Step-by-step** - Assume reader is following along
    - **Tested procedures** - Every command should be verified
    - **Helpful warnings** - Use ⚠️ for critical information
    - **Checkpoints** - Include ✅ validation steps
    
    ### Formatting
    
    **Use consistent markdown:**
    
    ```markdown
    ### Section Heading
    
    **Bold for emphasis** on important concepts
    
    `Code formatting` for commands and filenames
    
    ```bash
    # Code blocks with syntax highlighting
    command --with-flags
    ```
    
    - Bullet lists for options
    - Numbered lists for sequences
    
    > **Note:** Information boxes for tips
    
    ⚠️ **Warning:** Critical information
    ✅ **Success:** Validation checkpoints
    ```
    
    **File paths:**
    - Use absolute paths:...
    Read more »

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates