A little somethin’ I’m working on

Well here’s something pretty cool:

Front

side

back

Raspberry Pi 7-segment controller

schematic

 

I’ve updated my previous seven-segment controller for the Raspberry Pi.

There were a few problems with the earlier version. First, only two seven-segment displays were supported. This is a consequence of connecting the displays directly to the GPIO pins; it’s easy to design, but it is very limiting. This version uses ’595 shift registers, so theoretically it should be possible to extend this display even further.

The next big change is moving over to larger (and cheaper) displays. I have a few 1″ common cathode displays I picked up from Futurlec around my workbench, so they were the obvious choice.

Even though I’m using larger seven segment displays, the board is cheaper to produce this time around. That’s a consequence of moving the ‘analog’ part of the ‘Days Since’ counter to something that isn’t a PCB. I’ll probabaly mount this in a piece of foam display board or something. Maybe laser cut plywood if I’m feeling fancy.

raspi

A disk drive!

IDE

 

 

My computer won’t be much use to me – or anyone – without some form of storage. Right now, the design includes 16 kB of ROM. Even though I can’t imagine writing enough code to fill that space, I should probably have some means of easily-accessable storage. Floppy disk drives are the preferred solution for a period-accurate replica of a 1970s computer system, but that leaves the problem of transferring files between my regular desktop and my homebrew project.

There’s another solution, though. IDE hard drives.

I came across Daryl Rictor’s SPI to IDE interface. Basically, I can bitbang an SPI port on my homebrew computer and use it as an IDE interface. The circuit is fairly simple – just an ATMega644p attached to the SPI port and a 40-pin IDE port. With this, I’ll be able to attach an IDE hard drive or a compact flash card with the appropriate adapter.

The schematic, board, and BOM are up on my git.

Interestingly, this SPI to IDE adapter only uses four pins out of a total of 32 expansion pins connected to the VIAs on my computer. In this design, I’ve (arbitrarily) designated an entire 8-pin port for SPI communications, so these 8 pins will be able to control up to five SPI devices. I have no idea what I’m going to do with the rest of these. Maybe Ethernet?

Finally, the design is done

Computer2

After a whole lot of procrastinating, the design of my 6502 single board computer is done. There’s nothing like the relief of clicking on the ratsnest button in Eagle and seeing the words, “nothing to do.”

I’ve updated the schematic and board files in my git and added a zipped gerber folder containing all the files any board house should need to fab this computer.

There are a few extra things I added to the board since the last update. First, I’ve put a silkscreen image of Ada Lovelace underneath the CPU. Also, I’ve put an image of BMO from Adventure Time in the top layer of copper underneath the Molex connector:

BMO

He wants to be a real boy

The final board dimensions are 140.6652 x 67.6402 mm, according to OSH park, where the board will cost $73.70 for three. I’m not too keen on spending that much for something that probably won’t work the first time, so I’m probably going to go with Seeed Studio. That seems to be the cheapest at around $45 for five boards.

As far as the toolchain for developing on this computer goes, after looking around the 6502.org forums I’ve decided to go with this really cool 6502 macro assembler and simulator. While I’m sure this is a competent simulator, I’ll also be verifying ROM images in this 6502 emulator. The Symon emulator includes an emulated ACIA tied to a serial console, but the memory address for the ACAI in Symon and my computer differ. That shouldn’t be too hard to code around.

I’ve also started work on my first ‘shield’ for this computer. It’s basically four octal buffers tied to each of the VIA I/O ports. Each of the outputs on the buffers will be tied to a LED. It’s an easy way to verify that everything is working.

buffer

Now it’s just an issue of waiting a month until the SBC board arrives from a month-long trip from China. Just as well, though. I’ve got a lot of writing to catch up on, and now that I’m not designing a computer from scratch I probably won’t be as distracted (ha!).

6502 Single board computer

One of the things on my bucket list is building a computer from scratch. The eventual goal is a 68020-based machine running something that resembles UNIX (with networking, VGA out, and all that fun stuff). You need to learn to crawl before you can walk, so to prepare for the ’020 build, I’m making a smaller, simpler computer for my first run. It’s not much, just a 6502 CPU, a little RAM, ROM, and a few additional chips to talk to the outside world.

Board

