The best kittens, technology, and video games blog in the world.

Friday, November 11, 2016

Breadboard computer - switch board and diode board

I gave it my first try a few weeks ago, but individual resistors were really messing with the build.

So I ordered some 1k resistor arrays, and tried again.

Full setup

Here's the full setup - I'm using Raspberry Pi as USB adapter, getting GND and 5V out of it.

Switch board needs both 5V and GND, while diode board only needs ground, as they all light up on positive signal.

7 8-wide cables connect them, which is probably an overkill, but that's how many I could fit.

Diode board

Diode board is made out of 7 identical 8-bit parts. From bottom up:
  • 8-bit signal input cable
  • 8 diodes (colors rotating between red, green, yellow depending on group)
  • 8-way 1k resistor array
  • Ground

Diodes were a bit too big to fit in line, but they actually look a bit better zig-zagging odd/even.

I'm quite happy with this board.

Switch board

This is somewhat awkward build. There are also 7 identical 8-bit parts. From bottom up:
  • 5V
  • A lot of cabling to get it all together - I really hate this part of the build as it makes everything super awkward just to do something as simple as connecting a bunch of pins together. One upside of soldering is that this kind of connections are super trivial to do.
  • 8-bit on/off switch
  • 8-bit signal output signal cable
  • 8-way 1k resistor array
  • Ground

So when the switch is off, output is connected to 1k resistor to the Ground.
And when the switch in on, output is connected directly to 5V.

There are quite a few problems with this board.

Max power dissipation here is rather large, with 56 wires of 1k resistance each, that's equivalent of just 18ohm, so that's 280mA or 1.4W just for one board. Using PC power supply that would be totally fine, but USB max power supply is just 500mA or 2.5W, so we're already stretching it.

The most obvious solution would be to put much higher resistance, and fancier way would be to do so on both 5V and GND, and then use another board with a drivers for output (like 74HC4050).

Another big problem is that switches are very hard to access - I basically need to use tweezers to flip them. The whole block of cabling on the bottom is extremely silly for what's basically "connect everything with everything" functionality.

Even if that got fixed, inserting input/output cables is fairly awkward compared to my old (soldering-based) solution which used 40-wire IDE socket.

Next steps

I could definitely improve these boards, but they ought to be good enough for now. Next step would be figuring out a way to interact with Raspberry Pi - I want it to be able to read signals from my switches and to send output to diodes.

Raspberry Pi doesn't have anywhere near enough pins for it, so I might need some shift registers or other such chips to widen the interface.

No comments: