New Lines

Raspberry Pi VGA HAT, 24-bit 1080p


The Raspberry Pi uses HDMI for it’s built-in display interface, and it’s well documented that a second screen can be connected to the GPIO header when switched to ‘display parallel interface’ (DPI) mode. The DPI is powered from the Raspberry Pi’s GPU and so has the same performance and capabilities as the HDMI port – 1080p, 24-bit colour, 60Hz.

Project boards exist already to connect a VGA screen to the GPIO, but these are very simple designs and have some limitations such as 6-bit colour and sensitivity to interference from the wireless peripherals in the RPi 3. The RPi GPIO is also stressed by the TTL control signals in the VGA interface and the project boards lack the certifications needed to be offered as finished products.

The Lo-tech Raspberry Pi VGA Board aims to address these problems, providing a true-colour VGA Adapter in a ‘HAT’ PCB format that will provide a reliable VGA output for primary or secondary display purposes whilst protecting the RPi, both from ESD when the screen is connected hot and from over-stressing the GPIO outputs via buffering of the key control signals.

I’m excited to report that this board has just cleared EMC testing, meeting EN 55032:2015 Class B limits, and ESD testing, passing BS EN 61000-4-2:2009 level 4, and so can be pre-ordered today (first deliveries expected approx. February 2017).


8-bit IDE Adapter rev.3

The Lo-tech 8-bit IDE adapter has been designed around a 3D-printed ISA slot bracket, the primary reason being to keep the card itself within a 100mm width, which helps keep the price down. Until now!

Announcing then the rev.3 board, which is now compatible with the Keystone 9202 ISA slot bracket, as available from the usual online electronics retailers such as Mouser.


As well as the slightly larger PCB form factor, this version also includes another jumper (JP3) providing a choice of IO ports, either the default 300h or 320h.

The board keeps everything else the same – XTIDE Universal BIOS powered, 32KB Flash ROM, excellent IDE and SATA device compatibility, high-speed read and write performance, key-pin power for Disk On Module devices, and PC/XT Slot-8 compatibility (with option SMT components fitted).

The Lo-tech 8-bit IDE adapter is available in the store as a bare PCB now.

MIF-IPC-B rev.2

Back in Jul-15 I introduced the Lo-tech MIF-IPC-B, a clone of Roland’s MIF-IPC board that connects the legendary MPU-401 to the IBM PC. Unfortunately an error in the schematic in the address decoder meant the prototypes were effectively useless – but when does anything work first time?

So here at last is the Lo-tech MIF-IPC-B, rev.2 – hopefully with everything as it should be:


Full details on this board are available in the wiki now.

The first assembled units are with beta testers now and all being well, PCBs will be available within the next 4-6 weeks.


Finally a prototype of the new Lo-tech MIF-IPC-B board, a Roland MIF-IPC compatible adapter that combines the functionality of the original (multiple MPU-401 support) with the compatibility of the revised MIF-IPC-A board (for PC/AT systems). This board also has fully populated resource selector headers, for easier system integration.


Unfortunately the DB-25 is 2mm to far away from the ISA bracket but apart from that it looks good. Next step is to get this to someone that will know what to do with it and what it should be doing – so it’s being sent to a top-secret lab in Maryland testing. Watch this space!

Announcing… the XT-CF-lite rev.2

The XT-CF-lite board arose almost out of frustration with the reliability issues in the CPLD based XF-CFv2, but it was instant hit – it’s probably the most-cloned Lo-tech board, with various unbranded re-spins appearing on eBay throughout Europe and Sergey’s through-hole version in the USA.

Following on from that, announcing then the rev.2: XT-CF-lite-rev2-1536px

What’s Changed?

  • Data bus buffer to ensure signal integrity in heavily loaded ISA buses
  • Slightly cheaper component list (BoM)
  • Works in PC/XT Slot 8
  • Simpler configuration (two options for ROM Address and IO address via simple jumpers)

As always, full details and schematic are available on the site wiki.

ISA Slot Bracket

The pictured ISA slot bracket is 3D printed (SLA process) and includes guide rails and an exact Type II cutout, making it much easier to insert the card than with the previous punch-press bracket. The plastic is however fragile and though perfectly adequate once installed, it’s easy to break the tabs when fitting the card. 3D printing is however a rapidly evolving field and more prototypes, this time metal, are due towards the end of the month – watch this space!


Testing has been performed with this board in my ever-stable IBM Portable PC 5155. Besides the usual functional testing (flashing the BIOS and formatting media):

  • Copied 16,000 files (mixed of source and object code) totalling 1.2GB three times – on CompactFlash in slot 5 and again in slot 8, and on a Seagate ST1 Microdrive in slot 5. Files then binary-compared with no differences found.
  • Ran pattern tests totalling 128MB on CompactFlash and again on ST1 Microdrive, both in slot 5.

With over 1011 bits transferred, this card has already been tested to beyond the quoted soft error rate of the original ST-412.

