-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuilt.htm
361 lines (361 loc) · 14.7 KB
/
built.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
<HTML>
<HEAD>
<TITLE>Computers I Have Built</TITLE>
<META NAME="DC.title" CONTENT="Computers I Have Built">
<META NAME="DC.creator" CONTENT="John Honniball">
<META NAME="DC.language" CONTENT="en-GB">
<META NAME="author" CONTENT="John Honniball">
<LINK HREF="index.htm" REL="home" TITLE="John Honniball's Home Page">
<LINK HREF="index.htm" REL="top" TITLE="John Honniball's Home Page">
<LINK HREF="comp.htm" REL="up" TITLE="John Honniball's Computer Page">
<LINK HREF="eee.htm" REL="made" TITLE="John Honniball's Contact Page">
</HEAD>
<BODY BGCOLOR="#ffffff">
<FONT FACE="Arial,Helvetica,sans-serif">
<H1 ALIGN=CENTER>Computers I Have Built</H1>
</FONT>
<A HREF="index.htm">HOME</A> > <A HREF="comp.htm">Computers</A> > <B>Built</B>
<H2>1979: Acorn System One</H2>
<P>
<IMG SRC="acorn1.jpg" WIDTH=200 HEIGHT=114 ALT="Acorn System One" ALIGN=RIGHT>
A <A HREF="http://www.6502.org">6502</A>-based machine, built from a kit
when I was electronics lab technician at school.
Must have been about 1979, shortly after the school acquired a Commodore PET.
</P>
<BR CLEAR=RIGHT>
<H2>1980: Compukit UK101</H2>
<P>
Another <A HREF="http://www.6502.org">6502</A>-based machine, built from a kit.
Still working 41 years later.
This machine is the basis of my own <A HREF="uk101.htm">Compukit UK101</A>
web site.
</P>
<BR CLEAR=RIGHT>
<H2>1984: Z80 Board</H2>
<P>
A college course project, based on the Z80 and built using wire-wrap.
I never really got enthusiastic about it, largely because of the
Z80 processor.
All project work at the time was required to be based on the Z80,
but I'm a Sixer, so I never liked it.
It was supposed to be initially just a Z80 with some memory and a
serial port, then you could add a matrix keyboard and a video
circuit to make a terminal.
</P>
<BR CLEAR=RIGHT>
<H2>1992: 386SX-25 PC</H2>
<P>
Oh how dull, a 386 PC clone.
I put a motherboard in a box; how can that count as building a
computer?
Anyway, it's junked now, having never run a single byte of
true 32-bit code in its life.
I still have the motherboard, in the loft, and an AT-style mini tower case
that I
<A HREF="casemod.htm">painted black</A>.
</P>
<BR CLEAR=RIGHT>
<H2>1994: Transputer Board</H2>
<P>
<IMG SRC="m212f.jpg" WIDTH=200 HEIGHT=123 ALT="M212 board front" ALIGN=RIGHT>
<IMG SRC="m212r.jpg" WIDTH=200 HEIGHT=122 ALT="M212 board rear" ALIGN=RIGHT>
I've always liked the M212, it's my favourite transputer.
So, I used an M212 to build a
<ACRONYM TITLE="Quarter-Inch Committee">QIC</ACRONYM>-02
tape drive interface.
The M212 was a transputer with a built-in MFM disk drive controller.
But it had a mode switch that could change the disk controller into simply
a pair of parallel ports, right on the CPU chip.
I used it in that parallel port mode with one port used as the QIC-02
data bus and the other for all the handshaking and control signals.
I wrote an occam program to drive it all, which booted over a transputer
link (from an Atari ST) and ran in the M212's internal 2k memory.
That 2k included a 512-byte tape block buffer!
</P>
<P>
Looking at that chip and the tape drive interface design today,
the M212 looks rather like a microcontroller.
At least, it could be used in a microcontroller mode (it has features
such as an external data and address bus, which make it unlike a
microcontroller).
If I were to design a QIC-02 interface today, I'd probably use a
microcontroller like the Atmel AVR ATmega8 or Atmega32.
</P>
<BR CLEAR=RIGHT>
<H2>1997: Transputer Serial Interface</H2>
<P>
<IMG SRC="t225.jpg" WIDTH=200 HEIGHT=120 ALT="T225 Serial TRAM" ALIGN=RIGHT>
For Submetrix, I put together a design for a T225-based four-port
serial
<ACRONYM TITLE="TRAnsputer Module">TRAM</ACRONYM>.
We used them for a while in the sonar systems as interfaces to
the <ACRONYM TITLE="Global Positioning System">GPS</ACRONYM>
navigation receiver and the motion reference unit.
I chose a Philips four-channel
<ACRONYM TITLE="Universal Asynchronous Receiver/Transmitter">UART</ACRONYM>
chip connected to the T225's external bus, along with some
<ACRONYM TITLE="Static Random-Access Memory">SRAM</ACRONYM>.
The driver software booted the transputer via a link, and then sent the
serial data in and out via the same link.
</P>
<BR CLEAR=RIGHT>
<H2>2002: PIC-based Prototype</H2>
<P>
For Mobile Bristol,
I worked on some prototype PIC 16F876 designs.
They were built as plug-together wearable computers as part of the
research project.
The master PIC was connected to the host (an HP iPaq) via a serial port,
and slave CPUs were attached to it via an I2C bus.
Having done that, I've decided that the PIC must be an “Eight”
processor, because I didn't like it.
</P>
<BR CLEAR=RIGHT>
<H2>2005: Atmel AVR Prototypes</H2>
<P>
In my new job, I was asked to build a small embedded system around a
microcontroller chip.
After using the PIC previously,
I decided to use an Atmel AVR chip this time.
The little circuit went together pretty well,
and connected up nicely to a PC's serial port.
I have loaded it with code written in assembler as well as code
compiled from C (with the
<A HREF="http://winavr.sourceforge.net/">WinAVR</A> package, a version of GCC).
I also built an AVR-based kit from EDTP
which combined an ATmega16 microcontroller with an ethernet chip.
</P>
<BR CLEAR=RIGHT>
<H2>2005: Atmel AVR Robot Controller</H2>
<P>
<IMG SRC="atmega8.jpg" WIDTH=200 HEIGHT=133 ALT="ATmega8 with LED display" ALIGN=RIGHT>
Just for fun, I bought a ready-made Atmel AVR board that was designed
for use as a robot controller.
It has an ATmega8 chip, plus a clock crystal, reset button and
programming connector.
So far, it's just been plugged into a solderless breadboard, but I've
managed to get it doing some whacky things (entirely in assembler).
I've connected an
<ACRONYM TITLE="Hewlett-Packard">HP</ACRONYM>
four-digit alphanumeric display (HPDL-1414),
a <A HREF="gpad.htm">Super Nintendo joypad</A>,
a radio-control servo, a
<ACRONYM TITLE="Direct Current">DC</ACRONYM>
motor and an
<ACRONYM TITLE="Liquid Crystal Display">LCD</ACRONYM> module.
I think the next things to add will be an analog voltage-divider
for push-button control and an
<ACRONYM TITLE="Multi Media Card">MMC</ACRONYM> interface.
Well, after all that, I think the AVR chip is definitely a "Six".
</P>
<BR CLEAR=RIGHT>
<H2>2006: Atmel AVR Prototyping Board</H2>
<P>
<IMG SRC="atmega8b.jpg" WIDTH=150 HEIGHT=225 ALT="ATmega8 on perfboard" ALIGN=RIGHT>
<IMG SRC="atmega8c.jpg" WIDTH=150 HEIGHT=225 ALT="ATmega8 with LEDs" ALIGN=RIGHT>
Another fun project, again using an Atmel AVR microcontroller chip.
This board is loosely based on the
<A HREF="https://www.arduino.cc">Arduino</A>.
I've arranged the board so that I can plug in small daughterboards
with
<ACRONYM TITLE="Light-Emitting Diodes">LEDs</ACRONYM>,
switches, motor drivers, and so on.
The connectors also supply power (12, 5, 3.3 and -12 volts).
Future plans are for a dual
<ACRONYM TITLE="Digital to Analog Convertor">DAC</ACRONYM>
board and an LCD board.
<BR />
<A HREF="https://www.flickr.com/photos/anachrocomputer/albums/72157594387195783">Photos on Flickr</A>
</P>
<BR CLEAR=RIGHT>
<H2>2008: Atmel AVR Printed Circuit Board</H2>
<P>
<IMG SRC="avrpcba.jpg" WIDTH=200 HEIGHT=133 ALT="ATmega8 on PCB" ALIGN=RIGHT>
<IMG SRC="avrpcbb.jpg" WIDTH=150 HEIGHT=225 ALT="ATmega8 on PCB close-up" ALIGN=RIGHT>
I read about the Toner Transfer
<ACRONYM TITLE="Printed Circuit Board">PCB</ACRONYM>
technique, and I wanted to have a go.
I have plenty of copper-clad board from way back in the 1970s, I have
ferric chloride etchant, and I have a laser printer.
All I needed was a design, and the Atmel AVR seemed like a good chip to base it on.
Then, I spotted the
<A HREF="https://www.evilmadscientist.com/2008/tiny-portable-avr-projects-business-card-breakout-boards/">Evil Mad Scientist Labs business card PCB</A>
and I realised that this was what I wanted to build.
But the original card was not designed for toner transfer,
and I could see some ways to improve the design,
so I made a version of my own,
and that's what you see in the photos here.
<BR />
<A HREF="https://www.flickr.com/photos/anachrocomputer/albums/72157607180910289">Photos on Flickr</A>
</P>
<BR CLEAR=RIGHT>
<H2>2008: Another Atmel AVR Prototyping Board</H2>
<P>
<IMG SRC="avrpcbc.jpg" WIDTH=200 HEIGHT=133 ALT="ATmega32 PCB empty" ALIGN=RIGHT>
<IMG SRC="avrpcbd.jpg" WIDTH=200 HEIGHT=133 ALT="ATmega32 PCB populated" ALIGN=RIGHT>
When I got the parts for the ATmega8 boards, I also got an ATmega32,
which is a rather more powerful AVR chip.
It has four 8-bit I/O ports, and it's in a 40-pin
<ACRONYM TITLE="Dual In-Line">DIL</ACRONYM>
package.
I went ahead and built another prototyping board for the ATmega32,
again using a toner transfer PCB.
This board is still in use,
but fitted with an Atmel ATmega1284P chip.
I use it to run the ATmega1284P code in my
<A HREF="https://github.com/anachrocomputer/avrTest">avrTest</A>
repository.
<BR />
<A HREF="https://www.flickr.com/photos/anachrocomputer/albums/72157607702255015">Photos on Flickr</A>
</P>
<BR CLEAR=RIGHT>
<H2>2008: Atmel AVR Persistence-Of-Vision Board</H2>
<P>
<IMG SRC="avrpcbe.jpg" WIDTH=200 HEIGHT=133 ALT="ATmega8 POV PCB" ALIGN=RIGHT>
Not satisfied with just one more toner transfer PCB, I made two.
The second board is for a
<A HREF="povwand.htm"> persistence-of-vision (POV) wand</A>,
basically just 16 green LEDs that are controlled by the ATmega8.
To use fewer I/O pins on the ATmega8, I used a pair of 74LS595
shift register chips to actually drive the LEDs.
I also used surface-mount (SMT) resistors to make the PCB smaller,
although the chips are still in
<ACRONYM TITLE="Dual In-Line">DIL</ACRONYM> form.
There's also a low-dropout 5V regulator on the board, based on the
LM2941CT chip.
But having read a bit more about the AVR chips, and the 74HC595, I think
it should be possible to eliminate the 5V regulator and run the circuit
directly off two 1.5V AA batteries.
Maybe I'll try that one day, but I'd need to change all those 220Ω
SMT resistors...
<BR />
<A HREF="https://www.flickr.com/photos/anachrocomputer/albums/72157607702255015">Photos on Flickr</A>
</P>
<BR CLEAR=RIGHT>
<H2>2010: AVR ATmega-based Time-Lapse Camera Controller</H2>
<P>
While working at Lobster Pictures,
I designed and built a time-lapse camera controller around first the ATmega328,
and later the ATmega1284.
It used a GSM module to send and receive SMS text messages.
</P>
<BR CLEAR=RIGHT>
<H2>2011: LPC2119 Module</H2>
<P>
Another ready-made module,
but this time with a Philips/NXP ARM microcontroller: the LPC2119.
Mounted on a modified solderless breadboard,
programmed via the built-in bootloader and a serial cable.
I connected it up to an ILI9341 colour LCD.
<BR />
<A HREF="https://www.flickr.com/photos/anachrocomputer/albums/72157628745849693">Photos on Flickr</A>
</P>
<BR CLEAR=RIGHT>
<H2>2012: TI MSP430 Module</H2>
<P>
The very inexpensive LaunchPad evaluation module from Texas Instruments.
I connected the MSP430G2231 to an LCD from a Nokia 1202 mobile phone.
The resolution is 96x68,
which is a little better than the usual 84x48 of a 3110 LCD.
<BR />
<A HREF="https://www.flickr.com/photos/anachrocomputer/albums/72157629657084115">Photos on Flickr</A>
</P>
<BR CLEAR=RIGHT>
<H2>2017: The RC2014 Mini, a Z80-based Retrocomputer</H2>
<P>
Back to a microprocessor-based machine this time,
built from a kit as I did with the
<A HREF="uk101.htm">UK101</A>,
we have the
<A HREF="https://rc2014.co.uk/">RC2014</A>.
I bought just the PCB for this one,
having all the other parts in stock already.
I wrote a diagnostic and monitor program for it in Z80 assember,
<A HREF="https://github.com/anachrocomputer/RC2014tester">in my GitHub repo RC2014tester</A>.
<BR />
<A HREF="https://www.flickr.com/photos/anachrocomputer/albums/72157677044528084">Photos on Flickr</A>
</P>
<BR CLEAR=RIGHT>
<H2>2019: Atmel ATtiny1616 Breakout Board</H2>
<P>
Having used the Atmel/Microchip ATtiny1616 in a robot leg project at at work,
I quite liked the chip,
which is part of the new One-Series.
I bought some chips,
with the intention to design a PCB for them.
Meanwhile,
I have soldered the ATtiny1616 to a DIL break-out board and programmed it as part of
<A HREF="https://github.com/anachrocomputer/avrTest">avrTest repo on GitHub</A>.
<BR />
No photos of this one yet.
</P>
<BR CLEAR=RIGHT>
<H2>2021: Atmel ATmega4809 Breakout Board</H2>
<P>
Amidst all the gloom and doom about chip shortages and supply-chain woes,
I bought a few Atmel AVR microcontrollers to add to my
<A HREF="https://github.com/anachrocomputer/avrTest">avrTest repo on GitHub</A>.
This one is the ATmega4809,
which is in a QFP-48 (0.5mm pitch) surface mount package.
It's a Zero-Series ATmega microcontroller with four serial UARTs.
<BR />
<A HREF="https://www.flickr.com/photos/anachrocomputer/51155566956/">Photo on Flickr</A>
</P>
<BR CLEAR=RIGHT>
<H2>2021: Atmel SAMD21 Curiosity Nano</H2>
<P>
An evaluation module with built-in programmer from Atmel/Microchip.
I've been coding on it using the Microchip MPLAB X IDE and the XC32 compiler.
The source code is
<A HREF="https://github.com/anachrocomputer/SAMD21blinky">on GitHub in my SAMD21blinky repo</A>.
<BR />
<A HREF="https://www.flickr.com/photos/anachrocomputer/51114075234/">Photo on Flickr</A>
</P>
<BR CLEAR=RIGHT>
<H2>2021: Atmel SAMD21E18A Breakout Board</H2>
<P>
Not satisfied with simply using a ready-made Curiosity Nano,
and frustrated by the chip supply-chain troubles,
I found a SAMD21E18A in TQFP-32 and soldered it to another inexpensive break-out PCB.
I don't have it running any firmware yet, though.
<BR />
<A HREF="https://www.flickr.com/photos/anachrocomputer/51155551262/">Photo on Flickr</A>
</P>
<BR CLEAR=RIGHT>
<H2>The Ones That Got Away</H2>
<P>
I've always wanted to design and build a
<A HREF="about6809.htm">6809</A>-based machine.
I now have a fair number of 6809 chips (2MHz bus versions from Motorola and ST Microelectronics)
as well as some rare Hitachi HD6309 chips and the required RAM, EPROM and I/O chips.
Maybe this one'll get built after all...
</P>
<P>
I bought a 68020 development kit way back in 1986 with the
intention of building a machine around that chip.
Of course, I never did, mainly due to lack of spare time now that
I have a career in the computer industry.
I still have the chip, though, and modern CAD might just
make a 68020 design feasible.
</P>
<HR>
<DIV ALIGN=CENTER>
<P>Return to <A HREF="index.htm">John Honniball's home page</A></P>
<FONT SIZE="-1">
Copyright © 2007-2021
by <A HREF="eee.htm">John Honniball</A>.
All rights reserved.
</FONT>
</DIV>
<HR>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-8655234-1");
pageTracker._trackPageview();
} catch(err) {}</script>
</BODY>
</HTML>