The specs for this computer are pretty austere; only 32 kilobytes of RAM, 16 k ROM, two 6522 VIAs providing four 8-bit IO ports, and a single 6551 ACIA and MAX3232 giving me an RS232 connection to the outside world. Not much, but at least on par with an Apple I. Hell, if I do things right, I might be able to fit an IDE hard drive on the VIAs.

Unlike a lot of other single board computers I’ve seen, I’m not using a GAL or other programmable logic. All the address decoding is done with 74HCT-series logic. One 7400 quad NAND and one 7404 hex inverter gives me all the address decoding I need. Speaking of address decoding, here’s the memory map:

  • $0000 – $7FFF    RAM
  • $9800 – $980F    VIA 0
  • $9400 – $940F    VIA 1
  • $9200 – $920F    ACIA
  • $C000 – $FFFF    ROM

There’s a lot of wasted space in there, but meh. I’d much rather have a single board computer that worked instead of something that’s overly complicated.

For now, the schematic, BOM, and board files (Eagle, natch) are up on my git. The board file isn’t completely done, but anyone enterprising enough to steal it should be able to connect the last few pads. I’ll update that when I’m done and post the gerbers as well.

Of course getting a board fabbed means I’ll have a month of downtime for this project while it’s being delivered to me on a slow boat from China. That’ll be more than enough time to get a 6502 emulator running and start writing some software.

…since I cared about commentors on the Internet

If you read the comments on Hackaday… god help you… you’ll eventually come across a few tropes that show up pretty frequently. The first is the ‘not a hack’ comment. An unusually insightful observation when it’s posted, no doubt. The second is the, “this is a new low for Hackaday.” This sort of comment usually comes up when someone does something new, but not difficult. Installing OpenCV on a Raspberry Pi, for instance. Or the marijuana hacks that showed up on the front page recently. Or anything to do with sex. That sort of thing.

I’ve been wanting to track how often these phrases are mentioned in the comments for a while now, and I think I have a solution.

boardIt’s a ‘shield’ for a Raspberry Pi. There’s not much to it – just two 7-segment displays connected directly to the GPIO pins. The shield is the same size as the Raspberry Pi PCB, so there should be plenty of space to write your own message in dry erase marker on the large silk rectangle.

The code for driving the 7-segments is easy. I’ll be writing a demo for this thing and hopefully getting it to interact with WordPress comments.

Of course you could use this for just about anything. Set it up to scan the closed captioning on Fox News to see how many days they can go without saying the word ‘socialism’. Point it at CNN to see how many days go by without a new cure for cancer. You could set it up to see how often issues of social mobility and class discrimination are mentioned in the media, but unfortunately the PCB isn’t big enough for that many digits.

Schematic, board, and eventually the code are up on my git.

 

I have finally arrived

Late last year something pretty interesting hit the Hackaday tip line. It was a hack involving those Internet-connected TouchTunes jukeboxes that are in just about every bar and pub I’ve ever been to.

The guy who sent in this hack, Reza Hussain, figured out a very, very easy way to get free credits on any TouchTunes jukebox. I wrote up a short summary of the build, posted it on Hackaday, and all was well and good with the world.

It seems when you give out information about how to bypass security measures on jukeboxes, some people get a little antsy. Today I received via FedEx (overnight, even!) a nice little legal form letter telling me to take my post down (at the bottom of this post, click to embiggen). I’m

Long story short, and even though TouchTunes won’t be able to collect on any lawsuit, the post is now gone from Hackaday. Pick your battles, or something like that. It’s a sad day, but look on the bright side: from 2004 to 2011, Hackaday didn’t have any legal threats to change or remove a post. In the last year, we’ve now had two (the other one was from Tazer International for our TazerDrone). Looks like we’re moving up in the world.

 

 

1 2

On my inability to write

This is inspired by a post I wrote for hackaday. Go ahead, read it. then skip to the comments. One commentor took issue with a slightly with some arbitrarily inaccurate language. This was the straw to break the ass’ back, and told him as such:

Alright, through your rage of pedantry I think you’re going to have to focus on the key part of the build here.

The previous etchant sprayer used a pump. A pump you would use to push water through a garden water feature, for example. The Instructables I linked to explicitly mentions that putting acid through some of these pumps is a bad idea. Also, these pumps cost a great deal more than a piece of PVC pipe.

This build uses and electric drill motor to ‘spin up’ etchant through a tube. The only thing touching the etchant are pieces of plastic. It’s a much more reliable system, and cheaper to boot.

