68k homebrew computer – parts list

For building my own version of an 68000 based computer (actually, it’s the 68008, i.e. 8bit version) I recently, ordered all parts that are described in the 68k blog, here is a list together with the prices that I paid at Digi-Key. The package to about 10 days from the US.

Here’s a video walk through, followed by the list and data sheets of the chips:

all other chips for the 68k computer

all other chips for the 68k computer

Here’s the list of glue chips, together with their function and respective datasheets as links:

SN74LS244N: OCTAL BUFFERS AND LINE DRIVERS WITH 3-STATE OUTPUTS

SN74LS32N: quadruple OR gate

SN74LS08N: quadruple AND gate

SN74LS377N: flip-flops

SN74LS139: demultiplexer for deciding whether to access flash, RAM or serial.

SN74LS00N: NAND gates

More complex chips:

AS6C4008: 4MBIT RAM

SST39SF040: 4MBIT Flash ROM

ATF22V10C: GAL chip (programmable logic)

The USB host chip referred in the video is here, there is also shields for Arduino.

After posting this on Reddit, there was a great discussion on how to reduce the chip count. Some suggested that I could reduce the complexity by using the address lines in a clever way, i.e. using one pin to enable RAM access, one to enable flash access and one for the serial connector. I’d LOVE to try that out. Should I dare?

 

Arduino Tamagotchi from the left

Arduino Tamagotchi – first board fitting (Pt 2a of 3)

The design principle of keeping everything to a minimum is also paramount in the Tamagotchi project. In this case, I wanted to use the Arduino chip itself and layout a board around it by myself and luckily, I also found out that my slaughtered external phone battery delivered 5.1 Volts which is in the operating range of the Arudino.

Tamagotchi PCBs

Tamagotchi PCBs

Top left, you see the front board with the display and the intended buttons (only one placed), top middle the board for the Arduino and it socket plus an USB port that will be used for the LiPo charger board (the one that is close to the battery) and on the right it’s the back plate containing the speaker and the RTC board. Continue reading

breadboard tamagotchi

palmsize Tamagotchi

Recently, I’ve come across a really nice Tamagotchi project on Instructables.

Tamagotchies are virtual pets in little devices (later on also apps, etc) that the user has to feed, clean up after and play with. They are a nice addition in my thinking on social robotics. Also while still collecting knowledge for the 68k computer, I learned that I want to start with a stripped down Arduino, not a Nano I usually work with. So this is an ideal little weekend project to learn a few things. Continue reading

back to my computational teenage: building a 68000 homebrew computer

68000 chip (courtesy of CBM Museum)

after my first commodore c64, i was so much in love with the amiga and it took quite some time until i had my first amiga 500 in my hands. i still remember the smell of the package and the computer. the first boot up of the workbench, the mouse et cetera. a wonderful feeling. it was the computer i learned to program c on, after i had upgraded my basic from the c64 to amiga basic. i was fascinated by this computer, its graphics capabilities and the unbelievable amount of 512kb ram. after working with “atzec c“, upgrading to 1mb ram and having a ram disk to not always change the floppy disk all the time. i had the feeling that i needed to learn assembler.

at that time i was writing 3d routines, i wanted to design my own flight simulator. and assembler was a wonderful way of learning the aesthetics of minimality. having a table of clock cycles per command next to your computer and refining algorithms to run ever faster was a great joy.

later in my life i came across minix, the microkernel architecture of a unix derivate and “the father” or at least inspiration for linux. again, i loved the simplicity of everything. the beauty of “processes vs data, input vs output” and the beauty of microkernels. i never actually did anything with minix, but now that i own the whole family of raspberry pis i’m truly tempted to give it a go.

so, here we are: the combination of the two would be a great thing: bring 68000 back into my life and have minix running on it. fortunately, people have ported minix to the 68000, so i hope that this adventure will not leave me dead in the desert (since the ports are usually for macs or atari st).

