element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Project Videos
  • Challenges & Projects
  • element14 presents
  • Project Videos
  • More
  • Cancel
Project Videos
Documents Raspberry Pi Fallout Terminal PC -- Episode 373
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Project Videos to participate - click to join for free!
Related
Recommended
Engagement
  • Author Author: kellyhensen
  • Date Created: 20 Nov 2018 7:53 PM Date Created
  • Last Updated Last Updated: 21 Dec 2018 8:24 AM
  • Views 7888 views
  • Likes 9 likes
  • Comments 58 comments

Raspberry Pi Fallout Terminal PC -- Episode 373

image
Raspberry Pi Fallout Terminal PC

element14 Presents  |  DJ Harrigan's VCP Profile  |  Project Videos

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Typing a password by hand is so blase, so why not spice up your daily PC unlocking routine by creating an overly contrived password keeper? In the modern Fallout games, you find many a RobCo terminal lying about ready to reveal secrets from before the great war, but in order to gain access, you often need to “hack” the system. Let’s re-create our own mini terminal to emulate a keyboard and unlock a computer in “real life.”

 

 

Bill of Material:

 

Product NameManufacturerQuantity
Buy Kit

Raspberry Pi 3B+

RASPBERRY PI1Buy Now

PiTFT

ADAFRUIT1Buy Now
Speaker PhatPIMORONI1Buy Now
5VDC Power SupplyXP POWER1Buy Now
Pushbutton SwitchNTE ELECTRONICS1Buy Now
1141 -  Assembled Data Logging Shield For ArduinoADAFRUIT1Buy Now
OnOff ShimPIMORONI1Buy Now
Verbatim 3mm FilamentVERBATIM1Buy Now
Trinket 5V 16MhzADAFRUIT1Buy Now
Power AdapterXP POWER1Buy Now
DC Power ConnectorMCM1Buy Now

 

Additional Parts:

 

Product NameQuantity

M2x6 Screw Flathead

6

M2.5x6 Screw Philips

4

M2.5x10 Screw Philips

4

White, Charcoal, and Hammered Black Spray Paint

1

Micro USB B to USB A cable

1

6mm Tactile Switch

6

 



Attachments:
3D Files.zip
  • terminal
  • robco
  • fallout 3
  • fallout 4
  • bethesda
  • pimoroni
  • fallout
  • game
  • serial terminal
  • hacking minigame
  • curses
  • raspberry pi
  • fallout 76
  • fallout new vegas
  • miniature
  • friday_releasedj
  • hacking
  • friday_release
  • 3d printed
  • e14presents_djharrigan
  • Share
  • History
  • More
  • Cancel
Actions
  • Share
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • mrvolt
    mrvolt over 6 years ago in reply to dougw +2
    Thanks Doug. I think I want to make a slight redesign to make this a general purpose Pi Case for future development.
  • mrvolt
    mrvolt over 5 years ago in reply to skwirl42 +2
    Wow James, I'm stoked you're still going strong on this! Also, you can definitely post the game you're working on. It's only spam if that's the only thing you do post, but you're actually sharing and contributing…
  • mrvolt
    mrvolt over 4 years ago in reply to xxbigladxx +2
    Hi there, There are multiple ways to run a program at boot. Here's a good tutorial: https://www.dexterindustries.com/howto/run-a-program-on-your-raspberry-pi-at-startup/
Parents
  • skwirl42
    skwirl42 over 5 years ago

    So, it's been a year and a half, but I've still been plugging away at this. I've changed some of my approach, concentrating mostly on making use of my strengths (software) and less on my weaknesses (making new hardware). Here's what I'm working on:

    • Using a Pi Zero W
    • The aforementioned robco-os project (https://github.com/skwirl42/robco-os) - now includes the version of hack.py that runs inside it
    • Cutting down the word list - mostly removing proper names
    • Optimizing how the word list is read in - it was reading the whole file in at once, so I had it load it line-by-line and only adding the words of the correct length to the list
    • A probably over-engineered python module written in C++ that directly accesses the framebuffer of the PiTFT to draw a console with a custom font (available at https://github.com/skwirl42/pitft-fbprovider - the 'pitft-only' branch of robco-os has an example of usage)
      • Requires the PiTFT to be set up as a framebuffer device
      • Loads a font in png format then draws text to the framebuffer with it
      • I know there's functionality built into linux to do these things, but I like that kind of low-level programming
    • Keyboard input is being handled with the tcod (https://python-tcod.readthedocs.io/en/latest/index.html) module, as I already had that imported for the tcod version of console rendering
      • Could also be used for mouse input, since tcod is built on top of SDL and uses its event system
    • Took apart a USB keyboard, traced its matrix, and I'll be using the controller board for a new physical keyboard with 14 keys
    • To make room for the new keyboard, replacing the faceplate with cutouts for the keys, and in a more durable material (possibly metal - the PLA broke easily - possibly an inferior print)
      • Unfortunately, I don't have the CAD chops to design this myself, and certainly don't have the metalworking skills
    • Use adhesive leatherette for the faceplate to match the in-game look
    • Adding an external USB port coming from an internal USB hub - the external port will be where the power button was originally intended to be

     

    I want to make use of the touchscreen, since I intend this to be a relatively general purpose machine. I've been exploring different tools for gesture recognition but haven't found one I'm happy with. The idea would be to use gestures for text input and to enter commands beyond what's available from the physical keyboard. The adafruit page suggests using xstroke, but it hasn't had an update in ages and works best when the desktop is available (it won't be in my project). Another option I'm considering is $-family of gesture recognizers (Impact of $-family) since there's a python module for the $Q variant. It has the problem of not being able to differentiate gestures based on orientation, so a line drawn left-to-right matches a template of a right-to-left (or up/down) gesture.

     

    All this while also working at my day job programming video games. I don't know if I'd get this post deleted or whatever for plugging the game I'm working on, so I won't. But my linkedin profile lists my employer, and it's not much of a jump to find out what we're currently working on. image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mrvolt
    mrvolt over 5 years ago in reply to skwirl42

    Wow James, I'm stoked you're still going strong on this! Also, you can definitely post the game you're working on. It's only spam if that's the only thing you do post, but you're actually sharing and contributing to the community as a great example.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • skwirl42
    skwirl42 over 5 years ago in reply to mrvolt

    I love Fallout, so having a little terminal of my own sounded like just the thing. Eventually I'd like to be able to play holodisk games through the pseudo-OS I'm working on, but for now it's just a text console. I've been dying to make a fantasy game console for years, and so maybe I can do that with this environment.

     

    I'm working on PGA Tour 2K21, and am pretty stoked that one of the recent gameplay trailers (https://www.youtube.com/watch?v=ZH8K1R7t59o ) shows off some of my work. I implemented the replays and highlights during PGA Tour mode, and then some of my colleagues made them look great. image I'm not gonna mention the last project I helped ship, because it bombed hahaha

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • skwirl42
    skwirl42 over 5 years ago in reply to mrvolt

    I love Fallout, so having a little terminal of my own sounded like just the thing. Eventually I'd like to be able to play holodisk games through the pseudo-OS I'm working on, but for now it's just a text console. I've been dying to make a fantasy game console for years, and so maybe I can do that with this environment.

     

    I'm working on PGA Tour 2K21, and am pretty stoked that one of the recent gameplay trailers (https://www.youtube.com/watch?v=ZH8K1R7t59o ) shows off some of my work. I implemented the replays and highlights during PGA Tour mode, and then some of my colleagues made them look great. image I'm not gonna mention the last project I helped ship, because it bombed hahaha

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube