Editor Version ×
Standard

1.Easy to use and quick to get started

2.The process supports design scales of 300 devices or 1000 pads

3.Supports simple circuit simulation

4.For students, teachers, creators

Profession

1.Brand new interactions and interfaces

2.Smooth support for design sizes of over 5,000 devices or 10,000 pads

3.More rigorous design constraints, more standardized processes

4.For enterprises, more professional users

Ongoing

STD Ultracompact minimalistic 6809 Computer

License: Public Domain

Mode: Editors' pick

  • 1.5k
  • 0
  • 0
Update time: 2023-03-12 19:02:22
Creation time: 2023-01-05 12:48:52
Description

This project was reworked due to some issues.

For version 2 klick here:

https://oshwlab.com/andreasjakob/6809-cube-cpu_copy_copy

 

A working 6809 Computer on a 5x5 cm PCB that could fit on your keychain ( and even has a hole for that :) )

 

This is mostly based on designs and ideas from Jeff Tranter, Dave Collins and Grant Searle.

I added an USB to serial chip and a baudrate generator, as i have lots of 1MHz chips and the original designs required 2MHz variants to save a dedicated baudrate generator while still reaching a fast 115200 baud rate.

To fit this into 5x5 cm i used a 6 layer PCB as JLCPCB offers them in a promo for no additional cost compared to 4 layers at the moment of writing this, including free filled and plated vias and gold plating. This allows via in pad placement to save space. The top layer is a solid ground plane and layer 5 is a solid 5v plane leaving 4 planes for routing.

Parts were mostly selected based on what JLCPCB had in stock and could populate, as hand soldering the tiny smd parts would be a hard job.

Routing was only done by hand for more critical tracks and to guide the autorouter, which did most of the work.

The bottom side ICs are placed in precision female headers so the pads for the cpu socket can still be reached for soldering.

Normal sockets would block access.

 

Features :

 

  • 6809 CPU @ 1MHz ( 6309 @ 6MHz also tested and works )
  • 32K RAM (SMD)
  • 32K 27C256 EPROM ( 20K usable, 16K + one 4K block addressable )
  • Assist09 ROM monitor and Microsoft extended Basic
  • Independent Baudrate generator
  • 6850 ACIA @ 115200 BAUD  PROBLEMS READ BELOW
  • USB C Connector for power and data ( protected with 500mA resettable fuse and TVS diode )
  • USB to Serial converter onboard
  • 30 PIN 2.54mm expansion header
  • Reset button and separate reset connector for use with EPROM emulator
  • Tiny 50x50mm 6 layer PCB utilizing two solid planes for power distribution
  • 3.5mil traces and 0.2mm vias filled and plated over

 

I used the "combined" ROM from Jeff Tranter, but the ACIA initialization had to be modified to take into account the

different baudrate clock provided (115200 Hz, ACIA divider = 1). The modified ROM can be downloaded below.

It is possible to use unmodified ROMs but the baud rate will be only 7200 baud (the USB chip supports such unusual rates).

The 16K ROM code is placed in the upper half of the EPROM (0x4000 offset). The (active low) B000 chip select is hooked to A14 of the EPROM, so it maps additional 4K of the lower ROM half into that part of the address space.

The expansion port has two more chip selects and enougth address lines for another two 4K blocks to use. But as there are no bus drivers,

adding more than one unbuffered additional chip would probably add instability.

 

Known problems : The female precision headers between the EPROM and 6850 are placed a tiny bit too close together. They will be very slightly angled when soldered. This can be prevented by pressing them together while soldering the first pins.

Some ground pins need a lot of heat to solder properly as the ground planes connected on 5 layers soak all heat up.

LED is way too bright for a power indicator :)

After receiving the correct crystals, was testing with lower speed as i waited, i noticed many garbled chars. All signals looked fine on the scope.

I checked the datasheet again and noticed a line i overlooked :( If you use the /1 divider you need to sync data and clock externally yourself.

So you have to use the /16 or /64 divider settings. What I can do is run the baudrate generator with a 14.7456MHz crystal and get 28800 baud or use a 1.843200 MHz crystal and cut off and remove pin 5 of the 74HC4060 and wire it´s pad to pin 9 (the unmodified oscillator output) to get my 5 PCBs running @ 115200 as originally planned, but with /16 divider. I tried the rewiring and it works, but that chip is so tiny it`s no fun to do without a microscope.

Sidenotes:

While investigating the problems i tested a lot of crystals and noticed that all non-B 6809 and 6850 i tested did run at up to 2.5MHz without problems, at least for the short time i tried them. (Late 1990s datecodes Motorola and ST chips)

The 63C09 did run at an amazing 6MHz (24 MHz crystal) ! even using an original 6850 ACIA - double the rated speed. That was the fastest crystal i found in my drawer. (6309@6MHz was tested with BBC Basic  https://stardot.org.uk/forums/viewtopic.php?t=25465  and Mandelbrot prog running)

 

 

Design Drawing
schematic diagram
1 /
PCB
1 /
The preview image was not generated, please save it again in the editor.
Project Attachments
Order File name Download times
1

combined.BIN

1
Project Members
Target complaint
Related Projects
Change a batch
Loading...
Add to album ×

Loading...

reminder ×

Do you need to add this project to the album?

服务时间

周一至周五 9:00~18:00
  • 0755 - 2382 4495
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 立创EDA微信号

    easyeda

  • QQ交流群

    664186054

  • 立创EDA公众号

    lceda-cn