Good job on construing inexact language (as all natural languages are) into something that somehow caused a paradox in your mind. Unfortunately, that doesn’t make you clever. That just makes you the guy who purposely misinterprets things in a futile attempt to appear learned.

Keep in mind what you’re doing: you’re trying to impress people in the comments section of a small, fringe tech blog. You’re not the only one, either. Every post on hackaday – every post – is filled with commentors like you that try desperately to impress people through their lack of reading comprehension.

It’s fairly widely accepted that the comments section on Hackaday is a cesspool for the whole hacker/maker movement. Nearly every daily HaD reader I’ve talked to says something about the caliber of the comments, especially the issue of the amateur grammarians and 8th grade creative writing students. You’re part of the problem. Stop it.

After thinking about it a little bit, perhaps I was a bit harsh. This ‘rage of pedantry’ is something I’ve been noticing for a while.

I recognize it is impossible for me to completely communicate something via English that doesn’t leave open questions. The problem of natural languages, if you will. Other than restricting my vocabulary and basically turning my writing into a formal grammar, I can’t see any way people won’t inherently misinterpret anything I write.

To celebrate that, I’ve decided to turn my prose in for a more codified style:

 

What great rules the Internet doth make; of pen

And keyboard’s guile. For one so bold as to

Be critical of syntax must again

Be wary; for errors to be found accrued.

For one so brash as to correct true gram-

mar must inherently make but one err.

It has been true for many years, but damn

The editing process, leaving print for prayer?

Yet I have chosen quite a different path

One not too likely to produce such flaw.

Of iambs, rhymes: a fourteen line whole wrath.

Complete denigration – but form exalt.

For having no way, though, to demonstrate

My power to author, to articulate.

 

Yeah. If you write, people will misintrepret you. If anyone asks, this is why I also program.

Introducing the Macintosh Executive

While I’m waiting for Jessie to finish the motor/nichrome/thermistor controller for the filament extruder we’re working on, I’ve decided to start another project. To get the back story for this, I’m going to have to go off on a little bit of a tangent.

Deep in the recesses of Apple Computer, around 1990 or so, the suits were going crazy. The Macintosh Portable, the company’s first foray into the world of portable computing, was an unmitigated failure. This 16-pound luggable, while beloved by tech commentators of the time, was failing miserably in the market. Apparently, people didn’t want a portable mac that weighed as much as a desktop mac.

The engineers were tasked to miniaturize the Mac Portable, a project that would result in the PowerBook line of notebook computers. The PowerBook 140 and 170 were the first models, followed shortly thereafter by the Sony-designed PowerBook 100. These PowerBooks set a design standard still followed today; moving the keyboard towards the screen gave the user an awesome place to rest their wrists, and the trackball centered under the space bar came to be the de facto standard of pointer control for laptop computers for the next 20 years. Truly a masterwork of design and technology, these machines were.

In this slightly-altered-from-here-on-out history, a brilliant product designer from the Mac Desktop team decided to play off the work of the PowerBook team. The notebook department had a lot of cool toys – LCD screens, incredibly small logic boards, and low enough power requirements to make some very interesting design choices. This product designer decided to make an extraordinarily high-end Macintosh desktop, something that would grace the desks of stock traders, high-priced lawyers, and corporate executives. The Macintosh Executive was born.

The design borrowed heavily from the developments brought to bear by the PowerBook design team. A miniaturized logic board would be used along with an active-matrix TFT screen. Basically, it’s a desktop version of the PowerBook 100-series laptops.

When you think that a current iMac is basically just a bunch of laptop components and an integrated LCD screen, this doesn’t seem like such a ludicrous possibility. The technology was there, the high price of these components would guarantee a high-end market, and the amazing possibilities for industrial design would be written about for ages.

I’m building this alternate reality Macintosh.

Really, it’s an exercise in woodworking and fabrication. Something to keep myself occupied while I’m waiting for a few other projects to catch up to each other. I already have a PowerBook 170, so why not? It’s just a casemod after all.

I’ve put my initial design up on Thingiverse and I’ll be sending that file off to Ponoko this week (did I mention how much I’d like a laser cutter?). I need to do a little soldering and move the ports on the PowerBook to a breakout board of sorts, but there’s really not much in the way of anything necessarily hard about this build.

If you’re wondering, it’ll have Ethernet so we’re looking at a twitter machine here.

Small preview…

Follow

Get every new post delivered to your Inbox.

Join 66 other followers