searching the web for crazy people who’ve built a 68000 homebrew computer, i immediately was inspired by 64 Katy, since this seems a simplified computer enough for me. this guy managed it to build one on a BREADBOARD! later on, he built a new version using an fpga (if i understand correctly, a cpld is an fpga) for the glue logic and an etched board. this is too far away for me, but i’d love to build one using perfboards and ic sockets.

possibly, i could then increase its clock rate from the breadboard 2mhz to maybe four or six.

i love katy’s architecture because it does a minimalistic approach, reduces all parts needed and i hope to understand how these parts work all together. especially i’m interested to learn what you need beyond cpu, ram and rom to get a system going (there’s obviously all these 74er series going on that do the glue magic). moreover, i’m happy that the guy was not over-engineering the “surroundings” like graphics, sound, keyboard etc (there’s another guy who did that) but really relies on the serial connection for input and output.

so, the initial step would really be to build the 68008 version with 512k ram and 512k flash and get the monitor programm running.

i already enjoy flipping through these two books:

20161020_192224

the 68k book also describes a single board computer, but that is also based on the 68000 chip which has the 16bit bus and thus would be a huge effort to build compared to the 68008 that is 8 bit.

people in the internet also refer to this book that obviously also describes another design.

interestingly, cpu, ram and flash cost about 12 euro altogether which is way less than the books :-D.

 

minimalistic way of building a 2 DoF servo “cluster”

as you know i love to design minimalistic mechanics and always try to simplify my previous designs. many of the things in trashbot 6 have been redesign to reduce weight and the number of parts.

one study of reducing complexity was the robot foot made from two servos and coat hanger wire and it actually received quite some attention.

with the progress made on trashbot 6, i also wanted to have a compact, yet lightweight way of connecting to parts with two servos so that these two parts could move in two dimension: the shoulders and the feet. Continue reading

first “unit test” in programming an arduino mini pro

so, after i’ve connected the head and its servos to trashbot 6, it’s now time to work on the actual control of the neck servos. unfortunately, the servo-board connected to the raspberry is not sufficient to control the neck servos since the body is already using 15 servos and the controller only has space for 16.

so i thought to use an arduino mini pro for this since it has 6 PWM outputs that can control six servos (people have noted that the output pin doesn’t necessarily have to be capable of PWM to control a servo). Continue reading

deconstructing the minoru 3d stereo webcam

i’m thinking about adding stereo vision to trashbot as the raspberry pi has enough oomph to do some kind of computer vision and it seems that open cv supports this camera.

there’s not too many “3d” cams out there that actually fullfill my requirements:

  • cheap (<100€), so i can buy more when killing one
  • 3d or at least two cameras
  • strippable
  • supported by raspbian et al.
  • small enough to fit a robot’s head and
  • light (as the higher up the hardware in the bot the more it will impact stability when walking)

Continue reading

my first self-made usb plug

for trashbot 6 i planned to change the arduino nano into a raspberry pi 2. i also moved the board below the hips as luckily, the three mgr 996 servos of the hip are as wide as the raspberry pi:

raspberry pi 2 and the hip servos

but as you can see on the lower left (where the edimax wifi plug is inserted), the usb ports are pretty much flush with the outer servos, i.e. the attached legs will not leave too much space for usb plugs. Continue reading

trashbot 6, quick video walk through

most of this work has been done over christmas, but only now i found the time to at least do a quick tour around the bot. here are some highlights:

  • arduino nano changed to raspberry pi 2 & wifi
  • moved controller from back to hips
  • added 16 channel i2c servo controller
  • new foot construction adding an additional degree of freedom (DoF)
  • reconstructed legs that are lighter and now take up new batteries
  • power distribution board including i2c current / voltage measurement
  • accelerometer and gyro sensor (i2c) moved to “belly” instead of neck
  • added arms with shoulders (two DoF)
  • changed spine, reduced complexity
  • removed head for now (being redesigned)