Any CompactFlash card or Microdrive should work, however there are some more recent CompactFlash cards that appear to have dropped support for 8-bit transfer mode (despite this being a required feature in the specification). Cards I’ve tested include SanDisk’s Ultra II and Kingston 4GB, and Seagate ST1 Microdrives.


The performance of this card is identical to all other current Lo-tech XT-CF cards, it will do between 190 and 300KB/s in a PC/XT, depending on the mode and media capabilities – much faster than an MFM drive, which generally did more like 60 to 90KB/s. It can reach about 1MB/s in a 12MHz 286.


The XT-CF-lite rev.2 PCB is available now in the site store. This card will not be offered as a kit due to the difficulty in splitting and shipping SMT components – a full BoM is provided in the site wiki for easy ordering of components from Mouser.

ISA slot brackets can be printed either at home or through a 3D printing shop using the STL file available from the site wiki. Metal processes are now available – I’ll be posting a review of three options later this month!

MPU-401: MIDI for the PC & PC/XT

An email from a user of the Lo-tech XT-CF-lite caught my attention recently, the board being used in an IBM PC 5150 that’s being set up with the original Roland MPU-401 MIDI interface. It’s something I’d never looked at in detail, but a quick search quickly pulled up a couple of recent hardware projects to make compatible ISA interface cards for it. There’s an interesting article about the MPU-401 on the Nerdly Pleasures blog, but basically the system consisted of an ISA card (‘MIF-IPC’) in the PC connected to the MPU-401 via a 25-pin DSUB connector, which then provides MIDI outputs.

Multiple MPU-401s

Flicking through the manuals then turned up something interesting… it looks like Roland had originally intended for up to four MPU-401 devices to be connected to the IBM PC, as the original MIF-IPC card sends A1 & A2 to the MPU-401, which then has fitted an ‘LS138 1-of-8 decoder:


By the time the second card was produced, the MIF-IPC-A, these lines had been simply connected to ground so effectively disabling this functionality. MIDI isn’t something I know anything about, but I’ve been told that having more than one MPU-401 attached would be “like going back to 1981 with an iPhone”!

Now of course software support would be another problem, and then there’s the question of whether the 8088 in the 5150 – or the ISA bus itself – is fast enough to keep them fed with data… but it’s something I’d like to at least have the option to try.

The Lo-tech MIF-IPC-B

So, roll on another Lo-tech PCB…, I’m calling it the MIF-IPC-B, since it builds on the Roland MIF-IPC-A (by including the reset signal masking apparently need for compatibility with PC/AT systems) with some new features. Here’s the current GerbV image:


In terms of differences from the MIF-IPC-A, the board has:

  • Option to present A1 & A2 as either ground (like the MIF-IPC-A), or from the ISA Address Bus (like the original MIF-IPC), so making possible the connection of up to four MPU-401 devices to a single card
  • Option to work in PC/XT slot 8
  • Selectable IO port base address (15 options)
  • Selectable IRQ line (6 options)

Assuming this board works as intended, there will be some further work involved in getting multiple MPU-401’s hooked up, since the schematic clearly shows that the device ID is pre-selected on the PCB. I’m not sure many owners will be too keen on modifying the MPU-401 itself, but there are two ways of getting multiple devices hooked up with this card:

  • By using multiple cards, since the IO port can be individually selected, or
  • By running a short 25-pin DSUB lead to a break-out board, providing address decoding there and up to four DSUB connectors.

Using multiple cards isn’t a great option for 5150 owners, since the system needs a graphics board, a memory board, and at least one storage adapter (and likely two) meaning possibly only one slot free. For 5160 machines, the slot-8 compatibility of this board should make this a practical option, though this will still need testing.


This board is currently at the design phase – any thoughts or ideas are welcome!

GPIO Interface Board for Raspberry Pi B+

I’m excited to announce the immediately availability of a new PCB, the Lo-tech GPIO Interface Board for Raspberry Pi Model B+!


This is the first Lo-tech PCB not targeted at retro computing directly, but the Raspberry Pi is of course an interesting hobby ecosystem in its own right and something that can find a practically unlimited range of use-cases. Looking around for a GPIO interface for the new model, I couldn’t find anything available (OK that was immediately at launch of the new model) and certainly nothing that offers a Radio Shack style build-it-yourself experience, hence why this board now exists.

This board connects directly to the expansion header on the new Mobel B+ Raspberry Pi, and provides 4 opto-isolated inputs and 8 outputs. When powering 8 LEDs and being polled a few times a second, the power consumption of the Raspberry Pi with the board fitted is only around 1-2 Watts, making this combination particularly suitable for embedded applications such as network connecting things around the house for monitoring or alerting.

The board follows the design of the Raspberry Pi B+, making for a tidy installation:


Full technical specifications, schematic, and parts list are available on the wiki page, and PCBs are available in the store now.

New PCB: 8-bit IDE Adapter


The lo-tech ISA CompactFlash adapter continues to be the top selling lo-tech project kit, providing a bootable fixed disk option for vintage PCs with the added satisfaction of being something that can made by the hobbyest. But one question just keeps coming… can it be used with a real hard disk?

