All articles

  1. USB 1-Wire Bridge

    A long time ago, I built some projects using the (then) Dallas Semiconductor 1-Wire interface.

    Although this isn't an interface I generally use much today, I thought it'd be fun to build a USB to 1-Wire interface.

    However, when I started designing it, I realised that I could add a …

  2. HD44780 backpack (SPI and UART)

    Even though they're quite dated now, I often quite like using "HD44780" (or compatible) LCD modules in projects I build.

    They're fairly easy to drive, inexpensive and very readily available.

    However, there are a few attributes which are less convenient:

    • They need at least 10 I/O pins to use …
  3. Notes on Legacy Railway Signalling

    Railway "Cab Signalling" systems, particularly those used for Automatic Train Operation (ATO) is another topic I find very interesting.

    Modern systems typically use "Balises", often similar to RFID in operation, and a wireless link to the train (occationally WiFi).

    While these are great from an operational perspective, I'm much more …

  4. PC104 Ethernet

    Overview

    When I was designing the PC104 Dragonball project, I wanted to design a simple (cheap!) PC104-based module to check I'd got the footprint and mechanical properties correct.

    This project is based around the RTL8019AS ISA Ethernet Controller. It's mostly very similar to a very typical RTL8019 reference design, but …

  5. Modular CPU Platform - MIPS processor card

    Overview

    I'm not certain why, but I've seen very few hobbyist projects based around the early MIPS processors.

    MIPS-1 is a very interesting architecture, for a few reasons:

    • Up until RISC-V, it was very heavily used as a teaching architecture in universities, so there's plenty of documentation available online
    • The …
  6. Modular CPU Platform - Update 1

    Overview

    It's been a while since I posted an update about the modular CPU project - here's the latest status.

    Main Board

    It can boot DOS!

    Not particularly well at the moment - the 8086 board isn't functional at the moment, so I'm using the MCL86 Verilog 8086 core. This works, but …

  7. An on-FPGA logic analyser

    Overview

    While I was debugging another project (an 80486GX processor board for the modular_cpu project), I found I needed a way to capture the internal signals of the FPGA. While some Lattice parts do support their "Reveal" logic analyser, I'm using the open-source Yosys based toolchain, so I can't use …

  8. A Modular CPU Platform

    Overview

    This project is nowhere near finished, but as it's taking up a lot of my free time at the moment, I thought I'd add a quick website update in case any of the work-in-progress ideas are useful.

    For a long time, I've been interested in processors, and as someone …

  9. The Common Display Connector

    Overview

    This post is a summary of a display connector standard I defined about 10 years ago.

    I'd noticed that a lot of small SPI connected LCD modules used a fairly similar interface (Clock, Data, CS, Reset, and Register select), and thought it would be quite nice if the same …

  10. Notes on the iD Alarm Protocol

    Overview

    The iD ("Intelligent Device") protocol was a method of connecting multiple devices (typically up to 30) on a single wire.

    One example of a device supporting this protocol was the "Karizma" panel from Advanced Design Electronics, but a number of other vendors also supported this protocol (including Texecom and …

  11. A SuperIO PC104 card

    Overview

    This was a project to add a number of PC compatible devices in a PC104 form factor module:

    • PS2 Keyboard / Mouse
    • 2x Serial Ports (one of which supports RS485)
    • 1x Parallel port (supporting ECP and EPP)
    • Real Time Clock
    • Floppy Drive controller

    This project is based around the Winbond …

  12. Reverse Engineering the Panasonic DPT protocol

    Overview

    As mentioned in my last blog post, I've also been looking at the panasonic DPT ("Digital Proprietary Telephone", also known as the "Digital Super Hybrid System")

    This is a digital signalling format, with a lot of similarities to an ISDN BRI.

    Audio is transmitted as G.711 (u-law or …

  13. Reverse Engineering the Panasonic APT protocol

    Overview

    For quite some time, I've been reverse engineering the Panasonic APT ("Analog Proprietary Telephone", also known as the "Advanced Hybrid System") protocol.

    This is a protocol for carrying button press information from phones, and also for carrying status information (LED controls and text to be displayed on an LCD …

  14. Reverse Engineering an Ethernet to RS485 bridge.

    Overview

    The USR302 is a very inexpensive Ethernet to RS485 bridge (with the USR301 being an Ethernet to RS232 bridge).

    Picture of a plastic DIN rail enclosure with 4 LEDs and one button

    I bought a few, mostly intending to use them for connecting various MODBUS networks to Ethernet, but looking at the design there's some good potential for modification and customisation.

    This …

  15. A simple RJ45/RJ12 splitter

    To balance out the complexity of the last project, here's a very simple (but useful) project that doesn't have any active components at all.

    When working with telecoms equipment, it's very common to need to connect RJ45 (8P8C) or RJ12 (6P6C) connectors.

    Although it's possible to buy patch cables and …

  16. A 68K PC104 card, based on the DragonBall SoC

    From time to time I like building retrocomputing projects based on old CPUs, and I decided that the 68K would be a fun challenge.

    The "DragonBall" is a very interesting SoC based around a 68000, with some useful peripherals added:

    • IRQ controller
    • 2x UARTs
    • 2x SPI ports
    • LCD controller

    Additionally …

  17. Decoding some... Caller ID

    In the "Decoding some signals" category, I'll be taking a look at various communication protocols (some common, some less common).

    The first protocol I'll be looking at is Caller ID

    NOTE: Connecting DIY electronics to your phone line is a bad idea.

    All of these experiments were done using a …

  18. System.out.println("Hello, World!");

    Welcome to the TechnicallyObsolete blog!

    This is likely to be a very sporadically updated collection of technical projects and reverse engineering notes, with a particular focus on telephones and obsolete CPUs.

    I’m currently in the middle of a large reverse engineering project studying various different types of Panasonic Hybrid …