HackerBox 0103: Homebrew

by HackerBoxes in Circuits > Computers

2897 Views, 5 Favorites, 0 Comments

HackerBox 0103: Homebrew

HB0103 Whole Box.png

Welcome to HackerBox 0103. Get ready to explore the world of homebrew, retro computers. Learn how homebrew computers profoundly influenced the birth of microcomputers in the 1970s, changing our lives forever. Configure a Raspberry Pi RP2040 module. Leverage the RP2040 to assemble a PICO-56 homebrew computer kit designed by Troy Schrapel. The kit cleverly implements a 65C02 CPU, 65C22 versatile interface adapter (VIA), TMS9918A video display processor (VDP), dual AY-3-8910 programmable sound generators (PSGs), dual NES controller ports, a PS/2 keyboard port, and 96KB of banked RAM/ROM. Explore EhBASIC and various game ROMs on the PICO-56 homebrew computer.

HackerBox is the original monthly subscription box for electronics, computer technology, and hacker culture. Each HackerBox is a discovery box, which means all members await and enjoy a new surprise each month. Tech, toys, knowledge, and fun. It's like having a hacker convention, your birthday, and the first day of school - every month - right in your mailbox.

There is a wealth of information for current and prospective members in the HackerBoxes FAQ. Almost all of the non-technical support emails that we receive are already answered there, so we'd really appreciate it if you can take a few minutes to read the FAQ.

Supplies

This Instructable contains information for getting started with HackerBox 0103. The full box contents are listed on the product page for HackerBox 0103 where the box is also available for purchase while supplies last. If you would like to automatically receive a HackerBox like this right in your mailbox each month, you can subscribe at HackerBoxes.com and join the party. Subscription members save at least $15 every month and automatically receive each new HackerBox shipped immediately off the production line.

A soldering iron, solder, and basic assembly tools are generally needed to work on the monthly HackerBox. A computer for running software tools is also required. Have a look at the HackerBox Workshops for tools and supplies along with a wide array of introductory activities and experiments.

The most import thing you will need is a sense of adventure, hacker spirit, patience, and curiosity. Building and experimenting with electronics, while very rewarding, can be tricky, challenging, and even frustrating at times. The goal is progress, not perfection. When you persist and enjoy the adventure, a great deal of satisfaction can be derived from this hobby. Take each step slowly, mind the details, and don't be afraid to ask for help.

WEAR SAFETY GLASSES WHEN SOLDERING, WHEN TRIMMING WIRE LEADS, OR WHEN CUTTING, DRILLING, ETC.

Homebrew Computers

Homebrew.png

Homebrew Computing generally involves designing and building computers from the ground up or from kits. Some homebrew systems have gone on to be the basis of commercial designs. Most early microcomputers were homebrew to some degree. In addition to mere historical reenactment, building a computer from scratch teaches about the operation and maintenance of computer systems. For example, the purpose and operation of individual circuit components must be understood. Furthermore, troubleshooting techniques must be employed without making assumptions about the design or construction of the system. These pursuits develop deeper insights into the systems circuits, their operation, and their interactions. (Adapted from a Vintage Computer Federation forum post.)

Retrocomputing is the present-day use of older computer hardware and software. Retrocomputing is usually considered to be a hobby rather than a practical application of technology. Enthusiasts often collect rare and valuable hardware and software for sentimental reasons. Occasionally, however, an obsolete computer system has to be "resurrected" to run software specific to that system, to access data stored on obsolete media, or to use a peripheral that requires that system. (Wikipedia)

The Homebrew Computer Club was an early computer hobbyist group in Menlo Park, California, which met from March 1975 to December 1986. The club had an influential role in the development of the microcomputer revolution and the rise of that aspect of the Silicon Valley information technology industrial complex. Several high-profile hackers and computer entrepreneurs emerged from its ranks, including Steve Jobs and Steve Wozniak, the founders of Apple Computer. With its newsletter and monthly meetings promoting an open exchange of ideas, the club has been described as "the crucible for an entire industry" as it pertains to personal computing. (Wikipedia)

Homebrew and Retrocomputing Links:

6502 Based Projects

Z80 Based Projects

Homebrews on Hackaday

HackerBox 0047 Old School

HackerBox 0061 - Props

HackerBox 0069 - MEGA Retro

HackerBox 0094 - Port Authority

HackerBox 0101 - Archives

HBC-56

HBC56.png

The HBC-56 or "Home Brew Computer 56" is a homebrew 8-bit computer on a 56 pin backplane. It was developed by Troy Schrapel and initially featured a 65C02 Central Processing Unit, the TMS9918A Video Display Processor, and dual AY-3-8910 Programmable Sound Generators

Troy's Video Playlist on the HBC-56

PICO-56

PICO56.png

Not resting on his laurels, Troy Schrapel has since created the truly amazing PICO-56, which packs his entire HBC-56 homebrew computer into a Raspberry Pi Pico. The PICO-56 uses some very clever emulation to implement the following hardware:

  • 65C02 CPU
  • 65C22 VIA
  • TMS9918A VDP
  • Dual AY-3-8910 PSGs
  • Dual NES controller inputs
  • PS/2 keyboard input
  • 96KB Banked RAM/ROM

Watch the PICO-56 INTRODUCTION VIDEO.

USB-C RP2040 Module

USBC RP2040.png