The answer is yes, but only ATA-2 disks (typically 80 to 250MB and obviously now long past their use-by date) as it depends on ATA-2 8-bit transfer mode, which of course is still supported by all CompactFlash cards. This makes it relatively simple and small enough for the Sinclair PC200 that was the design motivation. The 40-pin IDE header just avoids fiddly surface-mount CompactFlash headers – adapters are available on eBay very cheaply (random product link).

So to answer the continuing demand for an adapter compatible with all normal IDE drives, I’ve taken the ISA CompactFlash adapter design and added the 16- to 8-bit logic (the MUX) to make it work with normal drives – including SATA drives and SD cards via appropriate adapters (random links: sata adapter, SD adapter). This has doubled the PCB size and increased the chip count from 6 to 15, but here it is!

The Lo-tech 8-bit IDE Adapter is an IDE controller for 8-bit ISA slots that works with normal IDE and SATA drives

Adapter In Action

The detail of how the adapter works I’ll cover in another post, but for now here is an IBM PC 5155 booting up from it and running some pattern tests:


Testing so far is limited, but all drives tested have worked, including two SATA drives. Performance wise, it runs at about 250KB/s with a 4.77MHz 8088, and I’d expect about 400KB/s with a V20 (thanks to the REP INSW optimisation).

More details, and PCBs, coming soon!

Lo-tech is in no way associated with the sellers of products on other sites linked to on this page (which are provided to provide an example of the types of products available).

3D Printed ISA Slot Brackets

I’ve wondered for a while whether the custom designed ISA slot brackets used by lo-tech PCBs would be any good made with 3D printing. The technology is obviously progressing rapidly, with the price of home machines tumbling and commercial services now offering a variety materials and processes (including some metals).

The first step was to create a 3D model of the brackets from the simple sketches, for which I opted for OpenSCAD. It’s a kind-of programming language that allows the design to be described precisely in code, for example a bit of code looks like this:

union() {
 linear_extrude(height=z) {
 translate([(x/2),holepos,-2]) linear_extrude(height=(z+2))

Once the shape has been defined, the software then renders it on-screen and produces a bunch of stats about the object generated. Here’s the rendered shape of the lo-tech type 3 bracket:


This can then be exported to a suitable format for manufacturing, like STL. Two things I learnt:

  • The 3D shapes are unit-less, that is to say that the fabricator needs to know what a measurement of 1 means. Most online quoting tools allow the selection of inches or mm.
  • When rendered, OpenSCAD produces some stats. To be made successfully, a shape must be simple and have 2 volumes.

With that sorted and an order for both FDM and SLA processed brackets placed, a few weeks later the first prototypes dropped through the door. The FDM process had a great textured finish and was quite stiff, but was too brittle at least at the specified 1mm thickness, and the M3 screw threads couldn’t be printed. The SLA process produces a way more flexible and high-resolution product accurate enough to have working M3 threads. This is therefore the chosen process for the brackets now available for the lo-tech EMS, RAM and soon-to-be-released 8-bit IDE PCBs:


3D Printed brackets for lo-tech EMS and RAM boards are available in the store now.

New Lo-tech PCBs: RAM & EMS

RAM chips in early 1980’s PCs are a fairly regular cause of problems, and then there’s the issue of only have some meager amount of RAM installed on the system board, as little as 16KB on the first IBM 5150.

Mostly RAM is expanded up to the maximum (usually 640KB) via a multi-function ISA expansion card, but these boards don’t provide upper memory blocks (above 640KB) nor generally EMS, a memory expansion technology for 8088/8086 PCs providing up to 32MB defined by Lotus, Intel and Microsoft. For that, something like an Intel AboveBoard is required, which is a full-length and now rare card.

So, enter two new lo-tech PCBs, both built on AS6C4008 4Mb SRAM chips:


1MB RAM Board

The lo-tech 1MB RAM board, providing from 48KB to 1MB of system RAM, with each 64KB page individually switchable to provide a universal expansion board for any 8-bit PC, regardless of how much RAM is installed on the system board. The first 16KB can also be switched off, enabling its use with a stock 16KB 5150.

2MB EMS Board

2MB EMS Board

The lo-tech 2MB EMS board, providing from 512KB to 2MB of LIM 3.2 expanded (EMS) memory (available capacity is dependent on how many SRAM chips are populated). Applications like Lotus 1-2-3 and Windows 2.x and 3.0 will use EMS when available.

Both boards are built on 1.27mm pitch SMT components in order to fit everything on the available 80x100mm Eagle Lite routing area. Assembly of these components is perfectly acheivable at home – see the lo-tech SMT soldering guide.

These boards are both in first-prototype testing phase and so should not yet be considered fully functional; some refinements are likely in future revisions. Initial test results have though been positive – using the lo-tech test-bench IBM 5155:

  • The RAM board is detected as configured on the DIP switches and the machine is able to run through Trixter’s 8088 Corruption (which utilises all available RAM) without issue
  • The EMS board is correctly identified by a low-level test routine and passes basic page register and fill operation tests

But, more test hours are needed and the driver for the EMS board is yet to be written – that’s work-in-progress!