The $4 Z80 Single-Board Computer, Evolved.

We feature hundreds of projects here at Hackaday, and once they have passed by our front page and disappeared into our archives we often have no opportunity to return to them and see how they developed. Sometimes of course they are one-off builds, other times they wither as their creator loses interest, but just occasionally they develop and evolve into something rather interesting.

One that is taking that final trajectory is [Just4Fun]’s Z80-MBC, a single board computer with only 4 ICs, using an Atmel microcontroller to simulate the Z80 support chips. It has appeared as a revised version, on a smart new PCB rather than its original breadboard, and with built-in SD card and RTC support through readily available breakout boards, and banked RAM for CP/M support. You may remember the original from last year, when it was also a Hackaday Prize entry and stage finalist. From a Hackaday perspective this is particularly interesting, because it shows how the Prize can help a project evolve.

The Atmega32A uses the Arduino bootloader with programming through the ICSP port, and full instructions are given in the project page alongside all the files required to build your own board. There is no mention of whether boards can be bought, but we’d say this could be a commercial-quality product if they chose to take it in that direction.

32 thoughts on “The $4 Z80 Single-Board Computer, Evolved.

    1. Totally ! I mean, if an “headless” one works for you :))

      An MSX-compatible computer would need more chips, as explained on Wikipedia : “This standard consisted primarily of several off-the-shelf parts; the main CPU was a 3.58 MHz Zilog Z80, the Texas Instruments TMS9918 graphics chip with 16 KB of dedicated VRAM, the sound and partial I/O support was provided by the AY-3-8910 chip manufactured by General Instrument, and an Intel 8255 Programmable Peripheral Interface chip was used for the parallel I/O such as the keyboard.”

      To comply with this summer’s pervasive “seen on” policy, here is an example in a modular-style approach :

  1. I really want to get into a retrocomputer like this, but where is a good place or format to start asking questions?
    I have a pretty good idea on the theory, but I have so many questions like “why should i use A instead of B”, but the 20+ year old datasheets and abandoned projects on the internet aren’t enough to answer them.

    1. (I’m also a Doug)
      I did a lot of asm on these too, having not much choice as for small affordable embedded computers, the Z-80 was pretty much “it’ for quite some time, and our government customers demanded their fancy toys.

      Then I got to program chips with this new idea of an orthogonal instruction set (actually not new, see PDP-11 for example), where you know, if you could add register A to register B, you could do the reverse just as easily. After that, going back to Z-80 seemed like a very bad dream. Sure, it was an excuse to use up all your cleverness, but…
      Remembering whether you needed a result in BC, HL or DE to avoid a push-pop to move things around…because cycles really counted, was not my idea of a good time.

      But it’s good they exist still. I don’t recall needing banked memory to make CP/M work, though.

  2. Sometimes I daydream of how it would be to build a computer cluster consisting of hundreds of small single board computers. Each one optimized mostly for energy efficiency, and then use them for parallel work loads. Rather niche (all though still something useful in general computing environments where one simply runs many independent or loosely related tasks. But memory access will though benefit from non uniform memory access principals), but still something I find of interest.

    1. Why not go for it? It can be done for pretty cheaply–single-chip computers like AtMega CPU’s are less than $2 ea. at single quantities from Digikey while more powerful STM32 CPU’s are around $5 ea. Raspberry PI Zero’s are $5 ea (if you can get them.) You could design blocks that are a PCB with an array of them and then connect the blocks to create bigger arrays. My people have been building clusters using Arduinos and Raspberry PI’s.

      The biggest issue is that general computer tasks aren’t easily parallelizable as they might seem at first glance, and the overhead of managing and moving data and programs around the cluster can eat into or overwhelm any performance gains vs. a single fast CPU.

      There’s no fun if you don’t try, though.

      1. I have been thinking of doing such a project.
        Have looked at using some PIC32s for it, since they have support for fairly high speed serial links, and have a decent amount of ram. Not to mention support fairly high core clock speeds. (Though, a Raspberry pie wins over it with ease if we talk about raw performance.)

    1. That’s not the point. The point is building and coding a SBC old school style that you can take pride in.

      You can’t take pride “See my Pi Zero? It’s emulating a Z-80 and I didn’t have to do anything except download a app”. That’s not being a maker or hacker. Just another consumer loading a app like Candy Crush.

      Performance wise, it’s irrelevant. Many real world tasks(excluding video, voice, etc) can still be done by 8 bitters.

      1. running existing z80 code an actual z80 is just as much “download a app” as running it on a z80 emulator. running z80 code that you write yourself is also very similar on either board. the point is that it’s not worth paying $4 if a $5 board can run the exact same code better.

  3. As I cut my novice Silicon Valley teeth on the 8085, and followed the Z80, I miss them like I miss 60’s little Hondas. Many of us keep these running. Almost too bad our OBD-II’s and everything got so frig’n complex. “Read-ID.” $5 passports, $150. Costs more to bake bread than buy it cuz’a supply and demand and a lazy populice.

  4. Steve Ciarcia had the SB-180, which used a Z80 substitute [Hitachi HD64180]. According to Wikipedia, that led to the Zilog Z180 series.

    There are some Z180 based computer boards out there [according to Google], but I doubt they cost $4.

      1. Phantastic! I’d love to get a minimal system running with a Minix/Unix/Linux-like system. Was always thinking about a 68k based system, but that’s pretty complicated and needs more chips. I was also thinking about using the Arduino as an “I/O”.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.