This RP2040 Module is mostly pin compatible with the original Raspberry Pi Pico but has the original's microUSB connection upgraded to a USB-C port. (module specs and schematic)

IMPORTANT NOTICE: TEST AND REPROGRAM THIS MODULE BEFORE PLUGGING IT INTO THE PICO-56 PCB.

When the RP2040 module is first plugged into power via its USB-C port, the RGB LED will cycle red, green, and then blue. The small red power LED will remain lit.

Put the RP2040 Module into bootloader mode by holding the BOOT button down while hitting the RESET button.

A new storage device (drive) should appear on the computer with the name RPI-RP2.

  • Browse to the PICO-56 repository
  • Click "Latest" under "Releases" in the right column
  • Download the UF2 file and the ROMs file
  • Copy the pico-56.uf2 file onto the RPI-RP2 drive
  • Save the ROM file - we'll need it a minute

Cycle power on the RP2040 (just hitting the reset button is not enough). The RGB LED should no longer light up at all.

Why is this so important? The factory demo program that comes on the USB-C RP2040 Module uses GPIO23 to control the RGB LED. The GPIO23 pin cross-drives against the 3V3_EN net on the PCB. This may irrevocably summon forth the magic smoke. Replacing the factory demo program with the PICO-56 firmware and then cycling the power ensures that the GPIO23 signal is not asserted.

Assembling the PICO-56

KIT HB Ver.png

Check out Troy Schrapel's awesome Full Build and Configuration Video.

We fully concur with his advice to start with the MicroSD card slot. Use the provided flux pen, just as he recommends. Flux makes this slightly tricky job quite a bit easier. Note that the instruction on the flux pen label: "Depress tip to start flow."

Next move onto the resistors. Verify the values from the color bands, or measure the various resistances using a multimeter or component tester.

  • THREE 510R - color bands: green, brown, brown
  • NINE 1K - color bands: brown, black, red
  • SIX 2K - color bands: red, black, red
  • THREE 3.9K - color bands: orange, white, red
  • TWO 10K - color bands: brown, black, orange

Continue assembly as shown in the video, paying careful attention to the direction (polarity) of devices where specified.

NOTE: The video shows that the transistor needs to be mounted backwards on PCB v1.2, but we are using PCB v1.3 so the transistor is alright to insert just shown on the PCB silkscreen (not reversed).

The 100nF ceramic capacitors look different from the ones in the video, but they are the same value. The ceramic capacitors can go in either way. However, the three electrolytic capacitors have a required orientation as specified on the PCB silkscreen.

PICO-56 Firmware

QBert.png

Since the RP2040 was already programmed with the PICO-56 firmware (UF2 file), it's ready to boot up...

  • Plug the USB-C RP2040 Module onto the PICO-56.
  • Connect a PS/2 Keyboard and a VGA Display as shown in the video.
  • Connect power to the PICO-56 using the 5V USB to Barrel Jack power cable.
  • Engage the blue power switch.

Booting the PICO-56 without an SD card (without ROMs) will let us enter into a BASIC programming environment just like many classic 8-bit computers. EhBASIC comes baked into the PICO-56 firmware. Check out this very cool video that Troy shared demonstrating how he extended EhBASIC to add TMS9918 graphics commands.

Next, let's give our new PICO-56 some ROMs to chew on...

  • Unzip the ROM file downloaded earlier.
  • Use the USB SDXC card reader to copy the files from the ROM file onto the 8GB microSD flash card.
  • Power down the PICO-56
  • Plug the microSD flash card into the PICO-56.
  • Connect power to the PICO-56 using the 5V USB to Barrel Jack power cable.
  • Engage the blue power switch.

A word about supplying power to the PICO-56

In this build, the PICO-56 should be powered using the barrel jack. Since the USB-C RP2040 Module does not feature a 3V3_EN control pin (as previously discussed), the PICO-56 will not automatically power through the RP2040's USB port alone. If you really want to power through the RP2040's USB port, for whatever reason, here are two options...

  • Swap out a similar RP2040 module featuring a 3V3_EN control pin (e.g. the original Pico), or
  • Short the neighboring VBUS and VSYS pins of the RP2040 on the underside of the PICO-56 PCB

Additional Firmware Examples

Check out the Tutorials zip file in the same "Latest Releases" folder above (with the UF2 and ROMs)

Fr4nkFletcher shared this animated "HackerBox" sprites demo: UF2 File

Breaking Into Cybersecurity

How I would get a Job with ONLY Google Cybersecurity Certificate! [$1000 Giveaway]

Pun intended. This video discuses steps to fully leverage the (relatively inexpensive) Google Cybersecurity Certification to build skills, document experience, and pursue professional opportunities.

Hack the Planet

AI Generated Video: Alien Psychedelica - Animation Created by Artificial Intelligence

We hope you are enjoying this month's HackerBox adventure into electronics, computer technology, and hacker culture. Reach out and share your success in the comments below or on other social media. Email support@hackerboxes.com anytime with questions or whenever you need some help.

Want more? Surf over to HackerBoxes.com and join us as a monthly HackerBox subscription member. You'll get a cool box of hackable gear delivered right to your mailbox every month and you'll enjoy a generous member discount.

Please consider sharing this free Instructable with others who may be interested in learning about these subjects. We really appreciate your support and "word of mouth advertising" is the greatest compliment that we can receive.